Отправка сообщения в AWS Lambda из пользовательского канала AWS Pinpoint

Я пытаюсь отправлять сообщения в свою AWS Lambda Function из AWS Pinpoint через пользовательский канал, как описано здесь

Моя проблема заключается в предоставлении AWS Pinpoint разрешения на вызов моей лямбда-функции. Команда AWS CLI, указанная в документации для предоставления разрешения, не работает. Когда я выполняю команду aws lambda add-permission из интерфейса командной строки AWS, как описано в документации, я получаю следующую ошибку:

no matches found: arn:aws:mobiletargeting:us-east-1:<account-id>:apps/*

Результат не изменится, если я изменю ARN на любой из следующих:

  • arn:aws:mobiletargeting:us-east-1:<account-id>:apps/<pinpoint-app-id>/*
  • arn:aws:mobiletargeting:us-east-1:<account-id>:apps/<pinpoint-app-id>/campaigns/*
  • arn:aws:mobiletargeting:us-east-1:<account-id>:/apps/<pinpoint-app-id>/*
  • arn:aws:mobiletargeting:us-east-1:<account-id>:/apps/<pinpoint-app-id>/campaigns/*

Я попробовал то же самое с AWS Cloudformation вместо AWS CLI, мне удалось предоставить AWS Pinpoint разрешение на вызов моей лямбда-функции. По крайней мере, политика на основе ресурсов появилась на вкладке «Разрешения» в моей консоли AWS Lambda Function. Исходное условие типа ARN - arn:aws:mobiletargeting:us-east-1:<account-id>:apps/<pinpoint-app-id>/*

Но когда я пытаюсь создать кампанию в том же приложении (т.е. проекте), я получаю следующее сообщение об ошибке:

"Amazon Pinpoint couldn’t invoke the Lambda function that you specified for custom delivery. Verify that a function policy is assigned to the function and that Amazon Pinpoint is authorized to invoke the function."

Я пробовал разные условия типа SourceArn, включая следующие, но результат тот же:

  • arn:aws:mobiletargeting:us-east-1:<account-id>:apps/<pinpoint-app-id>/*
  • arn:aws:mobiletargeting:us-east-1:<account-id>:apps/<pinpoint-app-id>/campaigns/*
  • arn:aws:mobiletargeting:us-east-1:<account-id>:apps/*
  • arn:aws:mobiletargeting:us-east-1:<account-id>:*
  • arn:aws:mobiletargeting:us-east-1:<account-id>:/apps/*

Не могу понять, в чем проблема. Буду очень признателен за любую идею о том, что мне не хватает.

Заранее спасибо!


person Furkan    schedule 29.08.2020    source источник


Ответы (2)


Интересно, но та же команда aws lambda add-permission, которая вернула no matches found: arn:aws:mobiletargeting:us-east-1:<account-id>:apps/*, работает после sudo su.

person Furkan    schedule 26.09.2020

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

У меня была такая же проблема с

совпадений не найдено: arn: aws: mobiletargeting: us-east-1 :: apps / *.

Это было из-за того, что мой терминал странно себя вел с '*', поэтому добавление одинарных кавычек вокруг arn сработало, например:
arn:aws:mobiletargeting:us-east-1:<account-id>:apps/<pinpoint-app-id>/*

person dango23    schedule 17.05.2021
comment
извините за трудночитаемый формат, новый для публикации в stackoverflow. - person dango23; 17.05.2021