AWS Lex: намеренные разрешения на выполнение лямбды в качестве dialogCodeHook и executementActivity hook - PullRequest
0 голосов
/ 06 июня 2018

Я создаю чат-бота с помощью Node API AWS.LexModelBuildingService, и я хочу присоединить все новые намерения для запуска одной и той же лямбда-функции.

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

Когда я создаю намерение, я могу добавить строки для присоединения лямбды, но тогда разрешения не обновляютсяи это блокирует меня.

"dialogCodeHook": {
    "uri": "arn:aws:lambda:us-east-1:1111111:function:someFunction",
    "messageVersion": "1.0"
},
"fulfillmentActivity": {
    "type": "CodeHook",
    "codeHook": {
        "uri": "arn:aws:lambda:us-east-1:1111111:function:someFunction",
        "messageVersion": "1.0"
    }
}

Как я могу предоставить разрешения всем текущим и будущим намерениям, созданным с помощью Node AWS LEX API, чтобы они могли вызывать лямбду?

1 Ответ

0 голосов
/ 28 августа 2018

Утилита командной строки aws должна позволить вам автоматизировать это :

aws lambda add-permission --function-name [your-lambda-function-name] --statement-id [unique-policy-id] --action "lambda:InvokeFunction" --principal "lex.amazonaws.com"

Очевидно, вам нужно будет вставить собственное имя функции.

statement-id может быть любым, но вы можете использовать его в качестве идентификатора выписки только один раз.Это идентифицирует это правило для IAM.

Хотя мне не приходилось запускать это после обновления моих функций Lambda, я видел сообщения от других людей, что они должны.YMMV.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...