

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á.

# Transferência de arquivos usando o adaptador Amazon S3 para migração de dados de ou para o Snowball Edge
<a name="using-adapter"></a>

Veja a seguir uma visão geral do adaptador Amazon S3, que você pode usar para transferir dados programaticamente de e para buckets do S3 que já estão no dispositivo usando as ações da API REST do AWS Snowball Edge Amazon S3. Esse suporte da API REST do Amazon S3 é limitado a um subconjunto de ações. Você pode usar esse subconjunto de ações com uma das AWS SDKs para transferir dados programaticamente. O subconjunto de comandos AWS Command Line Interface (AWS CLI) compatíveis com o Amazon S3 também pode ser usado para transferir dados de forma programática.

Se sua solução usa a AWS SDK para Java versão 1.11.0 ou mais recente, você deve usar o seguinte: `S3ClientOptions`
+ `disableChunkedEncoding()`: indica que a codificação em partes não é compatível com a interface.
+ `setPathStyleAccess(true)`: configura a interface para usar o acesso no estilo de caminho para todas as solicitações.

Para obter mais informações, consulte [Class S3 ClientOptions .Builder](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/S3ClientOptions.Builder.html) no *Amazon AppStream SDK* for Java.

**Importante**  
Recomendamos que você use somente um método por vez para ler e gravar dados em um bucket local em um AWS Snowball Edge dispositivo. Usar a interface NFS e o adaptador Amazon S3 no mesmo bucket ao mesmo tempo pode resultar read/write em conflitos.  
[AWS Snowball Edge cotas](limits.md) detalha os limites.  
Para que AWS os serviços funcionem corretamente em um Snowball Edge, você deve permitir as portas para os serviços. Para obter detalhes, consulte [Requisitos de porta para AWS serviços em um Snowball Edge](port-requirements.md).

