Облачная информация AWS: предоставьте Cloudwatch * разрешения для запуска Lambda - PullRequest
0 голосов
/ 27 ноября 2018

Это то, что я пытаюсь сделать:

LambdaInvokePermission: Type: AWS::Lambda::Permission Properties: --snip-- SourceArn: !Sub arn:aws:events:${AWS::Region}:${AWS::AccountId}:rule/*-${Environment}

Однако, похоже, не нравится синтаксис *.

Я пробовал только SourceArn: !Sub arn:aws:events:${AWS::Region}:${AWS::AccountId}:rule/* иSourceArn: '*' но они также выдают сообщения об ошибках типа

The rule * could not be found.

Кто-нибудь знает правильный синтаксис для этого?

1 Ответ

0 голосов
/ 28 ноября 2018

Вам необходимо указать точное имя правила cloudwatch, которое будет запускать эту лямбда-функцию.Пример: arn: aws: events: us-east-1: 123456789012: rule / my-schedule-rule .

Свойство SourceArn в AWS :: Lambda :: Permission ожидает строкузначение: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html#cfn-lambda-permission-sourcearn. Вы не можете иметь несколько правил CloudWatch в качестве SourceArn (не списка) в одном блоке AWS :: Lambda :: Permission с подстановочным знаком '*'.Чтобы несколько правил cloudwatch запускали одну и ту же лямбда-функцию, вам нужно добавить еще один блок AWS :: Lambda :: Permission в шаблон облачной информации.

...