创建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资源

本主题是演示如何通过 Amazon 调用 Lambda 函数的教程的一部分。CloudWatch使用计划的事件AWS SDK for JavaScript. 要开始使用本教程,请参阅创建要执行的计划事件AWS Lambda功能

本教程需要以下资源。

  • 名为的 Amazon DynamoDB 表员工有名为的钥匙Id以及上图中显示的字段。确保输入正确的数据,包括要测试此用例的有效移动电话。有关更多信息,请参阅 。创建表.

  • 具有执行 Lambda 函数的附加权限的 IAM 角色。

  • 用于托管 Lambda 函数的 Amazon S3 存储桶。

您可以手动创建这些资源,但我们建议使用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地区和AWSaccount. 您最多可指定 128 个字符,并允许使用数字和连字符。

    aws cloudformation create-stack --stack-name STACK_NAME --template-body file://setup.yaml --capabilities CAPABILITY_IAM

    有关create-stack命令参数,请参阅AWS CLI指令参考指南,以及AWS CloudFormation用户指南.

    在控制台中打开堆栈,查看控制台中的资源列表AWS CloudFormation仪表板,然后选择资源选项卡。教程中你需要这些。

  4. 创建堆栈时,请使用AWS SDK for JavaScript填充 DynamoDB 表格,如中所述填充 DynamoDB 表.

填充 DynamoDB 表

要填充表格,首先创建一个名为libs,并在其中创建一个名为的文件dynamoClient.js,然后将下面的内容粘贴到其中。

const { DynamoDBClient } = require( "@aws-sdk/client-dynamodb" ); // Set the AWS Region. const REGION = "REGION"; // e.g. "us-east-1" // Create an Amazon DynamodDB service client object. const dynamoClient = new DynamoDBClient({region:REGION}); module.exports = { dynamoClient };

这个代码是可用的此处GitHub.

接下来,创建一个名为的文件populate-table.js在项目文件夹的根目录中,复制内容此处GitHub进入它。对于其中一件商品,请替换phone具有 E.164 格式的有效移动电话号码的属性以及startDate随着今天的日期。

从命令行运行以下命令。

node populate-table.js
const { BatchWriteItemCommand } = require( "aws-sdk/client-dynamodb" ); const {dynamoClient} = require( "./libs/dynamoClient" ); // Set the parameters. const params = { RequestItems: { Employees: [ { PutRequest: { Item: { id: { N: "1" }, firstName: { S: "Bob" }, phone: { N: "155555555555654" }, startDate: { S: "2019-12-20" }, }, }, }, { PutRequest: { Item: { id: { N: "2" }, firstName: { S: "Xing" }, phone: { N: "155555555555653" }, startDate: { S: "2019-12-17" }, }, }, }, { PutRequest: { Item: { id: { N: "55" }, firstName: { S: "Harriette" }, phone: { N: "155555555555652" }, startDate: { S: "2019-12-19" }, }, }, }, ], }, }; export const run = async () => { try { const data = await dbclient.send(new BatchWriteItemCommand(params)); console.log("Success", data); } catch (err) { console.log("Error", err); } }; run();

这个代码是可用的此处GitHub.