es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Procesamiento en lote de mensajes de Azure Function Service Bus – Python

Estoy implementando una función de Azure en Python que intenta procesar en lotes mensajes de una cola de ServiceBus. He modificado el archivo host.json de la siguiente manera:

{
    "version": "2.0",
    "serviceBus": {
        "batchOptions": {
            "maxMessageCount": 20,
            "operationTimeout": "01:00:00",
            "autoComplete": true
        }
    },
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[2.*, 3.0.0)"
    }
}

Sin embargo, estoy un poco perdido en cuanto a cómo se recibirán los mensajes en mi función de entrada en __init__.py. ¿Será simplemente una lista de mensajes y puedo recorrerlos de la siguiente manera?

def main(messages: func.ServiceBusMessage):
    for msg in messages:
        json_obj = json.loads(msg.get_body().decode("utf-8"))
        print(json_obj)
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Los mensajes se recibirán como un lote en la función de entrada main() como una lista de func.ServiceBusMessage. Tu implementación para recorrer los mensajes individualmente es correcta. Sin embargo, es posible que desees considerar manejar cualquier error que pueda ocurrir durante el procesamiento de cada mensaje y registrarlos adecuadamente.

Comments are closed.