【问题标题】:What does "Fn::Join" refers to in a config file?配置文件中的“Fn::Join”指的是什么?
【发布时间】:2019-11-11 19:24:49
【问题描述】:

我是 Serverless 的新手,但请看一下这个配置文件

provider:
  name: aws
  runtime: nodejs10.x
  stage: dev
  region: us-east-1

# you can add statements to the Lambda function's IAM Role here
#  iamRoleStatements:
#    - Effect: "Allow"
#      Action:
#        - "s3:ListBucket"
#      Resource: { "Fn::Join" : ["", ["arn:aws:s3:::", { "Ref" : "ServerlessDeploymentBucket" } ] ]  }
#    - Effect: "Allow"
#      Action:
#        - "s3:PutObject"
#      Resource:
#        Fn::Join:
#          - ""
#          - - "arn:aws:s3:::"
#            - "Ref" : "ServerlessDeploymentBucket"
#            - "/*"

这个资源是指fnproject吗?

我查看了aws-resource-type,但找不到参考信息。

【问题讨论】:

  • Fn::Join 是一个 cloudformation 内部函数,它连接字符串以创建单个字符串。有很多关于它的文档。

标签: amazon-web-services amazon-cloudformation serverless-framework


【解决方案1】:

Fn::Join 是一个内在函数,它将一组值附加到单个值中,由指定的分隔符分隔。如果分隔符是空字符串,则将值的集合连接起来,没有分隔符。

您也可以在 joinpseudo parameters 中使用不同的内部函数。 更多信息请查看official AWS documentation

【讨论】:

    【解决方案2】:

    Fn::Join 是 CloudFormation 中用于连接字符串的函数。 Ref 是另一个引用在 CloudFormation 中创建的元素的函数。

    在您的示例中,Fn::Join 用于连接字符串以创建 S3 存储桶的 ARN,其格式为 arn:aws:s3:::bucketname并且需要向 Lambda 中的存储桶授予权限。

    【讨论】:

      猜你喜欢
      • 2021-02-02
      • 2013-07-18
      • 2016-03-19
      • 2011-12-02
      • 2017-02-02
      • 2020-12-14
      • 2021-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多