

# Fazer upload de um objeto por meio de um ponto de acesso para um bucket de uso geral
<a name="put-object-ap"></a>

Esta seção explica como fazer upload de um objeto por meio de um ponto de acesso para um bucket de uso geral usando o Console de gerenciamento da AWS, a AWS Command Line Interface ou a API REST.

## Usar o console do S3
<a name="put-object-ap-console"></a>

**Como fazer upload de um objeto por meio de um ponto de acesso na Conta da AWS**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Na barra de navegação na parte superior da página, escolha o nome da Região da AWS exibida no momento. Em seguida, escolha a região para a qual você deseja listar os pontos de acesso. 

1. No painel de navegação, no lado esquerdo do console, escolha **Pontos de acesso**.

1. (Opcional) Pesquise pontos de acesso pelo nome. Somente os pontos de acesso na Região da AWS selecionada aparecerão aqui.

1. Escolha o nome do ponto de acesso que você deseja gerenciar ou usar.

1. Na guia **Objetos**, selecione **Fazer upload**.

1. Arraste e solte os arquivos e as pastas que você deseja carregar aqui ou escolha **Adicionar arquivos** ou **Adicionar pasta**.
**nota**  
O tamanho máximo de arquivo que você pode carregar usando o console do Amazon S3 é de 160 GB. Para fazer upload de um arquivo com mais de 160 GB, use a AWS Command Line Interface (AWS CLI), AWS SDKs ou a API REST do Amazon S3.

1. Para alterar as permissões da lista de controle de acesso, escolha **Permissions** (Permissões).

1. Em **Access control list (ACL)** (Lista de controle de acesso (ACL)), edite as permissões.

   Para informações sobre permissões de acesso a objeto, consulte [Usar o console do S3 para definir permissões de ACL para um objeto](managing-acls.md#set-object-permissions). Você pode conceder acesso de leitura aos seus objetos ao público (todos no mundo), para todos os arquivos que você está carregando. No entanto, recomendamos não alterar a configuração padrão para acesso de leitura público. Conceder acesso público de leitura é aplicável a um pequeno subconjunto de casos de uso, como quando buckets são usados para sites. Você sempre pode alterar as permissões de objeto depois de carregar o objeto. 

1. Para configurar outras propriedades, escolha **Properties** (Propriedades).

1. Na seção **Classe de armazenamento** escolha a classe de armazenamento para os arquivos que você está carregando.

   Para obter mais informações sobre classes de armazenamento, consulte [Compreender e gerenciar classes de armazenamento do Amazon S3](storage-class-intro.md).

1. Para atualizar as configurações de criptografia para seus objetos, em **Server-side encryption settings (Configurações de criptografia do lado do servidor)**, faça o seguinte.

   1. Escolha **Specify an encryption key** (Especificar uma chave de criptografia).

   1. Em **Configurações de criptografia**, escolha **Usar configurações de bucket para criptografia padrão** ou **Substituir configurações de bucket para criptografia padrão**.

   1. Se você escolher **Substituir configurações do bucket para criptografia padrão**, deverá definir as configurações de criptografia a seguir.
      + Para criptografar os arquivos carregados usando chaves gerenciadas pelo Amazon S3, escolha **Chave gerenciada pelo Amazon S3 (SSE-S3)**.

        Para obter mais informações, consulte [Usar a criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3)](UsingServerSideEncryption.md).
      + Para criptografar os arquivos carregados usando chaves armazenadas no AWS Key Management Service (AWS KMS), selecione **Chave do AWS Key Management Service (SSE-KMS)**. Depois, escolha uma das seguintes opções para a **chave do AWS KMS**:
        + Para escolher entre uma lista de chaves do KMS disponíveis, selecione **Escolher de sua AWS KMS keys** e escolha a **chave do KMS** na lista de chaves disponíveis.

          As chaves Chave gerenciada pela AWS (`aws/s3`) e as chaves gerenciadas pelo cliente são exibidas nessa lista. Para ter mais informações sobre chaves gerenciadas pelo cliente, consulte [Chaves de clientes e chaves da AWS](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) no *Guia do desenvolvedor do AWS Key Management Service*.
        + Para inserir o ARN da chave do KMS, selecione **Inserir ARN da AWS KMS key** e insira o ARN da chave do KMS no campo exibido. 
        + Para criar uma chave gerenciada pelo cliente no console do AWS KMS, selecione **Criar uma chave do KMS**.

          Para ter mais informações sobre como criar uma AWS KMS key, consulte [Criação de chaves](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) no * Guia do desenvolvedor do AWS Key Management Service*.
