帮助我们改进AWS SDK for JavaScript版本 3 (V3) 文档,方法是使用反馈链接,或者在上创建议题或拉取请求GitHub
这些区域有:AWS SDK for JavaScriptV3 API 参考指南详细描述了所有的 API 操作AWS SDK for JavaScript版本 3 (V3)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建AWS资源
此应用程序需要以下资源:
AWS Identity and Access Management(IAM) 具有以下权限的未经身份验证的 Amazon Cognito 用户角色:
sns:Publish
dynamodb:PutItem
DynamoDB 表。
您可以在中手动创建这些资源AWS控制台,但我们建议使用AWS CloudFormation(AWS CloudFormation),如本教程中所述。
创建AWS资源使用AWS CloudFormation
AWS CloudFormation 让您能够以可预测、可重复的方式创建和预置 AWS 基础设施部署。有关 的更多信息AWS CloudFormation,请参阅AWS CloudFormation开发人员指南。.
创建AWS CloudFormation使用堆栈AWS CLI:
安装和配置AWS CLI按照中的说明进行进行操作AWS CLI用户指南.
创建一个名为的文件
setup.yaml
在项目文件夹的根目录中,复制内容此处处: GitHub放进去。 注意 这些区域有:AWS CloudFormation模板是使用AWS CDK可用此处处: GitHub
. 有关 AWS CDK 的更多信息,请参阅 AWS Cloud Development Kit (AWS CDK) 开发人员指南。 从命令行运行以下命令,同时将
STACK_NAME
使用唯一的堆栈名称,并且领域
在您的AWS区域。重要 堆栈名必须是唯一的AWS地区和AWSaccount. 您必须最多为 128 个字符,并且允许使用数字和连字符。
aws cloudformation create-stack --stack-name STACK_NAME --template-body file://setup.yaml --capabilities CAPABILITY_IAM --region REGION
有关
create-stack
命令参数,请参阅AWS CLI命令参考指南,以及AWS CloudFormation用户指南.要查看创建的资源,请打开AWS CloudFormation中的AWS管理控制台,选择堆栈,然后选择资源选项卡。
创建堆栈时,使用AWS SDK for JavaScript以填充 DynamoDB 表,如中所述填表.
填表
要填充表,请先创建一个名为的目录libs
,并在其中创建名为的文件dynamoClient.js
,然后将下面的内容粘贴到其中。Replace领域
用您的AWS区域。这将创建 DynamoDB 客户端对象。
import { CognitoIdentityClient } from "@aws-sdk/client-cognito-identity"; import { fromCognitoIdentityPool } from "@aws-sdk/credential-provider-cognito-identity"; import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; const REGION = "REGION"; const IDENTITY_POOL_ID = "IDENTITY_POOL_ID"; // An Amazon Cognito Identity Pool ID. // Create an Amazon DynaomDB service client object. const dynamoClient = new DynamoDBClient({ region: REGION, credentials: fromCognitoIdentityPool({ client: new CognitoIdentityClient({ region: REGION }), identityPoolId: IDENTITY_POOL_ID, }), }); export { dynamoClient };
此代码可用此处处: GitHub
接下来,创建dynamoAppHelperFiles
项目文件夹中的文件夹夹中,创建一个文件update-table.js
在里面,然后复制内容此处处: GitHub
// Import required AWS SDK clients and commands for Node.js import { PutItemCommand } from "@aws-sdk/client-dynamodb"; import { dynamoClient } from "../libs/dynamoClient.js"; // Set the parameters export const params = { TableName: "Items", Item: { id: { N: "1" }, title: { S: "aTitle" }, name: { S: "aName" }, body: { S: "aBody" }, }, }; export const run = async () => { try { const data = await dynamoClient.send(new PutItemCommand(params)); console.log("success"); console.log(data); } catch (err) { console.error(err); } }; run();
从命令行运行以下命令。
node update-table.js
此代码可用此处处: GitHub