Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Använd denna uppgift i ett agentlöst jobb i en releasepipeline för att anropa en HTTP-triggad funktion i en funktionsapp och tolka svaret. Funktionsappen måste skapas och hostas i Azure Functions.
Syntax
# 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.
Ingångar
azureSubscription
-
Azure Tjänsteanslutning
Alias för inmatning: azureServiceConnection | connectedServiceARM.
string.
Tjänsteanslutning som används för autentisering när Azure-funktionen anropas. Tillhandahåller en entraåtkomsttoken för åtkomst till tjänstehuvud- eller hanterad identitet.
function
-
Azure funktion URL
string. Required.
URL till Azure-funktionen som behöver anropas. Exempel: https://azurefunctionapp.azurewebsites.net/api/HttpTriggerJS1.
key
-
Funktionsknapp
string.
Funktionen eller värdnyckeln som används för att komma åt och anropa funktionen. För att hålla nyckeln säker, använd en hemlig pipelinevariabel för att lagra funktionsnyckeln. Exempel: $(myFunctionKey).
myFunctionKey är en miljönivå-hemlig variabel med ett värde som den hemliga nyckeln.
method
-
Metod
string. Required. Tillåtna värden: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, PATCH. Standardvärde: POST.
HTTP-metoden med vilken funktionen ska anropas.
headers
-
Rubriker
string. Standardvärde: {\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}.
Headern i JSON-format ska bifogas förfrågan som skickas till funktionen.
queryParameters
-
Frågeparametrar
string.
Strängfrågan för att lägga till funktions-URL:en. Får inte börja med ? eller &.
body
-
Kaross
string. Optional. Använd när method != GET && method != HEAD.
JSON-formaterad meddelandekropp för förfrågan.
waitForCompletion
-
Färdigställande evenemang
string. Required. Tillåtna värden: true (Callback), false (ApiResponse). Standardvärde: false.
Hur uppgiften rapporterar slutförande.
-
false- API-svar – funktionen returnerar framgång och framgångskriterier utvärderas till sann. -
true- Callback – funktionen gör en callback för att uppdatera tidslinjeposten.
successCriteria
-
Framgångskriterier
string. Optional. Använd när waitForCompletion = false.
Kriterierna för en lyckad uppgift. Som standard returnerar 200 OK uppgiften status när den lyckas. Om denna indata inte specificeras påverkar svarsinnehållet inte resultatet.
Exempel: För svar {"status" : "successful"}kan uttrycket vara eq(root['status'], 'successful'). Läs mer om hur du specificerar villkor.
Alternativ för uppgiftskontroll
Alla aktiviteter har kontrollalternativ utöver sina uppgiftsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.
Utdatavariabler
Inga.
Anmärkningar
Använd denna uppgift i ett agentlöst jobb i en releasepipeline för att anropa en HTTP-triggad funktion i en funktionsapp som skapas och hostas i Azure Functions och parsa svaret.
Var ska en uppgift signalera slutförande när Callback väljs som slutförandehändelse?
För att signalera komplettering bör funktionen POSTA kompletteringsdata till följande pipelines REST-endpoint.
{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" }
Se denna enkla cmdline-applikation för detaljer. Dessutom finns ett C#-hjälpbibliotek tillgängligt för att möjliggöra liveloggning och hantering av uppgiftsstatus för agentlösa uppgifter. Läs mer
Varför misslyckas uppgiften inom 1 minut när timeouten är längre?
Om funktionen körs i mer än 1 minut, använd Callback-fullbordan . API Response completion alternativet stöds för förfrågningar som slutförs inom 60 sekunder.
Exempel
Följande två exempel är funktionellt ekvivalenta. Det första exemplet använder en Azure Resource Manager-tjänsteanslutning för autentisering, medan det andra exemplet direkt använder en funktionsnyckel för autentisering.
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
| Krav | Description |
|---|---|
| Typer av pipelines | YAML, klassisk version, klassisk version |
| Körs på | Server, ServerGate |
| Demands | Ingen |
| Kapaciteter | Den här aktiviteten uppfyller inte några krav på efterföljande uppgifter i jobbet. |
| Begränsningar för kommandon | Vilket som helst |
| Inställbara variabler | Vilket som helst |
| Agentversion | Alla agentversioner som stöds. |
| Aktivitetskategori | Nyttighet |