Desenvolvimento com o Amazon S3 usando os AWS SDKs e Explorers - Amazon Simple Storage Service

Desenvolvimento com o Amazon S3 usando os AWS SDKs e Explorers

Você também pode usar os AWS SDKs ao desenvolver aplicações com o Amazon S3. Os AWS SDKs simplificam as tarefas de programação integrando a API REST subjacente. Os SDKs do AWS Mobile e a biblioteca JavaScript do AWS Amplify também estão disponíveis para a compilação de aplicações Web e aplicações para dispositivos móveis conectados usando a AWS.

Esta seção fornece uma visão geral dos AWS SDKs para desenvolver aplicações do Amazon S3. Esta seção também descreve como você pode testar os exemplos de código do AWS SDK fornecidos neste guia.

Além dos AWS SDKs, os AWS Explorers estão disponíveis para Visual Studio e Eclipse para Java IDE. Nesse caso, os SDKs e os Explorers estão disponíveis em um pacote como toolkits da AWS.

Você também pode usar a AWS Command Line Interface (AWS CLI) para gerenciar buckets e objetos do Amazon S3.

AWS Toolkit for Eclipse

O AWS Toolkit for Eclipse inclui o AWS SDK for Java e o AWS Explorer for Eclipse. O AWS Explorer for Eclipse é um plugin de código aberto para o Eclipse para Java IDE que facilita o desenvolvimento, a depuração e a implantação de aplicações Java para os desenvolvedores que usam a AWS. A interface gráfica fácil de usar permite acessar e administrar a infraestrutura da AWS, incluindo o Amazon S3. É possível executar operações comuns, como gerenciar buckets e objetos, além de definir políticas do IAM ao mesmo tempo que desenvolve aplicações, tudo no contexto do IDE do Eclipse for Java. Para obter instruções de configuração, consulte Configurar o toolkit. Para obter exemplos de como usar o Explorer, consulte Como acessar o AWS Explorer.

AWS Toolkit for Visual Studio

AWSO Explorer para Visual Studio é uma extensão do Microsoft Visual Studio que facilita o desenvolvimento, a depuração e a implantação de aplicações .NET para os desenvolvedores que usam a Amazon Web Services. A interface gráfica fácil de usar permite acessar e administrar a infraestrutura da AWS, incluindo o Amazon S3. É possível executar operações comuns, como gerenciar buckets e objetos ou definir políticas do IAM ao desenvolver aplicações, tudo no contexto do Visual Studio. Para obter instruções de configuração, visite Configurar o AWS Toolkit for Visual Studio. Para obter exemplos de como usar o Amazon S3 com o Explorer, consulte Uso do Amazon S3 com o AWS Explorer.

AWSSDKs da

Você pode fazer download somente dos SDKs. Para obter informações sobre como fazer download de bibliotecas de SDKs, consulte Bibliotecas de códigos de exemplo.

AWS CLI

A AWS CLI é uma ferramenta unificada para gerenciar os serviços da AWS, incluindo o Amazon S3. Para obter informações sobre como fazer download da AWS CLI, consulte AWS Command Line Interface.

Usar este serviço com um AWS SDK

Os kits de desenvolvimento de software (SDKs) da AWS estão disponíveis para muitas linguagens de programação populares. Cada SDK fornece uma API, exemplos de código e documentação que facilitam a criação de aplicações em seu idioma preferido pelos desenvolvedores.

Para obter exemplos específicos deste serviço, consulte Exemplos de código do Amazon S3 usando SDKs da AWS.

Exemplo de disponibilidade

Você não consegue encontrar o que precisa? Solicite um código de exemplo no link Fornecer feedback na parte inferior desta página.

Especificar a versão da assinatura na autenticação de solicitações

O Amazon S3 oferece suporte apenas ao AWS Signature Version 4 na maioria das Regiões da AWS. No entanto, em algumas das Regiões da AWS mais antigas, o Amazon S3 é compatível com o Signature Version 4 e o Signature Version 2. No entanto, o Signature versão 2 está sendo desativado (defasado). Para obter mais informações sobre o fim do suporte ao Signature versão 2, consulte AWS Signature versão 2 desativado (defasado) para o Amazon S3.

Para obter uma lista de todas as regiões do Amazon S3 e das versões do Signature com as quais elas são compatíveis, consulte Regiões e endpoints na Referência geral da AWS.

Para todas as Regiões da AWS, por padrão, os AWS SDKs usam o Signature Version 4 para autenticar solicitações. Ao usar os AWS SDKs liberados antes de maio de 2016, talvez seja necessário solicitar o Signature Versão 4 conforme mostrado na tabela a seguir.

SDK Solicitar o Signature versão 4 para autenticação de solicitações
AWS CLI

Para o perfil padrão, execute o comando a seguir:

