gpt4 book ai didi

amazon-web-services - 如何从 EventBridge 规则定义步骤函数执行名称?

转载 作者:行者123 更新时间:2023-12-03 07:10:30 29 4
gpt4 key购买 nike

我正在使用 EventBridge 来触发步骤函数。 CloudFormation 模板中的 EventBridge 规则如下所示:

 JobStepFunctionTrigger:
Type: AWS::Events::Rule
Properties:
EventBusName: !GetAtt JobTaskEventBus.Name
Name: !Sub ${DeploymentName}-new-job-created
State: ENABLED
EventPattern:
source:
- !Sub ${DeploymentName}-my-service
detail-type:
- 'NEW_JOB'
Targets:
- Arn: !GetAtt JobOrchestrator.Arn
Id: !GetAtt JobOrchestrator.Name
RoleArn: !Ref MyAwesomeRole

不幸的是,在这种情况下,步骤函数“执行名称”是随机生成的,因此很难将特定事件链接到特定步骤函数执行。在我的事件中,我有一个属性 $.detail.id$.detail.state 我希望能够使用它们来发出步骤函数执行名称格式 ${detail.id}_${detail.state}_someRandomValueToGuaranteeNameUniqueness,但读取 the docs about the rule targets我不明白这是如何工作的...

最佳答案

这在今天是不可能的。最简单的解决方法是重定向到已知的 API 网关端点[1],然后使用 API 网关的转换来触发正确的步骤函数[2]。

我对 API/GW 转换如何工作的了解有限,因此个人更喜欢使用 lambda 来调用正确的步骤函数。这也可能是您的备份选项。

[1] https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-gateway-target.html

[2] https://docs.aws.amazon.com/apigateway/latest/developerguide/rest-api-data-transformations.html

关于amazon-web-services - 如何从 EventBridge 规则定义步骤函数执行名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64459069/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com