Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użyj tego zadania w bezagentowym zadaniu potoku release, aby wywołać funkcję wyzwalaną HTTP w aplikacji funkcjonalnej i przeanalizować odpowiedź. Aplikacja Function musi być stworzona i hostowana w Azure Functions.
Składnia
# 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.
Dane wejściowe
azureSubscription
-
Azure Połączenie usługowe
Alias wejściowy: azureServiceConnection | connectedServiceARM.
string.
Połączenie z usługą używane do uwierzytelniania podczas wywoływania funkcji Azure. Zapewnia token dostępu Entra do dostępu do Principal Service lub Managed Identity.
function
-
Azure funkcja URL
string. To jest wymagane.
URL funkcji Azure, którą trzeba wywołać. Przykład: https://azurefunctionapp.azurewebsites.net/api/HttpTriggerJS1.
key
-
Klawisz funkcyjny
string.
Funkcja lub klucz gospodarza używany do dostępu i wywołania funkcji. Aby zabezpieczyć klucz, użyj zmiennej tajnego potoku do przechowywania klucza funkcyjnego. Przykład: $(myFunctionKey).
myFunctionKey jest zmienną sekretną na poziomie środowiska z wartością jako klucz sekretny.
method
-
Metoda
string. To jest wymagane. Dozwolone wartości: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, PATCH. Wartość domyślna: POST.
Metoda HTTP, za pomocą której funkcja zostanie wywołana.
headers
-
Nagłówki
string. Wartość domyślna: {\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}.
Nagłówek w formacie JSON do dołączenia do żądania wysyłanego do funkcji.
queryParameters
-
Parametry zapytań
string.
Zapytanie o ciąg do dodania do URL funkcji. Nie może zaczynać się od ? lub &.
body
-
Nadwozie
string. Opcjonalny. Użyj polecenia , gdy method != GET && method != HEAD.
Treści wiadomości w formacie JSON dla żądania.
waitForCompletion
-
Wydarzenie ukończenia
string. To jest wymagane. Dozwolone wartości: true (Callback), false (ApiResponse). Wartość domyślna: false.
Jak zadanie raportuje ukończenie.
-
false- Odpowiedź API – funkcja zwraca sukces, a kryteria sukcesu są ocenione jako prawdziwe. -
true- Callback – funkcja wykonuje callback, aby zaktualizować rekord osi czasu.
successCriteria
-
Kryteria sukcesu
string. Opcjonalny. Użyj polecenia , gdy waitForCompletion = false.
Kryteria skutecznego zadania. Domyślnie zadanie zwraca 200 OK status po pomyślnym sukcesie. Jeśli dane dane wejściowe nie są określone, treść odpowiedzi nie wpływa na wynik.
Przykład: Dla odpowiedzi {"status" : "successful"}wyrażenie może brzmieć .eq(root['status'], 'successful') Dowiedz się więcej o określaniu warunków.
Opcje sterowania zadania
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań podrzędnych. Aby uzyskać więcej informacji, zobacz opcje kontroli i typowe właściwości zadań.
Zmienne wyjściowe
Żaden.
Remarks
Użyj tego zadania w agentless job potoku release, aby wywołać funkcję wyzwalaną HTTP w aplikacji funkcjonalnej stworzonej i hostowanej w Azure Functions i przeanalizować odpowiedź.
Gdzie zadanie powinno sygnalizować zakończenie, gdy Callback zostanie wybrany jako zdarzenie zakończenia?
Aby sygnalizować zakończenie, funkcja powinna POST dodać dane o ukończeniu do następującego punktu końcowego REST potoków.
{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" }
Zobacz tę prostą aplikację cmdline dla szczegółów. Dodatkowo dostępna jest biblioteka pomocnicza C#, która umożliwia logowanie na żywo i zarządzanie statusem zadań bezagentowych. Dowiedz się więcej
Dlaczego zadanie kończy się niepowodzeniem w ciągu 1 minuty, skoro czas jest dłuższy?
Jeśli funkcja działa dłużej niż 1 minutę, użyj zdarzenia Callback completion (Zakończenie Callback ). Opcja uzupełnienia odpowiedzi API jest obsługiwana dla żądań, które zakończą się w ciągu 60 sekund.
Examples
Dwa poniższe przykłady są funkcjonalnie równoważne. Pierwszy przykład używa połączenia usług Azure Resource Manager do uwierzytelniania, podczas gdy drugi przykład bezpośrednio używa klucza funkcyjnego do uwierzytelniania.
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'
Wymagania
| Requirement | Description |
|---|---|
| Typy rurociągów | YAML, klasyczna kompilacja, wersja klasyczna |
| Działa na | Serwer, ServerGate |
| Demands | Żadne |
| Możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
| Ograniczenia poleceń | Dowolna |
| Zmienne ustawialne | Dowolna |
| Wersja agenta | Wszystkie obsługiwane wersje agentów. |
| Kategoria zadań | Użyteczność |