Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use essa tarefa em um trabalho sem agente de um pipeline de liberação para invocar uma função disparada por HTTP em um aplicativo de funções e analisar a resposta. O aplicativo de funções deve ser criado e hospedado no Azure Functions.
Sintaxe
# 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 Conexão de Serviço
Alias de entrada: azureServiceConnection | connectedServiceARM.
string.
Conexão de serviço usada para autenticar ao invocar a Função Azure. Fornece um Token de Acesso Entra para acesso a Principal de Serviço ou Identidade Gerenciada.
function
-
Azure URL da função
string. Required.
URL da função Azure que precisa ser invocada. Exemplo: https://azurefunctionapp.azurewebsites.net/api/HttpTriggerJS1.
key
-
Tecla de função
string.
A função ou a chave host usada para acessar e invocar a função. Para manter a chave segura, use uma variável secreta de pipeline para armazenar a chave de função. Exemplo: $(myFunctionKey).
myFunctionKey é uma variável secreta em nível ambiente com um valor como chave secreta.
method
-
Método
string. Required. Valores permitidos: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, PATCH. Valor padrão: POST.
O método HTTP com o qual a função será invocada.
headers
-
Cabeçalhos
string. Valor padrão: {\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}.
O cabeçalho em formato JSON deve ser anexado à solicitação enviada para a função.
queryParameters
-
Parâmetros de consulta
string.
A consulta de string para anexar à URL da função. Não deve começar com ? ou &.
body
-
Carroceria
string. Optional. Use quando method != GET && method != HEAD.
Corpo da mensagem com formato JSON para o pedido.
waitForCompletion
-
Evento de conclusão
string. Required. Valores permitidos: true (Callback), false (ApiResponse). Valor padrão: false.
Como a tarefa relata a conclusão.
-
false- Resposta API - a função retorna sucesso e os critérios de sucesso são avaliados como verdadeiros. -
true- Callback - a função faz um callback para atualizar o registro da linha do tempo.
successCriteria
-
Critérios de sucesso
string. Optional. Use quando waitForCompletion = false.
Os critérios para uma tarefa bem-sucedida. Por padrão, a tarefa retorna 200 OK status quando bem-sucedida. Se essa entrada não for especificada, o conteúdo da resposta não influencia o resultado.
Exemplo: Para resposta {"status" : "successful"}, a expressão pode ser eq(root['status'], 'successful'). Saiba mais sobre como especificar as condições.
Opções de controle de tarefa
Todas as tarefas têm opções de controle além das suas entradas de tarefas. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.
Variáveis de saída
Nenhum.
Observações
Use essa tarefa em um trabalho sem agentes de um pipeline de liberação para invocar uma função ativada por HTTP em um aplicativo de funções que seja criado e hospedado em Azure Functions e analisar a resposta.
Onde uma tarefa deve sinalizar a conclusão quando o Callback é escolhido como evento de conclusão?
Para sinalizar a conclusão, a função deve POST os dados de conclusão para o endpoint REST dos seguintes pipelines.
{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" }
Veja esta aplicação simples cmdline para detalhes específicos. Além disso, uma biblioteca auxiliar em C# está disponível para permitir o registro ao vivo e o gerenciamento do status das tarefas sem agente. Saiba mais
Por que a tarefa falha em 1 minuto quando o tempo é maior?
Se a função for executada por mais de 1 minuto, use o evento de conclusão de retorno de chamada . A opção de conclusão de API Response é suportada para requisições que são concluídas em até 60 segundos.
Exemplos
Os dois exemplos a seguir são funcionalmente equivalentes. O primeiro exemplo usa uma conexão de serviço do Azure Resource Manager para autenticação, enquanto o segundo exemplo usa diretamente uma chave de função para autenticação.
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'
Requirements
| Requirement | Descrição |
|---|---|
| Tipos de tubulação | YAML, build clássico, versão clássica |
| Funciona em | Servidor, ServerGate |
| Demands | Nenhum |
| recursos | Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho. |
| Restrições de comando | Qualquer |
| Variáveis configuráveis | Qualquer |
| Versão do agente | Todas as versões de agente com suporte. |
| Categoria de tarefa | Utilitário |