我有一个CDK堆栈,它创建了λ和SNS主题。这些策略设置为允许lambda发布到SNS主题。
我很难在我的lambda运行时代码中指定主题ARN,因为它在技术上还没有创建,只是在堆栈中。
如何在Lambda代码中引用主题ARN,以便Lambda发布到该主题?Lambda是用python编写的。我正在使用fromAsset
方法(https://docs.aws.amazon.com/cdk/api/latest/docs/aws-lambda-readme.html)在堆栈中指定lambda运行时代码。
sns = boto3.client('sns')
responce = sns.publish(
TopicArn="arn would go here --- not sure what to put here w/ no arn",
Message="my_message"
)
除了@jogold的回答之外,环境变量可以通过使用创建的SNS的arn在cdk中创建。它看起来会像下面一样,
{"topic_arn":sns_topic.topicArn}
topic_arn是环境变量的名称
您可以将主题ARN作为环境变量传递到Lambda中
topic = sns.Topic(self, "MyTopic")
lambda.Function(
self, "MyLambda",
...,
environment={'TOPIC_ARN': topic.topic_arn}
)
然后在运行时代码中使用它:
sns = boto3.client('sns')
responce = sns.publish(
TopicArn=os.environ.get('TOPIC_ARN'),
Message="my message"
)
我的用例是: 我想为现有S3存储桶的PUT事件执行一个lambda函数。 问题是,在CloudForm或CDK中,您不能为现有存储桶添加通知,只能为已创建的存储桶添加通知。 为了解决这个问题,我尝试使用一个自定义资源,将Lambda函数添加到putda通知中。我在CloudFormation中工作得很好,但我现在正尝试使用CDK来做类似的事情。 为了模拟我在Cloud形成中拥有的内容,我需要在现有
问题内容: 在这里,我有点茫然。我一直在看到这些中的数量稳定增长。我怀疑随着Droid所有者2.2升级的增加而增加的共谋杀人事件,尽管这只是一个猜测。我自己从未见过崩溃,而且市场提供的堆栈跟踪没有提及我编写的任何类。因此,我不知道从哪里开始解决问题。 因为我不知道原因,所以我也不知道要提供什么信息来帮助诊断,所以我给大家一个概括:我的应用程序是WootWatcher。它跟踪Woot.com并将新的
我有一个lambda函数,它读取Dynamodb流。我已将Dynamodb流ARN从同一AWS帐户中的另一个堆栈导出。现在,在Lambda中添加eventSource时,它从表构造中请求。 裁判:https://awslabs.github.io/aws-cdk/refs/_aws-cdk_aws-lambda-event-sources.html#dynamodb-溪流 但是我有一条小溪。是否有
我正在尝试调试一个棘手的核心转储(从一个-O2优化的二进制)。 被调用函数寄存器信息 : 问题是,在被调用的函数中,函数似乎没有实现任何功能。因此,我们想知道在被调用函数的反汇编中,是否看到指针被任何地方使用(被调用函数中的寄存器r12)。 我确实在一定程度上了解程序集,但所有这些代码内联让我感到困惑。 希望在取消被调用的函数反汇编方面得到一些帮助。 update: add_data在下面执行以下
我有3个独立的堆栈(都在同一个帐户和区域) he AuthStack通过lambda post-confirmation trigger lambda函数进行身份验证,并向EventsBusStack发送一个新的用户事件对象 EventBusStack通过后确认lambda接收newUser对象 然而,使用CDK,我似乎无法找到一种方法来定位位于第三个堆栈中的lambda函数,即RewardsSt
根据以下链接,java堆栈框架包含本地变量、操作数堆栈和当前类常量池引用。http://blog.jamesdbloom.com/JVMInternals.html 同样来自Oracle“JVM结构”第2.6节。3.“动态链接-每个帧(§2.6)包含对当前方法类型的运行时常量池(§2.5.5)的引用,以支持方法代码的动态链接。” 我还读到堆中的对象也有一个指向类数据的指针/引用。https://w