Невозможно вызвать функцию Python Lambda из Amazon Connect. - PullRequest
0 голосов
/ 30 мая 2018

Я пытался вызвать простую лямбда-функцию в Python из Amazon Connect, но не смог этого сделать.Ошибка: The Lambda Function Returned An Error.

Функция:

import os
def lambda_handler(event, context):
what_to_print = 'hello'
how_many_times =1
# make sure what_to_print and how_many_times values exist
if what_to_print and how_many_times > 0:
    for i in range(0, how_many_times):
        # formatted string literals are new in Python 3.6
        print(f"what_to_print: {what_to_print}.")
    return what_to_print
return None`

Теперь, всякий раз, когда я пытаюсь вызвать эту функцию с помощью CLI aws lambda invoke --function-name get_info outputfile.txt. Она запускается успешно и выдает правильный вывод.Теперь странная часть из Amazon Connect. Я могу легко вызывать любые лямбда-функции node.js, только функции Python, выдающие ошибку.

1 Ответ

0 голосов
/ 31 мая 2018

Ваша функция должна вернуть объект с более чем одним или несколькими свойствами для Amazon Connect, чтобы считать его действительным ответом, поскольку она пытается выполнить итерацию по свойствам объекта ответа.В вашем коде вы просто возвращаете строку, которая печатается нормально как часть обычного вывода, но это не то, что Amazon Connect ожидает в ответе.Если вы измените свой код на что-то вроде этого, вы сможете использовать его с Amazon Connect.

import os
def lambda_handler(event, context):
    what_to_print = 'hello'
    how_many_times =1
    resp = {}
    # make sure what_to_print and how_many_times values exist
    if what_to_print and how_many_times > 0:
        for i in range(0, how_many_times):
            # formatted string literals are new in Python 3.6
            print(f"what_to_print: {what_to_print}.")
            resp["what_to_print"] = what_to_print
    return resp

Затем вы сможете получить доступ к ответу в последующих блоках вашего потока контактов, используя $.External.what_to_print identifier,который возвращает 'привет'.

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