创建AWS资源 - AWS SDK for JavaScript

帮助我们改进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:

  1. 安装和配置AWS CLI按照中的说明进行进行操作AWS CLI用户指南.

  2. 创建一个名为的文件setup.yaml在项目文件夹的根目录中,复制内容此处处: GitHub放进去。

    注意

    这些区域有:AWS CloudFormation模板是使用AWS CDK可用此处处: GitHub. 有关 AWS CDK 的更多信息,请参阅 AWS Cloud Development Kit (AWS CDK) 开发人员指南

  3. 从命令行运行以下命令,同时将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管理控制台,选择堆栈,然后选择资源选项卡。

  4. 创建堆栈时,使用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.