Exemplos do Amazon S3 usando o AWS CLI - AWS Command Line Interface

Exemplos do Amazon S3 usando o AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com o Amazon S3.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar funções de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

Tópicos

Ações

O código de exemplo a seguir mostra como usar abort-multipart-upload.

AWS CLI

Para interromper um carregamento fracionado especificado

O comando abort-multipart-upload a seguir interrompe um carregamento fracionado da chave multipart/01 no bucket my-bucket.

aws s3api abort-multipart-upload \ --bucket my-bucket \ --key multipart/01 \ --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R

O ID de upload exigido por esse comando é a saída de create-multipart-upload e também pode ser recuperado com list-multipart-uploads.

O código de exemplo a seguir mostra como usar complete-multipart-upload.

AWS CLI

O seguinte comando conclui um upload fracionado da chave multipart/01 no bucket my-bucket:

aws s3api complete-multipart-upload --multipart-upload file://mpustruct --bucket my-bucket --key 'multipart/01' --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R

O ID de upload exigido por esse comando é a saída de create-multipart-upload e também pode ser recuperado com list-multipart-uploads.

A opção de upload fracionado no comando acima usa uma estrutura JSON que descreve quais partes do upload fracionado devem ser reagrupadas no arquivo completo. Neste exemplo, o prefixo file:// é usado para carregar a estrutura JSON de um arquivo na pasta local chamada mpustruct.

mpustruct:

{ "Parts": [ { "ETag": "e868e0f4719e394144ef36531ee6824c", "PartNumber": 1 }, { "ETag": "6bb2b12753d66fe86da4998aa33fffb0", "PartNumber": 2 }, { "ETag": "d0a0112e841abec9c9ec83406f0159c8", "PartNumber": 3 } ] }

O valor de ETag de cada parte carregada é gerado sempre que você fizer o upload de uma parte usando o comando upload-part. Ele também pode ser recuperado ao chamar list-parts ou calculado fazendo a soma de verificação MD5 de cada parte.

Saída:

{ "ETag": "\"3944a9f7a4faab7f78788ff6210f63f0-3\"", "Bucket": "my-bucket", "Location": "https://my-bucket.s3.amazonaws.com/multipart%2F01", "Key": "multipart/01" }

O código de exemplo a seguir mostra como usar copy-object.

AWS CLI

O comando a seguir copia um objeto de bucket-1 para bucket-2:

aws s3api copy-object --copy-source bucket-1/test.txt --key test.txt --bucket bucket-2

Saída:

{ "CopyObjectResult": { "LastModified": "2015-11-10T01:07:25.000Z", "ETag": "\"589c8b79c230a6ecd5a7e1d040a9a030\"" }, "VersionId": "YdnYvTCVDqRRFA.NFJjy36p0hxifMlkA" }
  • Para obter detalhes da API, consulte CopyObject na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar cp.

AWS CLI

Exemplo 1: copiar um arquivo local para o S3

O comando cp a seguir copia um único arquivo para um bucket e uma chave especificados:

aws s3 cp test.txt s3://mybucket/test2.txt

Saída:

upload: test.txt to s3://mybucket/test2.txt

Exemplo 2: copiar um arquivo local para o S3 com uma data de expiração

O comando cp a seguir copia um único arquivo para um bucket e uma chave especificados que expiram no carimbo de data/hora ISO 8601 especificado:

aws s3 cp test.txt s3://mybucket/test2.txt \ --expires 2014-10-01T20:30:00Z

Saída:

upload: test.txt to s3://mybucket/test2.txt

Exemplo 3: copiar um arquivo do S3 para o S3

O comando cp a seguir copia um único objeto s3 para um bucket e uma chave especificados:

aws s3 cp s3://mybucket/test.txt s3://mybucket/test2.txt

Saída:

copy: s3://mybucket/test.txt to s3://mybucket/test2.txt

Exemplo 4: copiar um objeto do S3 para um arquivo local

O comando cp a seguir copia um único objeto para um arquivo especificado localmente:

aws s3 cp s3://mybucket/test.txt test2.txt

Saída:

download: s3://mybucket/test.txt to test2.txt

Exemple 5: copiar um objeto S3 de um bucket para outro

O comando cp a seguir copia um único objeto em um bucket especificado, mantendo o nome original:

aws s3 cp s3://mybucket/test.txt s3://mybucket2/

Saída:

copy: s3://mybucket/test.txt to s3://mybucket2/test.txt

Exemplo 6: fazer uma cópia recursiva de objetos do S3 para um diretório local

Quando transmitido com o parâmetro --recursive, o comando cp a seguir copia recursivamente todos os objetos com um prefixo e um bucket especificados para um diretório especificado. Neste exemplo, o bucket mybucket tem os objetos test1.txt e test2.txt:

aws s3 cp s3://mybucket . \ --recursive

Saída:

download: s3://mybucket/test1.txt to test1.txt download: s3://mybucket/test2.txt to test2.txt

Exemplo 7: fazer uma cópia recursiva de arquivos locais para o S3

Quando transmitido com o parâmetro --recursive, o comando cp a seguir copia recursivamente todos os arquivos em um diretório especificado para um bucket e prefixo especificados, enquanto exclui alguns arquivos usando um parâmetro --exclude. Neste exemplo, o diretório myDir tem os arquivos test1.txt e test2.jpg:

aws s3 cp myDir s3://mybucket/ \ --recursive \ --exclude "*.jpg"

Saída:

upload: myDir/test1.txt to s3://mybucket/test1.txt

Exemplo 8: fazer uma cópia recursiva de objetos do S3 para outro bucket

Quando transmitido com o parâmetro --recursive, o comando cp a seguir copia recursivamente todos os objetos em um bucket especificado para outro bucket, enquanto exclui alguns objetos usando um parâmetro --exclude. Neste exemplo, o bucket mybucket tem os objetos test1.txt e another/test1.txt:

aws s3 cp s3://mybucket/ s3://mybucket2/ \ --recursive \ --exclude "another/*"

Saída:

copy: s3://mybucket/test1.txt to s3://mybucket2/test1.txt

Você pode combinar as opções --exclude e --include para copiar somente objetos que correspondam a um padrão, excluindo todos os outros:

aws s3 cp s3://mybucket/logs/ s3://mybucket2/logs/ \ --recursive \ --exclude "*" \ --include "*.log"

Saída:

copy: s3://mybucket/logs/test/test.log to s3://mybucket2/logs/test/test.log copy: s3://mybucket/logs/test3.log to s3://mybucket2/logs/test3.log

Exemplo 9: configurar a lista de controle de acesso (ACL) ao copiar um objeto do S3

O comando cp a seguir copia um único objeto para um bucket e uma chave especificados ao definir a ACL como public-read-write:

aws s3 cp s3://mybucket/test.txt s3://mybucket/test2.txt \ --acl public-read-write

Saída:

copy: s3://mybucket/test.txt to s3://mybucket/test2.txt

Observe que, se você estiver usando a opção --acl, certifique-se de que todas as políticas do IAM associadas incluam a ação "s3:PutObjectAcl":

aws iam get-user-policy \ --user-name myuser \ --policy-name mypolicy

Saída:

{ "UserName": "myuser", "PolicyName": "mypolicy", "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::mybucket/*" ], "Effect": "Allow", "Sid": "Stmt1234567891234" } ] } }

Exemplo 10: conceder permissões para um objeto do S3

O comando cp a seguir ilustra o uso da opção --grants para conceder acesso de leitura a todos os usuários identificados pelo URI e controle total a um usuário específico identificado por seu ID canônico:

aws s3 cp file.txt s3://mybucket/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=id=79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be

Saída:

upload: file.txt to s3://mybucket/file.txt

Exemplo 11: fazer upload de um fluxo de arquivos local para o S3

O PowerShell pode alterar a codificação ou adicionar um CRLF à entrada agrupada.

O comando cp a seguir carrega um fluxo de arquivos local da entrada padrão para um bucket e uma chave especificados:

aws s3 cp - s3://mybucket/stream.txt

Exemplo 12: fazer upload de um fluxo de arquivos local maior que 50 GB para o S3

O comando cp a seguir carrega um stream de arquivos local de 51 GB da entrada padrão para um bucket e uma chave especificados. A opção --expected-size deve ser fornecida ou o upload poderá falhar quando atingir o limite padrão de 10.000 peças:

aws s3 cp - s3://mybucket/stream.txt --expected-size 54760833024

Exemplo 13: baixar um objeto do S3 como um fluxo de arquivos local

O PowerShell pode alterar a codificação ou adicionar um CRLF à saída agrupada ou redirecionada.

O comando cp a seguir baixa um objeto S3 localmente como um fluxo para a saída padrão. Atualmente, o download como um fluxo não é compatível com o parâmetro --recursive:

aws s3 cp s3://mybucket/stream.txt -

Exemplo 14: fazer upload para um ponto de acesso do S3

O comando cp a seguir carrega um único arquivo (mydoc.txt) para o ponto de acesso (myaccesspoint) na chave (mykey):

aws s3 cp mydoc.txt s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey

Saída:

upload: mydoc.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey

Exemplo 15: fazer download de um ponto de acesso do S3

O comando cp a seguir faz download de um único objeto (mykey) do ponto de acesso (myaccesspoint) para o arquivo local (mydoc.txt):

aws s3 cp s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey mydoc.txt

Saída:

download: s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey to mydoc.txt
  • Para ver detalhes da API, consulte Cp na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar create-bucket.

AWS CLI

Exemplo 1: como criar um bucket

O seguinte exemplo de create-bucket cria um bucket chamado my-bucket:

aws s3api create-bucket \ --bucket my-bucket \ --region us-east-1

Saída:

{ "Location": "/my-bucket" }

Para obter mais informações, consulte Como criar um bucket no Guia do usuário do Amazon S3.

Exemplo 2: como criar um bucket com aplicação de políticas de proprietário

O exemplo de create-bucket a seguir cria um bucket chamado my-bucket que usa a configuração aplicada de proprietário de bucket para a propriedade de objetos do S3.

aws s3api create-bucket \ --bucket my-bucket \ --region us-east-1 \ --object-ownership BucketOwnerEnforced

Saída:

{ "Location": "/my-bucket" }

Para obter mais informações, consulte Controlar a propriedade de objetos e desabilitar ACLs, no Guia do usuário do Amazon S3.

Exemplo 3: como criar um bucket fora da região ``us-east-1``

O exemplo de create-bucket a seguir cria um bucket chamado my-bucket na região eu-west-1. Regiões fora da us-east-1 exigem que o LocationConstraint adequado seja especificado para poder criar o bucket na região desejada.

aws s3api create-bucket \ --bucket my-bucket \ --region eu-west-1 \ --create-bucket-configuration LocationConstraint=eu-west-1

Saída:

{ "Location": "http://my-bucket.s3.amazonaws.com/" }

Para obter mais informações, consulte Como criar um bucket no Guia do usuário do Amazon S3.

  • Para obter detalhes da API, consulte CreateBucket na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar create-multipart-upload.

AWS CLI

O seguinte comando cria um upload fracionado no bucket my-bucket com a chave multipart/01:

