首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于运行AWS Lambda并获得响应的交互式松弛bot

用于运行AWS Lambda并获得响应的交互式松弛bot
EN

Stack Overflow用户
提问于 2022-01-04 13:59:47
回答 1查看 170关注 0票数 0

我有一个AWS函数,当提供域名作为输入/有效负载时,它会创建一些route53记录。它在大约6分钟内完成&只需要一个输入,即“域名”。

我试着使用AWS ChatOps以空闲方式运行这个函数,但是看起来ChatOps不能运行超过15秒的函数。我正在尝试的是创建某种松懈的机器人,它将请求输入/域名,然后运行所需的lambda函数。在此之后,不管函数是否成功完成,它都应该提供输出。

例如,让我们说这个任务的空闲的bot名称是"Lambda“,下面是一个示例对话。

@Lambda-Runner

代码语言:javascript
复制
-Please type the domain that you want to create route53 records for
* xyz.com (Input from user)
- Processing
- Route53 records has been created for the provided domain

有没有人做过这类工作,或有什么建议,我应该在哪里寻找这些?谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-01-04 17:07:10

首先,从AWS运行AWS命令的最大超时是15秒

如果有较长时间运行的作业,则应异步调用它们。对于lambda,可以实现将标志调用-type设置为'Event':

代码语言:javascript
复制
aws lambda invoke --invocation-type Event --function-name my_function_name --region us-east-1 --payload "{}" --cli-binary-format raw-in-base64-out response.json

异步调用函数时,不需要等待函数代码的响应。你把事件交给Lambda,Lambda处理剩下的事情。

因此,应该在lambda结束执行时通知用户,而不是等待响应。您可以在lambda函数中添加逻辑,将消息(指示是否成功创建route53记录)发布到订阅的SNS主题中。这样,在将消息发布到SNS之后,它将显示为向用户发送的Slack消息。

另一个选择是为异步调用配置目标。通过这种方式,您不需要在代码中添加SNS:Publish。它是通过lambda配置完成的,管理员将核心逻辑与配置解耦。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70579930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档