$ aws configure set default.s3.signature_version s3v4

Para um perfil personalizado, execute o comando a seguir:

$ aws configure set profile.your_profile_name.s3.signature_version s3v4
SDK do Java

Adicione o seguinte ao código:

System.setProperty(SDKGlobalConfiguration.ENABLE_S3_SIGV4_SYSTEM_PROPERTY, "true");

Ou, na linha de comando, especifique o seguinte:

-Dcom.amazonaws.services.s3.enableV4
SDK do JavaScript

Defina o parâmetro signatureVersion como v4 ao criar o cliente:

var s3 = new AWS.S3({signatureVersion: 'v4'});
SDK do PHP

Defina o parâmetro signature como v4 ao criar o cliente de serviço do Amazon S3 para o SDK v2 do PHP:

<?php $client = S3Client::factory([ 'region' => 'YOUR-REGION', 'version' => 'latest', 'signature' => 'v4' ]);

Ao usar o SDK v3 do PHP, defina o parâmetro signature_version como v4 durante a criação do cliente de serviço do Amazon S3:

<?php $s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'YOUR-REGION', 'signature_version' => 'v4' ]);
SDK do Python-Boto

Especifique o seguinte no arquivo de configuração boto padrão:

[s3] use-sigv4 = True
SDK do Ruby

SDK do Ruby - versão 1: defina o parâmetro :s3_signature_version como :v4 ao criar o cliente:

s3 = AWS::S3::Client.new(:s3_signature_version => :v4)

SDK do Ruby - versão 3: defina o parâmetro signature_version como v4 ao criar o cliente:

s3 = Aws::S3::Client.new(signature_version: 'v4')
SDK do .NET

Adicione o código a seguir antes de criar o cliente do Amazon S3:

AWSConfigsS3.UseSignatureVersion4 = true;

Ou adicione o seguinte ao arquivo config:

<appSettings> <add key="AWS.S3.UseSignatureVersion4" value="true" /> </appSettings>

 

AWS Signature versão 2 desativado (defasado) para o Amazon S3

O Signature versão 2 está sendo desativado (defasado) no Amazon S3. O Amazon S3 só aceitará solicitações de API assinadas com o Signature versão 4.

Esta seção apresenta respostas às perguntas mais comuns relacionadas ao fim do suporte ao Signature versão 2.

O que é o Signature versão 2/4 e o que “assinar solicitações” quer dizer?

O processo de assinatura com as versões 2 ou 4 do Signature é utilizado para autenticar solicitações de API do Amazon S3. A assinatura de solicitações permite que o Amazon S3 identifique quem está enviando uma solicitação e a protege contra agentes mal intencionados.

Para obter mais informações sobre como assinar solicitações da AWS, consulte Assinar solicitações de API da AWS na Referência geral da AWS.

Qual atualização está sendo feita?

No momento, oferecemos suporte a solicitações da API do Amazon S3 assinadas usando os processos das versões 2 e 4 do Signature. Depois disso, o Amazon S3 só aceitará solicitações assinadas com o Signature versão 4.

Para obter mais informações sobre a assinatura de solicitações da AWS, consulte Alterações no Signature versão 4 na Referência geral da AWS.

Por que esta atualização está sendo feita?

O Signature versão 4 oferece maior segurança porque usa uma chave de assinatura em vez de sua chave de acesso secreta. No momento, o Signature Version 4 é compatível com todas as Regiões da AWS. O Signature Version 2 só é compatível com as regiões lançadas antes de janeiro de 2014. Essa atualização nos permite oferecer uma experiência mais consistente em todas as regiões.

Como posso ter certeza de que estou usando o Signature versão 4 e quais atualizações são necessárias?

Normalmente, a versão utilizada para assinar suas solicitações é definida pela ferramenta ou pelo SDK no lado do cliente. Por padrão, as versões mais recentes dos AWS SDKs usam o Signature Version 4. Para software de terceiro, entre em contato com a equipe de suporte dele para confirmar a versão necessária. Para enviar chamadas REST diretamente para o Amazon S3, modifique a aplicação para usar o processo de assinatura do Signature versão 4.

Para obter informações sobre qual versão dos AWS SDKs deve ser usada depois da transição para o Signature Version 4, consulte Migração do Signature versão 2 para o Signature versão 4.

Para obter informações sobre como usar o Signature Version 4 com a API REST do Amazon S3, consulte Autenticação de solicitações (AWS Signature Version 4) na Referência da API do Amazon Simple Storage Service.

O que acontecerá se eu não atualizar?

As solicitações assinadas com o Signature versão 2 feitas após essa data não autenticarão com o Amazon S3. Os solicitantes verão erros com a mensagem de que a solicitação deve ser assinada com o Signature versão 4.

