Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Utiliza esta tarea en un trabajo sin agentes de una cadena de liberación para invocar una función activada por HTTP en una aplicación de funciones y analizar la respuesta. La aplicación de funciones debe crearse y alojarse en Azure Functions.
Sintaxis
# Invoke Azure Function v2
# Invoke an Azure Function.
- task: AzureFunction@2
inputs:
#azureSubscription: # string. Alias: azureServiceConnection | connectedServiceARM. Azure Service Connection.
function: # string. Required. Azure function URL.
#key: # string. Function key.
method: 'POST' # 'OPTIONS' | 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'TRACE' | 'PATCH'. Required. Method. Default: POST.
#headers: # string. Headers.
#queryParameters: # string. Query parameters.
#body: # string. Optional. Use when method != GET && method != HEAD. Body.
# Advanced
waitForCompletion: 'false' # 'true' | 'false'. Required. Completion event. Default: false.
#successCriteria: # string. Optional. Use when waitForCompletion = false. Success criteria.
Entradas
azureSubscription
-
Azure Conexión de servicio
Alias de entrada: azureServiceConnection | connectedServiceARM.
string.
Conexión de servicio utilizada para autenticar al invocar la función de Azure. Proporciona un token de acceso Entra para acceso a Principal de Servicio o Identidad Gestionada.
function
-
Azure función URL
string. Obligatorio.
URL de la función de Azure que debe ser invocada. Ejemplo: https://azurefunctionapp.azurewebsites.net/api/HttpTriggerJS1.
key
-
Tecla de función
string.
La función o la clave host utilizada para acceder e invocar la función. Para mantener la clave segura, utiliza una variable secreta de pipeline para almacenar la clave de función. Ejemplo: $(myFunctionKey).
myFunctionKey es una variable secreta a nivel de entorno con un valor como clave secreta.
method
-
Método
string. Obligatorio. Valores permitidos: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, PATCH. Valor predeterminado: POST.
El método HTTP con el que se invocará la función.
headers
-
Encabezados
string. Valor predeterminado: {\n"Content-Type":"application/json", \n"PlanUrl": "$(system.CollectionUri)", \n"ProjectId": "$(system.TeamProjectId)", \n"HubName": "$(system.HostType)", \n"PlanId": "$(system.PlanId)", \n"JobId": "$(system.JobId)", \n"TimelineId": "$(system.TimelineId)", \n"TaskInstanceId": "$(system.TaskInstanceId)", \n"AuthToken": "$(system.AccessToken)"\n}.
El encabezado en formato JSON se adjuntará a la solicitud enviada a la función.
queryParameters
-
Parámetros de consulta
string.
La consulta de cadena para añadir a la URL de la función. No debe empezar con ? o &.
body
-
Carrocería
string. Optional. Use cuando method != GET && method != HEAD.
Cuerpo de mensaje en formato JSON para la solicitud.
waitForCompletion
-
Evento de finalización
string. Obligatorio. Valores permitidos: true (Callback), false (ApiResponse). Valor predeterminado: false.
Cómo la tarea informa de la finalización.
-
false- Respuesta API : la función devuelve el éxito y los criterios de éxito se evalúan como verdadero. -
true- Callback - la función realiza una callback para actualizar el registro de la línea de tiempo.
successCriteria
-
Criterios de éxito
string. Optional. Use cuando waitForCompletion = false.
Los criterios para una tarea exitosa. Por defecto, la tarea devuelve 200 OK el estado cuando tiene éxito. Si esta entrada no se especifica, el contenido de la respuesta no influye en el resultado.
Ejemplo: Para la respuesta {"status" : "successful"}, la expresión puede ser eq(root['status'], 'successful'). Infórmate más sobre cómo especificar las condiciones.
Opciones de control de tareas
Todas las tareas tienen opciones de control además de sus entradas de tarea. Para obtener más información, consulte Opciones de control y propiedades de tareas comunes.
Variables de salida
Ninguna.
Observaciones
Utiliza esta tarea en un trabajo sin agentes de una cadena de liberación para invocar una función activada por HTTP en una aplicación de funciones que se crea y aloja en Azure Functions y analizar la respuesta.
¿Dónde debe una tarea señalar la finalización cuando se elige Callback como evento de finalización?
Para señalar la finalización, la función debe POST completar los datos al siguiente extremo REST de la canalización.
{planUri}/{projectId}/_apis/distributedtask/hubs/{hubName}/plans/{planId}/events?api-version=2.0-preview.1
**Request Body**
{ "name": "TaskCompleted", "taskId": "taskInstanceId", "jobId": "jobId", "result": "succeeded" }
Consulta esta sencilla aplicación cmdline para más detalles. Además, hay una biblioteca auxiliar de C# disponible para permitir el registro en tiempo real y la gestión del estado de tareas sin agente. Aprende más
¿Por qué falla la tarea en 1 minuto cuando el tiempo de espera es más largo?
Si la función se ejecuta durante más de 1 minuto, utiliza el evento de finalización de llamada de regreso . La opción de finalización de respuesta API está compatible con solicitudes que se completan en 60 segundos.
Examples
Los dos ejemplos siguientes son funcionalmente equivalentes. El primer ejemplo utiliza una conexión de servicio de Azure Resource Manager para la autenticación, mientras que el segundo ejemplo utiliza directamente una clave de función para la autenticación.
trigger: none
pool: server
steps:
- task: AzureFunction@2
inputs:
# Authenticate using Azure Resource Manager service connection
authenticationType: 'azureServiceConnection'
azureServiceConnection: 'working-app-registration'
function: 'https://myfuction.azurewebsites.net/api/my-test-trigger-function'
method: 'GET'
waitForCompletion: 'false'
trigger: none
pool: server
steps:
- task: AzureFunction@2
inputs:
# Authenticate using function key
authenticationType: 'functionKey'
key: 'aaaaaaaa-0b0b-1c1c-2d2d-333333333333'
function: 'https://myfuction.azurewebsites.net/api/my-test-trigger-function'
method: 'GET'
waitForCompletion: 'false'
Requisitos
| Requirement | Descripción |
|---|---|
| Tipos de canalización | YAML, compilación clásica, versión clásica |
| Funciona en | Servidor, ServerGate |
| Demands | Ninguno |
| Capacidades | Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo. |
| Restricciones de comandos | Any |
| Variables configurables | Any |
| Versión del agente | Todas las versiones de agente admitidas. |
| Categoría de tarea | Utilidad |