Что означает "Fn :: Join" в файле конфигурации? - PullRequest
1 голос
/ 11 ноября 2019

Я новичок в 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 , но не удалось найти справочную информацию.

Ответы [ 2 ]

3 голосов
/ 11 ноября 2019

Fn::Join является встроенной функцией, и она добавляет набор значений в одно значение, разделенных указанным разделителем. Если разделитель является пустой строкой, набор значений объединяется без разделителя.

Вы также можете использовать различные встроенные функции внутри join и псевдопараметров . Для получения дополнительной информации ознакомьтесь с официальной документацией AWS

1 голос
/ 11 ноября 2019

Fn::Join - это функция в CloudFormation для объединения строк. Ref - это еще одна функция для ссылки на элементы, созданные в CloudFormation.

В вашем примере Fn::Join используется для объединения строк для создания ARN сегмента S3, формат которого arn: aws: s3 ::: bucketname и необходим для предоставления разрешений корзине в Lambda.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...