L’action Azure Functions Invoke vous permet d’appeler n’importe quelle Azure Function déclenchée par HTTP directement depuis vos workflows. Elle fournit une interface prise en charge et validée pour appeler des Azure Functions (avec des entrées typées, une validation d’URL, et une authentification basée sur des secrets) plutôt que de construire des appels HTTP bruts.
Invoquer une Azure Function
Cette action envoie une requête HTTP à un point de terminaison Azure Function et renvoie la réponse. L’authentification utilise le mécanisme de clé de fonction d’Azure ; le workflow la transmet en tant qu’en-tête x-functions-key.
Les champs suivants configurent la requête Azure Function.
Champ de saisie | optionnalité | Type | Description |
|---|---|---|---|
| Requis | Chaîne | URL HTTPS complète du point de terminaison de déclencheur HTTP Azure Function. Par exemple,
. |
| Facultatif | Chaîne | Une clé API au niveau de la fonction ou de l’hôte pour l’authentification. Le workflow l’envoie en tant qu’en-tête
. Transmettez en tant que secret. |
| Requis | Chaîne | Méthode HTTP à utiliser. L’une des valeurs
,
,
,
,
. La valeur par défaut est
. |
| Facultatif | Chaîne | Corps de la requête sous forme de chaîne JSON. Ne s’applique que lorsque
n’est pas
ou
. Accepte les références secrètes. |
| Facultatif | Carte | En-têtes HTTP supplémentaires au format JSON. Par exemple,
. Accepte les références secrètes. |
| Facultatif | Carte | Paramètres de requête à ajouter à l’URL de la fonction. Ne doit pas commencer par
ou
. Par exemple,
. |
L'action renvoie les champs suivants.
Champ de sortie | Type | Description |
|---|---|---|
| Entier | Code d’état HTTP renvoyé par l’Azure Function. Par exemple,
,
ou
. |
| Chaîne | Corps de la réponse de l’Azure Function. Peut être au format JSON, texte brut, HTML, ou tout autre format. |
| Booléen | Indique si l'appel de la fonction a réussi.
pour les réponses 2xx (200–299),
sinon. |
Exemple : déclencher une fonction de remédiation
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 }}"}'Exemple : requête GET avec des paramètres de requête
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"Exemple : invoquez une fonction et enregistrez le résultat
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 }}