Slack Slash 命令和 API 网关集成
Slack Slash Command and API Gateway Integration
我已经设置了一个 Slack 斜杠命令,它触发了一个 API 网关,该网关反过来执行我的 AWS Lambda。
斜线命令目前有效,但我无法在我的 AWS lambda 中检索事件。
我已经按照这个 link 了解如何集成我的 API 网关以接受来自斜杠命令的非 json 有效载荷,但是现在当我发送一个斜杠命令时,例如 /helloworld trigger
AWS lambda 的事件是这样返回的:
{'postBody': 'token=CGH9VQ5Gop...&team_id=...&team_domain=...&channel_id=...&channel_name=...&user_id=U01R5QXP61Z&...}
这是我的 AWS Lambda 的代码,就这么简单:
def lambda_handler(event, context):
return str(event)
有人可以帮忙吗?
因此,使用集成方法,您会收到大量其他信息 - 来自 API 网关的所有 JSON 信息,以及来自 slack webhook 的所有 json 信息。鉴于我在您的回复中看到的内容,似乎来自 Slack 的频道信息和此类信息正在 returned。
因为你似乎想要 return 就是你在 trigger
中输入的任何内容,那么你需要知道 json 下的 Key 是什么 slack webhook 是正在发送。
如果您无法在 Slack API 文档中找到那个 json 的架构,那么您可以只记录该事件并在 cloudwatch 中查看它,看看到底出现了什么。然后,您可以像操作代码中的任何 json 对象一样操作该 json,并从中获取您想要的各种键。
我已经设置了一个 Slack 斜杠命令,它触发了一个 API 网关,该网关反过来执行我的 AWS Lambda。
斜线命令目前有效,但我无法在我的 AWS lambda 中检索事件。
我已经按照这个 link 了解如何集成我的 API 网关以接受来自斜杠命令的非 json 有效载荷,但是现在当我发送一个斜杠命令时,例如 /helloworld trigger
AWS lambda 的事件是这样返回的:
{'postBody': 'token=CGH9VQ5Gop...&team_id=...&team_domain=...&channel_id=...&channel_name=...&user_id=U01R5QXP61Z&...}
这是我的 AWS Lambda 的代码,就这么简单:
def lambda_handler(event, context):
return str(event)
有人可以帮忙吗?
因此,使用集成方法,您会收到大量其他信息 - 来自 API 网关的所有 JSON 信息,以及来自 slack webhook 的所有 json 信息。鉴于我在您的回复中看到的内容,似乎来自 Slack 的频道信息和此类信息正在 returned。
因为你似乎想要 return 就是你在 trigger
中输入的任何内容,那么你需要知道 json 下的 Key 是什么 slack webhook 是正在发送。
如果您无法在 Slack API 文档中找到那个 json 的架构,那么您可以只记录该事件并在 cloudwatch 中查看它,看看到底出现了什么。然后,您可以像操作代码中的任何 json 对象一样操作该 json,并从中获取您想要的各种键。