Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Use esta tarefa num trabalho sem agente de um pipeline de lançamento para invocar uma função ativada por HTTP numa aplicação de funções e analisar a resposta. A aplicação de funções deve ser criada e alojada no Funções do Azure.
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 Ligação ao Serviço
Alias de entrada: azureServiceConnection | connectedServiceARM.
string.
Ligação de serviço usada para autenticar ao invocar a Função Azure. Fornece um Token de Acesso Entra para acesso ao Principal de Serviço ou Identidade Gerida.
function
-
Azure função URL
string. Required.
URL da função Azure que precisa de ser invocada. Exemplo: https://azurefunctionapp.azurewebsites.net/api/HttpTriggerJS1.
key
-
Tecla de função
string.
A função ou a chave host usada para aceder 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 ao nível do ambiente com um valor como chave secreta.
method
-
Método
string. Required. Valores permitidos: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, PATCH. Valor predefinido: POST.
O método HTTP com que a função será invocada.
headers
-
Cabeçalhos
string. Valor predefinido: {\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 ao pedido enviado 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
-
Carroçaria
string. Opcional. 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 predefinido: false.
Como a tarefa reporta a conclusão.
-
false- Resposta API - a função devolve o sucesso e os critérios de sucesso são avaliados como verdadeiro. -
true- Callback - a função faz um callback para atualizar o registo da linha temporal.
successCriteria
-
Critérios de sucesso
string. Opcional. Use quando waitForCompletion = false.
Os critérios para uma tarefa bem-sucedida. Por defeito, a tarefa devolve 200 OK o estado quando bem-sucedida. Se esta 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 controlo de tarefas
Todas as tarefas têm opções de controle, além de suas entradas de tarefas. Para obter mais informações, consulte Opções de controle de e propriedades de tarefas comuns.
Variáveis de saída
Nenhum.
Remarks
Use esta tarefa num trabalho sem agentes de um pipeline de lançamento para invocar uma função HTTP desencadeada numa aplicação de funções que seja criada e alojada em Funções do Azure e analisar a resposta.
Onde deve uma tarefa sinalizar a conclusão quando o Callback é escolhido como evento de conclusão?
Para sinalizar a conclusão, a função deve enviar dados de conclusão POST para o endpoint REST do pipeline seguinte.
{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 simples aplicação cmdline para detalhes específicos. Além disso, existe uma biblioteca auxiliar em C# para permitir registos em tempo real e gestão do estado das tarefas sem agente. Mais informações
Porque é que a tarefa falha em 1 minuto quando o tempo de espera é mais longo?
Se a função for executada por mais de 1 minuto, use o evento de conclusão de chamada de retorno . A opção de conclusão da API Response é suportada para pedidos que sejam concluídos em 60 segundos.
Exemplos
Os dois exemplos seguintes são funcionalmente equivalentes. O primeiro exemplo utiliza uma ligaçã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'
Requisitos
| Requirement | Description |
|---|---|
| Tipos de pipeline | YAML, Construção clássica, Versão clássica |
| Funciona em | Servidor, ServerGate |
| Demands | None |
| Capacidades | Esta tarefa não satisfaz quaisquer exigências 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 suportadas. |
| Categoria de tarefa | Utilidade |