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á.
Encontre aplicativos usando clientes AWS SDK para Java 1.x
Antes de migrar para o AWS SDK for Java 2.x, você precisa identificar quais aplicativos em seu ambiente usam clientes SDK for Java 1.x. Você pode usar CloudTrail registros para rastrear o uso do SDK, pesquisar avisos de depreciação nos registros de aplicativos, inspecionar seu código-fonte e criar configurações ou examinar seus artefatos Java implantáveis. Use os métodos disponíveis em seu ambiente.
Use o CloudTrail Lake para encontrar aplicativos com clientes 1.x
AWS CloudTrail O Lake permite que você consulte eventos registrados por CloudTrail. Siga estas etapas para criar um data lake que identifique as versões do SDK usadas pelas aplicações:
-
Crie um CloudTrail data lake. Consulte o Guia do usuário para criar um armazenamento de dados de eventos.
-
Depois de criar o datastore, examine o conteúdo de registros. O corpo do registro contém campos que determinam a ação, o tempo e o local solicitados. Para obter detalhes, consulte o Guia do usuário para ver o conteúdo do CloudTrail registro.
-
Executar consultas com relação aos dados. Siga o Guia do usuário para consultar e salvar os resultados de consulta.
O campo userAgent em cada registro contém a versão do SDK que fez a solicitação. Use esse campo para identificar aplicativos usando o SDK for Java 1.x.
O exemplo de consulta a seguir encontra todas as solicitações de aplicativos de usuário e ferramentas de terceiros feitas com o SDK for Java 1.x a partir de 17 de junho de 2025, para EventDatastore um ID: sample-Data-Store-Id
select userIdentity, eventSource, awsRegion, eventName, eventType, eventTime, userAgent, requestParameters, sourceIPAddress from sample-Data-Store-Id where eventTime > '2025-06-17 00:00:00' and userAgent like '%aws-sdk-java/1.%' and userAgent not like '%aws-internal/%' order by eventTime desc
Um exemplo do conteúdo do evento no resultado da consulta fica assim:
{ "userIdentity": "{ "type": "IAMUser", "principalId": "AIDAJ45Q7YFFAREXAMPLE", "arn": "arn:aws:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "", "userName": "Alice" }", "eventSource": "dynamodb.amazonaws.com", "awsRegion": "us-west-2", "eventName": "ListTables", "eventType": "AwsApiCall", "eventTime": "2025-07-01 02:23:52.000", "userAgent": "aws-sdk-java/1.12.746 Linux/5.10.240 OpenJDK/11.0.25+9-LTS ...", "requestParameters": "", "sourceIPAddress": "12.345.6.78" }
É possível usar essas informações para ajudar a determinar quando e onde a solicitação foi feita.
No exemplo, uma solicitação ListTables do DynamoDB foi feita em 2025-07-01
02:23:52 (UTC) pelo endereço IP 12.345.6.78 com as credenciais da usuária do IAM chamada Alice. O valor do campo userAgent mostra que a solicitação foi feita usando a AWS SDK para Java versão 1.12.746 de um sistema Linux com JDK 11.
Para obter uma descrição dos campos no registro do AWS CloudTrail evento, consulte o conteúdo do CloudTrail registro para eventos de gerenciamento, dados e atividades de rede.
Se não CloudTrail estiver habilitado em sua conta, entre em contato com o administrador da AWS conta da sua organização para habilitá-lo ou use um dos métodos alternativos descritos nas seções a seguir.
CloudTrail O Lake cobra pelos dados ingeridos e pelos dados digitalizados por consulta. Para minimizar os custos, filtre as consultas para intervalos de tempo e regiões específicos. Para obter os preços atuais, consulte Definição de preço do AWS CloudTrail
Pesquise registros em nível de aviso do aplicativo para depreciação do SDK
A partir da versão 1.12.767 (lançada em 30 de julho de 2024), o AWS SDK para Java 1.x emite um aviso de depreciação na inicialização do aplicativo. Você pode pesquisar esse aviso nos registros do aplicativo para identificar quais aplicativos e hosts estão usando o SDK for Java 1.x.
O texto exato do aviso depende da versão do SDK:
-
Versões 1.12.767 a 1.12.796:
WARNING: The AWS SDK for Java 1.x entered maintenance mode starting July 31, 2024 and will reach end of support on December 31, 2025... -
Versões 1.12.797 e superiores:
WARNING: The AWS SDK for Java 1.x reached end of support on December 31, 2025...
O final ... indica que a mensagem de aviso continua com texto adicional. Você pode pesquisar o prefixo comum The AWS SDK for Java 1.x para encontrar qualquer uma das versões do aviso.
O exemplo a seguir demonstra a busca por esse aviso usandogrep:
grep -r "The AWS SDK for Java 1.x" /path/to/your/application/logs/
Se o aviso for encontrado, o grep comando imprimirá as linhas de registro correspondentes. Se nenhum aviso for encontrado, seu aplicativo não está usando o SDK for Java 1.x ou usa uma versão anterior à 1.12.767. Nesse caso, use um dos outros métodos descritos neste documento.
Pesquisar código-fonte e dependências
Você pode pesquisar sua base de código e criar arquivos de configuração em busca de referências ao AWS SDK para Java 1.x. O identificador de chave é o ID do com.amazonaws grupo, que é usado por todos os artefatos do SDK for Java 1.x.
Os exemplos a seguir demonstram grep o uso para pesquisar com.amazonaws referências em arquivos comuns de projetos Java.
Exemplo: pesquisar nos arquivos de origem Java as importações do SDK for Java 1.x (executar a partir do diretório raiz do projeto)
grep -r "import com.amazonaws" --include="*.java" .
Resultado do exemplo:
src/main/java/com/example/App.java:import com.amazonaws.services.s3.AmazonS3;
nota
O com.amazonaws pacote também é usado por bibliotecas que não fazem parte do SDK for Java 1.x, como. aws-lambda-java-core Para confirmar se uma importação é do SDK for Java 1.x, verifique se o ID do artefato correspondente na pom.xml suabuild.gradle,, ou configuração de gerenciamento de dependências começa com. aws-java-sdk-
Exemplo: pesquise nos pom.xml arquivos Maven as dependências do SDK for Java 1.x (execute a partir do diretório raiz do projeto)
grep -r "com.amazonaws" --include="pom.xml" .
Resultado do exemplo:
pom.xml: <groupId>com.amazonaws</groupId>
Exemplo: pesquise dependências do SDK for Java 1.x nos arquivos de compilação do Gradle (execute a partir do diretório raiz do projeto)
grep -r "com.amazonaws:aws-java-sdk" --include="*.gradle" .
Resultado do exemplo:
build.gradle: implementation 'com.amazonaws:aws-java-sdk-s3:1.12.xxx'
Os grep comandos anteriores identificam as referências do SDK for Java 1.x declaradas diretamente nos seus arquivos de origem e de compilação. No entanto, seu aplicativo também pode depender do SDK for Java 1.x de forma transitiva — por meio de uma biblioteca de terceiros que, por sua vez, depende do SDK. Use a árvore de dependências da sua ferramenta de construção para encontrar dependências diretas e transitivas do SDK for Java 1.x. Escolha o exemplo que corresponda ao seu sistema de compilação.
Exemplo: use o Maven para encontrar todas as dependências transitivas do SDK for Java 1.x (executado a partir do diretório raiz do projeto)
mvn dependency:tree -Dincludes=com.amazonaws
Resultado do exemplo:
[INFO] com.example:my-application:jar:1.0-SNAPSHOT [INFO] +- com.amazonaws:aws-java-sdk-s3:jar:1.12.746:compile [INFO] | \- com.amazonaws:aws-java-sdk-core:jar:1.12.746:compile [INFO] \- some.thirdparty:library:jar:2.3.1:compile [INFO] \- com.amazonaws:aws-java-sdk-dynamodb:jar:1.12.600:compile
O -Dincludes=com.amazonaws sinalizador filtra a árvore para mostrar somente artefatos do SDK for Java 1.x. Neste exemplo, aws-java-sdk-s3 é uma dependência direta, mas aws-java-sdk-dynamodb é uma dependência transitiva trazida por. some.thirdparty:library
Exemplo: use o Gradle para encontrar todas as dependências transitivas do SDK for Java 1.x (executado a partir do diretório raiz do projeto)
gradle dependencies --configuration runtimeClasspath | grep "com.amazonaws"
Resultado do exemplo:
+--- com.amazonaws:aws-java-sdk-s3:1.12.746 | \--- com.amazonaws:aws-java-sdk-core:1.12.746 \--- com.amazonaws:aws-java-sdk-dynamodb:1.12.600
O Gradle não tem um filtro de dependência embutido equivalente ao do Maven-Dincludes, então usar a canalização grep é a abordagem mais simples.
Inspecione artefatos Java implantáveis
Você pode inspecionar seus artefatos Java implantáveis (JARs WARs, ou EARs) para confirmar se o AWS SDK para Java 1.x está empacotado com seu aplicativo. Os arquivos de arquivamento Java são arquivos no formato ZIP. Para determinar se o SDK for Java 1.x está presente, procure o com/amazonaws/sdk/versionInfo.properties arquivo dentro do arquivo. Esse arquivo está incluído no aws-java-sdk-core módulo e contém o número da versão do SDK.
Verificação rápida com o jar comando
Para uber-jars em que todas as classes de dependência são mescladas no nível superior, liste o conteúdo do arquivo e pesquise o arquivo de versão:
Nos exemplos a seguir, myapp.jar substitua pelo caminho para o arquivo JAR do seu aplicativo.
jar -tf myapp.jar | grep 'versionInfo.properties'
Se o SDK estiver presente, a saída será:
com/amazonaws/sdk/versionInfo.properties
Se o jar comando não estiver disponível em seu ambiente (por exemplo, imagens de contêiner mínimas ou somente JRE), você poderá usar unzip -l em vez disso:
unzip -l myapp.jar | grep 'versionInfo.properties'
Para imprimir a versão:
unzip -p myapp.jar com/amazonaws/sdk/versionInfo.properties
Resultado do exemplo:
platform=java version=1.12.xxx
nota
Os comandos anteriores pesquisam somente entradas de nível superior em uber-jars. Eles não encontrarão classes de SDK em thin JARs (onde as dependências são externas) ou aninhadas internamente JARs (como aquelas em WARs, EARs ou pacotes Lambda em ou). lib/ WEB-INF/lib/ Em vez disso JARs, verifique sua configuração de compilação (pom.xml,build.gradle) ou árvore de dependências. Para aninhado JARs, pesquise o pacote JARs usando uma ferramenta que pode ler arquivos ZIP recursivamente sem extrair para o disco.