Abbiamo annunciato
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Aggiornamento dell'SDK dalla versione 1 JavaScript
Le seguenti note ti aiutano ad aggiornare l'SDK JavaScript dalla versione 1 alla versione 2.
Conversione automatica dei tipi base64 e timestamp su input/output
L'SDK ora codifica e decodifica automaticamente i valori con codifica base64, nonché i valori timestamp, per conto dell'utente. Questa modifica interessa qualsiasi operazione in cui valori base64 o timestamp sono stati inviati tramite una richiesta o restituiti in una risposta che consente valori con codifica base64.
Il codice utente precedentemente convertito in base64 non è più necessario. I valori codificati come base64 vengono ora restituiti come buffer di oggetti da risposte del server e possono anche essere passati come buffer in entrata, Ad esempio, i seguenti parametri SQS.sendMessage
della versione 1:
var params = { MessageBody: '
Some Message
', MessageAttributes: { attrName: { DataType: 'Binary', BinaryValue: new Buffer('example text
').toString('base64') } } };
Possono essere riscritti come segue.
var params = { MessageBody: '
Some Message
', MessageAttributes: { attrName: { DataType: 'Binary', BinaryValue: 'example text
' } } };
Ecco come viene letto il messaggio.
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 spostato. RequestId a Response.requestId
L'SDK ora archivia gli ID di richiesta per tutti i servizi in una posizione coerente nell'oggetto response
, anziché all'interno della proprietà response.data
. Ciò migliora la coerenza tra i servizi che espongono gli ID di richiesta in modi diversi. Si tratta inoltre di una modifica di rilievo che rinomina la proprietà response.data.RequestId
in response.requestId
(this.requestId
all'interno di una funzione di callback).
Nel tuo codice, modifica quanto segue:
svc.operation(params, function (err, data) { console.log('Request ID:', data.RequestId); });
alla seguente:
svc.operation(params, function () { console.log('Request ID:', this.requestId); });
Elementi wrapper esposti
Se utilizzi AWS.ElastiCache
, AWS.RDS
o AWS.Redshift
, per alcune operazioni devi accedere alla risposta tramite la proprietà di output di livello superiore della risposta.
Ad esempio, il metodo RDS.describeEngineDefaultParameters
utilizzato per restituire quanto segue.
{ Parameters: [ ... ] }
Ora restituisce il codice seguente.
{ EngineDefaults: { Parameters: [ ... ] } }
L'elenco delle operazioni interessate per ciascun servizio è riportato nella seguente tabella.
Classe client | Operazioni |
---|---|
|
|
|
|
|
|
Proprietà client interrotte
Le proprietà .Client
e .client
sono state rimosse dagli oggetti di servizio. Se utilizzi la proprietà .Client
su una classe di servizio o una proprietà .client
su un'istanza dell'oggetto di servizio, rimuovi queste proprietà dal tuo codice.
Il codice seguente utilizzato con la versione 1 dell'SDK per: JavaScript
var sts = new AWS.STS.Client(); // or var sts = new AWS.STS(); sts.client.operation(...);
Dovrebbe essere modificato come segue.
var sts = new AWS.STS(); sts.operation(...)