Uso de comandos em nível de API (s3api) com a AWS CLI - AWS Command Line Interface

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Uso de comandos em nível de API (s3api) com a AWS CLI

Os comandos no nível de API (contidos no conjunto de comandos s3api) fornecem acesso direto às APIs do Amazon Simple Storage Service (Amazon S3) e ativam algumas operações que não são expostas em comandos de alto nível do s3. Esses comandos são equivalentes aos outros serviços da AWS que fornecem acesso em nível de API para a funcionalidade de serviços. Para obter mais informações sobre os comando do s3, consulte Use comandos de alto nível (s3) com o AWS CLI

Este tópico fornece exemplos que demonstram como usar os comandos de nível inferior que são mapeados em APIs do Amazon S3. Além disso, você pode encontrar exemplos para cada comando da API do S3 na seção s3api do AWS CLI versão 2.

Pré-requisitos

Para executar os comandos s3api, você precisa:

Aplicar uma ACL personalizada

Com comandos de alto nível, é possível usar a opção --acl para aplicar listas de controle de acesso (ACLs) predefinidas a objetos do Amazon S3. No entanto, não é possível usar esse comando para definir ACLs em todo o bucket. No entanto, você pode fazer isso usando o comando em nível de API put-bucket-acl.

O exemplo a seguir mostra como conceder o controle total a dois usuários do AWS (user1@example.com e user2@example.com) e a permissão de leitura a todos. O identificador para “todos” vem de um URI especial que você transmite como um parâmetro.

$ 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"'

Para obter detalhes sobre como construir as ACLs, consulte PUT Bucket acl na Referência da API do Amazon Simple Storage Service. Os comandos de ACL s3api na CLI, como put-bucket-acl, usam a mesma notação de argumento abreviada.

Configurar uma política de registro em log

O comando da API put-bucket-logging configura uma política de registro de buckets.

No exemplo a seguir, ao usuário da AWS usuario@exemple.com recebe controle total sobre os arquivos de log, e todos os usuários terão acesso de leitura a eles. Observe que o comando put-bucket-acl também deve conceder ao sistema de entrega de log do Amazon S3 (especificado por um URI) as permissões necessárias para ler e gravar os logs no bucket.

$ aws s3api put-bucket-acl --bucket MyBucket --grant-read-acp 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"' --grant-write 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"' $ aws s3api put-bucket-logging --bucket MyBucket --bucket-logging-status file://logging.json

O arquivo logging.json no comando anterior tem o seguinte conteúdo.

{ "LoggingEnabled": { "TargetBucket": "MyBucket", "TargetPrefix": "MyBucketLogs/", "TargetGrants": [ { "Grantee": { "Type": "AmazonCustomerByEmail", "EmailAddress": "user@example.com" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/global/AllUsers" }, "Permission": "READ" } ] } }

Recursos

Referência da AWS CLI:

Referência do serviço: