AWS S3
Resumo
- Gerenciar objetos no Amazon S3.
Parâmetros
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
aws_access_key aliases: ec2_access_key, access_key | string | | Chave de acesso da AWS. Se não for definido, o valor da variável de ambiente AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY ou EC2_ACCESS_KEY será usado. Se o perfil for definido, este parâmetro será ignorado. |
aws_secret_key aliases: ec2_secret_key, secret_key | string | | Chave secreta da AWS. Se não for definido, o valor da variável de ambiente AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY ou EC2_SECRET_KEY será usado. Se o perfil for definido, este parâmetro é ignorado. |
bucket - required | string | | Nome do bucket. |
dest | path | | O caminho do arquivo de destino ao baixar um objeto / chave com uma operação GET. |
dualstack | boolean | Escolhas: - false (default) - true | Ativa pontos de extremidade de pilha dupla do Amazon S3, permitindo comunicações S3 usando IPv4 e IPv6. Requer pelo menos botocore versão 1.4.45. |
encrypt | boolean | Escolhas: - false - true (default) | Quando definido para o modo PUT, pede criptografia do lado do servidor. |
encryption_kms_key_id | string | | ID da chave KMS a ser usada ao criptografar objetos usando encrypting = aws: kms. Ignorado se a criptografia não for aws: kms. |
encryption_mode | string | Escolhas: - AES256 (default) - aws:kms | Qual modo de criptografia usar se encrypt = true. |
headers | dictionary | | Cabeçalhos personalizados para a operação PUT, como um dicionário de key = value e key = value, key = value. |
ignore_nonexistent_bucket | boolean | | Substitui as pesquisas iniciais de intervalo caso as políticas de intervalo ou IAM sejam restritivas. Exemplo: um usuário pode ter a permissão GetObject, mas nenhuma outra permissão. Neste caso, o uso do modo de opção: get falhará sem especificar ignore_nonexistent_bucket = true. |
marker | string | Escolhas: - false (default) - true | Especifica a chave para começar ao usar o modo de lista. As chaves do objeto são retornadas em ordem alfabética, começando com a chave após o marcador na ordem. |
max_keys | integer | - 1000 (default) | Número máximo de resultados a serem retornados no modo de lista, defina-o se quiser recuperar menos do que as 1000 chaves padrão. |
metadata | dictionary | | Metadados para a operação PUT, como um dicionário de key = value e key = value, key = value. |
mode - required | string | Escolhas: - get - put - delete - create - geturl - getstr - delobj - list | Alterna o comportamento do módulo entre put (upload), get (download), geturl (return download url), getstr (download object as string), list (list keys), create (bucket), delete (bucket) e delobj (delete object). |
object | string | | Nome-chave do objeto dentro do bucket. Pode ser usado para criar "diretórios virtuais". |
overwrite aliases: force | string | - "always" (default) | Força a sobrescrita localmente no sistema de arquivos ou remotamente com o objeto / chave. Usado com operações PUT e GET. Deve ser um Booleano, sempre, nunca ou diferente. Verdadeiro é o mesmo que sempre. Falso é igual a nunca. Quando definido como diferente, a soma MD5 do arquivo local é comparada com a 'ETag 'do objeto / chave em S3. A ETag pode ou não ser um resumo MD5 dos dados do objeto. Veja o cabeçalho de resposta da ETag aqui: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html. |
permission | list / elements=string | - ["private"] (default) | Esta opção permite que o usuário defina as permissões predefinidas no objeto/bucket que são criados. As permissões que podem ser definidas são private, public-read, public-read-write, authenticated-read for a bucket ou private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket- owner-read, bucket-owner-full-control para um objeto. Várias permissões podem ser especificadas como uma lista. |
prefix | string | - ' ' (default) | Limita a resposta a chaves que começam com o prefixo especificado para o modo de lista. |
region aliases: aws_region, ec2_region | string | | A região da AWS a ser usada. Se não for especificado, o valor da variável de ambiente AWS_REGION ou EC2_REGION, se houver, será usado. Veja http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region |
retries aliases: retry | integer | - 0 (default) | Em caso de falha recuperável, quantas vezes tentar novamente antes de realmente falhar. |
rgw | boolean | Escolhas: - false (default) - true | Habilite o suporte Ceph RGW S3. Esta opção requer um url explícito via s3_url. |
s3_url aliases: S3_URL | string | | URL S3 para uso com Ceph, Eucalyptus e fakes3 etc. Caso contrário, assume AWS. |
src | path | | O caminho do arquivo de origem ao executar uma operação PUT. Qualquer conteúdo, content_base64 ou src deve ser especificado para uma operação PUT. Caso contrário, será ignorado. |
version | string | | ID da versão do objeto dentro do bucket. Pode ser usado para obter uma versão específica de um arquivo se o controle de versão estiver habilitado no bucket de destino. |
Exemplos
# Exemplo: Operação PUT simples
- aws_s3:
bucket: mybucket
object: /my/desired/key.txt
src: /usr/local/myfile.txt
mode: put
# Exemplo: Operação PUT simples no Ceph RGW S3
- aws_s3:
bucket: mybucket
object: /my/desired/key.txt
src: /usr/local/myfile.txt
mode: put
rgw: true
s3_url: "http://localhost:8000"
# Exemplo: Operação GET simples
- aws_s3:
bucket: mybucket
object: /my/desired/key.txt
dest: /usr/local/myfile.txt
mode: get
# Exemplo: Obtenha uma versão específica de um objeto
- aws_s3:
bucket: mybucket
object: /my/desired/key.txt
version: 48c9ee5131af7a716edc22df9772aa6f
dest: /usr/local/myfile.txt
mode: get
# Exemplo: PUT/upload com metadados
- aws_s3:
bucket: mybucket
object: /my/desired/key.txt
src: /usr/local/myfile.txt
mode: put
metadata: 'Content-Encoding=gzip,Cache-Control=no-cache'
# Exemplo: PUT/upload com cabeçalhos personalizados
- aws_s3:
bucket: mybucket
object: /my/desired/key.txt
src: /usr/local/myfile.txt
mode: put
headers: '[email protected]'
# Exemplo: Listar chaves simples
- aws_s3:
bucket: mybucket
mode: list
# Exemplo: Listar as chaves de todas as opções
- aws_s3:
bucket: mybucket
mode: list
prefix: /my/desired/
marker: /my/desired/0023.txt
max_keys: 472
# Exemplo: Crie um bucket vazio
- aws_s3:
bucket: mybucket
mode: create
permission: public-read
# Exemplo: Crie um bucket com chave como diretório, na região da EU
- aws_s3:
bucket: mybucket
object: /my/directory/path
mode: create
region: eu-west-1
# Exemplo: Excluir um bucket e todo o seu conteúdo.
- aws_s3:
bucket: mybucket
mode: delete
# Exemplo: Faça o GET em um objeto, mas não baixe se as somas de verificação do arquivo corresponderem.
- aws_s3:
bucket: mybucket
object: /my/desired/key.txt
dest: /usr/local/myfile.txt
mode: get
overwrite: different
# Exemplo: Excluir um objeto de um bucket
- aws_s3:
bucket: mybucket
object: /my/desired/key.txt
mode: delobj
Valores retornados
Chave | Tipo | Retorno | Descrição |
|---|---|---|---|
contents | string | (Para operação getstr) | Conteúdo do objeto como string. |
expiry | integer | (Para operação geturl) | Número de segundos, durante os quais o url predefinido é válido. |
msg | string | Sempre | Mensagem indicando o status da operação. |
s3_keys | list / elements=string | (Para operação list) | Lista de chaves de objeto. |
url | string | (Para operações put e geturl) | URL do objeto. |