在将 AWS SDK V2 迁移到 V3 时,需要进行一些更改。下面是一些可以帮助完成此迁移的技术性具体解决方案:
Node.js 中可以通过以下方式加载 AWS SDK V3:
const AWS = require('aws-sdk');
AWS SDK V3 中的许多方法都已更改。例如:
V2:
var dynamodb = new AWS.DynamoDB();
dynamodb.listTables(params, function(err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful response });
V3:
const { DynamoDBClient, ListTablesCommand } = require("@aws-sdk/client-dynamodb");
const client = new DynamoDBClient({ region: "us-west-2" }); const command = new ListTablesCommand({});
client.send(command).then((data) => console.log(data.TableNames)).catch((error) => console.log(error));
V2:
dynamodb.getItem({ TableName: 'Table-Name', Key: {'hash_key':{'S':'hash_key_value'}} }, function(err, data) { if (err) console.error(err); console.log(data); });
V3:
const { DynamoDBClient, GetItemCommand } = require("@aws-sdk/client-dynamodb");
const client = new DynamoDBClient({ region: "us-west-2" }); const command = new GetItemCommand({ TableName: "Table-Name", Key: { "hash_key": { S: "hash_key_value" } } });
client.send(command).then((data) => console.log(data)).catch((error) => console.log(error));
以上是一些 AWS SDK V3 迁移过程中的解决方案和相应的代码示例。