Передать текущие параметры URL в API Cloud Function Python в IBM Cloud - PullRequest
0 голосов
/ 16 апреля 2020

Я новичок и пытаюсь создать облачную функцию в IBM Cloud. Мой API работает нормально только в "Hello World". Мне нужно передать параметры из URL, чтобы манипулировать им в моем Python API. Например:

URL: https://fa75e0fa.eu-gb.apigw.appdomain.cloud/testapi/test1?id=11

Мне нужно передать значение id = 11 в конце указанного выше URL в мой код python (Python 3.70).

Теперь у меня есть это:

#
#
# main() will be run when you invoke this action
#
# @param Cloud Functions actions accept a single parameter, which must be a JSON object.
#
# @return The output of this action, which must be a JSON object.
#
#
import sys

def main(dict):
    return { 'message': 'Hello world' }

Вывод: {"message": "Hello world"}

Я пытался:

import sys
import urllib3, requests, json
import requests
import os

def main(dict):
    id1=requests.GET.get('id')

    return { 'message': 'Hello world',
             'id': json.loads(id1.text)

    }

Вывод:

Идентификатор активации: 4e97b3be9b2b49f397b3be9b2b99f34d Результаты: {"error": "у запросов" модуля "нет атрибута" GET ""} Журналы:

["2020-04-16T11: 29: 34.215661Z stderr: трассировка (последний последний вызов):", "2020-04-16T11: 29: 34.215717Z stderr: Файл \" / action / 1 / src / exec__ .py \ ", строка 66, in",
"2020-04-16T11: 29: 34.215722Z stderr: res = main (полезная нагрузка)",
"2020-04-16T11: 29: 34.215725Z stderr : Файл \ "/ action / 1 / src / main __. Py \", строка 10, в основном ",
" 2020-04-16T11: 29: 34.215728Z stderr: id1 = reports.GET.get ('id ') ",
" 2020-04-16T11: 29: 34.215731Z stderr: AttributeError: у модуля «запросы» нет атрибута «GET», «2020-04-16T11: 29: 34.215734Z
stderr: "]

* 1 029 *

Можете ли вы помочь? Спасибо.

1 Ответ

0 голосов
/ 16 апреля 2020
def main(args):
    arg1=args.get("arg1")
    myarg=args.get("anotherarg")

    return {"one": arg1, "two": myarg}

Параметры передаются в среде, к которой вы можете легко получить доступ. Они не являются частью структуры запроса. arg1 будет вашим id :

import sys
import urllib3, requests, json
import requests
import os

def main(dict):
    id1=dict.get('id')

    return { 'message': 'Hello world',
             'id': id1)

    }
...