aws s3api create-multipart-upload --bucket my-bucket --key 'multipart/01'

Saída:

{ "Bucket": "my-bucket", "UploadId": "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R", "Key": "multipart/01" }

O arquivo concluído terá o nome 01 e estará em uma pasta chamada multipart no bucket my-bucket. Salve o ID de upload, a chave e o nome do bucket para usar com o comando upload-part.

O código de exemplo a seguir mostra como usar delete-bucket-analytics-configuration.

AWS CLI

Para excluir uma configuração de análise de um bucket

O exemplo delete-bucket-analytics-configuration a seguir recupera a configuração referente ao bucket e ID especificados.

aws s3api delete-bucket-analytics-configuration \ --bucket my-bucket \ --id 1

Este comando não produz saída.

O código de exemplo a seguir mostra como usar delete-bucket-cors.

AWS CLI

O seguinte comando exclui a configuração de compartilhamento de recursos de origem cruzada do bucket my-bucket:

aws s3api delete-bucket-cors --bucket my-bucket
  • Para obter detalhes da API, consulte DeleteBucketCors na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar delete-bucket-encryption.

AWS CLI

Para excluir a configuração de criptografia do lado do servidor de um bucket

O exemplo delete-bucket-encryption a seguir exclui a configuração de criptografia do lado do servidor do bucket especificado.

aws s3api delete-bucket-encryption \ --bucket my-bucket

Este comando não produz saída.

O código de exemplo a seguir mostra como usar delete-bucket-intelligent-tiering-configuration.

AWS CLI

Para remover uma configuração do S3 Intelligent-Tiering em um bucket

O exemplo delete-bucket-intelligent-tiering-configuration a seguir remove uma configuração do S3 Intelligent-Tiering, chamada ExampleConfig, em um bucket.

aws s3api delete-bucket-intelligent-tiering-configuration \ --bucket DOC-EXAMPLE-BUCKET \ --id ExampleConfig

Este comando não produz saída.

Para obter mais informações, consulte Usar o S3 Intelligent-Tiering no Guia do usuário do Amazon S3.

O código de exemplo a seguir mostra como usar delete-bucket-inventory-configuration.

AWS CLI

Para excluir a configuração de inventário de um bucket

O exemplo delete-bucket-inventory-configuration a seguir exclui a configuração do inventário com ID 1 do bucket especificado.

aws s3api delete-bucket-inventory-configuration \ --bucket my-bucket \ --id 1

Este comando não produz saída.

O código de exemplo a seguir mostra como usar delete-bucket-lifecycle.

AWS CLI

O seguinte comando exclui a configuração de ciclo de vida do bucket my-bucket:

aws s3api delete-bucket-lifecycle --bucket my-bucket

O código de exemplo a seguir mostra como usar delete-bucket-metrics-configuration.

AWS CLI

Para excluir uma configuração de métricas referente a um bucket

O exemplo delete-bucket-metrics-configuration a seguir remove a configuração referente ao bucket e ID especificados.

aws s3api delete-bucket-metrics-configuration \ --bucket my-bucket \ --id 123

Este comando não produz saída.

O código de exemplo a seguir mostra como usar delete-bucket-ownership-controls.

AWS CLI

Para remover as configurações de propriedade de um bucket

O exemplo delete-bucket-ownership-controls a seguir remove as configurações de propriedade de um bucket.

aws s3api delete-bucket-ownership-controls \ --bucket DOC-EXAMPLE-BUCKET

Este comando não produz saída.

Para obter mais informações, consulte Configurar a propriedade de objetos em um bucket existente no Guia do usuário do Amazon S3.

O código de exemplo a seguir mostra como usar delete-bucket-policy.

AWS CLI

O seguinte comando exclui uma política de bucket do bucket my-bucket:

aws s3api delete-bucket-policy --bucket my-bucket
  • Para obter detalhes da API, consulte DeleteBucketPolicy na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar delete-bucket-replication.

AWS CLI

O seguinte comando exclui uma configuração de replicação de um bucket denominado my-bucket:

aws s3api delete-bucket-replication --bucket my-bucket

O código de exemplo a seguir mostra como usar delete-bucket-tagging.

AWS CLI

O seguinte comando exclui uma configuração de marcação de um bucket denominado my-bucket:

aws s3api delete-bucket-tagging --bucket my-bucket
  • Para obter detalhes da API, consulte DeleteBucketTagging na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar delete-bucket-website.

AWS CLI

O seguinte comando exclui uma configuração de site do bucket my-bucket:

aws s3api delete-bucket-website --bucket my-bucket
  • Para obter detalhes da API, consulte DeleteBucketWebsite na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar delete-bucket.

AWS CLI

O seguinte comando exclui o bucket my-bucket:

aws s3api delete-bucket --bucket my-bucket --region us-east-1
  • Para obter detalhes da API, consulte DeleteBucket na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar delete-object-tagging.

AWS CLI

Para excluir os conjuntos de tags de um objeto

O exemplo delete-object-tagging a seguir exclui a tag com a chave especificada do objeto doc1.rtf.

aws s3api delete-object-tagging \ --bucket my-bucket \ --key doc1.rtf

Este comando não produz saída.

  • Para obter detalhes da API, consulte DeleteObjectTagging na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar delete-object.

AWS CLI

O seguinte comando exclui um objeto test.txt do bucket my-bucket:

aws s3api delete-object --bucket my-bucket --key test.txt

Se o versionamento de bucket estiver habilitado, a saída conterá o ID de versão do marcador excluído:

{ "VersionId": "9_gKg5vG56F.TTEUdwkxGpJ3tNDlWlGq", "DeleteMarker": true }

Para obter mais informações sobre como excluir objetos, consulte Excluir objetos no Guia do desenvolvedor do Amazon S3.

  • Para obter detalhes da API, consulte DeleteObject na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar delete-objects.

AWS CLI

O seguinte comando exclui um objeto do bucket my-bucket:

aws s3api delete-objects --bucket my-bucket --delete file://delete.json

delete.json é um documento JSON no diretório atual que especifica o objeto a ser excluído:

{ "Objects": [ { "Key": "test1.txt" } ], "Quiet": false }

Saída:

{ "Deleted": [ { "DeleteMarkerVersionId": "mYAT5Mc6F7aeUL8SS7FAAqUPO1koHwzU", "Key": "test1.txt", "DeleteMarker": true } ] }
  • Para obter detalhes da API, consulte DeleteObjects na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar delete-public-access-block.

AWS CLI

Para excluir a configuração do Bloqueio de Acesso Público para um bucket

O exemplo delete-public-access-block a seguir remove a configuração do Bloqueio de Acesso Público no bucket especificado.

aws s3api delete-public-access-block \ --bucket my-bucket

Este comando não produz saída.

O código de exemplo a seguir mostra como usar get-bucket-accelerate-configuration.

AWS CLI

Para recuperar a configuração de aceleração de um bucket

O exemplo get-bucket-accelerate-configuration a seguir recupera a configuração de aceleração do bucket especificado.

aws s3api get-bucket-accelerate-configuration \ --bucket my-bucket

Saída:

{ "Status": "Enabled" }

O código de exemplo a seguir mostra como usar get-bucket-acl.

AWS CLI

O seguinte comando recupera a lista de controle de acesso do bucket my-bucket:

aws s3api get-bucket-acl --bucket my-bucket

Saída:

{ "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Grants": [ { "Grantee": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Permission": "FULL_CONTROL" } ] }
  • Para obter detalhes da API, consulte GetBucketAcl na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-bucket-analytics-configuration.

AWS CLI

Para recuperar a configuração de análise de um bucket com um ID específico

O exemplo get-bucket-analytics-configuration a seguir recupera a configuração de análise referente ao bucket e ID especificados.

aws s3api get-bucket-analytics-configuration \ --bucket my-bucket \ --id 1

Saída:

{ "AnalyticsConfiguration": { "StorageClassAnalysis": {}, "Id": "1" } }

O código de exemplo a seguir mostra como usar get-bucket-cors.

AWS CLI

O seguinte comando recupera a configuração de compartilhamento de recursos de origem cruzada para o bucket my-bucket:

aws s3api get-bucket-cors --bucket my-bucket

Saída:

{ "CORSRules": [ { "AllowedHeaders": [ "*" ], "ExposeHeaders": [ "x-amz-server-side-encryption" ], "AllowedMethods": [ "PUT", "POST", "DELETE" ], "MaxAgeSeconds": 3000, "AllowedOrigins": [ "http://www.example.com" ] }, { "AllowedHeaders": [ "Authorization" ], "MaxAgeSeconds": 3000, "AllowedMethods": [ "GET" ], "AllowedOrigins": [ "*" ] } ] }
  • Para obter detalhes da API, consulte GetBucketCors na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-bucket-encryption.

AWS CLI

Para recuperar a configuração de criptografia do lado do servidor para um bucket

O exemplo get-bucket-encryption a seguir recupera a configuração de criptografia do lado do servidor do bucket my-bucket.

aws s3api get-bucket-encryption \ --bucket my-bucket

Saída:

{ "ServerSideEncryptionConfiguration": { "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" } } ] } }
  • Para obter detalhes da API, consulte GetBucketEncryption na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-bucket-intelligent-tiering-configuration.

AWS CLI

Para recuperar uma configuração do S3 Intelligent-Tiering em um bucket

O exemplo get-bucket-intelligent-tiering-configuration a seguir recupera uma configuração do S3 Intelligent-Tiering, chamada ExampleConfig, em um bucket.

aws s3api get-bucket-intelligent-tiering-configuration \ --bucket DOC-EXAMPLE-BUCKET \ --id ExampleConfig

Saída:

{ "IntelligentTieringConfiguration": { "Id": "ExampleConfig2", "Filter": { "Prefix": "images" }, "Status": "Enabled", "Tierings": [ { "Days": 90, "AccessTier": "ARCHIVE_ACCESS" }, { "Days": 180, "AccessTier": "DEEP_ARCHIVE_ACCESS" } ] } }

Para obter mais informações, consulte Usar o S3 Intelligent-Tiering no Guia do usuário do Amazon S3.

O código de exemplo a seguir mostra como usar get-bucket-inventory-configuration.

AWS CLI

Para recuperar a configuração de inventário de um bucket

O exemplo get-bucket-inventory-configuration a seguir recupera a configuração de inventário do bucket especificado com ID 1.

aws s3api get-bucket-inventory-configuration \ --bucket my-bucket \ --id 1

Saída:

{ "InventoryConfiguration": { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "ORC", "Bucket": "arn:aws:s3:::my-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "1", "Schedule": { "Frequency": "Weekly" } } }

O código de exemplo a seguir mostra como usar get-bucket-lifecycle-configuration.

AWS CLI

O seguinte comando recupera a configuração do ciclo de vida do bucket my-bucket:

aws s3api get-bucket-lifecycle-configuration --bucket my-bucket

Saída:

{ "Rules": [ { "ID": "Move rotated logs to Glacier", "Prefix": "rotated/", "Status": "Enabled", "Transitions": [ { "Date": "2015-11-10T00:00:00.000Z", "StorageClass": "GLACIER" } ] }, { "Status": "Enabled", "Prefix": "", "NoncurrentVersionTransitions": [ { "NoncurrentDays": 0, "StorageClass": "GLACIER" } ], "ID": "Move old versions to Glacier" } ] }

O código de exemplo a seguir mostra como usar get-bucket-lifecycle.

AWS CLI

O seguinte comando recupera a configuração do ciclo de vida do bucket my-bucket:

aws s3api get-bucket-lifecycle --bucket my-bucket

Saída:

{ "Rules": [ { "ID": "Move to Glacier after sixty days (objects in logs/2015/)", "Prefix": "logs/2015/", "Status": "Enabled", "Transition": { "Days": 60, "StorageClass": "GLACIER" } }, { "Expiration": { "Date": "2016-01-01T00:00:00.000Z" }, "ID": "Delete 2014 logs in 2016.", "Prefix": "logs/2014/", "Status": "Enabled" } ] }
  • Para ver detalhes da API, consulte GetBucketLifecycle na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-bucket-location.

AWS CLI

O seguinte comando recupera a restrição de localização do bucket my-bucket, se houver uma restrição:

aws s3api get-bucket-location --bucket my-bucket

Saída:

{ "LocationConstraint": "us-west-2" }
  • Para obter detalhes da API, consulte GetBucketLocation na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-bucket-logging.

AWS CLI

Para recuperar o status de registro em log de um bucket

O exemplo get-bucket-logging a seguir recupera o status de registro em log do bucket especificado.

aws s3api get-bucket-logging \ --bucket my-bucket

Saída:

{ "LoggingEnabled": { "TargetPrefix": "", "TargetBucket": "my-bucket-logs" } }
  • Para obter detalhes da API, consulte GetBucketLogging na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-bucket-metrics-configuration.

AWS CLI

Para recuperar a configuração de métricas de um bucket com um ID específico

O exemplo get-bucket-metrics-configuration a seguir exibe a configuração de métricas referente ao bucket e ID especificados.

aws s3api get-bucket-metrics-configuration \ --bucket my-bucket \ --id 123

Saída:

{ "MetricsConfiguration": { "Filter": { "Prefix": "logs" }, "Id": "123" } }

O código de exemplo a seguir mostra como usar get-bucket-notification-configuration.

AWS CLI

O seguinte comando recupera a configuração de notificação do bucket denominado my-bucket:

aws s3api get-bucket-notification-configuration --bucket my-bucket

Saída:

{ "TopicConfigurations": [ { "Id": "YmQzMmEwM2EjZWVlI0NGItNzVtZjI1MC00ZjgyLWZDBiZWNl", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-notification-topic", "Events": [ "s3:ObjectCreated:*" ] } ] }

O código de exemplo a seguir mostra como usar get-bucket-notification.

AWS CLI

O seguinte comando recupera a configuração de notificação do bucket denominado my-bucket:

aws s3api get-bucket-notification --bucket my-bucket

Saída:

{ "TopicConfiguration": { "Topic": "arn:aws:sns:us-west-2:123456789012:my-notification-topic", "Id": "YmQzMmEwM2EjZWVlI0NGItNzVtZjI1MC00ZjgyLWZDBiZWNl", "Event": "s3:ObjectCreated:*", "Events": [ "s3:ObjectCreated:*" ] } }

O código de exemplo a seguir mostra como usar get-bucket-ownership-controls.

AWS CLI

Para recuperar as configurações de propriedade de um bucket

O exemplo get-bucket-ownership-controls a seguir recupera as configurações de propriedade de um bucket.

aws s3api get-bucket-ownership-controls \ --bucket DOC-EXAMPLE-BUCKET

Saída:

{ "OwnershipControls": { "Rules": [ { "ObjectOwnership": "BucketOwnerEnforced" } ] } }

Para obter mais informações, consulte Visualizar a configuração de propriedade de objetos em um bucket do S3 no Guia do usuário do Amazon S3.

O código de exemplo a seguir mostra como usar get-bucket-policy-status.

AWS CLI

Para recuperar o status da política de um bucket que indica se o bucket é público

O exemplo get-bucket-policy-status a seguir recupera o status da política do bucket my-bucket.

aws s3api get-bucket-policy-status \ --bucket my-bucket

Saída:

{ "PolicyStatus": { "IsPublic": false } }

O código de exemplo a seguir mostra como usar get-bucket-policy.

AWS CLI

O seguinte comando recupera política de bucket do bucket my-bucket:

aws s3api get-bucket-policy --bucket my-bucket

Saída:

{ "Policy": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::my-bucket/*\"},{\"Sid\":\"\",\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::my-bucket/secret/*\"}]}" }

Obter e colocar uma política de bucket em vigor O exemplo a seguir mostra como fazer download de uma política do Amazon S3, fazer alterações no arquivo e usar put-bucket-policy para aplicar a política de bucket modificada. Para fazer o download de uma política de bucket em um arquivo, você pode executar:

aws s3api get-bucket-policy --bucket mybucket --query Policy --output text > policy.json

Em seguida, modifique o arquivo policy.json conforme necessário. Por fim, aplique essa política modificada ao bucket do S3 executando:

o arquivo policy.json conforme necessário. Por fim, aplique essa política modificada ao bucket do S3 executando:

conforme necessário. Por fim, aplique essa política modificada ao bucket do S3 executando:

aws s3api put-bucket-policy --bucket mybucket --policy file://policy.json
  • Para obter detalhes da API, consulte GetBucketPolicy na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-bucket-replication.

AWS CLI

O seguinte comando recupera a configuração de replicação de um bucket denominado my-bucket:

aws s3api get-bucket-replication --bucket my-bucket

Saída:

{ "ReplicationConfiguration": { "Rules": [ { "Status": "Enabled", "Prefix": "", "Destination": { "Bucket": "arn:aws:s3:::my-bucket-backup", "StorageClass": "STANDARD" }, "ID": "ZmUwNzE4ZmQ4tMjVhOS00MTlkLOGI4NDkzZTIWJjNTUtYTA1" } ], "Role": "arn:aws:iam::123456789012:role/s3-replication-role" } }

O código de exemplo a seguir mostra como usar get-bucket-request-payment.

AWS CLI

Para recuperar a configuração de pagamento de solicitação de um bucket

O exemplo get-bucket-request-payment a seguir recupera a configuração de pagamento de solicitação do bucket especificado.

aws s3api get-bucket-request-payment \ --bucket my-bucket

Saída:

{ "Payer": "BucketOwner" }

O código de exemplo a seguir mostra como usar get-bucket-tagging.

AWS CLI

O seguinte comando recupera a configuração de marcação de um bucket denominado my-bucket:

aws s3api get-bucket-tagging --bucket my-bucket

Saída:

{ "TagSet": [ { "Value": "marketing", "Key": "organization" } ] }
  • Para obter detalhes da API, consulte GetBucketTagging na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-bucket-versioning.

AWS CLI

O seguinte comando recupera a configuração de versionamento de um bucket denominado my-bucket:

aws s3api get-bucket-versioning --bucket my-bucket

Saída:

{ "Status": "Enabled" }
  • Para obter detalhes da API, consulte GetBucketVersioning na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-bucket-website.

AWS CLI

O seguinte comando recupera a configuração estática do site do bucket my-bucket:

aws s3api get-bucket-website --bucket my-bucket

Saída:

{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }
  • Para obter detalhes da API, consulte GetBucketWebsite na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-object-acl.

AWS CLI

O seguinte comando recupera a lista de controle de acesso de um objeto em um bucket chamado my-bucket:

aws s3api get-object-acl --bucket my-bucket --key index.html

Saída:

{ "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Grants": [ { "Grantee": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "URI": "http://acs.amazonaws.com/groups/global/AllUsers" }, "Permission": "READ" } ] }
  • Para obter detalhes da API, consulte GetObjectAcl na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-object-attributes.

AWS CLI

Para recuperar metadados de um objeto sem exibir o próprio objeto

O exemplo de get-object-attributes a seguir recupera metadados do objeto doc1.rtf.

aws s3api get-object-attributes \ --bucket my-bucket \ --key doc1.rtf \ --object-attributes "StorageClass" "ETag" "ObjectSize"

Saída:

{ "LastModified": "2022-03-15T19:37:31+00:00", "VersionId": "IuCPjXTDzHNfldAuitVBIKJpF2p1fg4P", "ETag": "b662d79adeb7c8d787ea7eafb9ef6207", "StorageClass": "STANDARD", "ObjectSize": 405 }

Para receber mais informações, consulte GetObjectAttributes na Referência da API do Amazon S3.

  • Para receber detalhes da API, consulte GetObjectAttributes na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-object-legal-hold.

AWS CLI

Recupera o status de “Retenção jurídica” de um objeto

O exemplo de get-object-legal-hold a seguir recupera o status de “Retenção jurídica” do objeto especificado.

aws s3api get-object-legal-hold \ --bucket my-bucket-with-object-lock \ --key doc1.rtf

Saída:

{ "LegalHold": { "Status": "ON" } }

O código de exemplo a seguir mostra como usar get-object-lock-configuration.

AWS CLI

Para recuperar uma configuração de bloqueio de objetos de um bucket

O exemplo de get-object-lock-configuration a seguir recupera a configuração de bloqueio de objetos do bucket especificado.

aws s3api get-object-lock-configuration \ --bucket my-bucket-with-object-lock

Saída:

{ "ObjectLockConfiguration": { "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 } } } }

O código de exemplo a seguir mostra como usar get-object-retention.

AWS CLI

Para recuperar a configuração de retenção de objetos de um objeto

O exemplo de get-object-retention a seguir recupera a configuração de retenção de objetos do objeto especificado.

aws s3api get-object-retention \ --bucket my-bucket-with-object-lock \ --key doc1.rtf

Saída:

{ "Retention": { "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00.000Z" } }

O código de exemplo a seguir mostra como usar get-object-tagging.

AWS CLI

Para recuperar as tags anexadas a um objeto

O exemplo get-object-tagging a seguir recupera os valores da chave especificada do objeto especificado.

aws s3api get-object-tagging \ --bucket my-bucket \ --key doc1.rtf

Saída:

{ "TagSet": [ { "Value": "confidential", "Key": "designation" } ] }

O exemplo get-object-tagging a seguir tenta recuperar os conjuntos de tags do objeto doc2.rtf, o qual não tem tags.

aws s3api get-object-tagging \ --bucket my-bucket \ --key doc2.rtf

Saída:

{ "TagSet": [] }

O exemplo get-object-tagging a seguir recupera os conjuntos de tags do objeto doc3.rtf, o qual não tem tags.

aws s3api get-object-tagging \ --bucket my-bucket \ --key doc3.rtf

Saída:

{ "TagSet": [ { "Value": "confidential", "Key": "designation" }, { "Value": "finance", "Key": "department" }, { "Value": "payroll", "Key": "team" } ] }
  • Para obter detalhes da API, consulte GetObjectTagging na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-object-torrent.

AWS CLI

O seguinte comando cria um torrent para um objeto em um bucket chamado my-bucket:

aws s3api get-object-torrent --bucket my-bucket --key large-video-file.mp4 large-video-file.torrent

O arquivo torrent é salvo localmente na pasta atual. Observe que o nome do arquivo de saída (large-video-file.torrent) é especificado sem um nome de opção e deve ser o último argumento no comando.

  • Para ver detalhes da API, consulte GetObjectTorrent na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-object.

AWS CLI

O seguinte exemplo usa o comando get-object para fazer download de um objeto do Amazon S3:

aws s3api get-object --bucket text-content --key dir/my_images.tar.bz2 my_images.tar.bz2

Observe que o parâmetro outfile é especificado sem um nome de opção, como “--outfile”. O nome do arquivo de saída deve ser o último parâmetro no comando.

O exemplo abaixo demonstra o uso de --range para fazer download de um intervalo de bytes específico de um objeto. Observe que os intervalos de bytes precisam ser prefixados com “bytes=”:

aws s3api get-object --bucket text-content --key dir/my_data --range bytes=8888-9999 my_data_range

Para obter mais informações sobre como recuperar objetos, consulte Obter um objeto no Guia do desenvolvedor do Amazon S3.

  • Para obter detalhes da API, consulte GetObject na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-public-access-block.

AWS CLI

Para definir ou modificar a configuração do Bloqueio de Acesso Público de um bucket

O exemplo get-public-access-block a seguir exibe a configuração do Bloqueio de Acesso Público do bucket especificado.

aws s3api get-public-access-block \ --bucket my-bucket

Saída:

{ "PublicAccessBlockConfiguration": { "IgnorePublicAcls": true, "BlockPublicPolicy": true, "BlockPublicAcls": true, "RestrictPublicBuckets": true } }

O código de exemplo a seguir mostra como usar head-bucket.

AWS CLI

O seguinte comando verifica o acesso ao bucket my-bucket:

aws s3api head-bucket --bucket my-bucket

Se o bucket existir e você tiver acesso a ele, nenhuma saída será retornada. Caso contrário, uma mensagem de erro será exibida. Por exemplo:

A client error (404) occurred when calling the HeadBucket operation: Not Found
  • Para obter detalhes da API, consulte HeadBucket na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar head-object.

AWS CLI

O seguinte comando recupera metadados de um objeto no bucket my-bucket:

aws s3api head-object --bucket my-bucket --key index.html

Saída:

{ "AcceptRanges": "bytes", "ContentType": "text/html", "LastModified": "Thu, 16 Apr 2015 18:19:14 GMT", "ContentLength": 77, "VersionId": "null", "ETag": "\"30a6ec7e1a9ad79c203d05a589c8b400\"", "Metadata": {} }
  • Para obter detalhes da API, consulte HeadObject na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar list-bucket-analytics-configurations.

AWS CLI

Para recuperar uma lista de configurações de análise de um bucket

O exemplo list-bucket-analytics-configurations a seguir recupera uma lista de configurações de análise do bucket especificado.

aws s3api list-bucket-analytics-configurations \ --bucket my-bucket

Saída:

{ "AnalyticsConfigurationList": [ { "StorageClassAnalysis": {}, "Id": "1" } ], "IsTruncated": false }

O código de exemplo a seguir mostra como usar list-bucket-intelligent-tiering-configurations.

AWS CLI

Para recuperar todas as configurações do S3 Intelligent-Tiering em um bucket

O exemplo list-bucket-intelligent-tiering-configurations a seguir recupera toda a configuração do S3 Intelligent-Tiering em um bucket.

aws s3api list-bucket-intelligent-tiering-configurations \ --bucket DOC-EXAMPLE-BUCKET

Saída:

{ "IsTruncated": false, "IntelligentTieringConfigurationList": [ { "Id": "ExampleConfig", "Filter": { "Prefix": "images" }, "Status": "Enabled", "Tierings": [ { "Days": 90, "AccessTier": "ARCHIVE_ACCESS" }, { "Days": 180, "AccessTier": "DEEP_ARCHIVE_ACCESS" } ] }, { "Id": "ExampleConfig2", "Status": "Disabled", "Tierings": [ { "Days": 730, "AccessTier": "ARCHIVE_ACCESS" } ] }, { "Id": "ExampleConfig3", "Filter": { "Tag": { "Key": "documents", "Value": "taxes" } }, "Status": "Enabled", "Tierings": [ { "Days": 90, "AccessTier": "ARCHIVE_ACCESS" }, { "Days": 365, "AccessTier": "DEEP_ARCHIVE_ACCESS" } ] } ] }

Para obter mais informações, consulte Usar o S3 Intelligent-Tiering no Guia do usuário do Amazon S3.

O código de exemplo a seguir mostra como usar list-bucket-inventory-configurations.

AWS CLI

Para recuperar uma lista de configurações de inventário de um bucket

O exemplo list-bucket-inventory-configurations a seguir recupera as configurações de inventário do bucket especificado.

aws s3api list-bucket-inventory-configurations \ --bucket my-bucket

Saída:

{ "InventoryConfigurationList": [ { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "ORC", "Bucket": "arn:aws:s3:::my-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "1", "Schedule": { "Frequency": "Weekly" } }, { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "CSV", "Bucket": "arn:aws:s3:::my-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "2", "Schedule": { "Frequency": "Daily" } } ], "IsTruncated": false }

O código de exemplo a seguir mostra como usar list-bucket-metrics-configurations.

AWS CLI

Para recuperar uma lista de configurações de métrica de um bucket

O exemplo list-bucket-metrics-configurations a seguir recupera uma lista de configurações de métricas do bucket especificado.

aws s3api list-bucket-metrics-configurations \ --bucket my-bucket

Saída:

{ "IsTruncated": false, "MetricsConfigurationList": [ { "Filter": { "Prefix": "logs" }, "Id": "123" }, { "Filter": { "Prefix": "tmp" }, "Id": "234" } ] }

O código de exemplo a seguir mostra como usar list-buckets.

AWS CLI

O seguinte comando usa o comando list-buckets para exibir os nomes de todos os buckets do Amazon S3 (em todas as regiões):

aws s3api list-buckets --query "Buckets[].Name"

A opção de consulta filtra a saída de list-buckets até sobrar apenas os nomes dos buckets.

Para obter mais informações sobre buckets, consulte Working with Amazon S3 Buckets no Guia do desenvolvedor do Amazon S3.

  • Para obter detalhes da API, consulte ListBuckets na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar list-multipart-uploads.

AWS CLI

O seguinte comando lista todos os uploads fracionados ativos do bucket my-bucket:

aws s3api list-multipart-uploads --bucket my-bucket

Saída:

{ "Uploads": [ { "Initiator": { "DisplayName": "username", "ID": "arn:aws:iam::0123456789012:user/username" }, "Initiated": "2015-06-02T18:01:30.000Z", "UploadId": "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R", "StorageClass": "STANDARD", "Key": "multipart/01", "Owner": { "DisplayName": "aws-account-name", "ID": "100719349fc3b6dcd7c820a124bf7aecd408092c3d7b51b38494939801fc248b" } } ], "CommonPrefixes": [] }

Os uploads fracionados em andamento incorrem em custos de armazenamento no Amazon S3. Conclua ou cancele um upload fracionado ativo para remover suas partes da conta.

O código de exemplo a seguir mostra como usar list-object-versions.

AWS CLI

O seguinte comando recupera as informações da versão de um objeto do bucket my-bucket:

aws s3api list-object-versions --bucket my-bucket --prefix index.html

Saída:

{ "DeleteMarkers": [ { "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": true, "VersionId": "B2VsEK5saUNNHKcOAJj7hIE86RozToyq", "Key": "index.html", "LastModified": "2015-11-10T00:57:03.000Z" }, { "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": false, "VersionId": ".FLQEZscLIcfxSq.jsFJ.szUkmng2Yw6", "Key": "index.html", "LastModified": "2015-11-09T23:32:20.000Z" } ], "Versions": [ { "LastModified": "2015-11-10T00:20:11.000Z", "VersionId": "Rb_l2T8UHDkFEwCgJjhlgPOZC0qJ.vpD", "ETag": "\"0622528de826c0df5db1258a23b80be5\"", "StorageClass": "STANDARD", "Key": "index.html", "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": false, "Size": 38 }, { "LastModified": "2015-11-09T23:26:41.000Z", "VersionId": "rasWWGpgk9E4s0LyTJgusGeRQKLVIAFf", "ETag": "\"06225825b8028de826c0df5db1a23be5\"", "StorageClass": "STANDARD", "Key": "index.html", "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": false, "Size": 38 }, { "LastModified": "2015-11-09T22:50:50.000Z", "VersionId": "null", "ETag": "\"d1f45267a863c8392e07d24dd592f1b9\"", "StorageClass": "STANDARD", "Key": "index.html", "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": false, "Size": 533823 } ] }
  • Para obter detalhes da API, consulte ListObjectVersions na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar list-objects-v2.

AWS CLI

Como obter uma lista dos objetos em um bucket

O exemplo de list-objects-v2 a seguir lista os objetos no bucket especificado.

aws s3api list-objects-v2 \ --bucket my-bucket

Saída:

{ "Contents": [ { "LastModified": "2019-11-05T23:11:50.000Z", "ETag": "\"621503c373607d548b37cff8778d992c\"", "StorageClass": "STANDARD", "Key": "doc1.rtf", "Size": 391 }, { "LastModified": "2019-11-05T23:11:50.000Z", "ETag": "\"a2cecc36ab7c7fe3a71a273b9d45b1b5\"", "StorageClass": "STANDARD", "Key": "doc2.rtf", "Size": 373 }, { "LastModified": "2019-11-05T23:11:50.000Z", "ETag": "\"08210852f65a2e9cb999972539a64d68\"", "StorageClass": "STANDARD", "Key": "doc3.rtf", "Size": 399 }, { "LastModified": "2019-11-05T23:11:50.000Z", "ETag": "\"d1852dd683f404306569471af106988e\"", "StorageClass": "STANDARD", "Key": "doc4.rtf", "Size": 6225 } ] }
  • Para obter detalhes da API, consulte ListObjectsV2 na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar list-objects.

AWS CLI

O seguinte exemplo usa o comando list-objects para exibir os nomes de todos os objetos presentes no bucket especificado:

aws s3api list-objects --bucket text-content --query 'Contents[].{Key: Key, Size: Size}'

O exemplo usa o argumento --query para filtrar a saída de list-objects até encontrar o valor e o tamanho da chave de cada objeto

Para obter mais informações sobre objetos, consulte Working with Amazon S3 Buckets no Guia do desenvolvedor do Amazon S3.

  • Para obter detalhes da API, consulte ListObjects na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar list-parts.

AWS CLI

O comando a seguir lista todas as partes que foram carregadas para um upload de várias partes com a chave multipart/01 no bucket my-bucket:

aws s3api list-parts --bucket my-bucket --key 'multipart/01' --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R

Saída:

{ "Owner": { "DisplayName": "aws-account-name", "ID": "100719349fc3b6dcd7c820a124bf7aecd408092c3d7b51b38494939801fc248b" }, "Initiator": { "DisplayName": "username", "ID": "arn:aws:iam::0123456789012:user/username" }, "Parts": [ { "LastModified": "2015-06-02T18:07:35.000Z", "PartNumber": 1, "ETag": "\"e868e0f4719e394144ef36531ee6824c\"", "Size": 5242880 }, { "LastModified": "2015-06-02T18:07:42.000Z", "PartNumber": 2, "ETag": "\"6bb2b12753d66fe86da4998aa33fffb0\"", "Size": 5242880 }, { "LastModified": "2015-06-02T18:07:47.000Z", "PartNumber": 3, "ETag": "\"d0a0112e841abec9c9ec83406f0159c8\"", "Size": 5242880 } ], "StorageClass": "STANDARD" }
  • Para ver detalhes da API, consulte ListParts na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar ls.

AWS CLI

Exemplo 1: listar todos os buckets de propriedade do usuário

O comando ls a seguir lista todo o bucket de propriedade do usuário. Neste exemplo, o usuário é dono dos buckets mybucket e mybucket2. O carimbo de data/hora é a data em que o bucket foi criado, mostrada no fuso horário da sua máquina. Essa data pode mudar ao fazer alterações em seu bucket, como editar sua política de bucket. Observe que se s3:// for usado para o argumento path <S3Uri>, ele também listará todos os buckets.

aws s3 ls

Saída:

2013-07-11 17:08:50 mybucket 2013-07-24 14:55:44 mybucket2

Exemplo 2: listar todos os prefixos e objetos em um bucket

O comando ls a seguir lista objetos e prefixos comuns em um bucket e prefixo especificados. Neste exemplo, o usuário é dono do bucket mybucket com os objetos test.txt e somePrefix/test.txt. O LastWriteTime e o Length são arbitrários. Observe que, como o comando ls não tem interação com o sistema de arquivos local, o esquema de URI s3:// não é necessário para resolver a ambiguidade e pode ser omitido.

aws s3 ls s3://mybucket

Saída:

PRE somePrefix/ 2013-07-25 17:06:27 88 test.txt

Exemplo 3: listar todos os prefixos e objetos em um bucket e prefixo específicos

O comando ls a seguir lista objetos e prefixos comuns em um bucket e prefixo especificados. No entanto, não há objetos nem prefixos comuns no bucket e com o prefixo especificados.

aws s3 ls s3://mybucket/noExistPrefix

Saída:

None

Exemplo 4: fazer uma listagem recursiva de todos os prefixos e objetos em um bucket

O comando ls a seguir listará recursivamente objetos em um bucket. Em vez de exibir PRE dirname/ na saída, todo o conteúdo em um bucket será listado em ordem.

aws s3 ls s3://mybucket \ --recursive

Saída:

2013-09-02 21:37:53 10 a.txt 2013-09-02 21:37:53 2863288 foo.zip 2013-09-02 21:32:57 23 foo/bar/.baz/a 2013-09-02 21:32:58 41 foo/bar/.baz/b 2013-09-02 21:32:57 281 foo/bar/.baz/c 2013-09-02 21:32:57 73 foo/bar/.baz/d 2013-09-02 21:32:57 452 foo/bar/.baz/e 2013-09-02 21:32:57 896 foo/bar/.baz/hooks/bar 2013-09-02 21:32:57 189 foo/bar/.baz/hooks/foo 2013-09-02 21:32:57 398 z.txt

Exemplo 5: resumir todos os prefixos e objetos em um bucket

O comando ls a seguir demonstra o mesmo comando usando as opções --human-readable e --summarize. A opção --human-readable exibe o tamanho do arquivo em bytes/MiB/KiB/GiB/TiB/PiB/EiB. A opção --summarize exibe o número total de objetos e o tamanho total no final da lista de resultados:

aws s3 ls s3://mybucket \ --recursive \ --human-readable \ --summarize

Saída:

2013-09-02 21:37:53 10 Bytes a.txt 2013-09-02 21:37:53 2.9 MiB foo.zip 2013-09-02 21:32:57 23 Bytes foo/bar/.baz/a 2013-09-02 21:32:58 41 Bytes foo/bar/.baz/b 2013-09-02 21:32:57 281 Bytes foo/bar/.baz/c 2013-09-02 21:32:57 73 Bytes foo/bar/.baz/d 2013-09-02 21:32:57 452 Bytes foo/bar/.baz/e 2013-09-02 21:32:57 896 Bytes foo/bar/.baz/hooks/bar 2013-09-02 21:32:57 189 Bytes foo/bar/.baz/hooks/foo 2013-09-02 21:32:57 398 Bytes z.txt Total Objects: 10 Total Size: 2.9 MiB

Exemplo 6: listar a partir de um ponto de acesso do S3

O comando ls a seguir lista objetos do ponto de acesso (myaccesspoint):

aws s3 ls s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/

Saída:

PRE somePrefix/ 2013-07-25 17:06:27 88 test.txt
  • Para ver detalhes da API, consulte Ls na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar mb.

AWS CLI

Exemplo 1: criar um bucket

O comando mb a seguir cria um bucket. Neste exemplo, o usuário cria o bucket mybucket. O bucket é criado na região especificada no arquivo de configuração do usuário:

aws s3 mb s3://mybucket

Saída:

make_bucket: s3://mybucket

Exemplo 2: criar um bucket na região especificada

O comando mb a seguir cria um bucket em uma região especificada pelo parâmetro --region. Neste exemplo, o usuário cria o bucket mybucket na região us-west-1:

aws s3 mb s3://mybucket \ --region us-west-1

Saída:

make_bucket: s3://mybucket
  • Para ver detalhes da API, consulte Mb na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar mv.

AWS CLI

Exemplo 1: mover um arquivo local para o bucket especificado

O comando mv a seguir move um único arquivo para um bucket e uma chave especificados.

aws s3 mv test.txt s3://mybucket/test2.txt

Saída:

move: test.txt to s3://mybucket/test2.txt

Exemplo 2: mover um objeto para o bucket e a chave especificados

O comando mv a seguir move um único objeto s3 para um bucket e uma chave especificados.

aws s3 mv s3://mybucket/test.txt s3://mybucket/test2.txt

Saída:

move: s3://mybucket/test.txt to s3://mybucket/test2.txt

Exemplo 3: mover um objeto do S3 para o diretório local

O comando mv a seguir move um único objeto para um arquivo especificado localmente.

aws s3 mv s3://mybucket/test.txt test2.txt

Saída:

move: s3://mybucket/test.txt to test2.txt

Exemplo 4: mover um objeto com seu nome original para o bucket especificado

O comando mv a seguir move um único objeto para um bucket especificado, mantendo o nome original:

aws s3 mv s3://mybucket/test.txt s3://mybucket2/

Saída:

move: s3://mybucket/test.txt to s3://mybucket2/test.txt

Exemplo 5: mover todos os objetos e prefixos em um bucket para o diretório local

Quando transmitido com o parâmetro --recursive, o comando mv a seguir move recursivamente todos os objetos com um prefixo e um bucket especificados para um diretório especificado. Neste exemplo, o bucket mybucket tem os objetos test1.txt e test2.txt.

aws s3 mv s3://mybucket . \ --recursive

Saída:

move: s3://mybucket/test1.txt to test1.txt move: s3://mybucket/test2.txt to test2.txt

Exemplo 6: mover todos os objetos e prefixos em um bucket para o diretório local, exceto os arquivos ``.jpg``

Quando transmitido com o parâmetro --recursive, o comando mv a seguir move recursivamente todos os arquivos em um diretório especificado para um bucket e prefixo especificados, enquanto exclui alguns arquivos usando um parâmetro --exclude. Neste exemplo, o diretório myDir tem os arquivos test1.txt e test2.jpg.

aws s3 mv myDir s3://mybucket/ \ --recursive \ --exclude "*.jpg"

Saída:

move: myDir/test1.txt to s3://mybucket2/test1.txt

Exemplo 7: mover todos os objetos e prefixos em um bucket para o diretório local, exceto o prefixo especificado

Quando transmitido com o parâmetro --recursive, o comando mv a seguir move recursivamente todos os objetos em um bucket especificado para outro, ao mesmo tempo em que exclui alguns objetos usando um parâmetro --exclude. Neste exemplo, o bucket mybucket tem os objetos test1.txt e another/test1.txt.

aws s3 mv s3://mybucket/ s3://mybucket2/ \ --recursive \ --exclude "mybucket/another/*"

Saída:

move: s3://mybucket/test1.txt to s3://mybucket2/test1.txt

Exemplo 8: mover um objeto para o bucket especificado e definir a ACL

O comando mv a seguir move um único objeto para um bucket e uma chave especificados ao definir a ACL como public-read-write.

aws s3 mv s3://mybucket/test.txt s3://mybucket/test2.txt \ --acl public-read-write

Saída:

move: s3://mybucket/test.txt to s3://mybucket/test2.txt

Exemplo 9: mover um arquivo local para o bucket especificado e conceder permissões

O comando mv a seguir ilustra o uso da opção --grants para conceder acesso de leitura a todos os usuários e controle total a um usuário específico identificado pelo endereço de e-mail.

aws s3 mv file.txt s3://mybucket/ \ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=emailaddress=user@example.com

Saída:

move: file.txt to s3://mybucket/file.txt

Exemplo 10: mover um arquivo para um ponto de acesso do S3

O comando mv a seguir move um único arquivo chamado mydoc.txt para o ponto de acesso chamado myaccesspoint na chave chamada mykey.

aws s3 mv mydoc.txt s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey

Saída:

move: mydoc.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey
  • Para ver detalhes da API, consulte Mv na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar presign.

AWS CLI

Exemplo 1: criar um URL pré-assinado com a vida útil padrão de uma hora vinculada a um objeto em um bucket do S3

O comando presign a seguir gera um URL pré-assinado para um bucket e uma chave especificados que são válidos por uma hora.

aws s3 presign s3://DOC-EXAMPLE-BUCKET/test2.txt

Saída:

https://DOC-EXAMPLE-BUCKET.s3.us-west-2.amazonaws.com/key?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAEXAMPLE123456789%2F20210621%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210621T041609Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=EXAMBLE1234494d5fba3fed607f98018e1dfc62e2529ae96d844123456

Exemplo 2: criar um URL pré-assinado com uma vida útil personalizada vinculada a um objeto em um bucket do S3

O comando presign a seguir gera um URL pré-assinado para um bucket e uma chave especificados que são válidos por uma semana.

aws s3 presign s3://DOC-EXAMPLE-BUCKET/test2.txt \ --expires-in 604800

Saída:

https://DOC-EXAMPLE-BUCKET.s3.us-west-2.amazonaws.com/key?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAEXAMPLE123456789%2F20210621%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210621T041609Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=EXAMBLE1234494d5fba3fed607f98018e1dfc62e2529ae96d844123456

Para obter mais informações, consulte Compartilhar um objeto com outras pessoas no Guia do desenvolvedor do S3.

  • Para ver detalhes da API, consulte Presign na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar put-bucket-accelerate-configuration.

AWS CLI

Para definir a configuração de aceleração de um bucket

O exemplo put-bucket-accelerate-configuration a seguir habilita a configuração de aceleração do bucket especificado.

aws s3api put-bucket-accelerate-configuration \ --bucket my-bucket \ --accelerate-configuration Status=Enabled

Este comando não produz saída.

O código de exemplo a seguir mostra como usar put-bucket-acl.

AWS CLI

Este exemplo concede full control para dois usuários da AWS (user1@example.com e user2@example.com) e permissão read para todos:

aws s3api put-bucket-acl --bucket MyBucket --grant-full-control emailaddress=user1@example.com,emailaddress=user2@example.com --grant-read uri=http://acs.amazonaws.com/groups/global/AllUsers

Consulte http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html para obter detalhes sobre ACLs personalizadas (os comandos da ACL s3api, como put-bucket-acl, usam a mesma notação abreviada de argumentos).

  • Para obter detalhes da API, consulte PutBucketAcl na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar put-bucket-analytics-configuration.

AWS CLI

Como definir uma configuração de análise do bucket

O exemplo put-bucket-analytics-configuration a seguir configura a análise do bucket especificado.

aws s3api put-bucket-analytics-configuration \ --bucket my-bucket --id 1 \ --analytics-configuration '{"Id": "1","StorageClassAnalysis": {}}'

Este comando não produz saída.

O código de exemplo a seguir mostra como usar put-bucket-cors.

AWS CLI

O seguinte exemplo habilita solicitações PUT, POST e DELETE de www.example.com e solicitações GET de qualquer domínio:

aws s3api put-bucket-cors --bucket MyBucket --cors-configuration file://cors.json cors.json: { "CORSRules": [ { "AllowedOrigins": ["http://www.example.com"], "AllowedHeaders": ["*"], "AllowedMethods": ["PUT", "POST", "DELETE"], "MaxAgeSeconds": 3000, "ExposeHeaders": ["x-amz-server-side-encryption"] }, { "AllowedOrigins": ["*"], "AllowedHeaders": ["Authorization"], "AllowedMethods": ["GET"], "MaxAgeSeconds": 3000 } ] }
  • Para obter detalhes da API, consulte PutBucketCors na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar put-bucket-encryption.

AWS CLI

Para configurar a criptografia do lado do servidor para um bucket

O exemplo put-bucket-encryption a seguir define a criptografia AES256 como padrão para o bucket especificado.

aws s3api put-bucket-encryption \ --bucket my-bucket \ --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "AES256"}}]}'

Este comando não produz saída.

  • Para obter detalhes da API, consulte PutBucketEncryption na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar put-bucket-intelligent-tiering-configuration.

AWS CLI

Para atualizar uma configuração do S3 Intelligent-Tiering em um bucket

O exemplo put-bucket-intelligent-tiering-configuration a seguir atualiza uma configuração do S3 Intelligent-Tiering, chamada ExampleConfig, em um bucket. A configuração fará a transição de objetos que não foram acessados com o prefixo images para o Archive Access após 90 dias e para o Deep Archive Access após 180 dias.

aws s3api put-bucket-intelligent-tiering-configuration \ --bucket DOC-EXAMPLE-BUCKET \ --id "ExampleConfig" \ --intelligent-tiering-configuration file://intelligent-tiering-configuration.json

Conteúdo de intelligent-tiering-configuration.json:

{ "Id": "ExampleConfig", "Status": "Enabled", "Filter": { "Prefix": "images" }, "Tierings": [ { "Days": 90, "AccessTier": "ARCHIVE_ACCESS" }, { "Days": 180, "AccessTier": "DEEP_ARCHIVE_ACCESS" } ] }

Este comando não produz saída.

Para obter mais informações, consulte Configurar a propriedade de objetos em um bucket existente no Guia do usuário do Amazon S3.

O código de exemplo a seguir mostra como usar put-bucket-inventory-configuration.

AWS CLI

Exemplo 1: definir uma configuração de inventário para um bucket

O exemplo put-bucket-inventory-configuration a seguir define um relatório semanal de inventário formatado em ORC para o bucket my-bucket.

aws s3api put-bucket-inventory-configuration \ --bucket my-bucket \ --id 1 \ --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::my-bucket", "Format": "ORC" }}, "IsEnabled": true, "Id": "1", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Weekly" }}'

Este comando não produz saída.

Exemplo 2: definir uma configuração de inventário para um bucket

O exemplo put-bucket-inventory-configuration a seguir define um relatório diário de inventário em formato CSV para o bucket my-bucket.

aws s3api put-bucket-inventory-configuration \ --bucket my-bucket \ --id 2 \ --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::my-bucket", "Format": "CSV" }}, "IsEnabled": true, "Id": "2", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Daily" }}'

Este comando não produz saída.

O código de exemplo a seguir mostra como usar put-bucket-lifecycle-configuration.

AWS CLI

O seguinte comando aplica a configuração de ciclo de vida ao bucket my-bucket:

aws s3api put-bucket-lifecycle-configuration --bucket my-bucket --lifecycle-configuration file://lifecycle.json

O arquivo lifecycle.json é um documento JSON na pasta atual que especifica duas regras:

{ "Rules": [ { "ID": "Move rotated logs to Glacier", "Prefix": "rotated/", "Status": "Enabled", "Transitions": [ { "Date": "2015-11-10T00:00:00.000Z", "StorageClass": "GLACIER" } ] }, { "Status": "Enabled", "Prefix": "", "NoncurrentVersionTransitions": [ { "NoncurrentDays": 2, "StorageClass": "GLACIER" } ], "ID": "Move old versions to Glacier" } ] }

A primeira regra move arquivos com o prefixo rotated para o Glacier na data especificada. A segunda regra move versões antigas de objetos para o Glacier quando elas não estão mais atualizadas. Para obter mais informações sobre formatos de data/hora aceitáveis, consulte Especificar valores de parâmetro Guia do usuário da AWS CLI.

O código de exemplo a seguir mostra como usar put-bucket-lifecycle.

AWS CLI

O comando a seguir aplica a configuração de ciclo de vida ao bucket my-bucket:

aws s3api put-bucket-lifecycle --bucket my-bucket --lifecycle-configuration file://lifecycle.json

O arquivo lifecycle.json é um documento JSON na pasta atual que especifica duas regras:

{ "Rules": [ { "ID": "Move to Glacier after sixty days (objects in logs/2015/)", "Prefix": "logs/2015/", "Status": "Enabled", "Transition": { "Days": 60, "StorageClass": "GLACIER" } }, { "Expiration": { "Date": "2016-01-01T00:00:00.000Z" }, "ID": "Delete 2014 logs in 2016.", "Prefix": "logs/2014/", "Status": "Enabled" } ] }

A primeira regra move arquivos para o Amazon Glacier após 60 dias. A segunda regra exclui arquivos do Amazon S3 na data especificada. Para obter mais informações sobre formatos de data/hora aceitáveis, consulte Especificar valores de parâmetro Guia do usuário da AWS CLI.

Cada regra no exemplo acima especifica uma política (Transition ou Expiration) e um prefixo de arquivo (nome da pasta) aos quais ela se aplica. Você também pode criar uma regra que se aplique a um bucket inteiro especificando um prefixo em branco:

{ "Rules": [ { "ID": "Move to Glacier after sixty days (all objects in bucket)", "Prefix": "", "Status": "Enabled", "Transition": { "Days": 60, "StorageClass": "GLACIER" } } ] }
  • Para ver detalhes da API, consulte PutBucketLifecycle na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar put-bucket-logging.

AWS CLI

Exemplo 1: definir o registro em log da política de bucket

O exemplo de put-bucket-logging a seguir define a política de registro em log para MyBucket. Primeiro, conceda permissão à entidade principal do serviço de registro em log na política de bucket usando o comando put-bucket-policy.

aws s3api put-bucket-policy \ --bucket MyBucket \ --policy file://policy.json

Conteúdo de policy.json:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ServerAccessLogsPolicy", "Effect": "Allow", "Principal": {"Service": "logging.s3.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::MyBucket/Logs/*", "Condition": { "ArnLike": {"aws:SourceARN": "arn:aws:s3:::SOURCE-BUCKET-NAME"}, "StringEquals": {"aws:SourceAccount": "SOURCE-AWS-ACCOUNT-ID"} } } ] }

Para aplicar a política de registro em log, use put-bucket-logging.

aws s3api put-bucket-logging \ --bucket MyBucket \ --bucket-logging-status file://logging.json

Conteúdo de logging.json:

{ "LoggingEnabled": { "TargetBucket": "MyBucket", "TargetPrefix": "Logs/" } }

O comando put-bucket-policy é necessário para conceder as permissões s3:PutObject à entidade principal do serviço de registro em log.

Consulte mais informações em Registrar em log as solicitações com registro em log de acesso ao servidor no Guia do usuário do Amazon S3.

Exemplo 2: definir uma política de bucket para registrar em log o acesso a um único usuário

O exemplo de put-bucket-logging a seguir define a política de registro em log para MyBucket. O usuário bob@exemplo.com da AWS terá controle total sobre os arquivos de log e ninguém mais terá acesso. Primeiro, conceda permissão ao S3 com put-bucket-acl.

aws s3api put-bucket-acl \ --bucket MyBucket \ --grant-write URI=http://acs.amazonaws.com/groups/s3/LogDelivery \ --grant-read-acp URI=http://acs.amazonaws.com/groups/s3/LogDelivery

Depois, aplique a política de registro em log usando put-bucket-logging.

aws s3api put-bucket-logging \ --bucket MyBucket \ --bucket-logging-status file://logging.json

Conteúdo de logging.json:

{ "LoggingEnabled": { "TargetBucket": "MyBucket", "TargetPrefix": "MyBucketLogs/", "TargetGrants": [ { "Grantee": { "Type": "AmazonCustomerByEmail", "EmailAddress": "bob@example.com" }, "Permission": "FULL_CONTROL" } ] } }

O comando put-bucket-acl é necessário para conceder as permissões necessárias ao sistema de entrega de log do S3 (permissões de gravação e read-acp).

Consulte mais informações em Habilitar o log de acesso ao servidor do Amazon S3 no Guia do desenvolvedor do Amazon S3.

  • Consulte detalhes da API em PutBucketLogging na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar put-bucket-metrics-configuration.

AWS CLI

Como definir uma configuração de métricas para um bucket

O exemplo put-bucket-metrics-configuration a seguir define a configuração de métricas com ID 123 para o bucket especificado.

aws s3api put-bucket-metrics-configuration \ --bucket my-bucket \ --id 123 \ --metrics-configuration '{"Id": "123", "Filter": {"Prefix": "logs"}}'

Este comando não produz saída.

O código de exemplo a seguir mostra como usar put-bucket-notification-configuration.

AWS CLI

Para habilitar as notificações especificadas em um bucket

O exemplo de put-bucket-notification-configuration a seguir aplica uma configuração de notificação a um bucket chamado my-bucket. O arquivo notification.json é um documento JSON na pasta atual que especifica um tópico do SNS e o tipo de evento a ser monitorado.

aws s3api put-bucket-notification-configuration \ --bucket my-bucket \ --notification-configuration file://notification.json

Conteúdo de notification.json:

{ "TopicConfigurations": [ { "TopicArn": "arn:aws:sns:us-west-2:123456789012:s3-notification-topic", "Events": [ "s3:ObjectCreated:*" ] } ] }

O tópico do SNS deve ter uma política do IAM anexada que permita que o Amazon S3 publique nele.

{ "Version": "2008-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SNS:Publish" ], "Resource": "arn:aws:sns:us-west-2:123456789012::s3-notification-topic", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:my-bucket" } } } ] }

O código de exemplo a seguir mostra como usar put-bucket-notification.

AWS CLI

O exemplo aplica uma configuração de notificação ao bucket my-bucket:

aws s3api put-bucket-notification --bucket my-bucket --notification-configuration file://notification.json

O arquivo notification.json é um documento JSON na pasta atual que especifica um tópico do SNS e o tipo de evento a ser monitorado:

{ "TopicConfiguration": { "Event": "s3:ObjectCreated:*", "Topic": "arn:aws:sns:us-west-2:123456789012:s3-notification-topic" } }

O tópico do SNS deve ter uma política do IAM anexada que permita que o Amazon S3 publique nele:

{ "Version": "2008-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SNS:Publish" ], "Resource": "arn:aws:sns:us-west-2:123456789012:my-bucket", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:my-bucket" } } } ] }

O código de exemplo a seguir mostra como usar put-bucket-ownership-controls.

AWS CLI

Para atualizar as configurações de propriedade de um bucket

O exemplo put-bucket-ownership-controls a seguir atualiza as configurações de propriedade de um bucket.

aws s3api put-bucket-ownership-controls \ --bucket DOC-EXAMPLE-BUCKET \ --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerEnforced}]"

Este comando não produz saída.

Para obter mais informações, consulte Configurar a propriedade de objetos em um bucket existente no Guia do usuário do Amazon S3.

O código de exemplo a seguir mostra como usar put-bucket-policy.

AWS CLI

Este exemplo permite que todos os usuários recuperem qualquer objeto em MyBucket, exceto os objetos em MySecretFolder. Ele também concede permissões put e delete ao usuário raiz da conta da AWS 1234-5678-9012:

aws s3api put-bucket-policy --bucket MyBucket --policy file://policy.json policy.json: { "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::MyBucket/*" }, { "Effect": "Deny", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::MyBucket/MySecretFolder/*" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": [ "s3:DeleteObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::MyBucket/*" } ] }
  • Para obter detalhes da API, consulte PutBucketPolicy na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar put-bucket-replication.

AWS CLI

Como configurar a replicação para um bucket do S3

O exemplo put-bucket-replication a seguir aplica uma configuração de replicação ao bucket do S3 especificado.

aws s3api put-bucket-replication \ --bucket AWSDOC-EXAMPLE-BUCKET1 \ --replication-configuration file://replication.json

Conteúdo de replication.json:

{ "Role": "arn:aws:iam::123456789012:role/s3-replication-role", "Rules": [ { "Status": "Enabled", "Priority": 1, "DeleteMarkerReplication": { "Status": "Disabled" }, "Filter" : { "Prefix": ""}, "Destination": { "Bucket": "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET2" } } ] }

O bucket de destino deve ter o versionamento habilitado. A função especificada deve ter permissão para gravar no bucket de destino e ter uma relação de confiança que permita que o Amazon S3 assuma a função.

Exemplo de política de permissão de função:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET1" ] }, { "Effect": "Allow", "Action": [ "s3:GetObjectVersion", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET1/*" ] }, { "Effect": "Allow", "Action": [ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Resource": "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET2/*" } ] }

Exemplo de política de relação de confiança:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Este comando não produz saída.

Para obter mais informações, consulte This is the topic title no Guia do usuário do Amazon Simple Storage Service.

O código de exemplo a seguir mostra como usar put-bucket-request-payment.

AWS CLI

Exemplo 1: para habilitar a configuração “requester pays” para um bucket

O exemplo put-bucket-request-payment a seguir habilita requester pays do bucket especificado.

aws s3api put-bucket-request-payment \ --bucket my-bucket \ --request-payment-configuration '{"Payer":"Requester"}'

Este comando não produz saída.

Exemplo 2: para desabilitar a configuração “requester pays” para um bucket

O exemplo put-bucket-request-payment a seguir desabilita requester pays do bucket especificado.

aws s3api put-bucket-request-payment \ --bucket my-bucket \ --request-payment-configuration '{"Payer":"BucketOwner"}'

Este comando não produz saída.

O código de exemplo a seguir mostra como usar put-bucket-tagging.

AWS CLI

O seguinte comando aplica a configuração de marcação a um bucket denominado my-bucket:

aws s3api put-bucket-tagging --bucket my-bucket --tagging file://tagging.json

O arquivo tagging.json é um documento JSON na pasta atual que especifica duas tags:

{ "TagSet": [ { "Key": "organization", "Value": "marketing" } ] }

Ou aplique uma configuração de marcação a my-bucket diretamente da linha de comando:

aws s3api put-bucket-tagging --bucket my-bucket --tagging 'TagSet=[{Key=organization,Value=marketing}]'
  • Para obter detalhes da API, consulte PutBucketTagging na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar put-bucket-versioning.

AWS CLI

O comando a seguir habilita o versionamento em um bucket denominado my-bucket.

aws s3api put-bucket-versioning --bucket my-bucket --versioning-configuration Status=Enabled

O comando a seguir habilita o versionamento e usa um código mfa.

aws s3api put-bucket-versioning --bucket my-bucket --versioning-configuration Status=Enabled --mfa "SERIAL 123456"

O código de exemplo a seguir mostra como usar put-bucket-website.

AWS CLI

Aplica uma configuração de site estático ao bucket my-bucket:

aws s3api put-bucket-website --bucket my-bucket --website-configuration file://website.json

O arquivo website.json é um documento JSON na pasta atual que especifica páginas de índice e erro para o site:

{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }
  • Para obter detalhes da API, consulte PutBucketWebsite na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar put-object-acl.

AWS CLI

O seguinte comando concede full control para dois usuários da AWS (user1@example.com e user2@example.com) e permissão read para todos:

aws s3api put-object-acl --bucket MyBucket --key file.txt --grant-full-control emailaddress=user1@example.com,emailaddress=user2@example.com --grant-read uri=http://acs.amazonaws.com/groups/global/AllUsers

Consulte http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html para obter detalhes sobre ACLs personalizadas (os comandos da ACL s3api, como put-object-acl, usam a mesma notação abreviada de argumentos).

  • Para obter detalhes da API, consulte PutObjectAcl na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar put-object-legal-hold.

AWS CLI

Como aplicar uma retenção legal a um objeto

O exemplo de put-object-legal-hold a seguir define uma retenção legal no objeto doc1.rtf.

aws s3api put-object-legal-hold \ --bucket my-bucket-with-object-lock \ --key doc1.rtf \ --legal-hold Status=ON

Este comando não produz saída.

O código de exemplo a seguir mostra como usar put-object-lock-configuration.

AWS CLI

Como definir a configuração de bloqueio de objetos em um bucket

O exemplo de put-object-lock-configuration a seguir define um bloqueio de objetos de 50 dias no bucket especificado.

aws s3api put-object-lock-configuration \ --bucket my-bucket-with-object-lock \ --object-lock-configuration '{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 }}}'

Este comando não produz saída.

O código de exemplo a seguir mostra como usar put-object-retention.

AWS CLI

Como definir uma configuração de retenção de objetos para um objeto

O exemplo de put-object-retention a seguir define uma configuração de retenção de objetos para o objeto especificado até 2025-01-01.

aws s3api put-object-retention \ --bucket my-bucket-with-object-lock \ --key doc1.rtf \ --retention '{ "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00" }'

Este comando não produz saída.

O código de exemplo a seguir mostra como usar put-object-tagging.

AWS CLI

Como definir uma tag em um objeto

O exemplo put-object-tagging a seguir define uma tag com a chave designation e o valor confidential no objeto especificado.

aws s3api put-object-tagging \ --bucket my-bucket \ --key doc1.rtf \ --tagging '{"TagSet": [{ "Key": "designation", "Value": "confidential" }]}'

Este comando não produz saída.

O exemplo put-object-tagging a seguir define vários conjuntos de tags no objeto especificado.

aws s3api put-object-tagging \ --bucket my-bucket-example \ --key doc3.rtf \ --tagging '{"TagSet": [{ "Key": "designation", "Value": "confidential" }, { "Key": "department", "Value": "finance" }, { "Key": "team", "Value": "payroll" } ]}'

Este comando não produz saída.

  • Consulte detalhes da API em PutObjectTagging na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar put-object.

AWS CLI

O seguinte exemplo usa o comando put-object para fazer upload de um objeto no Amazon S3:

aws s3api put-object --bucket text-content --key dir-1/my_images.tar.bz2 --body my_images.tar.bz2

O seguinte exemplo mostra o upload de um arquivo de vídeo (o arquivo de vídeo é especificado usando a sintaxe do sistema de arquivos do Windows):

aws s3api put-object --bucket text-content --key dir-1/big-video-file.mp4 --body e:\media\videos\f-sharp-3-data-services.mp4

Para obter mais informações sobre o upload de objetos, Uploading Objects in the Guia do desenvolvedor do Amazon S3.

  • Para obter detalhes da API, consulte PutObject na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar put-public-access-block.

AWS CLI

Como definir a configuração do bloqueio de acesso público de um bucket

O exemplo put-public-access-block a seguir define uma configuração restritiva de bloqueio de acesso público para o bucket especificado.

aws s3api put-public-access-block \ --bucket my-bucket \ --public-access-block-configuration "BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true"

Este comando não produz saída.

O código de exemplo a seguir mostra como usar rb.

AWS CLI

Exemplo 1: excluir um bucket

O comando rb a seguir remove um bucket. Neste exemplo, o bucket do usuário é mybucket. Observe que o bucket deve estar vazio para ser removido:

aws s3 rb s3://mybucket

Saída:

remove_bucket: mybucket

Exemplo 2: forçar a exclusão de um bucket

O comando rb a seguir usa o parâmetro --force para primeiro remover todos os objetos no bucket e depois remover o próprio bucket. Neste exemplo, o bucket do usuário é mybucket e os objetos em mybucket são test1.txt e test2.txt:

aws s3 rb s3://mybucket \ --force

Saída:

delete: s3://mybucket/test1.txt delete: s3://mybucket/test2.txt remove_bucket: mybucket
  • Para ver detalhes da API, consulte Rb na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar restore-object.

AWS CLI

Como criar uma solicitação de restauração para um objeto

O exemplo de restore-object a seguir restaura o objeto Amazon S3 Glacier especificado do bucket my-glacier-bucket por 10 dias.

aws s3api restore-object \ --bucket my-glacier-bucket \ --key doc1.rtf \ --restore-request Days=10

Este comando não produz saída.

  • Para obter detalhes da API, consulte RestoreObject na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar rm.

AWS CLI

Exemplo 1: excluir um objeto do S3

O comando rm a seguir exclui um único objeto s3:

aws s3 rm s3://mybucket/test2.txt

Saída:

delete: s3://mybucket/test2.txt

Exemplo 2: excluir todo o conteúdo em um bucket

O comando rm a seguir exclui recursivamente todos os objetos em um bucket e prefixo especificados quando transmitido com o parâmetro --recursive. Neste exemplo, o bucket mybucket contém os objetos test1.txt e test2.txt:

aws s3 rm s3://mybucket \ --recursive

Saída:

delete: s3://mybucket/test1.txt delete: s3://mybucket/test2.txt

Exemplo 3: excluir todo o conteúdo em um bucket, exceto os arquivos ``.jpg``

O comando rm a seguir exclui recursivamente todos os objetos em um bucket e prefixo especificados quando transmitidos com o parâmetro --recursive, enquanto exclui alguns objetos usando um parâmetro --exclude. Neste exemplo, o bucket mybucket tem os objetos test1.txt e test2.jpg:

aws s3 rm s3://mybucket/ \ --recursive \ --exclude "*.jpg"

Saída:

delete: s3://mybucket/test1.txt

Exemplo 4: excluir todo o conteúdo em um bucket, exceto objetos com o prefixo especificado

O comando rm a seguir exclui recursivamente todos os objetos em um bucket e prefixo especificados quando transmitidos com o parâmetro --recursive, enquanto exclui todos os objetos em um determinado prefixo usando um parâmetro --exclude. Neste exemplo, o bucket mybucket tem os objetos test1.txt e another/test.txt:

aws s3 rm s3://mybucket/ \ --recursive \ --exclude "another/*"

Saída:

delete: s3://mybucket/test1.txt

Exemplo 5: excluir um objeto a partir de um ponto de acesso do S3

O comando rm a seguir exclui um único objeto (mykey) do ponto de acesso (myaccesspoint). :: O comando rm a seguir exclui um único objeto (mykey) do ponto de acesso (myaccesspoint).

aws s3 rm s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey

Saída:

delete: s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey
  • Para ver detalhes da API, consulte Rm na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar select-object-content.

AWS CLI

Como filtrar o conteúdo de um objeto do Amazon S3 com base em uma instrução SQL

O exemplo de select-object-content a seguir filtra o objeto my-data-file.csv com a instrução SQL especificada e envia a saída para um arquivo.

aws s3api select-object-content \ --bucket my-bucket \ --key my-data-file.csv \ --expression "select * from s3object limit 100" \ --expression-type 'SQL' \ --input-serialization '{"CSV": {}, "CompressionType": "NONE"}' \ --output-serialization '{"CSV": {}}' "output.csv"

Este comando não produz saída.

O código de exemplo a seguir mostra como usar sync.

AWS CLI

Exemplo 1: sincronizar todos os objetos locais com o bucket especificado

O comando sync a seguir sincroniza objetos de um diretório local com o prefixo e o bucket especificados fazendo o upload dos arquivos locais para o S3. Um arquivo local exigirá o upload se o tamanho do arquivo local for diferente do tamanho do objeto do S3, se a hora da última modificação do arquivo local for mais recente do que a hora da última modificação do objeto do S3 ou se o arquivo local não existir no bucket e com o prefixo especificados. Neste exemplo, o usuário sincroniza o bucket mybucket com o diretório atual local. O diretório atual local contém os arquivos test.txt e test2.txt. O bucket mybucket não contém objetos.

aws s3 sync . s3://mybucket

Saída:

upload: test.txt to s3://mybucket/test.txt upload: test2.txt to s3://mybucket/test2.txt

Exemplo 2: sincronizar todos os objetos do S3 do bucket do S3 especificado com outro bucket

O comando sync a seguir sincroniza objetos sob um prefixo e bucket especificados com objetos sob outro prefixo e bucket especificados copiando objetos do S3. Um objeto do S3 precisará ser copiado se os tamanhos dos dois objetos do S3 forem diferentes, se a hora da última modificação da origem for mais recente do que a hora da última modificação do destino ou se o objeto do S3 não existir no destino do bucket e do prefixo especificados.

Neste exemplo, o usuário sincroniza o bucket mybucket com o bucket mybucket2. O bucket mybucket contém os objetos test.txt e test2.txt. O bucket mybucket2 não contém objetos:

aws s3 sync s3://mybucket s3://mybucket2

Saída:

copy: s3://mybucket/test.txt to s3://mybucket2/test.txt copy: s3://mybucket/test2.txt to s3://mybucket2/test2.txt

Exemplo 3: sincronizar todos os objetos do S3 do bucket do S3 especificado com o diretório local

O comando sync a seguir sincroniza arquivos do bucket do S3 especificado com o diretório local fazendo download de objetos do S3. Um objeto do S3 exigirá o download se o tamanho do objeto do S3 for diferente do tamanho do arquivo local, se a hora da última modificação do objeto do S3 for mais recente do que a hora da última modificação do arquivo local ou se o objeto do S3 não existir no diretório local. Observe que quando os objetos são baixados do S3, a hora da última modificação do arquivo local é alterada para a hora da última modificação do objeto do S3. Neste exemplo, o usuário sincroniza o bucket mybucket com o diretório local atual. O bucket mybucket contém os objetos test.txt e test2.txt. O diretório local atual não tem arquivos:

aws s3 sync s3://mybucket .

Saída:

download: s3://mybucket/test.txt to test.txt download: s3://mybucket/test2.txt to test2.txt

Exemplo 4: sincronizar todos os objetos locais com o bucket especificado e excluir todos os arquivos que não correspondam

O comando sync a seguir sincroniza objetos sob um prefixo e bucket especificados com arquivos em um diretório local fazendo o upload dos arquivos locais para o S3. Por causa do parâmetro --delete, todos os arquivos existentes com o prefixo e no bucket especificados, mas não existentes no diretório local, serão excluídos. Neste exemplo, o usuário sincroniza o bucket mybucket com o diretório atual local. O diretório atual local contém os arquivos test.txt e test2.txt. O bucket mybucket contém o objeto test3.txt:

aws s3 sync . s3://mybucket \ --delete

Saída:

upload: test.txt to s3://mybucket/test.txt upload: test2.txt to s3://mybucket/test2.txt delete: s3://mybucket/test3.txt

Exemplo 5: sincronizar todos os objetos locais com o bucket especificado, exceto os arquivos ``.jpg``

O comando sync a seguir sincroniza objetos sob um prefixo e bucket especificados com arquivos em um diretório local fazendo o upload dos arquivos locais para o S3. Por causa do parâmetro --exclude, todos os arquivos que correspondam ao padrão existente no S3 e localmente serão excluídos da sincronização. Neste exemplo, o usuário sincroniza o bucket mybucket com o diretório atual local. O diretório atual local contém os arquivos test.jpg e test2.txt. O bucket mybucket contém o objeto test.jpg de um tamanho diferente do test.jpg local:

aws s3 sync . s3://mybucket \ --exclude "*.jpg"

Saída:

upload: test2.txt to s3://mybucket/test2.txt

Exemplo 6: sincronizar todos os objetos locais com o bucket especificado, exceto os arquivos ``.jpg``

O comando sync a seguir sincroniza arquivos em um diretório local com objetos com um prefixo e bucket especificados fazendo download de objetos do S3. Este exemplo usa o sinalizador de parâmetros --exclude para excluir um diretório especificado e o prefixo S3 do comando sync. Neste exemplo, o usuário sincroniza o diretório atual local com o bucket mybucket. O diretório atual local contém os arquivos test.txt e another/test2.txt. O bucket mybucket contém os objetos another/test5.txt e test1.txt:

aws s3 sync s3://mybucket/ . \ --exclude "*another/*"

Saída:

download: s3://mybucket/test1.txt to test1.txt

Exemplo 7: sincronizar todos os objetos entre buckets em diferentes regiões

O comando sync a seguir sincroniza arquivos entre dois buckets em regiões diferentes:

aws s3 sync s3://my-us-west-2-bucket s3://my-us-east-1-bucket \ --source-region us-west-2 \ --region us-east-1

Saída:

download: s3://my-us-west-2-bucket/test1.txt to s3://my-us-east-1-bucket/test1.txt

Exemplo 8: sincronizar com um ponto de acesso do S3

O comando sync a seguir sincroniza o diretório atual com o ponto de acesso (myaccesspoint):

aws s3 sync . s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/

Saída:

upload: test.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/test.txt upload: test2.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/test2.txt
  • Para ver detalhes da API, consulte Sync na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar upload-part-copy.

AWS CLI

Como fazer upload de parte de um objeto copiando dados de um objeto existente como a fonte de dados

O exemplo upload-part-copy a seguir faz upload de uma parte copiando dados de um objeto existente como uma fonte de dados.

aws s3api upload-part-copy \ --bucket my-bucket \ --key "Map_Data_June.mp4" \ --copy-source "my-bucket/copy_of_Map_Data_June.mp4" \ --part-number 1 \ --upload-id "bq0tdE1CDpWQYRPLHuNG50xAT6pA5D.m_RiBy0ggOH6b13pVRY7QjvLlf75iFdJqp_2wztk5hvpUM2SesXgrzbehG5hViyktrfANpAD0NO.Nk3XREBqvGeZF6U3ipiSm"

Saída:

{ "CopyPartResult": { "LastModified": "2019-12-13T23:16:03.000Z", "ETag": "\"711470fc377698c393d94aed6305e245\"" } }
  • Para ver detalhes da API, consulte UploadPartCopy na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar upload-part.

AWS CLI

O seguinte comando faz o upload da primeira parte de um upload fracionado iniciado com o comando create-multipart-upload:

aws s3api upload-part --bucket my-bucket --key 'multipart/01' --part-number 1 --body part01 --upload-id "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R"

A opção body usa o nome ou o caminho de um arquivo local para upload (não use o prefixo file://). O tamanho mínimo de uma parte é de 5 MB. O ID de upload é retornado por create-multipart-upload e também pode ser recuperado com list-multipart-uploads. O bucket e a chave são especificados ao criar o upload fracionado.

Saída:

{ "ETag": "\"e868e0f4719e394144ef36531ee6824c\"" }

Salve o valor do ETag de cada parte para etapas posteriores. Eles são necessários para concluir o upload fracionado.

  • Para obter detalhes da API, consulte UploadPart na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar website.

AWS CLI

Configurar um bucket do S3 como site estático

O seguinte comando configura um bucket chamado my-bucket como um site estático. A opção de documento de índice especifica o arquivo em my-bucket para o qual os visitantes serão direcionados quando navegarem até o URL do site. Nesse caso, o bucket está na região us-west-2, então o site apareceria em http://my-bucket.s3-website-us-west-2.amazonaws.com.

Todos os arquivos no bucket que aparecem no site estático devem ser configurados para permitir que os visitantes os abram. As permissões de arquivo são configuradas separadamente da configuração do site do bucket.

aws s3 website s3://my-bucket/ \ --index-document index.html \ --error-document error.html

Para obter mais informações sobre como hospedar um site estático no Amazon S3, consulte Como hospedar um site estático no Guia do desenvolvedor do Amazon Simple Storage Service.

  • Para ver detalhes da API, consulte Website na Referência de comandos da AWS CLI.