Имейте (пока) очень простую функцию Azure в Python. Пытаюсь использовать очереди Azure в первый раз. Моделирование по туториалу. Когда я пытаюсь запустить это, я получаю следующую ошибку:
System.Private.CoreLib: Исключение при выполнении функции: Функции.applyNewSurvey123. System.Private.CoreLib: Результат: Ошибка Исключение: TypeError: невозможно кодировать исходящие TypedData: не поддерживается введите "<класс 'azure_functions_worker.bindings.generic.GenericBinding'>" для Python введите "список" Стек: Файл "C:\Program Files\Microsoft\Azure Functions Основной Инструменты\воркеры\python\3.9/WINDOWS/X64\azure_functions_worker\dispatcher.py", строка 425, в _handle__invocation_request param_binding = bindings.to_outgoing_param_binding( Файл "C:\Program Files\Microsoft\Azure Functions Core Инструменты\воркеры\python\3.9/WINDOWS/X64\azure_functions_worker\bindings\meta.py", строка 160, в to_outgoing_param_binding datum = get_datum (binding, obj, pytype) Файл "C:\Program Files\Microsoft\Azure Functions Core Инструменты\воркеры\python\3.9/WINDOWS/X64\azure_functions_worker\bindings\meta.py", строка 108, в get_datum поднять TypeError( .
Мой код:
import logging
import azure.functions as func
def main(req: func.HttpRequest,
msg: func.Out[str]) -> func.HttpResponse:
jsonString = req.get_json()
try:
msg.set(jsonString)
return func.HttpResponse("HTTP triggered successfully.", status_code=200)
except Exception as e:
logging.error(f"Error: {e}")
return func.HttpResponse("NOPE", status_code=500)
У меня настроена очередь хранилища Azure, и function.json, похоже, настроен правильно. Если я установлю msg просто на какой-то простой текст, он выдаст ту же ошибку. Если я устанавливаю сообщение logging.error после msg.set(), я вижу это сообщение. Любые идеи, что я делаю неправильно здесь?
🤔 А знаете ли вы, что...
В Python есть среды разработки, такие как Jupyter Notebook, которые упрощают работу с данными и исследованиями.
Я воспроизвел в своей среде и получил ожидаемые результаты, как показано ниже, и я следовал Micrsoft-Documnet, и ниже приведен код Python, который сработал для меня:
from azure.storage.queue import QueueClient
qc = QueueClient.from_connection_string(conn_str = "DefaultEndpointsProtocol=https;AccountName=rithwikstore;AccountKey=voop0PvnAUcSHWrWd6WLmNkHpA64RWNPol9OWTTXI5DbtEE/y8M113JlJATzn24LkzeNveTeOHS3+AStQIsUZg==;EndpointSuffix=core.windows.net", queue_name = "rithwik")
msg = "Hello Rithwik"
qc.send_message(msg)
Здесь вы должны указать имя своей очереди (queue_name) и строку подключения (conn_str) учетной записи хранения.
Выход: