Aws lambda 带有AWS API网关的自定义Slack命令-500_服务_错误

Aws lambda 带有AWS API网关的自定义Slack命令-500_服务_错误,aws-lambda,aws-api-gateway,slack,slack-api,Aws Lambda,Aws Api Gateway,Slack,Slack Api,我想开发一个自定义Slack命令,通过API网关从AmazonLambda返回响应。一切都进行得很顺利,突然我没有回来就不能打电话了 'Darn - that slash command didn't work (error message: `500_service_error` 通过Curl,响应状态为“200”,我仍然正确地接收到lambda的json响应 你知道这个bug的潜在来源吗? 是否有任何方法可以调试自定义应用程序的松弛? 谢谢这听起来像是你应用程序中的一个问题。如果您想测试您

我想开发一个自定义Slack命令,通过API网关从AmazonLambda返回响应。一切都进行得很顺利,突然我没有回来就不能打电话了

'Darn - that slash command didn't work (error message: `500_service_error`
通过Curl,响应状态为“200”,我仍然正确地接收到lambda的json响应

你知道这个bug的潜在来源吗? 是否有任何方法可以调试自定义应用程序的松弛?
谢谢

这听起来像是你应用程序中的一个问题。如果您想测试您的应用程序,您可以在调用命令时模拟POST请求Slack发送

这可以通过一个简单的HTML表单来完成,或者如果您想要更高级的东西或使用。Hull是一个网页,postman是一个桌面应用程序。两者都允许您向任何URL发送自定义GET和POST请求。Postman是允许结构化测试的更高级的解决方案

请参阅下面的示例,了解Slack对来自的斜杠命令的POST请求。显然,您需要调整它以适应您的配置

token=gIkuvaNzQIHg97ATvDxqgjtO
team_id=T0001
team_domain=example
enterprise_id=E0001
enterprise_name=Globular%20Construct%20Inc
channel_id=C2147483705
channel_name=test
user_id=U2147483697
user_name=Steve
command=/weather
text=94070
response_url=https://hooks.slack.com/commands/1234/5678

至于你的另一点。如果你想在具体问题上获得具体帮助,你需要发布代码。

这听起来像是你应用程序中的一个问题。如果您想测试您的应用程序,您可以在调用命令时模拟POST请求Slack发送

这可以通过一个简单的HTML表单来完成,或者如果您想要更高级的东西或使用。Hull是一个网页,postman是一个桌面应用程序。两者都允许您向任何URL发送自定义GET和POST请求。Postman是允许结构化测试的更高级的解决方案

请参阅下面的示例,了解Slack对来自的斜杠命令的POST请求。显然,您需要调整它以适应您的配置

token=gIkuvaNzQIHg97ATvDxqgjtO
team_id=T0001
team_domain=example
enterprise_id=E0001
enterprise_name=Globular%20Construct%20Inc
channel_id=C2147483705
channel_name=test
user_id=U2147483697
user_name=Steve
command=/weather
text=94070
response_url=https://hooks.slack.com/commands/1234/5678

至于你的另一点。如果您想在具体问题上获得具体帮助,您需要发布代码。

我已经与Slack团队讨论过,他们可以为您检查他们的内部日志:

不幸的是,我们没有可供开发人员使用的调试控制台 刚刚

我可以确认Slack在以下情况下接收到500服务器错误: 连接到斜杠命令端点。不幸的是我没有 真的有我们这边的更多信息吗

真正的问题是在API网关级别将调用体从表单转换为json。Slack正在发送一个表单体,该表单体必须为lamda转换为json。我是沿着这条线索走的:

但根据Slack发送的信息,它有时可能会因某些参数字符而中断 我已经更新了AWS模板以修复API网关问题 将来最好有Slack特性的日志,用JSON负载代替表单,同时直接启用API网关的Cloudwatch日志,以检查随机bug:


谢谢

我已经与Slack团队讨论过,他们可以为您检查他们的内部日志:

不幸的是,我们没有可供开发人员使用的调试控制台 刚刚

我可以确认Slack在以下情况下接收到500服务器错误: 连接到斜杠命令端点。不幸的是我没有 真的有我们这边的更多信息吗

真正的问题是在API网关级别将调用体从表单转换为json。Slack正在发送一个表单体,该表单体必须为lamda转换为json。我是沿着这条线索走的:

但根据Slack发送的信息,它有时可能会因某些参数字符而中断 我已经更新了AWS模板以修复API网关问题 将来最好有Slack特性的日志,用JSON负载代替表单,同时直接启用API网关的Cloudwatch日志,以检查随机bug:


谢谢

或者Curl也很有效:我正在与Slack团队讨论。返回字符串时它正在工作。我在我的应用程序的Slack配置控制台中更改了一些内容,因此在理解后,我将在这里发布解决方案的详细信息。谢谢你的帮助。我的回答如下,我也编辑了我的问题,以防其他人需要。itOr Curl也运行良好:我正在与Slack团队讨论。返回字符串时它正在工作。我在我的应用程序的Slack配置控制台中更改了一些内容,因此在理解后,我将在这里发布解决方案的详细信息。谢谢你的帮助。下面是我的答案,我也编辑了我的问题,以防其他人需要。谢谢你发布你与Slack支持团队针对你的具体问题制定的解决方案。但在Slack上没有调试功能的情况下,当前唯一可用的调试选项是使用我在回答中描述的方法模拟对应用程序的Slack请求。感谢您发布您与Slack支持团队针对特定问题制定的解决方案。但是在没有调试f的情况下 eature on Slack当前唯一可用的调试选项是使用我在回答中描述的方法模拟对应用程序的Slack请求。