gpt4 book ai didi

json - CloudFormation 模板文件——如何在字符串中间使用 ref 函数来引用参数

转载 作者:行者123 更新时间:2023-12-05 08:55:25 25 4
gpt4 key购买 nike

如何取消引用字符串中间的参数?

我有一个 JSON Cloudformation 模板文件,它采用 S3 存储桶名称(“BucketName”)参数,以便在 IAM 策略中使用,该策略授予该存储桶权限 - 策略如下:

{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:GetObject",
"s3:ListObject"
],
"Resource": [
"arn:aws:s3:::${Ref:BucketName}/*"
],
"Effect": "Allow"
}
]
}

“arn:aws:s3:::${Ref:BucketName}/” 不起作用;

"arn:aws:s3:::", {"Ref": "BucketName"}, "/" 也不起作用,因为它将其读取为字符串列表而不是单个字符串。

我知道我可以将整个 arn 作为参数,而不仅仅是存储桶名称,但是我如何能够在字符串中引用 BucketName?

谢谢!

最佳答案

您需要使用内部函数将静态值与 Ref 值连接起来。

Fn::Join reference

就您而言,这将导致以下构造。

"Resource": [
"Fn::Join": ["", ["arn:aws:s3:::", {"Ref":"BucketName"}] ]
]

关于json - CloudFormation 模板文件——如何在字符串中间使用 ref 函数来引用参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45825764/

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