Devo fazer alterações mesmo se estiver usando um pre-signed URL que exige a assinatura por mais de sete dias?

Se você estiver usando um pre-signed URL que exige a assinatura por mais de sete dias, não é necessário fazer nada. Você pode continuar usando o AWS Signature Version 2 para assinar e autenticar URLs pré-assinados. Vamos fazer um acompanhamento e fornecer mais detalhes sobre como migrar para o Signature versão 4 para pre-signed URL.

Mais informações

Migração do Signature versão 2 para o Signature versão 4

Se estiver usando o Signature versão 2 para autenticar solicitações de API do Amazon S3, migre para o Signature versão 4. Não haverá mais suporte para o Signature versão 2, conforme descrito em AWS Signature versão 2 desativado (defasado) para o Amazon S3.

Para obter informações sobre como usar o Signature Version 4 com a API REST do Amazon S3, consulte Autenticação de solicitações (AWS Signature Version 4) na Referência da API do Amazon Simple Storage Service.

A tabela a seguir contém os SDKs que exigem a utilização do Signature versão 4 (SigV4). Se você utiliza URLs pré-assinados com os SDKs AWS Java, JavaScript (Node.js) ou Python (Boto/CLI), deverá definir a Região da AWS correta e o Signature versão 4 na configuração do cliente. Para obter mais informações sobre como definir o SigV4 na configuração do cliente, consulte Especificar a versão da assinatura na autenticação de solicitações.

Se você usa este SDK/produto Atualize para esta versão do SDK Alteração de código necessária para o cliente usar o Sigv4? Link para documentação do SDK

AWS SDK for Java v1

Atualize para Java 1.11.201+ ou v2. Sim Especificar a versão da assinatura na autenticação de solicitações

AWS SDK for Java v2

Não é necessário atualizar os SDKs. Não AWS SDK for Java

AWS SDK for .NET v1

Atualize para o 3.1.10 ou versão superior. Sim AWS SDK for .NET

AWS SDK for .NET v2

Atualize para o 3.1.10 ou versão superior. Não AWS SDK for .NET v2

AWS SDK for .NET v3

Atualize para a versão 3.3.0.0 ou superior. Sim AWS SDK for .NET v3

AWS SDK for JavaScript v1

Atualize para o 2.68.0 ou versão superior. Sim AWS SDK for JavaScript

AWS SDK for JavaScript v2

Atualize para o 2.68.0 ou versão superior. Sim AWS SDK for JavaScript

AWS SDK for JavaScript v3

Nenhuma outra ação é necessária no momento. Atualize para a versão principal V3 no terceiro trimestre de 2019. Não AWS SDK for JavaScript

AWS SDK for PHP v1

Recomenda-se atualizar para a versão mais recente do PHP ou, ao menos, para a versão 2.7.4 com o parâmetro de assinatura definido como v4 na configuração do cliente do S3. Sim AWS SDK for PHP

AWS SDK for PHP v2

Recomenda-se atualizar para a versão mais recente do PHP ou, ao menos, para a versão 2.7.4 com o parâmetro de assinatura definido como v4 na configuração do cliente do S3. Não AWS SDK for PHP

AWS SDK for PHP v3

Não é necessário atualizar os SDKs. Não AWS SDK for PHP

Boto2

Atualize para Boto2 v2.49.0. Sim Atualização do Boto 2

Boto3

Atualize para 1.5.71 (Botocore), 1.4.6 (Boto3). Sim Boto 3 - AWS SDK para Python

AWS CLI

Atualize para 1.11.108. Sim AWS Command Line Interface

AWS CLI v2 (pré-visualização)

Não é necessário atualizar os SDKs. Não AWS Command Line Interface versão 2

AWS SDK for Ruby v1

Atualize para Ruby V3. Sim Ruby V3 for AWS

AWS SDK for Ruby v2

Atualize para Ruby V3. Sim Ruby V3 for AWS

AWS SDK for Ruby v3

Não é necessário atualizar os SDKs. Não Ruby V3 for AWS

Go

Não é necessário atualizar os SDKs. Não AWS SDK for Go

C++

Não é necessário atualizar os SDKs. Não AWS SDK for C++
AWS Tools for Windows PowerShell ou AWS Tools for PowerShell Core

Se você estiver usando versões de módulo anteriores à 3.3.0.0, deverá atualizar para a 3.3.0.0.

Para obter informações sobre a versão, use o cmdlet do Get-Module:

Get-Module –Name AWSPowershell Get-Module –Name AWSPowershell.NetCore

Para atualizar para a versão 3.3.0.0, use o cmdlet do Update-Module:

Update-Module –Name AWSPowershell Update-Module –Name AWSPowershell.NetCore

É possível enviar o tráfego do Signature versão 2 para pre-signed URLs válidas por mais de sete dias.