Perubahan di Amazon CloudFront presigning dari versi 1 ke versi 2 - AWS SDK for Java 2.x

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Perubahan di Amazon CloudFront presigning dari versi 1 ke versi 2

Topik ini merinci perubahan di Amazon CloudFront dari versi 1 (v1) ke versi 2 (v2).

Perubahan tingkat tinggi

Perubahan v1 v2

Ketergantungan Maven

<dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-bom</artifactId> <version>1.12.5871</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>cloudfront</artifactId> </dependency> </dependencies>
<dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>bom</artifactId> <version>2.21.212</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>cloudfront</artifactId> </dependency> </dependencies>
Nama paket com.amazonaws.services.cloudfront software.amazon.awssdk.services.cloudfront
Nama kelas

CloudFrontUrlSigner

CloudFrontCookieSigner

CloudFrontUtilities

SignedUrl

CannedSignerRequest

CustomSignerRequest

1 Versi terbaru. 2 Versi terbaru.

Perubahan API

Perilaku v1 v2
Bangun permintaan kalengan Argumen diteruskan langsung ke API.
CannedSignerRequest cannedRequest = CannedSignerRequest.builder() .resourceUrl(resourceUrl) .privateKey(privateKey) .keyPairId(keyPairId) .expirationDate(expirationDate) .build();
Membangun permintaan kustom Argumen diteruskan langsung ke API.
CustomSignerRequest customRequest = CustomSignerRequest.builder() .resourceUrl(resourceUrl) .privateKey(keyFile) .keyPairId(keyPairId) .expirationDate(expirationDate) .activeDate(activeDate) .ipRange(ipRange) .build();
Hasilkan URL yang ditandatangani (kalengan)
String signedUrl = CloudFrontUrlSigner.getSignedURLWithCannedPolicy( resourceUrl, keyPairId, privateKey, expirationDate);
CloudFrontUtilities cloudFrontUtilities = CloudFrontUtilities.create(); SignedUrl signedUrl = cloudFrontUtilities.getSignedUrlWithCannedPolicy(cannedRequest); String url = signedUrl.url();
Hasilkan cookie yang ditandatangani (kustom)
CookiesForCustomPolicy cookies = CloudFrontCookieSigner.getCookiesForCustomPolicy( resourceUrl, privateKey, keyPairId, expirationDate, activeDate, ipRange);
CloudFrontUtilities cloudFrontUtilities = CloudFrontUtilities.create(); CookiesForCustomPolicy cookies = cloudFrontUtilities.getCookiesForCustomPolicy(customRequest);

Header cookie yang difaktorkan ulang di v2

Di Java v1, Java SDK memberikan header cookie sebagai file. Map.Entry<String, String>

Map.Entry<String, String> signatureMap = cookies.getSignature(); String signatureKey = signatureMap.getKey(); // "CloudFront-Signature" String signatureValue = signatureMap.getValue(); // "[SIGNATURE_VALUE]"

Java v2 SDK memberikan seluruh header sebagai satu. String

String signatureHeaderValue = cookies.signatureHeaderValue(); // "CloudFront-Signature=[SIGNATURE_VALUE]"