곧 AWS SDK for JavaScript(v2)에 대한 지원이 종료될 예정임을 알려드립니다
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(...)