**Topics**
+ [Baixando e instalando a AWS CLI versão 1.16.14 para uso com o adaptador Amazon S3](#aws-cli-version)
+ [Usando as operações de API AWS CLI e em dispositivos Snowball Edge](#using-adapter-cli-specify-region)
+ [Obter e usar credenciais locais do Amazon S3 no Snowball Edge](#adapter-credentials)
+ [Recursos incompatíveis do Amazon S3 para o adaptador Amazon S3 no Snowball Edge](#snowball-edge-s3-unsupported-features)
+ [Agrupamento de arquivos pequenos para melhorar o desempenho da transferência de dados para o Snowball Edge](batching-small-files.md)
+ [AWS CLI Comandos compatíveis para transferência de dados de ou para o Snowball Edge](using-adapter-cli.md)
+ [Ações de API REST do Amazon S3 suportadas no Snowball Edge para transferência de dados](using-adapter-supported-api.md)

## Baixando e instalando a AWS CLI versão 1.16.14 para uso com o adaptador Amazon S3
<a name="aws-cli-version"></a>

No momento, os dispositivos Snowball Edge dão suporte apenas à versão 1.16.14 e anteriores do AWS CLI para uso com o adaptador do Amazon S3. As versões mais recentes do não AWS CLI são compatíveis com o adaptador Amazon S3 porque não oferecem suporte a todas as funcionalidades do adaptador S3.

**nota**  
Se você estiver usando armazenamento compatível com Amazon S3 no Snowball Edge, você pode usar a versão mais recente do. AWS CLI Para baixar e usar a versão mais recente, consulte o [Manual do usuário do AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html).

### Instale o AWS CLI em sistemas operacionais Linux
<a name="install-cli-linux"></a>

Execute este comando em cadeia:

```
curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.14.zip" -o "awscli-bundle.zip";unzip awscli-bundle.zip;sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws;/usr/local/bin/aws --version;
```

### Instale o AWS CLI em sistemas operacionais Windows
<a name="install-cli-windows"></a>

Faça o download e execute o arquivo do instalador para o seu sistema operacional:
+ [Instalador de 32 bits fornecido com o Python 2](https://s3.amazonaws.com/aws-cli/AWSCLI32-1.16.14.msi)
+ [Instalador de 32 bits fornecido com o Python 3](https://s3.amazonaws.com/aws-cli/AWSCLI32PY3-1.16.14.msi)
+ [Instalador de 64 bits fornecido com o Python 2](https://s3.amazonaws.com/aws-cli/AWSCLI64-1.16.14.msi)
+ [Instalador de 64 bits fornecido com o Python 3](https://s3.amazonaws.com/aws-cli/AWSCLI64PY3-1.16.14.msi)
+ [Arquivo de configuração, incluindo instaladores de 32 e 64 bits que instalarão automaticamente a versão correta](https://s3.amazonaws.com/aws-cli/AWSCLISetup-1.16.14.exe)

## Usando as operações de API AWS CLI e em dispositivos Snowball Edge
<a name="using-adapter-cli-specify-region"></a>

Ao usar as operações AWS CLI ou de API para emitir EC2 comandos do IAM, Amazon S3 e Amazon no Snowball Edge, você deve especificar a região como "”. `snow` Você pode fazer isso usando `AWS configure` ou dentro do próprio comando, como nos exemplos a seguir. 

```
aws configure --profile abc
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: 1234567
Default region name [None]: snow
Default output format [None]: json
```

Ou

```
aws s3 ls  --endpoint http://192.0.2.0:8080 --region snow --profile snowballEdge
```

### Autorização com a interface de API do Amazon S3 para AWS Snowball Edge
<a name="auth-adapter"></a>

Quando você usa o adaptador Amazon S3, todas as interações são assinadas com o algoritmo AWS Signature Version 4 por padrão. Essa autorização é usada apenas para verificar os dados que estão trafegando da origem para a interface. Toda a criptografia e descriptografia acontecem no dispositivo. Os dados não criptografados nunca são armazenados no dispositivo.

Ao usar a interface, tenha em mente o seguinte:
+ Para obter as credenciais locais do Amazon S3 e assinar as solicitações para o dispositivo AWS Snowball Edge , execute os comandos `snowballEdge list-access-keys` e `snowballEdge get-secret-access-keys` do Snowball Edge Client. Para obter mais informações, consulte [Configurar e usar o Snowball Edge Client](using-client-commands.md). Essas credenciais locais do Amazon S3 incluem um par de chaves: uma chave de acesso e uma chave secreta. Essas chaves são válidas apenas para os dispositivos associados ao trabalho. Eles não podem ser usados no Nuvem AWS porque não têm contrapartida AWS Identity and Access Management (IAM).
+ A chave de criptografia não é alterada pelas AWS credenciais que você usa. A assinatura com o algoritmo do Signature versão 4 é usada somente para verificar os dados que estão trafegando da origem para a interface. Assim, essa assinatura nunca é fatorada nas chaves de criptografia usadas para criptografar seus dados no Snowball.

## Obter e usar credenciais locais do Amazon S3 no Snowball Edge
<a name="adapter-credentials"></a>

Cada interação com um Snowball Edge é assinada com o algoritmo AWS Signature Version 4. Para obter mais informações sobre o algoritmo, consulte [Processo de assinatura do Signature versão 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) na *Referência geral da AWS*.

Você pode obter as credenciais locais do Amazon S3 para assinar suas solicitações do dispositivo Edge do Snowball Edge Client executando `snowballEdge list-access-keys` e `snowballEdge get-secret-access-key`. Consulte [Obtendo credenciais para um Snowball Edge](using-client-commands.md#client-credentials). Essas credenciais locais do Amazon S3 incluem um par de chaves: um ID de chave de acesso e uma chave secreta. Essas credenciais são válidas apenas para os dispositivos que estão associados ao trabalho. Eles não podem ser usados no Nuvem AWS porque não têm uma contraparte do IAM.

Você pode adicionar essas credenciais ao arquivo de AWS credenciais no seu servidor. O arquivo de perfis de credenciais padrão normalmente está localizado em `~/.aws/credentials`, mas a localização pode variar conforme a plataforma. Esse arquivo é compartilhado por muitos dos AWS SDKs e pelos AWS CLI. As credenciais locais podem ser salvas com um nome de perfil, como no exemplo a seguir.

```
[snowballEdge]
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
```

### Configurando o AWS CLI para usar o adaptador S3 em um Snowball Edge como endpoint
<a name="using-adapter-cli-endpoint"></a>

Ao usar o AWS CLI para emitir um comando para o AWS Snowball Edge dispositivo, você especifica que o endpoint é o adaptador Amazon S3. Você tem a opção de usar o endpoint HTTPS ou um endpoint HTTP desprotegido, como mostrado a seguir.

**Endpoint HTTPS protegido**

```
aws s3 ls --endpoint https://192.0.2.0:8443 --ca-bundle {{path/to/certificate}} --profile snowballEdge
```

**Endpoint HTTP desprotegido**

```
aws s3 ls --endpoint http://192.0.2.0:8080 --profile snowballEdge
```

Se você usar o endpoint HTTPS `8443`, os dados serão transferidos com segurança a partir do seu servidor para o Snowball Edge. A criptografia é garantida com um certificado que é gerado pelo Snowball Edge sempre que ele recebe um novo endereço IP. Depois de receber o certificado, você poderá salvá-lo em um arquivo local `ca-bundle.pem`. Em seguida, você pode configurar seu AWS CLI perfil para incluir o caminho para seu certificado, conforme descrito a seguir.

**Para associar o certificado ao endpoint da interface**

1. Conecte o Snowball Edge à alimentação e à rede. Em seguida, ligue-o.

1. Depois que o dispositivo tiver sido inicializado, anote o endereço IP dele na sua rede local.

1. Em um terminal na sua rede, verifique se é possível fazer teste de ping no Snowball Edge.

1. Execute o comando `snowballEdge get-certificate` no seu terminal. Para obter mais informações sobre este comando, consulte [Gerenciando certificados de chave pública no Snowball Edge](snowball-edge-certificates-cli.md).

1. Salve a saída do comando `snowballEdge get-certificate` em um arquivo, por exemplo, `ca-bundle.pem`.

1. Execute o seguinte comando no seu terminal.

   ```
   aws configure set profile.snowballEdge.ca_bundle /path/to/ca-bundle.pem
   ```

Depois de concluir o procedimento, você poderá executar os comandos da CLI com essas credenciais locais, além do seu certificado e endpoint especificado, como no exemplo a seguir.

```
aws s3 ls --endpoint https://192.0.2.0:8443 --profile snowballEdge
```

## Recursos incompatíveis do Amazon S3 para o adaptador Amazon S3 no Snowball Edge
<a name="snowball-edge-s3-unsupported-features"></a>

Usando o Amazon S3, você pode transferir, de forma programática, dados de e para um Snowball Edge com ações da API do Amazon S3. No entanto, nem todas as ações de API e atributos de transferência do Amazon S3 podem ser usados com um dispositivo Snowball Edge ao usar o adaptador do Amazon S3. Por exemplo, os seguintes atributos e ações não são compatíveis com o uso do Snowball Edge: 
+ [TransferManager](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/examples-s3-transfermanager.html)— Esse utilitário transfere arquivos de um ambiente local para o Amazon S3 com o SDK for Java. Em vez disso, considere o uso de ações de API com suporte ou comandos da AWS CLI com a interface.
+ [GET Bucket (listagem de objetos) versão 2](https://docs.aws.amazon.com/AmazonS3/latest/API/v2-RESTBucketGET.html): essa implementação da ação GET retorna alguns ou todos (até 1.000) dos objetos de um bucket. Considere o uso da ação [GET Bucket (listagem de objetos) versão 1](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGET.html) ou do comando [ls](https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html) da AWS CLI .
+ [ListBuckets](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html)— O ListBuckets com o endpoint do objeto não é suportado. O comando a seguir não funciona com armazenamento compatível com Amazon S3 no Snowball Edge:

  ```
  aws s3 ls --endpoint {{https://192.0.2.0}} --profile {{profile}}                    
  ```