

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
<a name="migration-find-apps-using-v1"></a>

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
<a name="migration-find-v1-apps-with-cloudtrail"></a>

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:

1. Crie um CloudTrail data lake. Consulte o [Guia do usuário](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html) para criar um armazenamento de dados de eventos.

1. 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](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html).

1. Executar consultas com relação aos dados. Siga o [Guia do usuário para consultar e salvar os resultados de consulta](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-run-query.html).

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](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html).

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](https://aws.amazon.com/cloudtrail/pricing/).

## Pesquise registros em nível de aviso do aplicativo para depreciação do SDK
<a name="migration-find-v1-apps-log-warning"></a>

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 usando`grep`:

```
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
<a name="migration-find-v1-apps-source-code"></a>

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` sua`build.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
<a name="migration-find-v1-apps-inspect-artifacts"></a>

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
<a name="migration-find-v1-apps-jar-command"></a>

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.