翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
署名付き URL ダウンロードを v1 から AWS SDK for Java v2 に移行する
署名付き URL ダウンロードコードを移行して非同期処理を使用し、バージョン 2 で拡張されたダウンロードオプションにアクセスします。このトピックでは、 のバージョン 1.x (v1) からバージョン 2.x (v2) に移行する方法について説明します AWS SDK for Java。v2 の署名付き URL ダウンロード機能の詳細については、「」を参照してください署名 Amazon S3 付き URLsの使用。
高レベル変更
次のリストは、署名付き URL ダウンロードの v1 と v2 の主な違いをまとめたものです。
-
パッケージ:
com.amazonaws.services.s3→software.amazon.awssdk.services.s3。 -
クライアントクラス:
AmazonS3(同期) →S3AsyncClient(非同期)。 -
アーキテクチャ: 同期ブロック呼び出し → を使用した非同期呼び出し
CompletableFuture。 -
マルチパート: Transfer Manager を介してのみ使用可能 → を使用するクライアントで直接使用可能
multipartEnabled(true)。 -
Transfer Manager: ファイル送信先のみ → ファイル、バイト、またはカスタムトランスフォーマー。
依存関係、パッケージ、クラス名の変更
次の表は、v1 から v2 への依存関係とクラス名の変更を示しています。
| 変更 | v1 | v2 |
|---|---|---|
|
Maven の依存関係 |
|
|
| パッケージ名 | com.amazonaws.services.s3 |
software.amazon.awssdk.services.s3 |
| クラス名 | AmazonS3, TransferManager |
S3AsyncClient, S3TransferManager |
1 Maven Central ウェブサイトの最新バージョン
API の変更
S3 クライアントのダウンロード
次の表は、S3 クライアントダウンロードの v1 および v2 API コールを比較したものです。
| ユースケース | v1 | v2 |
|---|---|---|
| クライアントの作成 |
|
|
| 署名付き URL を生成する |
|
|
| ダウンロードリクエストを作成する |
|
|
| ダウンロードしてストリーミングする |
|
|
| ファイルへのダウンロード |
|
|
| 範囲を含むダウンロード |
|
|
Transfer Manager のダウンロード
次の表は、Transfer Manager ダウンロードの v1 および v2 API コールを比較したものです。
| ユースケース | v1 | v2 |
|---|---|---|
| Transfer Manager を作成する |
|
|
| ダウンロード |
|
|
詳細については、「署名付き URL を使用してダウンロードする」を参照してください。
設定変更
S3 クライアント
次の表に、v1 から v2 への S3 クライアント設定の変更を示します。
| 設定 | v1 | v2 |
|---|---|---|
| マルチパート設定 | PresignedUrlDownloadConfig.withDownloadSizePerRequest(long) |
S3AsyncClient.builder().multipartConfiguration(c ->
c.minimumPartSizeInBytes(...)) |
| カスタムヘッダー | PresignedUrlDownloadRequest.putCustomRequestHeader(String,
String) |
サポート外。ダウンロード時に設定If-Matchできるのは Rangeと のみです。 |
Transfer Manager
次の表は、Transfer Manager の設定変更を v1 から v2 にまとめたものです。
| 設定 | v1 | v2 |
|---|---|---|
| 進捗状況追跡 | PresignedUrlDownloadConfig.withS3progressListener(...) |
PresignedDownloadFileRequest.builder().addTransferListener(...) |
| 再試行時に再開する | PresignedUrlDownloadConfig.withResumeOnRetry(true) |
サポートされていません |
| 一時停止/再開 | サポートされません | サポートされません |
注記
AWS CRT ベースの S3 クライアント (S3AsyncClient.crtBuilder()) は現在、署名付き URL 拡張をサポートしていません。S3AsyncClient.builder() を使用します。