Функция IBM возвращает странные данные при вызове конечной точки REST API

У меня есть функция IBM Cloud, например:

 return {'body': csv_output.getvalue(),
            'headers': {'Content-Type': 'text/csv',
            'Content-Disposition': 'attachment;filename=dat.csv'}}

При вызове конечной точки общедоступного API он возвращает CSV-файл с правильными данными.

Но когда я использую почтальон для вызова конечной точки REST API, я получаю странный результат вроде:

{
    "annotations": [
        {
            "key": "exec",
            "value": "python:3.7"
        },
        {
            "key": "web-export",
            "value": true
        },
        {
            "key": "final",
            "value": true
        },
        {
            "key": "raw-http",
            "value": true
        }
    ],
    "exec": {
        "kind": "python:3.7",
        "code": "import 

Кто-нибудь может сказать мне, что я делаю не так? Похоже, я получаю код обратно, а не вызываю функцию.

введите здесь описание изображения


person NoviceMe    schedule 24.01.2019    source источник
comment
Можете ли вы добавить подробности (заголовок, тело запроса и т. Д.) О том, как вы вызываете конечную точку в Postman?   -  person Vidyasagar Machupalli    schedule 24.01.2019
comment
@VidyasagarMachupalli - Я добавил изображение того, что пытаюсь. Также, когда я напрямую ввожу оставшийся URL-адрес api и предоставляю имя пользователя / пароль, он дает тот же результат.   -  person NoviceMe    schedule 24.01.2019


Ответы (1)


Похоже, вы используете POSTMAN для возврата сведений о действиях (через API платформы), а не для вызова в качестве веб-действия.

Конечная точка HTTP для действия - https://{APIHOST}/api/v1/namespaces/_/actions/<ACTION_NAME>.

Конечная точка HTTP для вызова действия как веб-действия - https://{APIHOST}/api/v1/web/{QUALIFIED ACTION NAME}.{EXT}.

person James Thomas    schedule 24.01.2019
comment
Web Action работает, проблема в вызове REST API. - person NoviceMe; 24.01.2019
comment
Вам нужно отправить запрос POST, а не GET при вызове через API (а не веб-действие) - person James Thomas; 25.01.2019
comment
Я не пытаюсь сделать это в почтальоне, а сейчас просто помещаю URL-адрес прямо в браузер? По-прежнему возвращает странные данные, и если я вставлю .csv в конце, он выйдет из строя. - person NoviceMe; 01.02.2019