Resources:
Function:
Type: AWS::Serverless::Function
Properties:
Environment:
Variables:
SECRET_KEY: !Sub '{{resolve:secretsmanager:${Secret}:SecretString:KEY}}'
Secret:
Type: AWS::SecretsManager::Secret
Properties:
Name: 'very-secret-thing'
SecretString: '{"KEY":"dummy"}'
因此,在AWS控制台中设置了实际的秘密之后,我需要触发Lambda函数的重新部署,以便新的秘密值将由CloudFormation解析并在函数的环境中设置。我该怎么做?
执行AWS cloudformation Deploy
失败,消息为:没有要部署的更改。
我怀疑CloudFormation正在将模板的“原始”版本与上次部署的版本进行比较,而没有首先解析对Secrets Manager的引用。是这样吗?有没有什么诀窍可以迫使更早地取消交易?
脚注:我很清楚,以这种方式使用Secrets Manager将导致secret值在AWS Lambda控制台中可见,并且在运行时从Secrets Manager获取值将是更安全的方法。这恰好超出了我希望做的范围。
您可以人为地更改AWS::Serverless::Function
资源上的其他内容,以强制其在部署时更新。
例如,一个时间戳:
Parameters:
DeployTimestamp: { Type: String }
Resources:
Function:
Type: AWS::Serverless::Function
Properties:
Environment:
Variables:
SECRET_KEY: !Sub '{{resolve:secretsmanager:${Secret}:SecretString:KEY}}'
SECRET_KEY_UPDATED: !Ref DeployTimestamp
假设您从脚本进行部署,那么您将执行类似AWS cloudformation deploy--parameter-overrides“deploytimestamp=$(date)”
的操作,以便每次更改值。
我正在尝试制作一个正则表达式字符串,从报告文件中提取数据。棘手的部分是我需要这个单一的正则表达式字符串来匹配多种报告文件内容格式。我希望正则表达式始终匹配,即使没有找到一些可选的组。 取以下报告文件内容(注意:#2 缺少“val2”部分): 文件#1:“-val1-test-val2-的结果-val3-做-” 预期结果: Val1组:测试 Val2组:结果 Val3组:完成 < li >预期结果:
问题内容: 有没有人有办法从命令行在Firefox上强制刷新页面? 问题答案: 您可以使用xdotool进行自动化。在Ubuntu上安装 然后,您可以搜索窗口并发送键或鼠标事件,请参阅完整文档。在开发过程中,我在Ubuntu 10.04 LTS上使用以下脚本: 另请参见xdotool项目站点 和我的完整博客文章。
问题内容: 我有这个领域的映射 我正在使用此过滤器查询文档: 这可以工作并返回文档,但是结果以不同的格式显示时间字段: 是否可以强制在epoch_millis中返回查询? 问题答案: 将始终返回原始文档中的数据。 理想情况下,我认为将数据转换为所需的格式以进行呈现或以其他方式在客户端上使用可能更为理想和灵活。 但是,对于上述用例,您可以使用。 fielddata_fields 会在野外数据实际上是
我有一个实体,它的字段可以是存储为字符串的整数,也可以是GUID。我根据字段是GUID还是整数执行不同的方法。如果值是GUID,则可以确保int.TryParse始终返回false。NewGuid()是否返回可解析的整数?
问题内容: 我已经使用Python多处理模块在Monte Carlo代码中实现了一些简单的并行性。我有看起来像的代码: 但是,当我查看结果列表时,似乎蒙特卡洛迭代器尚未启动。我知道它们有,因为我可以让这些过程在蒙特卡洛步骤中打印出信息。所以我在做些愚蠢的事情。我以为job.join()会阻止结果列表被构建,直到一切运行完毕,因此mc.results字段将被更新。 我意识到我还没有告诉您我的Mont