Я ожидаю, что приведенный ниже код будет принимать тело JSON из func.HttpRequest
, записать это сообщение в очередь хранилища Azure и затем вернуть вызывающему сообщение об успешном выполнении. Это работает за исключением того, что моя очередь хранения пуста.
import logging
import azure.functions as func
def main(req: func.HttpRequest,
orders: func.Out[func.QueueMessage]) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a request.')
message = req.get_json()
logging.info(message)
orders.set(message)
return func.HttpResponse(
body=”success”,
status_code=200
)
Function.json
{
"scriptFile": "__init__.py",
"bindings": [
{
"authLevel": "anonymous",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"methods": [
"get",
"post"
]
},
{
"type": "http",
"direction": "out",
"name": "$return"
},
{
"type": "queue",
"direction": "out",
"name": "orders",
"queueName": "preprocess",
"connection": "orders_STORAGE"
}
]
}
Local.settings.json
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_ER_RUNTIME": "python",
"AzureWebJobsStorage": "AzureWebJobsStorage",
"orders_STORAGE": "DefaultEndpointsProtocol=https;AccountName=orders;AccountKey=*****;EndpointSuffix=core.windows.net"
}
}
Терминальный выход:
...
[17.04.2009 17:54:39] Выполнение 'Functions.QueueTrigger' (Reason = 'Обнаружено новое сообщение очереди в' preprocess '.', Id = f27fd7d1-1ace - **** - **** - 00fb021c9ca4)
[17.04.2009 17:54:39] Детали триггера: MessageId: d28f96c5 - **** - **** - 9191-93f96a4423de, DequeueCount: 1, InsertionTime: 17.04.2009 5: 54:35 +00: 00
[17.04.2009 17:54:39] ИНФОРМАЦИЯ: Получено FunctionInvocationRequest, идентификатор запроса: 5bf59a45 - **** - **** - 9705-173d9635ca94, идентификатор функции: fa626dc9 - **** - **** - a59b-6a48f08d87e1, код вызова: f27fd7d1-1ace - **** - **** - 00fb021c9ca4
[17.04.2009 17:54:39] Функция триггера очереди Python обработала элемент очереди: name2
[17.04.2009 17:54:39] ИНФОРМАЦИЯ: Успешно обработано FunctionInvocationRequest, идентификатор запроса: 5bf59a45 - **** - **** - 9705-173d9635ca94, идентификатор функции: fa626dc9-3313 - ** ** - **** 6a48f08d87e1, код вызова: f27fd7d1-1ace - **** - **** - 00fb021c9ca4
[17.04.2009 17:54:39] Выполнено «Functions.QueueTrigger» (успешно, Id = f27fd7d1-1ace - **** - **** - 00fb021c9ca4)
ИНФОРМАЦИЯ: Успешно обработано
- заставляет меня думать, что это сработало, и я должен увидеть сообщение в своей очереди, но оно пустое.
Почему я не вижу сообщения в очереди?
Спасибо