Вопросы

Импорт s3 Bucket в шаблон Cloudformation

В шаблоне Cloudformation я определяю два сегмента S3.

 Bucket1:
  Type: AWS::S3::Bucket
  Properties:
   ...
 Bucket2:
  Type: AWS::S3::Bucket
  Properties:
   ...

Outputs:
 Bucket1:
  Description: S3 Bucket
  Value: !Ref Bucket1
  Export:
   Name: !Sub "${AWS::StackName}:Bucket1"
 Bucket2:
  Description: S3 Bucket
  Value: !Ref Bucket2
  Export:
   Name: !Sub "${AWS::StackName}:Bucket2"

Я использую эти экспортированные сегменты в двух разных шаблонах облачной информации.

Шаблон 1

Parameters:
 LoaderCodeBucket:
  Type: String

Resources:
 MyLambdaFunction:
  Type: AWS::Lambda::Function
  Properties:
   Code:
    S3Bucket:
     Fn::ImportValue:
      !Sub "${LoaderCodeBucket}:Bucket1"

Шаблон 2

Parameters:
 ProcessorCodeBucket:
  Type: String

Resources:
 MyOtherLambdaFunction:
  Type: AWS::Lambda::Function
  Properties:
   Code:
    S3Bucket:
     Fn::ImportValue:
      !Sub "${ProcessorCodeBucket}:Bucket2"

Шаблон 1 проходит aws cloudformation validate-template --template-body ..., а шаблон 2 не проходит из-за

Ошибка шаблона: атрибут в Fn :: ImportValue не должен зависеть от каких-либо ресурсов, импортированных значений или Fn :: GetAZ.

Единственное отличие состоит в том, что лямбда-функция в шаблоне 2 используется в приложении аналитики aws, которое также определено в шаблоне 2.

Читать:
Почему эта ошибка? Подключиться к sts.amazonaws.com:443 [sts.amazonaws.com/54.239.29.25] не удалось: время ожидания подключения истекло: com.amazonaws.SdkClientException

Я точно знаю, что проблемы возникают из-за S3 Bucket, потому что, когда я удаляю этот раздел кода, он проходит проверку.

Я использую этот сайт, чтобы попытаться отладить эту проблему, но, похоже, ни один из вопросов не дает ответа на эту конкретную проблему.

Это в том же регионе / той же учетной записи.

Мой вопрос: почему этот конкретный раздел кода (шаблон 2) выдает ошибку шаблона, когда шаблон 1 проходит без ошибок?

Куда присваивается ProcessorCodeBucket? Вероятно, разница в том, как заполняется ProcessorCodeBucket, и как заполняется LoaderCodeBucket   —  person DanSchneiderNA    schedule 02.02.2021

Что вы имеете в виду, как это назначается? Корзины заполняются из внешнего репо, которое загружает zip-файл с кодом, который находится во внешнем репо. Обе корзины заполняются из одного и того же внешнего репо.   —  person DanSchneiderNA    schedule 02.02.2021

Похожие записи

Как преобразовать словарь в желаемом формате в указанный формат Json, например пары значений ключа, как указано ниже?

admin

Тесты Cypress E2E не работают в режиме CI на gitlab.com

admin

Как реализовать экспорт значений в терраформе

admin

Как я могу изменить часть json obj в javascript?

admin

показывать и скрывать листы Google отдельно для конкретного пользователя

admin

Python — запрос к базе данных и объединение данных без создания новой таблицы

admin