Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze quickstart gebruikt u opdrachtregelprogramma's van Azure Developer om een serverloze werkstroom te bouwen waarmee meerdere taken parallel worden ingedeeld. Je maakt resources aan in Azure, verifieert de code lokaal en deployt deze vervolgens naar een nieuwe serverless functie-app die draait in een Flex Consumption-plan in Azure Functions.
Het project maakt gebruik van de Azure Developer CLI (azd) om de implementatie van uw code in Azure te vereenvoudigen. Deze implementatie volgt de huidige aanbevolen procedures voor veilige en schaalbare Azure Functions-implementaties. In deze quickstart wordt het fan-out/fan-in-patroon in Durable Functions gedemonstreerd, een extensie die stateful werkstromen coördineert met duurzame uitvoering. Het voorbeeld gebruikt de Durable Task Scheduler, een volledig beheerde backend voor Durable Functions die de Azure Storage-backend vervangt. In het voorbeeld worden artikeltitels parallel opgehaald: de coördinatie spreidt zich uit over meerdere activiteiten die tegelijk worden uitgevoerd, waarna ze weer worden samengevoegd om de resultaten te aggregeren.
Het Flex Consumption-abonnement volgt standaard een factureringsmodel met betalen voor wat u gebruikt . Dit betekent dat voor het voltooien van deze quickstart een kleine kosten van een paar cent of minder in uw Azure-account in rekening worden gebracht.
Prerequisites
Een Azure-account met een actief abonnement. Gratis een account maken
Het project initialiseren
Gebruik de azd init opdracht om een lokaal Durable Functions-codeproject te maken op basis van een sjabloon.
Voer in uw lokale terminal of opdrachtprompt deze
azd initopdracht uit in een lege map:azd init --template durable-functions-quickstart-dotnet-azd -e dfquickstart-dotnetMet deze opdracht worden de projectbestanden opgehaald uit de template-opslagplaats en wordt het project geïnitialiseerd in een nieuwe map. Met
-ede vlag wordt een naam ingesteld voor de huidige omgeving. Inazdde omgeving wordt een unieke implementatiecontext voor uw app onderhouden en kunt u meer dan één definiëren. De omgevingsnaam wordt ook gebruikt in de naam van de resourcegroep die u in Azure maakt.Ga naar de projectmap en ga vervolgens naar de map van de
fanoutfaninapp:cd durable-functions-quickstart-dotnet-azd/fanoutfanin
Voer in uw lokale terminal of opdrachtprompt deze
azd initopdracht uit in een lege map:azd init --template durable-functions-quickstart-python-azd -e dfquickstart-pythonMet deze opdracht worden de projectbestanden opgehaald uit de template-opslagplaats en wordt het project geïnitialiseerd in een nieuwe map. Met
-ede vlag wordt een naam ingesteld voor de huidige omgeving. Inazdde omgeving wordt een unieke implementatiecontext voor uw app onderhouden en kunt u meer dan één definiëren. De omgevingsnaam wordt ook gebruikt in de naam van de resourcegroep die u in Azure maakt.Ga naar de projectmap en ga vervolgens naar de map van de
srcapp:cd durable-functions-quickstart-python-azd/src
Voer in uw lokale terminal of opdrachtprompt deze
azd initopdracht uit in een lege map:azd init --template durable-functions-quickstart-typescript-azd -e dfquickstart-typescriptMet deze opdracht worden de projectbestanden opgehaald uit de template-opslagplaats en wordt het project geïnitialiseerd in een nieuwe map. Met
-ede vlag wordt een naam ingesteld voor de huidige omgeving. Inazdde omgeving wordt een unieke implementatiecontext voor uw app onderhouden en kunt u meer dan één definiëren. De omgevingsnaam wordt ook gebruikt in de naam van de resourcegroep die u in Azure maakt.Ga naar de projectmap en ga vervolgens naar de map van de
srcapp:cd durable-functions-quickstart-typescript-azd/src
Voer in uw lokale terminal of opdrachtprompt deze
azd initopdracht uit in een lege map:azd init --template durable-functions-quickstart-java-azd -e dfquickstart-javaMet deze opdracht worden de projectbestanden opgehaald uit de template-opslagplaats en wordt het project geïnitialiseerd in een nieuwe map. Met
-ede vlag wordt een naam ingesteld voor de huidige omgeving. Inazdde omgeving wordt een unieke implementatiecontext voor uw app onderhouden en kunt u meer dan één definiëren. De omgevingsnaam wordt ook gebruikt in de naam van de resourcegroep die u in Azure maakt.Wijzig naar de projectmap:
cd durable-functions-quickstart-java-azd
Voer in uw lokale terminal of opdrachtprompt deze
azd initopdracht uit in een lege map:azd init --template durable-functions-quickstart-javascript-azd -e dfquickstart-javascriptMet deze opdracht worden de projectbestanden opgehaald uit de template-opslagplaats en wordt het project geïnitialiseerd in een nieuwe map. Met
-ede vlag wordt een naam ingesteld voor de huidige omgeving. Inazdde omgeving wordt een unieke implementatiecontext voor uw app onderhouden en kunt u meer dan één definiëren. De omgevingsnaam wordt ook gebruikt in de naam van de resourcegroep die u in Azure maakt.Ga naar de projectmap en ga vervolgens naar de map van de
srcapp:cd durable-functions-quickstart-javascript-azd/src
Voer in uw lokale terminal of opdrachtprompt deze
azd initopdracht uit in een lege map:azd init --template durable-functions-quickstart-powershell-azd -e dfquickstart-powershellMet deze opdracht worden de projectbestanden opgehaald uit de template-opslagplaats en wordt het project geïnitialiseerd in een nieuwe map. Met
-ede vlag wordt een naam ingesteld voor de huidige omgeving. Inazdde omgeving wordt een unieke implementatiecontext voor uw app onderhouden en kunt u meer dan één definiëren. De omgevingsnaam wordt ook gebruikt in de naam van de resourcegroep die u in Azure maakt.Ga naar de projectmap en ga vervolgens naar de map van de
srcapp:cd durable-functions-quickstart-powershell-azd/src
Azure-resources inrichten
Dit project gebruikt het azd provision commando om de benodigde Azure-resources te creëren, waaronder een nieuwe functie-app in een Flex Consumption-plan, een Duurzame Taakplanner en een taakhub.
Tip
Het project bevat een set Bicep-bestanden (in de infra directory) die azd gebruikt om een veilige implementatie te realiseren voor een Flex-verbruiksplan dat de aanbevolen procedures volgt.
Ga terug naar de hoofdmap project (de map die het
azure.yamlbestand bevat):cd ..
- Zorg dat je nog steeds in de hoofdmap van het project zit (de map waarin het
azure.yamlbestand staat).
Voer dit commando uit om te authenticeren met je Azure-account:
azd auth loginVoer deze opdracht uit in de hoofdmap van het project zodat
azdde vereiste Azure-resources kan aanmaken:azd provisionDe hoofdmap bevat het
azure.yamldefinitiebestand dat vereist is voorazd.Geef de volgende vereiste implementatieparameters op wanneer u hierom wordt gevraagd:
Parameter Description Azure-abonnement Abonnement waarin uw middelen worden gecreëerd. Als je account meer dan één huurder heeft, moet je eerst je huurder kiezen. Azure-locatie Azure-regio waarin u de resourcegroep maakt die de nieuwe Azure-resources bevat. Alleen regio's die momenteel ondersteuning bieden voor het Flex Consumption-abonnement, worden weergegeven. vnetEnabled Of je het nu inzet in een virtueel netwerk. Selecteer voor deze quickstart false ( false ). Het
azd provisioncommando gebruikt je antwoorden op deze prompts met de Bicep-configuratiebestanden om deze benodigde Azure-bronnen te maken en te configureren:- Flex Consumption-abonnement en functie-app
- Azure Storage (vereist) en Application Insights (aanbevolen)
- Duurzame Taakplanner en Taakhub
- Toegangsbeleid en rollen voor uw account
- Service-naar-service-verbindingen met beheerde identiteiten (in plaats van opgeslagen verbindingsreeksen)
Nadat de opdracht is voltooid, ziet u koppelingen naar de resources die u hebt gemaakt.
Provisioning draait ook een post-provisioning-script dat een local.settings.json bestand genereert in je appmap. Dit bestand bevat de verbindingsinstellingen voor het geïmplementeerde Durable Task Scheduler-eindpunt, dat je nodig hebt om het project lokaal uit te voeren.
Azurite starten
Om het project lokaal te draaien, heeft de Functions-runtime een lokale opslagemulator nodig. De "AzureWebJobsStorage": "UseDevelopmentStorage=true" instelling in het local.settings.json-bestand stuurt de runtime aan om Azurite hiervoor te gebruiken.
Voer in een nieuw terminalvenster dit commando uit om Azurite te starten:
azurite --skipApiVersionCheck --location ~/azurite-data
Laat Azurite draaien in dit terminalvenster terwijl je lokaal test.
Uitvoeren in uw lokale omgeving
Ga in je oorspronkelijke terminal naar de
fanoutfaninapp-map en start de Functions-host:cd fanoutfanin func startWanneer de Functions-host wordt gestart in uw lokale projectmap, worden de lokale URL-eindpunten van uw door HTTP geactiveerde functies naar de terminaluitvoer geschreven.
Opmerking
Omdat autorisatie van toegangssleutels niet wordt afgedwongen wanneer de functies lokaal worden uitgevoerd, hebt u geen toegangssleutel nodig om de functie aan te roepen.
Voer in uw browser een GET-aanvraag uit naar het eindpunt waarmee de orkestratie wordt gestart.
http://localhost:7071/api/FetchOrchestration_HttpStart
Met dit verzoek wordt een nieuwe orkestratie-instantie gestart. De orkestratie verdeelt zich over verschillende activiteiten om de titels van Microsoft Learn-artikelen parallel op te halen. Wanneer de activiteiten zijn voltooid, trekt de orkestratie zich terug samen en worden de titels geretourneerd als een opgemaakte tekenreeks.
Ga in je oorspronkelijke terminal naar de map van de
src-app, maak een virtuele omgeving aan en activeer deze, installeer afhankelijkheden en start de Functions-host:cd srcDe manier waarop je je virtuele omgeving (met naam
.venvgenoemd) aanmaakt en activeert, hangt af van je terminal:python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt func startWanneer de Functions-host wordt gestart in uw lokale projectmap, worden de lokale URL-eindpunten van uw door HTTP geactiveerde functies naar de terminaluitvoer geschreven.
Opmerking
Omdat autorisatie van toegangssleutels niet wordt afgedwongen wanneer de functies lokaal worden uitgevoerd, hebt u geen toegangssleutel nodig om de functie aan te roepen.
Voer in uw browser een GET-aanvraag uit naar het HTTP-begineindpunt:
http://localhost:7071/api/orchestrators/fetch_orchestration
Met dit verzoek wordt een nieuwe orkestratie-instantie gestart. De orkestratie verdeelt zich over verschillende activiteiten om de titels van Microsoft Learn-artikelen parallel op te halen. Wanneer de activiteiten zijn voltooid, trekt de orkestratie zich terug samen en worden de titels geretourneerd als een opgemaakte tekenreeks.
Ga in je originele terminal naar de
srcapp-map, installeer afhankelijkheden, bouw het project en start de Functions-host:cd src npm install npm run build func startWanneer de Functions-host wordt gestart in uw lokale projectmap, worden de lokale URL-eindpunten van uw door HTTP geactiveerde functies naar de terminaluitvoer geschreven.
Opmerking
Omdat autorisatie van toegangssleutels niet wordt afgedwongen wanneer de functies lokaal worden uitgevoerd, hebt u geen toegangssleutel nodig om de functie aan te roepen.
Voer in uw browser een GET-aanvraag uit naar het HTTP-begineindpunt:
http://localhost:7071/api/orchestrators/fetchOrchestration
Met dit verzoek wordt een nieuwe orkestratie-instantie gestart. De orkestratie verdeelt zich over verschillende activiteiten om de titels van Microsoft Learn-artikelen parallel op te halen. Wanneer de activiteiten zijn voltooid, trekt de orkestratie zich terug samen en worden de titels geretourneerd als een opgemaakte tekenreeks.
Bouw in je originele terminal het project en start vervolgens de Functions-host vanuit de build output-map:
mvn clean package cd target/azure-functions/durable-functions-quickstart func startWanneer de Functions-host wordt gestart in uw lokale projectmap, worden de lokale URL-eindpunten van uw door HTTP geactiveerde functies naar de terminaluitvoer geschreven.
Opmerking
Omdat autorisatie van toegangssleutels niet wordt afgedwongen wanneer de functies lokaal worden uitgevoerd, hebt u geen toegangssleutel nodig om de functie aan te roepen.
Voer in uw browser een GET-aanvraag uit naar het eindpunt waarmee de orkestratie wordt gestart.
http://localhost:7071/api/FetchOrchestration_HttpStart
Met dit verzoek wordt een nieuwe orkestratie-instantie gestart. De orkestratie verdeelt zich over verschillende activiteiten om de titels van Microsoft Learn-artikelen parallel op te halen. Wanneer de activiteiten zijn voltooid, trekt de orkestratie zich terug samen en worden de titels geretourneerd als een opgemaakte tekenreeks.
Ga in je originele terminal naar de
srcapp-map, installeer afhankelijkheden en start de Functions-host:cd src npm install func startWanneer de Functions-host wordt gestart in uw lokale projectmap, worden de lokale URL-eindpunten van uw door HTTP geactiveerde functies naar de terminaluitvoer geschreven.
Opmerking
Omdat autorisatie van toegangssleutels niet wordt afgedwongen wanneer de functies lokaal worden uitgevoerd, hebt u geen toegangssleutel nodig om de functie aan te roepen.
Voer in uw browser een GET-aanvraag uit naar het eindpunt waarmee de orkestratie wordt gestart.
http://localhost:7071/api/FetchOrchestration_HttpStart
Met dit verzoek wordt een nieuwe orkestratie-instantie gestart. De orkestratie verdeelt zich over verschillende activiteiten om de titels van Microsoft Learn-artikelen parallel op te halen. Wanneer de activiteiten zijn voltooid, trekt de orkestratie zich terug samen en worden de titels geretourneerd als een opgemaakte tekenreeks.
Ga in je oorspronkelijke terminal naar de
srcapp-map en start de Functions-host:cd src func startWanneer de Functions-host wordt gestart in uw lokale projectmap, worden de lokale URL-eindpunten van uw door HTTP geactiveerde functies naar de terminaluitvoer geschreven.
Opmerking
Omdat autorisatie van toegangssleutels niet wordt afgedwongen wanneer de functies lokaal worden uitgevoerd, hebt u geen toegangssleutel nodig om de functie aan te roepen.
Voer in uw browser een GET-aanvraag uit naar het eindpunt waarmee de orkestratie wordt gestart.
http://localhost:7071/api/FetchOrchestration_HttpStart
Met dit verzoek wordt een nieuwe orkestratie-instantie gestart. De orkestratie verdeelt zich over verschillende activiteiten om de titels van Microsoft Learn-artikelen parallel op te halen. Wanneer de activiteiten zijn voltooid, trekt de orkestratie zich terug samen en worden de titels geretourneerd als een opgemaakte tekenreeks.
Het HTTP-eindpunt retourneert een JSON-antwoord met verschillende URL's. Het
statusQueryGetUrieindpunt biedt de orkestratiestatus.Kopieer de
statusQueryGetUriwaarde en plak deze in uw browser of HTTP-testtool om de status van de orkestratie te controleren. Wanneer de orkestratie is voltooid, ziet u de opgehaalde artikeltitels in de reactie.Wanneer u klaar bent, drukt u op Ctrl+C in het terminalvenster om het
funchostproces te stoppen.
- Voer
deactivateuit om de virtuele omgeving af te sluiten.
De code bekijken (optioneel)
U kunt de code bekijken waarmee het fan-out/fan-in-patroon wordt geïmplementeerd.
De activiteiten voor het ophalen van titels worden bijgehouden met behulp van een dynamische takenlijst. De regel await Task.WhenAll(parallelTasks); wacht tot alle aangeroepen activiteiten, die gelijktijdig worden uitgevoerd, zijn voltooid. Als het klaar is, worden alle uitvoer samengevoegd als een opgemaakte tekenreeks.
[Function(nameof(FetchOrchestration))]
public static async Task<string> RunOrchestrator(
[OrchestrationTrigger] TaskOrchestrationContext context)
{
ILogger logger = context.CreateReplaySafeLogger(nameof(FetchOrchestration));
logger.LogInformation("Fetching data.");
var parallelTasks = new List<Task<string>>();
// List of URLs to fetch titles from
var urls = new List<string>
{
"https://learn.microsoft.com/azure/azure-functions/durable/durable-functions-overview",
"https://learn.microsoft.com/azure/azure-functions/durable/durable-task-scheduler/durable-task-scheduler",
"https://learn.microsoft.com/azure/azure-functions/functions-scenarios",
"https://learn.microsoft.com/azure/azure-functions/functions-create-ai-enabled-apps",
};
// Run fetching tasks in parallel
foreach (var url in urls)
{
Task<string> task = context.CallActivityAsync<string>(nameof(FetchTitleAsync), url);
parallelTasks.Add(task);
}
// Wait for all the parallel tasks to complete before continuing
await Task.WhenAll(parallelTasks);
// Return fetched titles as a formatted string
return string.Join("; ", parallelTasks.Select(t => t.Result));
}
U kunt het volledige sjabloonproject bekijken here.
De activiteiten voor het ophalen van titels worden bijgehouden met behulp van een dynamische takenlijst. De regel yield context.task_all(tasks) wacht tot alle aangeroepen activiteiten, die gelijktijdig worden uitgevoerd, zijn voltooid. Als het klaar is, worden alle uitvoer samengevoegd als een opgemaakte tekenreeks.
# List of URLs to fetch titles from
urls = [
"https://learn.microsoft.com/azure/azure-functions/durable/durable-functions-overview",
"https://learn.microsoft.com/azure/azure-functions/durable/durable-task-scheduler/durable-task-scheduler",
"https://learn.microsoft.com/azure/azure-functions/functions-scenarios",
"https://learn.microsoft.com/azure/azure-functions/functions-create-ai-enabled-apps",
]
# Run fetching tasks in parallel
tasks = []
for url in urls:
task = context.call_activity("fetch_title", url)
tasks.append(task)
# Wait for all the parallel tasks to complete before continuing
results = yield context.task_all(tasks)
# Return fetched titles as a formatted string
return "; ".join(results)
@myApp.activity_trigger(input_name="url")
async def fetch_title(url: str):
"""Activity function that fetches the title from a URL."""
logger = logging.getLogger("FetchTitle")
logger.info(f"Fetching from url {url}.")
try:
async with ClientSession() as session:
U kunt het volledige sjabloonproject bekijken here.
De activiteiten voor het ophalen van titels worden bijgehouden met behulp van een dynamische takenlijst. De regel yield context.df.Task.all(parallelTasks) wacht tot alle aangeroepen activiteiten, die gelijktijdig worden uitgevoerd, zijn voltooid. Als het klaar is, worden alle uitvoer samengevoegd als een opgemaakte tekenreeks.
const urls = [
"https://learn.microsoft.com/azure/azure-functions/durable/durable-functions-overview",
"https://learn.microsoft.com/azure/azure-functions/durable/durable-task-scheduler/durable-task-scheduler",
"https://learn.microsoft.com/azure/azure-functions/functions-scenarios",
"https://learn.microsoft.com/azure/azure-functions/functions-create-ai-enabled-apps",
];
// Run fetching tasks in parallel
const parallelTasks = [];
for (const url of urls) {
const task = context.df.callActivity(fetchTitleActivityName, url);
parallelTasks.push(task);
}
// Wait for all the parallel tasks to complete before continuing
const results: string[] = yield context.df.Task.all(parallelTasks);
// Return fetched titles as a formatted string
return results.join("; ");
};
df.app.orchestration("fetchOrchestration", fetchOrchestration);
const fetchTitleAsync: ActivityHandler = async function (
url: string,
context: InvocationContext
U kunt het volledige sjabloonproject bekijken here.
De activiteiten voor het ophalen van titels worden bijgehouden met behulp van een dynamische takenlijst. De regel ctx.allOf(parallelTasks).await() wacht tot alle aangeroepen activiteiten, die gelijktijdig worden uitgevoerd, zijn voltooid. Als het klaar is, worden alle uitvoer samengevoegd als een opgemaakte tekenreeks.
@FunctionName("FetchOrchestration")
public String runOrchestrator(
@DurableOrchestrationTrigger(name = "taskOrchestrationContext") TaskOrchestrationContext ctx) {
List<String> urls = List.of(
"https://learn.microsoft.com/azure/azure-functions/durable/durable-functions-overview",
"https://learn.microsoft.com/azure/azure-functions/durable/durable-task-scheduler/durable-task-scheduler",
"https://learn.microsoft.com/azure/azure-functions/functions-scenarios",
"https://learn.microsoft.com/azure/azure-functions/functions-create-ai-enabled-apps"
);
// Fan out: run fetching tasks in parallel
List<Task<String>> parallelTasks = urls.stream()
.map(url -> ctx.callActivity("FetchTitle", url, String.class))
.collect(Collectors.toList());
// Fan in: wait for all parallel tasks to complete
List<String> results = ctx.allOf(parallelTasks).await();
// Return fetched titles as a formatted string
return String.join("; ", results);
}
U kunt het volledige sjabloonproject bekijken here.
De activiteiten voor het ophalen van titels worden bijgehouden met behulp van een dynamische takenlijst. De regel yield context.df.Task.all(parallelTasks) wacht tot alle aangeroepen activiteiten, die gelijktijdig worden uitgevoerd, zijn voltooid. Als het klaar is, worden alle uitvoer samengevoegd als een opgemaakte tekenreeks.
df.app.orchestration('fetchOrchestration', function* (context) {
context.log("Fetching data.");
const urls = [
"https://learn.microsoft.com/azure/azure-functions/durable/durable-functions-overview",
"https://learn.microsoft.com/azure/azure-functions/durable/durable-task-scheduler/durable-task-scheduler",
"https://learn.microsoft.com/azure/azure-functions/functions-scenarios",
"https://learn.microsoft.com/azure/azure-functions/functions-create-ai-enabled-apps",
];
// Fan out: run fetching tasks in parallel
const parallelTasks = urls.map(url => context.df.callActivity(activityName, url));
// Fan in: wait for all parallel tasks to complete
const results = yield context.df.Task.all(parallelTasks);
// Return fetched titles as a formatted string
return results.join("; ");
});
U kunt het volledige sjabloonproject bekijken here.
De activiteiten voor het ophalen van titels worden bijgehouden met behulp van een dynamische takenlijst. De regel Wait-ActivityFunction -Task $parallelTasks wacht tot alle aangeroepen activiteiten, die gelijktijdig worden uitgevoerd, zijn voltooid. Als het klaar is, worden alle uitvoer samengevoegd als een opgemaakte tekenreeks.
param($Context)
$urls = @(
"https://learn.microsoft.com/azure/azure-functions/durable/durable-functions-overview",
"https://learn.microsoft.com/azure/azure-functions/durable/durable-task-scheduler/durable-task-scheduler",
"https://learn.microsoft.com/azure/azure-functions/functions-scenarios",
"https://learn.microsoft.com/azure/azure-functions/functions-create-ai-enabled-apps"
)
# Fan out: run fetching tasks in parallel
$parallelTasks = @()
foreach ($url in $urls) {
$parallelTasks += Invoke-DurableActivity -FunctionName 'FetchTitle' -Input $url -NoWait
}
# Fan in: wait for all parallel tasks to complete
$results = Wait-ActivityFunction -Task $parallelTasks
# Return fetched titles as a formatted string
$output = $results -join "; "
$output
U kunt het volledige sjabloonproject bekijken here.
Nadat je je functies lokaal hebt geverifieerd, is het tijd om ze naar Azure te distribueren.
Implementeren in Azure
Voer dit commando uit vanuit de root project-map om je codeproject te deployen naar de functie-app in Azure:
azd deploy
Met de opdracht azd deploy wordt je code verpakt en geïmplementeerd in de functie-app die tijdens het inrichten is gemaakt. Nadat het commando is voltooid, start de app en draait in het deployed package.
De functie aanroepen op Azure
U kunt nu uw indelingseindpunt in Azure aanroepen door een HTTP-aanvraag naar de URL te verzenden. Wanneer uw functies worden uitgevoerd in Azure, wordt autorisatie van toegangssleutels afgedwongen en moet u een functietoegangssleutel opgeven bij uw aanvraag.
U kunt de Core Tools gebruiken om het URL-eindpunt van de HTTP-trigger op te halen waarmee de indeling in Azure wordt gestart.
Voer in uw lokale terminal of opdrachtprompt deze opdrachten uit om de URL-eindpuntwaarden op te halen:
APP_NAME=$(azd env get-value AZURE_FUNCTION_NAME) func azure functionapp list-functions $APP_NAME --show-keysMet
azd env get-valuede opdracht wordt de naam van uw functie-app opgehaald uit de lokale omgeving. Wanneer u de--show-keysoptie gebruikt,func azure functionapp list-functionsbevat de geretourneerde aanroep-URL: waarde voor elk eindpunt eventuele vereiste toegangssleutels op functieniveau.Gebruik een browser of HTTP-testtool om een GET-verzoek te doen aan het HTTP-startpunt om de orkestratie te starten in je functie-app die draait in Azure.
Uw code opnieuw implementeren
Voer azd deploy zo vaak uit als nodig is om code-updates in je functie-app te implementeren. Als je de Azure-resources moet updaten, start azd provision dan opnieuw.
Opmerking
Het nieuwste implementatiepakket overschrijft altijd de geïmplementeerde codebestanden.
Uw eerste reacties op azd-prompts en eventuele door azd gegenereerde omgevingsvariabelen worden lokaal opgeslagen in uw benoemde omgeving. Gebruik de azd env get-values opdracht om alle variabelen in uw omgeving te controleren die u hebt gebruikt bij het maken van Azure-resources.
De hulpbronnen opschonen
Wanneer u klaar bent met het werken met uw functie-app en gerelateerde resources, gebruikt u deze opdracht om de functie-app en de bijbehorende resources uit Azure te verwijderen en te voorkomen dat er verdere kosten in rekening worden gebracht:
azd down --no-prompt
Opmerking
Met de --no-prompt optie krijgt u de opdracht azd om uw resourcegroep te verwijderen zonder een bevestiging van u.
Deze opdracht heeft geen invloed op uw lokale codeproject.