기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
버전 1에서 버전 2로 Amazon CloudFront 사전 서명 변경 사항
이 주제에서는 버전 1(v1) CloudFront 에서 버전 2(v2)로의 Amazon 변경 사항에 대해 자세히 설명합니다.
높은 수준의 변경 사항
변경 사항 |
v1 |
v2 |
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.27.212 </version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>cloudfront</artifactId>
</dependency>
</dependencies>
|
패키지 이름 |
com.amazonaws.services.cloudfront |
software.amazon.awssdk.services.cloudfront |
클래스 이름 |
CloudFrontUrlSigner
CloudFrontCookieSigner
|
CloudFrontUtilities
SignedUrl
CannedSignerRequest
CustomSignerRequest
|
1 최신 버전. 2 최신 버전.
API 변경 사항
동작 |
v1 |
v2 |
사전 준비된 요청 빌드 |
인수는 로 직접 전달됩니다API. |
CannedSignerRequest cannedRequest =
CannedSignerRequest.builder()
.resourceUrl(resourceUrl)
.privateKey(privateKey)
.keyPairId(keyPairId)
.expirationDate(expirationDate)
.build();
|
사용자 지정 요청 빌드 |
인수는 로 직접 전달됩니다API. |
CustomSignerRequest customRequest =
CustomSignerRequest.builder()
.resourceUrl(resourceUrl)
.privateKey(keyFile)
.keyPairId(keyPairId)
.expirationDate(expirationDate)
.activeDate(activeDate)
.ipRange(ipRange)
.build();
|
서명된URL(캔됨) 생성 |
String signedUrl =
CloudFrontUrlSigner.getSignedURLWithCannedPolicy(
resourceUrl, keyPairId, privateKey, expirationDate);
|
CloudFrontUtilities cloudFrontUtilities =
CloudFrontUtilities.create();
SignedUrl signedUrl =
cloudFrontUtilities.getSignedUrlWithCannedPolicy(cannedRequest);
String url = signedUrl.url();
|
서명된 쿠키 생성(사용자 지정) |
CookiesForCustomPolicy cookies =
CloudFrontCookieSigner.getCookiesForCustomPolicy(
resourceUrl, privateKey, keyPairId, expirationDate,
activeDate, ipRange);
|
CloudFrontUtilities cloudFrontUtilities =
CloudFrontUtilities.create();
CookiesForCustomPolicy cookies =
cloudFrontUtilities.getCookiesForCustomPolicy(customRequest);
|
Java v1에서 Java는 쿠키 헤더를 로 SDK 제공합니다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 제공합니다String
.
String signatureHeaderValue = cookies.signatureHeaderValue(); // "CloudFront-Signature=[SIGNATURE_VALUE]"