在AWS Lambda授权程序中使用DynamoDB的API密钥,可以按照以下最佳实践进行操作:
创建一个IAM角色:首先,创建一个IAM角色,给该角色分配适当的权限以访问DynamoDB资源。在IAM控制台中,创建一个新的角色,并将其附加到Lambda函数。
添加DynamoDB权限:在IAM角色中,添加DynamoDB的权限策略,以便Lambda函数可以访问DynamoDB资源。以下是一个示例的权限策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dynamodb:GetItem",
"dynamodb:PutItem",
"dynamodb:UpdateItem",
"dynamodb:DeleteItem",
"dynamodb:Scan",
"dynamodb:Query"
],
"Resource": "arn:aws:dynamodb:region:account-id:table/table-name"
}
]
}
请注意,将上述权限策略中的"region"替换为实际的区域,"account-id"替换为您的AWS账号ID,"table-name"替换为您要访问的DynamoDB表的名称。
const AWS = require('aws-sdk');
const dynamoDB = new AWS.DynamoDB();
exports.handler = async (event) => {
const params = {
TableName: 'table-name',
Key: {
id: { S: 'item-id' }
}
};
try {
const data = await dynamoDB.getItem(params).promise();
console.log(data);
return data;
} catch (error) {
console.error(error);
throw error;
}
};
请注意,将上述代码中的"table-name"替换为您要访问的DynamoDB表的名称,"item-id"替换为要检索的项目的ID。
部署Lambda函数:将Lambda函数打包并部署到AWS Lambda中。在Lambda函数的配置中,确保将前面创建的IAM角色与函数关联起来。
测试Lambda函数:在Lambda函数的配置中,您可以使用测试事件来测试函数是否能够成功访问DynamoDB资源。可以使用控制台或AWS CLI发送测试事件。
这些步骤将帮助您在AWS Lambda授权程序中使用DynamoDB的API密钥。根据您的具体需求,您可以根据示例代码进行修改和扩展。