**Importante**  
Você só pode usar chaves do KMS disponíveis na mesma Região da AWS que o bucket. O console do Amazon S3 lista somente as primeiras 100 chaves do KMS na mesma região que o bucket. Para usar uma chave do KMS que não esteja listada, você deve inserir o ARN da chave do KMS. Se quiser usar uma chave do KMS que seja de propriedade de outra conta, primeiro você deverá ter permissão para usar a chave e, depois, inserir o ARN da chave do KMS.   
O Amazon S3 só é compatível com chaves do KMS de criptografia simétrica, e não com chaves assimétricas do KMS. Para ter mais informações, consulte [Identificar chaves do KMS simétricas e assimétricas](https://docs.aws.amazon.com//kms/latest/developerguide/find-symm-asymm.html) no *Guia do desenvolvedor do AWS Key Management Service*.

1. Para usar somas de verificação adicionais, escolha **On** (Ativar). Em seguida, em **Checksum function** (Função de soma de verificação), escolha a função que você gostaria de usar. O Amazon S3 calcula e armazena o valor da soma de verificação depois de receber o objeto inteiro. Você pode usar a caixa **Precalculated value** (Valor pré-calculado) para fornecer esse valor. Se fizer isso, o Amazon S3 vai comparar o valor que você forneceu com o valor calculado. Se os dois valores não corresponderem, o Amazon S3 gerará um erro.

   As somas de verificação adicionais permitem que você especifique o algoritmo de soma de verificação que gostaria de usar para verificar seus dados. Para obter mais informações sobre somas de verificação adicionais, consulte [Verificar a integridade do objeto no Amazon S3](checking-object-integrity.md).

1. Para adicionar tags a todos os objetos que você está carregando, escolha **Add tag (Adicionar tag)**. Insira um nome de tag no campo **Chave**. Insira um valor para a tag.

   A marcação de objetos é uma forma de categorizar o armazenamento. Cada tag é um par de chave-valor. Os valores de chave e tag diferenciam maiúsculas de minúsculas. É possível ter até dez tags por objeto. Uma chave de tag pode ter até 128 caracteres Unicode e os valores de tag podem ter até 255 caracteres Unicode. Para obter mais informações sobre tags de objeto, consulte [Categorizar objetos usando tags](object-tagging.md).

1. Para adicionar metadados, escolha **Add metadata (Adicionar metadados)**.

   1. Em **Type (Tipo)**, escolha **System defined (Definido pelo sistema)** ou **User defined (Definido pelo usuário)**.

      Para metadados definidos pelo sistema, você pode selecionar cabeçalhos HTTP comuns, como **Content-Type** e **Content-Disposition**. Para obter uma lista de metadados definidos pelo sistema e informações sobre a possibilidade de adicionar o valor, consulte [Metadados do objeto definidos pelo sistema](UsingMetadata.md#SysMetadata). Todos os metadados que começam com o prefixo `x-amz-meta-` são tratados como metadados definidos pelo usuário. Os metadados definidos pelo usuário são armazenados com o objeto e retornados quando você baixa o objeto. As chaves e seus valores devem estar em conformidade com os padrões US-ASCII. Metadados definidos pelo usuário podem ter até 2 KB. Para obter mais informações sobre metadados definidos pelo sistema e pelo usuário, consulte [Trabalhar com metadados de objeto](UsingMetadata.md).

   1. Para **Key (Chave)**, escolha uma chave.

   1. Digite um valor para a chave. 

1. Para carregar seus objetos, escolha **Upload (Fazer upload)**.

   O Amazon S3 faz o upload do objeto. Quando o upload for concluído, você pode ver uma mensagem de sucesso na página de **Upload: status**.

## Como usar o AWS CLI
<a name="put-object-ap-cli"></a>

O exemplo de comando `put-object` a seguir mostra como você pode usar a AWS CLI para fazer upload de um objeto por meio de um ponto de acesso.

O comando a seguir faz upload do objeto `puppy.jpg` da Conta da AWS *111122223333* usando o ponto de acesso *my-access-point*.

```
aws s3api put-object --bucket arn:aws:s3:Região da AWS:111122223333:accesspoint/my-access-point --key puppy.jpg --body puppy.jpg      
```

**nota**  
O S3 gera automaticamente aliases de ponto de acesso para todos os pontos de acesso e esses aliases podem ser usados em qualquer lugar em que um nome de bucket seja usado para realizar operações ao nível do objeto. Para obter mais informações, consulte [Alias de ponto de acesso](access-points-naming.md#access-points-alias).

Para obter mais informações e exemplos, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object.html) na *Referência de comandos da AWS CLI*.

## Uso da API REST
<a name="put-object-ap-rest"></a>

É possível usar a API REST para fazer upload de um objeto por meio de um ponto de acesso. Para obter mais informações, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) na *Referência da API do Amazon Simple Storage Service*.

## Usar SDKs da AWS
<a name="put-object-ap-SDKs"></a>

É possível usar o AWS SDK para Python para fazer upload de um objeto por meio de um ponto de acesso. 

------
#### [ Python ]

No exemplo a seguir, o arquivo chamado `hello.txt` é carregado na conta da AWS *111122223333* usando o ponto de acesso denominado *my-access-point*.

```
import boto3
s3 = boto3.client('s3')
s3.upload_file('/tmp/hello.txt', 'arn:aws:s3:us-east-1:111122223333:accesspoint/my-access-point', 'hello.txt')
```

------