O AWS SDK para Java 2.0 é uma reescrita da versão 1.0 com alguns novos recursos excelentes. Assim como na versão 1.0, ele permite que você trabalhe facilmente com Amazon Web Services, mas também inclui recursos como E/S sem bloqueio e implementação de HTTP conectável para personalizar ainda mais seus aplicativos. Você pode começar em minutos usando o Maven ou qualquer sistema de compilação que suporte o MavenCentral como fonte de artefato.
Antes de começar, você precisa de uma conta AWS. Consulte a seção Cadastre-se na AWS do guia do desenvolvedor para obter informações sobre como criar uma conta da AWS e recuperar suas credenciais da AWS.
Para executar o SDK você precisará do Java 1.8+ . Para obter mais informações sobre os requisitos e configurações ideais para o SDK, consulte a seção Instalando um ambiente de desenvolvimento Java do guia do desenvolvedor.
A maneira recomendada de usar o AWS SDK for Java em seu projeto é consumi-lo no Maven Central.
Para gerenciar automaticamente as versões dos módulos (atualmente todos os módulos têm a mesma versão, mas nem sempre é o caso), recomendamos que você use a importação da lista de materiais da seguinte forma:
< dependencyManagement >
< dependencies >
< dependency >
< groupId >software.amazon.awssdk</ groupId >
< artifactId >bom</ artifactId >
< version >2.29.31</ version >
< type >pom</ type >
< scope >import</ scope >
</ dependency >
</ dependencies >
</ dependencyManagement >
Então módulos individuais podem omitir a version
da sua declaração de dependência:
< dependencies >
< dependency >
< groupId >software.amazon.awssdk</ groupId >
< artifactId >ec2</ artifactId >
</ dependency >
< dependency >
< groupId >software.amazon.awssdk</ groupId >
< artifactId >s3</ artifactId >
</ dependency >
< dependency >
< groupId >software.amazon.awssdk</ groupId >
< artifactId >dynamodb</ artifactId >
</ dependency >
</ dependencies >
Alternativamente, você pode adicionar dependências apenas para os serviços específicos que você usa:
< dependency >
< groupId >software.amazon.awssdk</ groupId >
< artifactId >ec2</ artifactId >
< version >2.29.31</ version >
</ dependency >
< dependency >
< groupId >software.amazon.awssdk</ groupId >
< artifactId >s3</ artifactId >
< version >2.29.31</ version >
</ dependency >
Você pode importar todo o SDK para o seu projeto (inclui TODOS os serviços). Observe que é recomendado importar apenas os módulos necessários.
< dependency >
< groupId >software.amazon.awssdk</ groupId >
< artifactId >aws-sdk-java</ artifactId >
< version >2.29.31</ version >
</ dependency >
Consulte a seção Configurar o AWS SDK para Java do guia do desenvolvedor para obter mais informações de uso.
Fornece uma maneira de conectar sua própria implementação HTTP.
Fornece suporte de primeira classe para E/S sem bloqueio em clientes assíncronos.
Depois de verificar o código do GitHub, você pode construí-lo usando os seguintes comandos.
Linux:
./mvnw clean install
# Skip tests, checkstyles, findbugs, etc for quick build
./mvnw clean install -P quick
# Build a specific service module
./mvnw clean install -pl :s3 -P quick --am
Windows:
./mvnw.cmd clean install
Você pode encontrar código de exemplo para v2 nos seguintes locais:
it
em cada módulo de serviço, por exemplo: s3-integration-tests Para obter informações sobre manutenção e suporte para versões principais do SDK e suas dependências subjacentes, consulte o seguinte no AWS SDKs and Tools Reference Guide:
Mantemos suporte total nas versões LTS (Long-Term Support): Java 8, Java 11, Java 17 e Java 21. Observe que pode haver recursos individuais em versões mais recentes que não são suportadas, porque o SDK deve ser compatível com Java. 8.
Precisamos da sua ajuda para tornar este SDK excelente. Por favor, participe da comunidade e contribua para esse esforço enviando problemas, participando de fóruns de discussão e enviando pull requests através dos seguintes canais:
Os agradecimentos vão para essas pessoas maravilhosas (chave emoji):
sullis | Austin Brooks | Konrad `ktoso` Malawski | André Hopkins | Adam Thomas | Steven Swor | Carey Burgess | |
Anuraag Agrawal | jeffalder | Bóris | Guillaume Corre | Henrique Yandell | Ryan Schmitt | Somaya | |
Steven Aerts | Steven Wong | Tomasz Elendt | Will Erickson | Julien Hoarau | SEOKHYOENCHOI | adriannistor | |
Xian Sol | Andreas Scheja | Anton Yegorov | roexber | brharrington | Christopher Radek | Foivos | |
Frank Wesemann | Gergely Varga | Guilherme | Henry Heikkinen | Jochen Schalanda | Joe Barnett | Kazuhiro Sera | |
Krishna Chaitanya Ganta | Lee Packham | Matteo Carrara | Michael Scharp | Miguel Jiménez | Russel Bolles | Russel Scheerer | |
Scott | Shin'ya Ueoka | sushilamazona | tomliu4uber | Vladimir Orany | Xinyuhu | Yossef Fertel | |
Denis Konakhevych | Alex Weibel | Ryan Carper | Jonathan M. Henson | Débora N. Ito | Bret Ambrose | Anna-Karin Salander | |
João Viegas | Dongie Agnir | Matheus Miller | Benjamin Maizels | Quan Zhou | Zoe Wang | Varun Nandi | |
André Costa | Kyle Thompson | Sam Fink | Jonathan Bond | ajs139 | Dewey Nguyen | David Lee | |
Michael Li | Bennett Lynch | Ikko Ashimine | Jamie Liu | Guillepb10 | Lorenz Níquel | Erin Yang | |
Roberto Tyley | Alvin Ver | ron1 | Sai Kumar Reddy Chandupatla | David Ho | Thomas Turrell-Croft | Steven Shan | |
Barry O'Neill | Andy Kiesler | Martinho | Paulo Lieuthier | Sébastien Crocquesel | David Negrete | Stephen Flavin | |
Olivier L Applin | Adriano Chlebosz | Chade Wilson | Manish Dait | Dennis Kieselhorst | Nilesh PS | Steve Swartz | |
Michael Dimchuk | Nikita Sokolov | Manuel Sugawara | Anirudh | Hayden Baker | Jaykumar Gosar | Michael Graeb | |
Michael Grundie | Eckard Mühlich | Tobias Soloshchenko | Luis Madrigal | Kirill Chaykin | prateek-vats | Bole1155 | Thomas Farr |
Este projeto segue a especificação de todos os contribuidores. Contribuições de qualquer tipo são bem-vindas!