首页 > 解决方案 > 是否有任何 cdk typescript 示例将 lambda 发布到 sns 主题?

问题描述

我正在尝试设置一个 lambda 来接收 dynamo dB 流并将这些数据库更改发布到 sns 主题。我不确定如何使用 cdk 将来自 lambda 的消息发布到我的主题。有这方面的例子吗?

标签: typescriptamazon-web-servicesaws-lambdaaws-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()
}

推荐阅读