【发布时间】:2021-05-29 20:38:08
【问题描述】:
我正在尝试设置一个 lambda 来接收 dynamo dB 流并将这些数据库更改发布到 sns 主题。我不确定如何使用 cdk 将消息从 lambda 发布到我的主题。有这方面的例子吗?
【问题讨论】:
标签: typescript amazon-web-services aws-lambda aws-cdk
我正在尝试设置一个 lambda 来接收 dynamo dB 流并将这些数据库更改发布到 sns 主题。我不确定如何使用 cdk 将消息从 lambda 发布到我的主题。有这方面的例子吗?
【问题讨论】:
标签: typescript amazon-web-services aws-lambda aws-cdk
aws-cdk 用于创建 AWS 资源。换句话说,您使用它来创建 AWS Labmda、Dynamo DB 表、SNS 主题。但是,一旦创建了这些资源,就很少使用 CDK 对其进行操作。
要在您的 Lambda 中向 SNS 发送消息,请参阅适用于您选择的运行时的 AWS 开发工具包文档。例如,如果您决定在 node.js 中编写您的 lambda,您可以参考 AWS SDK for node.js。
这就是您的 lambda 代码的样子:
import { SNS } from "aws-sdk";
const sns = new SNS();
export const handler = async function(event){
const params = {
Message: JSON.stringify({ some: 'payload' }),
// it is easy to pass reference to the topic as environment variable using aws cdk
TopicArn: process.env.SOME_TOPIC_ARN
};
await sns.publish(params).promise()
}
【讨论】: