Как сослаться на корзину S3, созданную при формировании облака - PullRequest
0 голосов
/ 13 июля 2020

Я создал сегмент S3 в бессерверном режиме в облачной информации следующим образом:

    s3bucket:
      Type: 'AWS::S3::Bucket'
    BucketPolicy:
      Type: "AWS::S3::BucketPolicy"
      Properties:
        Bucket: !Ref 's3bucket'
        PolicyDocument:
          Id: ProdAnsiblePolicy
          Version: "2012-10-17"
          Statement:
            -
              Effect: Allow
              Principal:
                AWS: 'arn:aws:iam::*******:user/prodAnsible'
              Action: 's3:*'
              Resource:
                - !Join ['', ['arn:aws:s3:::', !Ref 's3bucket']]

Теперь я хотел бы сослаться на этот сегмент в лямбда-событии, как показано в бессерверной документации . Для ясности, мне нужно создать это ведро S3 в формировании облака, чтобы я мог предоставить доступ пользователю prod Ansible.

Вот как я пытался ссылаться на него в лямбде:

  update_tenant_config:
    handler: functions/tenants_handlers.update_tenant_config
    events:
      - s3:
          bucket: s3bucket
          event: s3:ObjectRemoved:*
          existing: true

Заранее благодарим за помощь!

1 Ответ

0 голосов
/ 13 июля 2020

При формировании облака вы можете добавить свойство BucketName, на которое можно ссылаться вне облачной информации.

      Properties:
        BucketName: ${opt:stage}-your-bucket-name
...