La acción Invoke de Azure Functions le permite llamar a cualquier Azure Function activada por HTTP directamente desde los flujos de trabajo. Proporciona una interfaz compatible y validada para invocar Azure Functions —con entradas tipadas, validación de URL y autenticación respaldada por secretos— en lugar de construir llamadas HTTP sin procesar.
Invocar una función de Azure
Esta acción envía una solicitud HTTP a un extremo de Azure Function y devuelve la respuesta. La autenticación utiliza el mecanismo de clave de función de Azure; el flujo de trabajo lo pasa como el encabezado x-functions-key.
Los siguientes campos configuran la solicitud de Azure Function.
Campo de entrada | Opcionalidad | Tipo | Descripción |
|---|---|---|---|
| Requerido | Cadena | URL HTTPS completa del extremo del desencadenador HTTP de Azure Function. Por ejemplo,
. |
| Opcional | Cadena | Una clave de API a nivel de función o a nivel de host para la autenticación. El flujo de trabajo lo envía como el encabezado
. Páselo como un secreto. |
| Requerido | Cadena | Método HTTP a utilizar. Uno de
,
,
,
,
. El valor predeterminado es
. |
| Opcional | Cadena | Cuerpo de la solicitud como cadena JSON. Aplica solo cuando
no es
o
. Acepta referencias de secretos. |
| Opcional | Mapa | Encabezados HTTP adicionales en formato JSON. Por ejemplo,
. Acepta referencias de secretos. |
| Opcional | Mapa | Parámetros de consulta para agregar a la URL de la función. No debe comenzar con
o
. Por ejemplo,
. |
La acción devuelve los siguientes campos.
Campo de salida | Tipo | Descripción |
|---|---|---|
| Entero | Código de estado HTTP devuelto por Azure Function. Por ejemplo,
,
o
. |
| Cadena | Cuerpo de la respuesta de la función de Azure. Puede ser JSON, texto sin formato, HTML o cualquier otro formato. |
| Booleano | Indica si la llamada a la función se realizó correctamente.
para respuestas 2xx (200-299),
en caso contrario. |
Ejemplo: activar una función de remediación
name: azure-function-invoke-remediation
steps: - name: invokeRemediationFunction type: action action: azure.functions.invoke version: 1 inputs: function: "https://remediation.azurewebsites.net/api/fix-incident" key: ${{ :secrets:azure:functionKey }} method: "POST" body: '{"incidentId":"${{ .workflowInputs.incidentId }}"}'Ejemplo: solicitud GET con parámetros de consulta
name: azure-function-invoke-get
steps: - name: getFromFunction type: action action: azure.functions.invoke version: 1 inputs: function: "https://myapp.azurewebsites.net/api/GetStatus" key: ${{ :secrets:azure:functionKey }} method: "GET" queryParameters: "env=prod®ion=eastus"Ejemplo: invocar una función y registrar el resultado
name: azure-function-invoke-and-log
steps: - name: invokeFunction type: action action: azure.functions.invoke version: 1 inputs: function: "https://myapp.azurewebsites.net/api/RunCheck" key: ${{ :secrets:azure:functionKey }} method: "POST" body: '{"target":"${{ .workflowInputs.target }}"}' headers: Content-Type: "application/json"
- name: logFunctionResult type: action action: newrelic.ingest.sendLogs version: 1 inputs: logs: - message: "Azure Function invocation complete" attributes: success: ${{ .steps.invokeFunction.outputs.success }} statusCode: ${{ .steps.invokeFunction.outputs.statusCode }} response: ${{ .steps.invokeFunction.outputs.response }}