Cloudformation API GW Integration Ответ / заголовки ответа - PullRequest
0 голосов
/ 30 мая 2020

Можно использовать! Ref для корзины S3 для использования в ResponseParameter. Например:

IntegrationResponses:
      - ResponseParameters:
          method.response.header.Access-Control-Allow-Headers: "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'"
          method.response.header.Access-Control-Allow-Methods: "'POST,OPTIONS'"
          method.response.header.Access-Control-Allow-Origin: "'https://dynamicbucketname.s3-us-west-2.amazonaws.com'"
          method.response.header.Access-Control-Allow-Credentials: "'true'"

S3Bucket:
 Type: AWS::S3::Bucket
 Properties:
   PublicAccessBlockConfiguration:
     BlockPublicAcls: true
     IgnorePublicAcls: false
     BlockPublicPolicy: true
     RestrictPublicBuckets: true  
   WebsiteConfiguration:
     IndexDocument: index.html
     ErrorDocument: error.html

По сути, я использую ресурс AWS :: S3 :: Bucket, который позволяет шаблону создавать ведро. Следовательно, имя будет Dynami c. Я хочу иметь возможность! Ссылка на S3Bucket в Origin. Это вообще возможно? Я знаю, что это может быть stati c как "'https://www.example.com'"

1 Ответ

1 голос
/ 30 мая 2020

Один из способов - использовать функцию Sub :

Можно использовать! Ref для корзины S3 для использования в ResponseParameter. Например:

IntegrationResponses:
      - ResponseParameters:
          method.response.header.Access-Control-Allow-Headers: "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'"
          method.response.header.Access-Control-Allow-Methods: "'POST,OPTIONS'"
          method.response.header.Access-Control-Allow-Origin: !Sub "'https://${S3Bucket.DomainName}'"
          method.response.header.Access-Control-Allow-Credentials: "'true'"

Другое Bucket возвращаемые значения, чем DomainName перечислены здесь :

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