Anunciamos
Atualização da versão 1 do SDK para JavaScript
As notas a seguir ajudam você a atualizar o SDK para JavaScript da versão 1 para a versão 2.
Conversão automática dos tipos Base64 e Timestamp Types na entrada/saída
O SDK agora codifica e decodifica automaticamente os valores codificados em base64, bem como valores de timestamp, em nome do usuário. Essa alteração afeta qualquer operação em que os valores de base64 ou timestamp foram enviados por uma solicitação ou retornados em uma resposta que permite valores codificados em base64.
O código do usuário que converteu previamente base64 não é mais necessário. Os valores codificados como base64 agora são apresentados como objetos de buffer de respostas do servidor e também podem ser passados como entrada do buffer. Por exemplo, os seguintes parâmetros SQS.sendMessage
da versão 1:
var params = { MessageBody: '
Some Message
', MessageAttributes: { attrName: { DataType: 'Binary', BinaryValue: new Buffer('example text
').toString('base64') } } };
Podem ser reescritos da forma a seguir.
var params = { MessageBody: '
Some Message
', MessageAttributes: { attrName: { DataType: 'Binary', BinaryValue: 'example text
' } } };
Veja como a mensagem é lida.
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 transferido para response.requestId
O SDK agora armazena IDs de solicitação para todos os serviços em um único lugar do objeto response
, em vez de dentro da propriedade response.data
. Isso melhora a consistência entre serviços que expõem IDs de solicitação de diferentes formas. Isso também é uma alteração inovadora que renomeia a propriedade response.data.RequestId
para response.requestId
(this.requestId
dentro de uma função de retorno de chamada).
No seu código, altere o seguinte:
svc.operation(params, function (err, data) { console.log('Request ID:', data.RequestId); });
Para o seguinte:
svc.operation(params, function () { console.log('Request ID:', this.requestId); });
Elementos expostos do Wrapper
Se você usar AWS.ElastiCache
, AWS.RDS
ou AWS.Redshift
, deve acessar a resposta por meio da propriedade de saída de nível superior na resposta para algumas operações.
Por exemplo, o método RDS.describeEngineDefaultParameters
usado para retornar o seguinte:
{ Parameters: [ ... ] }
Agora retorna o seguinte:
{ EngineDefaults: { Parameters: [ ... ] } }
A lista de operações afetadas para cada serviço é exibida na tabela a seguir.
Classe do cliente | Operações |
---|---|
|
|
|
|
|
|
Propriedades do cliente eliminadas
As propriedades .client
e .Client
foram removidos dos objetos de serviço. Se você usar a propriedade .Client
em uma classe de serviço ou uma propriedade .client
na instância de um objeto de serviço, remova essas propriedades do seu código.
O código a seguir usado com a versão 1 do SDK para JavaScript:
var sts = new AWS.STS.Client(); // or var sts = new AWS.STS(); sts.client.operation(...);
Deve ser alterado para o código a seguir:
var sts = new AWS.STS(); sts.operation(...)