我用戈朗写了拉姆达。Lambda 执行一些操作并调用阶跃函数。我在代码中硬编码了步骤函数 ARN。我不喜欢这个解决方案,并希望改进它。它现在是如何工作的:arn := aws.String(sfnArn) // e.g: arn:aws:states:us-east-1:123:stateMachine:machine-nameparams := &sfn.StartExecutionInput{Input: input, Name: name, StateMachineArn: arn}output, err := client.StartExecution(params)任何想法如何改进它?我正在使用泰拉形态,所以也许有任何选项可以通过TF传递ARN?
1 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
有很多选项可以解决此问题。因此,我将说出我脑海中浮现的那一次,重点是利用AWS服务。
SSM:将步进函数的 ARN 保存在 SSM 参数存储中,并在您的 Lambda 使用 ssm 运行时读取此参数。获取参数() API.
Lambda 环境变量:您可以将 ARN 设置为您的 Lambda 的环境变量并使用操作系统。GetEnv() 或 os.LookupEnv().
资源标签:您可以为 Step 函数指定一个唯一的标签,然后使用资源组标记api。获取资源() API 以获取步骤函数,然后从代码中的该资源读取 ARN。
显然还有一百万多种选择。您可以从 S3 或 EFS 读取配置文件,或者将静态配置文件与您的 Lambda 捆绑在一起,或者查询基于 HTTP 的 API 来读取该值。
添加回答
举报
0/150
提交
取消