Amazon Connect не может вызвать функцию Lambda после предоставления разрешений

Я пытаюсь использовать Amazon Connect для запуска функции Lambda. Я использовал аргумент командной строки, описанный в документации Amazon здесь и я не могу определить, почему лямбда-функция не выполняется. Назначенная роль имеет базовую политику выполнения и позволяет подключиться для запуска лямбда-функции. Что касается кода, на данный момент у меня есть только код, выводящий событие из журнала, ничего особенного.


person TheLegendOfCode    schedule 02.03.2018    source источник
comment
Если вы запускаете aws lambda get-policy --function-name <FUNCTION-NAME> из интерфейса командной строки AWS, возвращает ли он политику, включающую AWS:SourceArn, совпадающую с arn вашего экземпляра Amazon Connect?   -  person Parrett Apps    schedule 02.03.2018
comment
Да, это так. он дает мне полный JSON с действием, ресурсом, SourceARN и моей учетной записью.   -  person TheLegendOfCode    schedule 02.03.2018
comment
Если вы еще этого не сделали, включите ведение журнала в своем экземпляре Amazon Connect. Затем добавьте шаг Set Logging Behavior в начале потока контактов. Вызовите свой контактный поток и позвольте ему потерпеть неудачу на шаге Lambda. Затем проверьте журналы CloudWatch. Ищите сообщение с "ContactFlowModuleType": "InvokeExternalResource", когда была вызвана ваша Lambda. Вставьте значение результатов из записи журнала CloudWatch. Это может помочь нам разобраться в этом.   -  person Parrett Apps    schedule 02.03.2018
comment
Я попытался добавить ведение журнала для потока контактов, но возникла эта ошибка: An error occurred while providing Amazon Connect access to your S3 bucket for call recordings. Please make sure you have the appropriate permissions over the requested bucket, then try again. If the problem persists, please contact support for further assistance. JobId: ed5017e0-3bf2-4235-80ed-97160f9cb6bd   -  person TheLegendOfCode    schedule 02.03.2018
comment
Это звучит как проблема с разрешениями где-то. Без каких-либо скриншотов или примеров кода и файлов журнала я не знаю, как еще помочь. Возможно, вам придется позвонить в службу поддержки Amazon, чтобы кто-то действительно мог увидеть, что вы настроили.   -  person Parrett Apps    schedule 02.03.2018


Ответы (2)


Используйте команду, представленную здесь, чтобы установить разрешение чтобы ваш экземпляр Amazon Connect вызывал созданную вами функцию AWS Lambda. Не должно быть необходимости в доступе к S3 из Amazon Connect, чтобы запустить функцию AWS Lambda.

Если сама функция AWS Lambda взаимодействует с S3, то разрешение на ресурс S3 должно быть предоставлено через политику IAM, назначенную самой функции AWS Lambda.

person Aossey    schedule 20.04.2018

Причина, по которой соединение пытается получить доступ к корзине S3, заключается в том, что у вас включена запись звонков. Из консоли AWS, если вы перейдете к экземпляру подключения (не к CCP) в левой части навигации, вы увидите «Хранилище данных», щелкните его и отключите записи вызовов и отчеты о вызовах. Это не решает проблему доступа, а просто ее избегает.

Это должно помочь вам устранить неполадки с вашей лямбдой.

Если вы хотите исправить разрешения S3, вы можете просто использовать опцию «создать новую корзину s3 для меня» в разделе «Хранилище данных» подключения. Это должно настроить правильные разрешения, но в противном случае вам нужно будет написать политику IAM, предоставляющую доступ на запись для подключения к вашей корзине s3.

person rocketlobster    schedule 17.08.2018