Ошибка псевдопараметров CloudFormation - PullRequest
0 голосов
/ 12 июня 2018

Я делаю проект AWS CodeStar, и я создал свой template.yml, который содержит мои функции Lambda, таблицы SF, DynamoDB ...

Если я печатаю регион и код учетной записи в жестком коде, он работаетно когда я заменяю их такими параметрами, как $ {AWS :: Region} или $ {AWS :: AccountId}, я получаю эту ошибку:

Failed to execute change set. Current stack status: UPDATE_ROLLBACK_COMPLETE. Reason: No reason was provided.

Это часть моего template.yml

Resources:

  DataAgentIntercept:
    Type: AWS::StepFunctions::StateMachine
    Properties:
      StateMachineName: DataAgentIntercept
      DefinitionString: |-
        {
          "StartAt": "InsertAgentDataDB",
          "States": {
            "InsertAgentDataDB": {
              "Type": "Task",
              "Resource": "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:awscodestar-pocawsjawa-lambda-InsertAgentDataDB-10UOAYKYNWLYB",
              "End": true
            }
          }
        }
      RoleArn: arn:aws:iam::${AWS::AccountId}:role/service-role/StatesExecutionRole-eu-west-1

Что я делаю не так?

1 Ответ

0 голосов
/ 12 июня 2018

По умолчанию строки являются просто литеральными значениями.Если вы хотите выполнить какие-либо замены, вам нужно использовать Fn :: Sub (в YAML вы можете использовать сокращенное обозначение !Sub):

  StateMachineName: DataAgentIntercept
  DefinitionString: !Sub |-
    {
      "StartAt": "InsertAgentDataDB",
      "States": {
        "InsertAgentDataDB": {
          "Type": "Task",
          "Resource": "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:awscodestar-pocawsjawa-lambda-InsertAgentDataDB-10UOAYKYNWLYB",
          "End": true
        }
      }
    }
  RoleArn: !Sub "arn:aws:iam::${AWS::AccountId}:role/service-role/StatesExecutionRole-eu-west-1"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...