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á.
Migre downloads de URL pré-assinados de AWS SDK para Java v1 para v2
Migre seu código de download de URL pré-assinado para usar o processamento assíncrono e acessar opções de download expandidas na versão 2. Este tópico mostra como migrar da versão 1.x (v1) para a versão 2.x (v2) do. AWS SDK para Java Para obter informações sobre os recursos de download de URL pré-assinados v2, consulte. Trabalhe com Amazon S3 URLs pré-assinados
High-level mudanças
A lista a seguir resume as principais diferenças entre v1 e v2 para downloads de URL pré-assinados:
-
Package:
com.amazonaws.services.s3→software.amazon.awssdk.services.s3. -
Classe de cliente:
AmazonS3(síncrona) →S3AsyncClient(assíncrona). -
Arquitetura: Bloqueio síncrono de chamadas → Chamadas assíncronas com.
CompletableFuture -
Multiparte: Disponível somente através do Transfer Manager → Disponível diretamente no cliente com
multipartEnabled(true). -
Gerenciador de transferência: somente destino do arquivo → Arquivo, bytes ou transformador personalizado.
Mudanças nas dependências, pacotes e nomes de classes
A tabela a seguir mostra as alterações da dependência e do nome da classe de v1 para v2.
| Alteração | v1 | v2 da |
|---|---|---|
|
Dependências do Maven |
|
|
| Nome do pacote | com.amazonaws.services.s3 |
software.amazon.awssdk.services.s3 |
| Nomes da classe | AmazonS3, TransferManager |
S3AsyncClient, S3TransferManager |
1 Versão mais recente
Alterações de API
Downloads do cliente S3
A tabela a seguir compara as chamadas de API v1 e v2 para downloads do cliente S3.
| Caso de uso | v1 | v2 da |
|---|---|---|
| Criar o cliente |
|
|
| Gere um URL pré-assinado |
|
|
| Crie a solicitação de download |
|
|
| Baixe para transmitir |
|
|
| Baixar para arquivo |
|
|
| Baixe com alcance |
|
|
Downloads do Transfer Manager
A tabela a seguir compara as chamadas de API v1 e v2 para downloads do Transfer Manager.
| Caso de uso | v1 | v2 da |
|---|---|---|
| Crie o Gerenciador de Transferências |
|
|
| Baixar |
|
|
Para obter mais informações, consulte Faça o download usando um URL pré-assinado.
Alterações de configuração
Cliente do S3
A tabela a seguir descreve as alterações na configuração do cliente S3 de v1 para v2.
| Configuração | v1 | v2 da |
|---|---|---|
| Configuração de várias partes | PresignedUrlDownloadConfig.withDownloadSizePerRequest(long) |
S3AsyncClient.builder().multipartConfiguration(c ->
c.minimumPartSizeInBytes(...)) |
| Cabeçalhos personalizados | PresignedUrlDownloadRequest.putCustomRequestHeader(String,
String) |
Sem compatibilidade. Somente Range e If-Match pode ser configurado no momento do download. |
Gerenciador de Transferências
A tabela a seguir descreve as alterações na configuração do Transfer Manager de v1 para v2.
| Configuração | v1 | v2 da |
|---|---|---|
| Acompanhamento de andamento | PresignedUrlDownloadConfig.withS3progressListener(...) |
PresignedDownloadFileRequest.builder().addTransferListener(...) |
| Continuar ao tentar novamente | PresignedUrlDownloadConfig.withResumeOnRetry(true) |
Sem compatibilidade |
| Pause/Resume | Sem compatibilidade | Sem compatibilidade |
nota
Atualmente, o cliente AWS CRT-based S3 (S3AsyncClient.crtBuilder()) não oferece suporte à extensão de URL pré-assinada. Use S3AsyncClient.builder().