amazon-web-services - 访问 lambda (Python) 代码中的 AWS 阶跃函数错误
问题描述
我使用此链接在 AWS step 函数中的状态的“catch”块中包含先前的状态和错误详细信息: https ://docs.aws.amazon.com/step-functions/latest/dg/input-output- resultpath.html#input-output-resultpath-catch
而且我可以同时看到它们,但是如何访问下一步指向的 lambda 函数中的错误详细信息?
我可以使用 event['Input'] 获取上一步输入,但错误不可用。任何帮助深表感谢。
解决方案
由于您不能共享您的状态机,我假设您只是想将错误消息传递给下一步(如 lambda 等)。
{
"Comment": "A Catch example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "arn:aws:lambda:eu-central-1:123456789:function:mytestfunction",
"Catch": [
{
"ErrorEquals": ["States.TaskFailed"],
"Next": "ReservedTypeFallback"
}
],
"End": true
},
"ReservedTypeFallback": {
"Type": "Task",
"Resource": "arn:aws:lambda:eu-central-1:123456789:function:catcherror",
"End": true
}
}
}
上面的状态机是这样的
mytestfunction lambda 产生的错误被传递到下一步ReservedTypeFallback
下面是catcherror lambda的代码
def lambda_handler(event, context):
print(event)
error_message = event.get('Cause')
print(f'just printing the failure cause of earlier lambda {error_message}')
推荐阅读
- google-sheets - 每当任何列中的值发生变化时,我将如何交替行颜色?
- angular - observable 不允许访问实例成员变量
- c# - 如何将值和文本绑定到属性网格中存在的下拉列表(组合框)?
- apache-spark - 在 Pyspark 2.4 中使用 StructType 验证列的模式
- docker - Docker 本地注册表尝试将图像推送到 docker.io
- asp.net-mvc - 服务器注销时 SmtpClient 未连接(错误代码:10060)
- angular - 无法以角度将值附加到 formdata
- asp.net - 如何在 Asp.Net 中实现多重搜索
- elasticsearch - `constant_score + filter` 和 `term` 查询有什么区别?
- wordpress - Woocommerce 变体 - 色板组