AWS SDK for JavaScript v2가 지원 종료에 도달했습니다. AWS SDK for JavaScript v3로 마이그레이션하실 것을 권장합니다. 마이그레이션 방법에 대한 자세한 내용은 해당 공지 사항
SDK for JavaScript 버전 1에서 업그레이드
다음 메모를 참조해 SDK for JavaScript를 버전 1에서 버전 2로 업그레이드하세요.
입력/출력 시 Base64 및 타임스탬프의 자동 변환
이제 SDK는 사용자를 대신하여 base64 인코딩 값과 타임스탬프 값을 자동으로 인코딩합니다. 이 변경 사항은 base64 또는 타임스탬프 값이 요청에 따라 전송되거나 base64 인코딩 값을 고려하는 응답에서 반환되는 작업에 영향을 미칩니다.
이전에 base64로 변환된 사용자 코드는 더 이상 필요하지 않습니다. base64로 인코딩된 값은 이제 서버 응답에서 버퍼 객체로 반환되며 버퍼 입력으로 전달될 수도 있습니다. 예를 들어, 다음 버전 1 SQS.sendMessage 파라미터는 다음을 수행할 수 있습니다.
var params = { MessageBody: 'Some Message', MessageAttributes: { attrName: { DataType: 'Binary', BinaryValue: new Buffer('example text').toString('base64') } } };
다음과 같이 다시 작성할 수 있습니다.
var params = { MessageBody: 'Some Message', MessageAttributes: { attrName: { DataType: 'Binary', BinaryValue: 'example text' } } };
메시지를 읽는 방법은 다음과 같습니다.
sqs.receiveMessage(params, function(err, data) { // buf is <Buffer 65 78 61 6d 70 6c 65 20 74 65 78 74> var buf = data.Messages[0].MessageAttributes.attrName.BinaryValue; console.log(buf.toString()); // "example text" });
response.data.RequestId를 response.requestId로 이동
이제 SDK는 response.data 속성 내부보다는 response 객체의 일관적인 장소에 모든 서버의 요청 ID를 저장합니다. 이렇게 하면 다양한 방식으로 요청 ID를 공개하는 서비스 전체에서 일관성을 향상할 수 있습니다. 또한 이 변경은 response.data.RequestId 속성의 이름을 response.requestId(콜백 함수 내부에서는 this.requestId)로 바꾸는 획기적인 변경입니다.
코드에서 다음을 변경합니다.
svc.operation(params, function (err, data) { console.log('Request ID:', data.RequestId); });
다음의 것들로 변경됩니다.
svc.operation(params, function () { console.log('Request ID:', this.requestId); });
노출된 래퍼 요소
AWS.ElastiCache, AWS.RDS 또는 AWS.Redshift를 사용하는 경우 일부 작업에 대한 응답으로 최상위 수준 출력 속성을 통해 응답에 액세스해야 합니다.
예를 들어, RDS.describeEngineDefaultParameters 메서드는 다음을 반환하는 데 사용됩니다.
{ Parameters: [ ... ] }
이제 다음을 반환합니다.
{ EngineDefaults: { Parameters: [ ... ] } }
각 서비스별로 영향을 받는 작업의 목록은 다음 표와 같습니다.
| 클라이언트 클래스 | 운영 |
|---|---|
|
|
|
|
|
|
삭제된 클라이언트 속성
.Client 및 .client 속성은 서비스 객체에서 제거되었습니다. 서비스 클래스에서 .Client 속성을 사용하거나 서비스 객체 인스턴스에서 .client 속성을 사용하는 경우 이러한 속성을 코드에서 제거하십시오.
SDK for JavaScript 버전 1에서 사용되는 코드:
var sts = new AWS.STS.Client(); // or var sts = new AWS.STS(); sts.client.operation(...);
다음 코드로 변경해야 합니다.
var sts = new AWS.STS(); sts.operation(...)