gpt4 book ai didi

amazon-web-services - 无服务器云信息 : cast environment variable to number

转载 作者:行者123 更新时间:2023-12-03 07:39:17 24 4
gpt4 key购买 nike

我正在使用serverless step functions plugin ,我需要从环境变量指定超时。问题是我不知道如何将其转换为数字(Cloudformation 在运行时预期),我没有找到任何辅助函数来执行此操作:

serverless.yml

stepFunctions:
stateMachines:
MyStateMachine:
name: 'MyStateMachine'
definition:
Comment: ''
StartAt: Worker
States:
Worker:
Type: Task
Resource: arn:aws:states:::ecs:runTask.waitForTaskToken
InputPath: $
ResultPath: $
OutputPath: $
TimeoutSeconds: ${env:TIMEOUT_SECONDS} # Need this to be casted to a number
Parameters:
# ...
Catch:
- ErrorEquals: ["States.ALL"]
Next: Failure
Next: Success

Failure:
Type: Fail

Success:
Type: Succeed

最佳答案

使用Cloudformation,您可以在Cloudformation 文件顶部声明一个参数

将参数值默认为环境变量

     Parameters:
TimeoutSecs:
Description: The specified timeout from an environment
Type: Number
Timeout: "60"
Default: ${{ env:TIMEOUT_SECONDS} }

根据文档将Type定义为数字来自 AWS Cloudformation Docs

数字整数或 float 。 AWS CloudFormation 将参数值验证为数字;但是,当您在模板中的其他位置使用该参数时(例如,通过使用 Ref 内部函数),参数值将变为字符串。

例如,用户可以指定“8888”。

列表由逗号分隔的整数或 float 组成的数组。 AWS CloudFormation 将参数值验证为数字;但是,当您在模板中的其他位置使用该参数时(例如,通过使用 Ref 内部函数),参数值将变为字符串列表。

例如,用户可以指定 "80,20",而 Ref 将生成 ["80","20"]

关于amazon-web-services - 无服务器云信息 : cast environment variable to number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74039449/

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