A ação de invocação do Azure Functions permite chamar qualquer Azure Function acionada por HTTP diretamente dos fluxos de trabalho. Ela fornece uma interface suportada e validada para invocar o Azure Functions — com entradas tipadas, validação de URL e autenticação baseada em segredos — em vez de construir chamadas HTTP brutas.
Invocar uma função Azure
Esta ação envia uma solicitação HTTP para um endpoint do Azure Function e retorna a resposta. A autenticação usa o mecanismo de chave de função do Azure; o fluxo de trabalho o passa como o cabeçalho x-functions-key.
Os campos a seguir configuram a solicitação do Azure Function.
Campo de entrada | Opcionalidade | Tipo | Descrição |
|---|---|---|---|
| Obrigatório | Corda | URL HTTPS completa do endpoint de gatilho HTTP do Azure Function. Por exemplo,
. |
| Opcional | Corda | Uma chave de API no nível da função ou no nível do host para autenticação. O fluxo de trabalho o envia como o cabeçalho
. Passe como um segredo. |
| Obrigatório | Corda | Método HTTP a ser usado. Um de
,
,
,
,
. O padrão é
. |
| Opcional | Corda | Corpo da solicitação como uma string JSON. Aplica-se apenas quando
não é
ou
. Aceita referências de segredos. |
| Opcional | Mapa | Cabeçalhos HTTP adicionais no formato JSON. Por exemplo,
. Aceita referências de segredos. |
| Opcional | Mapa | Parâmetros de consulta para anexar à URL da função. Não deve começar com
ou
. Por exemplo,
. |
A ação retorna os seguintes campos.
Campo de saída | Tipo | Descrição |
|---|---|---|
| Inteiro | Código de status HTTP retornado pela Azure Function. Por exemplo,
,
ou
. |
| Corda | Corpo da resposta da Azure Function. Pode ser JSON, texto simples, HTML ou qualquer outro formato. |
| Boleano | Indica se a chamada de função foi bem-sucedida.
para respostas 2xx (200–299),
caso contrário. |
Exemplo: acionar uma função de correção
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 }}"}'Exemplo: solicitação GET com 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"Exemplo: invocar uma função e registrar o 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 }}