Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Rozšíření Azure Functions pro Visual Studio Code umožňuje vyvíjet funkce místně a nasazovat je do Azure. Pokud je tato zkušenost vaším prvním setkáním s Azure Functions, můžete se dozvědět více na Úvod do Azure Functions.
Rozšíření Azure Functions nabízí tyto výhody:
- Upravte, sestavte a spusťte funkce na místním vývojovém počítači.
- Publikujte projekt Azure Functions přímo do Azure.
- Funkce můžete psát v různých jazycích a využívat výhody Visual Studio Code.
Prohlížíte si verzi jazyka C# tohoto článku. Na začátku článku nezapomeňte vybrat upřednostňovaný programovací jazyk Functions.
Pokud s funkcí teprve začínáte, možná budete chtít nejdřív dokončit článek Visual Studio Code rychlý start.
Prohlížíte si Java verzi tohoto článku. Na začátku článku nezapomeňte vybrat upřednostňovaný programovací jazyk Functions.
Pokud s funkcí teprve začínáte, možná budete chtít nejdřív dokončit článek Visual Studio Code rychlý start.
Prohlížíte si javascriptovou verzi tohoto článku. Na začátku článku nezapomeňte vybrat upřednostňovaný programovací jazyk Functions.
Pokud s funkcí teprve začínáte, možná budete chtít nejdřív dokončit článek Visual Studio Code rychlý start.
Prohlížíte si verzi PowerShellu tohoto článku. Na začátku článku nezapomeňte vybrat upřednostňovaný programovací jazyk Functions.
Pokud s funkcí teprve začínáte, možná budete chtít nejdřív dokončit článek Visual Studio Code rychlý start.
Prohlížíte si Python verzi tohoto článku. Na začátku článku nezapomeňte vybrat upřednostňovaný programovací jazyk Functions.
Pokud s funkcí teprve začínáte, možná budete chtít nejdřív dokončit článek Visual Studio Code rychlý start.
Prohlížíte si verzi TypeScriptu tohoto článku. Na začátku článku nezapomeňte vybrat upřednostňovaný programovací jazyk Functions.
Pokud s funkcí teprve začínáte, možná budete chtít nejdřív dokončit článek Visual Studio Code rychlý start.
Důležité
Nekombinujte místní vývoj a vývoj portálu pro jednu aplikaci funkcí. Když publikujete z místního projektu do aplikace funkcí, proces nasazení přepíše všechny funkce, které jste vytvořili na portálu.
Požadavky
Visual Studio Code nainstalované na jednom z podporovaných platforem.
rozšíření Azure Functions. Můžete také nainstalovat sadu rozšíření Azure Tools, která se doporučuje pro práci s prostředky Azure.
Aktivní předplatné Azure. Pokud ještě účet nemáte, můžete ho vytvořit z rozšíření v Visual Studio Code.
K místnímu spuštění a ladění funkcí potřebujete také tyto požadavky. Není nutné jen vytvářet nebo nasazovat projekty v Azure Functions.
- Nástroje Azure Functions Core Tools, které umožňují integrované místní ladění. Pokud máte nainstalované rozšíření Azure Functions, nejjednodušší způsob instalace nebo aktualizace nástrojů Core Tools je spuštěním příkazu
Azure Functions: Install or Update Azure Functions Core Toolsz palety příkazů.
Rozšíření C# pro Visual Studio Code.
.NET (CLI), který je součástí sady .NET SDK.
-
Node.js, jednu z podporovaných verzí. Pomocí příkazu
node --versionzkontrolujte svou verzi.
Doporučuje se PowerShell 7.2 . Informace o verzi najdete v powershellových verzích.
Rozšíření PowerShell pro Visual Studio Code.
Python, jednu z podporovaných verzí.
Python rozšíření pro Visual Studio Code.
Vytvoření projektu Azure Functions
Rozšíření Functions umožňuje vytvořit požadovaný projekt aplikace funkcí ve stejnou dobu, kdy vytvoříte svou první funkci. Pomocí těchto kroků vytvořte funkci aktivovanou protokolem HTTP v novém projektu. HTTP trigger je nejjednodušší šablona triggeru funkce, která demonstruje.
V Visual Studio Code stisknutím klávesy F1 otevřete paletu příkazů. Vyhledejte a spusťte příkaz
Azure Functions: Create New Project.... Vyberte umístění adresáře pro pracovní prostor projektu a pak zvolte Vybrat.Můžete buď vytvořit novou složku, nebo zvolit prázdnou složku pro pracovní prostor projektu, ale nevybírejte složku projektu, která už je součástí pracovního prostoru.
Místo toho můžete spustit příkaz
Azure Functions: Create New Containerized Project...a získat také soubor Dockerfile vygenerovaný pro projekt.Po zobrazení výzvy vyberte jazyk projektu. V případě potřeby zvolte konkrétní jazykovou verzi.
Vyberte šablonu funkce triggeru HTTP nebo vyberte Přeskočit a vytvořte projekt bez funkce. Funkci můžete do projektu přidat kdykoli později.
Návod
Pokud chcete zobrazit další šablony, vyberte možnost Změnit filtr šablony a nastavte hodnotu na Jádro nebo Vše.
Jako název funkce zadejte HttpExample, vyberte Enter a pak vyberte Autorizaci funkce .
Tato úroveň autorizace vyžaduje, abyste při volání koncového bodu funkce zadali klíč funkce.
V rozevíracím seznamu vyberte Přidat do pracovního prostoru.
V okně Důvěřovat autorům souborů v této složce? vyberte Ano.
Visual Studio Code vytvoří funkci ve zvoleném jazyce a v šabloně pro funkci aktivovanou protokolem HTTP.
Vygenerované soubory projektu
Šablona projektu vytvoří projekt ve zvoleném jazyce a nainstaluje požadované závislosti. Pro libovolný jazyk má nový projekt tyto soubory:
host.json: Umožňuje nakonfigurovat hostitele služby Functions. Tato nastavení platí, když spouštíte funkce místně a když je spouštíte v Azure. Další informace najdete v host.json referenčních informacích.
local.settings.json: Udržuje nastavení použitá při místním spouštění funkcí. Tato nastavení se používají jenom v místně spuštěných funkcích. Další informace naleznete v tématu Místní soubor nastavení.
Důležité
Protože soubor local.settings.json může obsahovat tajné kódy, nezapomeňte soubor vyloučit ze správy zdrojového kódu projektu.
Dockerfile (volitelné): Umožňuje vytvořit kontejnerizovanou aplikaci funkcí z projektu pomocí schválené základní image pro váš projekt. Tento soubor získáte pouze při spuštění příkazu
Azure Functions: Create New Containerized Project.... Do existujícího projektu můžete přidat soubor Dockerfile pomocífunc init --docker-onlypříkazu v nástrojích Core Tools.
Soubor knihovny tříd HttpExample.cs, jehož obsah se liší v závislosti na tom, jestli se váš projekt spouští v izolovaném pracovním procesu nebo v procesu s hostitelem functions.
Vytvoří se tyto soubory:
Soubor pom.xml v kořenové složce, který definuje parametry projektu a nasazení, včetně závislostí projektu a verze Java. pom.xml obsahuje také informace o prostředcích Azure vytvořených během nasazení.
Soubor Functions.java v cestě src, která implementuje funkci.
Vygenerované soubory závisí na zvoleném programovacím modelu Node.js pro funkce:
Vytvoří se složka HttpExample, která obsahuje:
- Definiční soubor function.json
- Soubor run.ps1, který obsahuje kód funkce.
Vygenerované soubory závisí na zvoleném programovacím modelu Python pro funkce:
V tuto chvíli můžete funkci triggeru HTTP spustit místně.
Přidání funkce do projektu
Novou funkci můžete do existujícího projektu přidat pomocí jedné z předdefinovaných šablon triggerů functions. Pokud chcete přidat novou aktivační událost funkce, otevřete paletu příkazů výběrem klávesy F1 a pak vyhledejte a spusťte příkaz Azure Functions: Create Function. Podle pokynů zvolte typ triggeru a definujte požadované atributy triggeru. Pokud trigger vyžaduje přístupový klíč nebo connection string pro připojení ke službě, připravte tuto položku před vytvořením triggeru funkce.
Tato akce přidá do projektu nový soubor knihovny tříd C# (.cs).
Tato akce přidá do projektu nový soubor Java (.java).
Výsledky této akce závisí na verzi modelu Node.js.
Tato akce vytvoří v projektu novou složku. Složka obsahuje nový soubor function.json a nový soubor kódu PowerShellu.
Výsledky této akce závisí na verzi modelu Python.
Připojení ke službám
Funkci můžete připojit k dalším službám Azure přidáním vstupních a výstupních vazeb. Vazby propojují vaši funkci s jinými službami, aniž byste museli psát kód připojení.
Způsob, jakým například definujete výstupní vazbu, která zapisuje data do fronty úložiště, závisí na vašem procesním modelu:
V případě potřeby přidejte odkaz na balíček, který podporuje vaše rozšíření vazby.
Aktualizujte metodu funkce tak, aby přidala atribut, který definuje parametr vazby, například
QueueOutputpro výstupní vazbu fronty. Objekt můžete použítMultiResponsek vrácení více zpráv nebo více výstupních datových proudů.
Pokud například chcete přidat výstupní vazbu, která zapisuje data do fronty úložiště, aktualizujte metodu funkce a přidejte parametr vazby definovaný pomocí anotace QueueOutput. Objekt OutputBinding<T> představuje zprávy, které jsou zapsány do výstupní vazby po dokončení funkce.
Způsob, jakým například definujete výstupní vazbu, která zapisuje data do fronty úložiště, závisí na vaší verzi modelu Node.js:
Visual Studio Code umožňuje přidávat vazby do souboru function.json pomocí praktické sady výzev.
Pokud chcete přidat vazbu, otevřete paletu příkazů (F1) a zadejte Azure Functions: add binding... zvolte funkci pro novou vazbu a postupujte podle pokynů, které se liší v závislosti na typu přidané vazby do funkce.
Následuje příklad výzvy k definování nové výstupní vazby úložiště:
| Výzva | Hodnota | Popis |
|---|---|---|
| Výběr směru vazby | out |
Vazba je výstupní svázání. |
| Vyberte směr vazby | Azure Queue Storage |
Vazbou je Azure Storage fronty. |
| Název použitý k identifikaci této vazby v kódu | msg |
Název, který identifikuje parametr vazby odkazovaný v kódu. |
| Fronta, do které se zpráva odešle | outqueue |
Název fronty, do které vazba zapisuje. |
| Výběr nastavení z local.settings.json | MyStorageConnection |
Název nastavení aplikace, které obsahuje connection string pro účet úložiště. Nastavení AzureWebJobsStorage obsahuje připojovací řetězec pro účet úložiště, který jste vytvořili ve funkční aplikaci. |
Můžete také kliknout pravým tlačítkem (Ctrl+kliknout na macOS) přímo na function.json souboru ve složce funkcí, vybrat Přidat vazbu a postupovat podle stejných výzev.
V tomto příkladu se do pole bindings v souboru function.json přidá následující vazba:
{
"type": "queue",
"direction": "out",
"name": "msg",
"queueName": "outqueue",
"connection": "MyStorageConnection"
}
Způsob, jakým například definujete výstupní vazbu, která zapisuje data do fronty úložiště, závisí na vaší verzi modelu Python:
Následující příklad ukazuje definici funkce po přidání výstupní vazby Queue Storage do funkce aktivované protokolem HTTP:
Protože funkce aktivovaná protokolem HTTP také vrací odpověď HTTP, funkce vrátí MultiResponse objekt, který představuje výstup HTTP i fronty.
[Function("HttpExample")]
public MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req)
{
Tento příklad je definice objektu MultiResponse , který obsahuje výstupní vazbu:
public class MultiResponse
{
[QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
public string[] Messages { get; set; }
public IActionResult HttpResponse { get; set; }
}
V tomto příkladu se používá integrace ASP.NET Core. Pokud nepoužíváte integraci ASP.NET Core, musíte změnit HttpRequest na HttpRequestData a IActionResult na HttpResponseData.
Zprávy se posílají do fronty po dokončení funkce. Způsob, jakým definujete výstupní vazbu, závisí na modelu procesu. Další informace, včetně odkazů na ukázkový kód vazby, na který můžete odkazovat, najdete v tématu Přidání vazeb do funkce.
@FunctionName("HttpExample")
public HttpResponseMessage run(
@HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS)
HttpRequestMessage<Optional<String>> request,
@QueueOutput(name = "msg", queueName = "outqueue",
connection = "AzureWebJobsStorage") OutputBinding<String> msg,
final ExecutionContext context) {
Další informace, včetně odkazů na ukázkový kód vazby, na který můžete odkazovat, najdete v tématu Přidání vazeb do funkce.
const { app, output } = require('@azure/functions');
const sendToQueue = output.storageQueue({
queueName: 'outqueue',
connection: 'AzureWebJobsStorage',
});
app.http('HttpExample', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
extraOutputs: [sendToQueue],
handler: async (request, context) => {
try {
context.log(`Http function processed request for url "${request.url}"`);
const name = request.query.get('name') || (await request.text());
context.log(`Name: ${name}`);
if (name) {
const msg = `Name passed to the function ${name}`;
context.extraOutputs.set(sendToQueue, [msg]);
return { body: msg };
} else {
context.log('Missing required data');
return { status: 404, body: 'Missing required data' };
}
} catch (error) {
context.log(`Error: ${error}`);
return { status: 500, body: 'Internal Server Error' };
}
},
});
Způsob, jakým definujete výstupní vazbu, závisí na verzi modelu Node.js. Další informace, včetně odkazů na ukázkový kód vazby, na který můžete odkazovat, najdete v tématu Přidání vazeb do funkce.
$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg
Další informace, včetně odkazů na ukázkový kód vazby, na který můžete odkazovat, najdete v tématu Přidání vazeb do funkce.
@app.route(route="HttpExample")
@app.queue_output(arg_name="msg", queue_name="outqueue", connection="AzureWebJobsStorage")
def HttpExample(req: func.HttpRequest, msg: func.Out [func.QueueMessage]) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a request.')
Způsob, jakým definujete výstupní vazbu, závisí na verzi modelu Python. Další informace, včetně odkazů na ukázkový kód vazby, na který můžete odkazovat, najdete v tématu Přidání vazeb do funkce.
import {
app,
output,
HttpRequest,
HttpResponseInit,
InvocationContext,
StorageQueueOutput,
} from '@azure/functions';
const sendToQueue: StorageQueueOutput = output.storageQueue({
queueName: 'outqueue',
connection: 'AzureWebJobsStorage',
});
export async function HttpExample(
request: HttpRequest,
context: InvocationContext,
): Promise<HttpResponseInit> {
try {
context.log(`Http function processed request for url "${request.url}"`);
const name = request.query.get('name') || (await request.text());
context.log(`Name: ${name}`);
if (name) {
const msg = `Name passed to the function ${name}`;
context.extraOutputs.set(sendToQueue, [msg]);
return { body: msg };
} else {
context.log('Missing required data');
return { status: 404, body: 'Missing required data' };
}
} catch (error) {
context.log(`Error: ${error}`);
return { status: 500, body: 'Internal Server Error' };
}
}
app.http('HttpExample', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
handler: HttpExample,
});
Způsob, jakým definujete výstupní vazbu, závisí na verzi modelu Node.js. Další informace, včetně odkazů na ukázkový kód vazby, na který můžete odkazovat, najdete v tématu Přidání vazeb do funkce.
Přihlášení k Azure
Než budete moct vytvářet Azure prostředky nebo publikovat aplikaci, musíte se přihlásit k Azure.
Pokud ještě nejste přihlášení, na panelu Aktivita vyberte ikonu Azure. Potom v části Zdroje vyberte Sign in to Azure.
Pokud už jste přihlášení a uvidíte stávající předplatná, přejděte k další části. Pokud ještě účet Azure nemáte, vyberte Vytvoření účtu Azure. Studenti mohou vybrat Vytvořit účet Azure pro studenty.
Po zobrazení výzvy v prohlížeči vyberte svůj Azure účet a přihlaste se pomocí přihlašovacích údajů k účtu Azure. Pokud vytvoříte nový účet, můžete se přihlásit po vytvoření účtu.
Po úspěšném přihlášení můžete zavřít nové okno prohlížeče. Předplatná, která patří vašemu Azure účtu, se zobrazí na bočním panelu.
Vytvoření Azure prostředků
Než budete moct publikovat projekt Functions do Azure, musíte mít aplikaci funkcí a související prostředky ve svém Azure předplatném ke spuštění kódu. Aplikace funkcí poskytuje kontext spuštění pro vaše funkce. Když publikujete z Visual Studio Code do aplikace funkcí v Azure, projekt se zabalí a nasadí do vybrané aplikace funkcí ve vašem Azure předplatném.
Při vytváření aplikace funkcí v Azure můžete zvolit buď rychlou cestu k vytvoření aplikace funkcí pomocí výchozích hodnot, nebo cestu, která poskytuje pokročilé možnosti, jako je použití existujících Azure prostředků. Tímto způsobem máte větší kontrolu při vytváření vzdálených prostředků.
V této části vytvoříte funkční aplikaci v plánu Flex Consumption společně se souvisejícími prostředky v rámci vašeho předplatného Azure. Mnoho rozhodnutí o vytváření prostředků se pro vás provádí na základě výchozího chování. Pokud chcete mít větší kontrolu nad vytvořenými prostředky, musíte místo toho vytvořit aplikaci funkcí s pokročilými možnostmi.
V Visual Studio Code výběrem klávesy F1 otevřete paletu příkazů. Na příkazovém řádku (
>) zadejte a pak vyberte Azure Functions: Vytvořit aplikaci funkcí v Azure.Na příkazovém řádku zadejte následující informace:
Výzva Akce Výběr předplatného Vyberte Azure předplatné, které chcete použít. Výzva se nezobrazí, pokud v části Prostředky uvidíte jenom jedno předplatné. Zadejte nový název aplikace funkcí. Zadejte globálně jedinečný název platný v cestě URL. Zadaný název se ověří, abyste měli jistotu, že je v Azure Functions jedinečný. Výběr umístění pro nové prostředky Vyberte Azure oblast. Pokud chcete dosáhnout lepšího výkonu , vyberte oblast blízko vás. Zobrazí se pouze oblasti podporované plány Flex Consumption. Výběr zásobníku modulu runtime Vyberte jazykovou verzi, kterou aktuálně spouštíte lokálně. Vyberte typ ověřování zdroje Vyberte Spravovanou identitu, což je nejbezpečnější možnost připojení k výchozímu účtu úložiště hostitele. Na panelu Azure: Protokol aktivit se v rozšíření Azure zobrazuje stav jednotlivých prostředků při jejich vytváření v Azure.
Po vytvoření funkční aplikace se ve vašem předplatném Azure vytvoří následující související prostředky. Prostředky se pojmenují na základě názvu, který jste zadali pro vaši aplikaci funkcí.
- Skupina prostředků, což je logický kontejner pro související prostředky.
- Aplikace funkcí, která poskytuje prostředí pro spouštění kódu funkce. Aplikace funkcí umožňuje seskupit funkce jako logickou jednotku pro snadnější správu, nasazení a sdílení prostředků ve stejném plánu hostování.
- Plán Azure App Service, který definuje základního hostitele vaší aplikace funkcí.
- Standardní účet Azure Storage, který používá hostitel služby Functions k udržování stavu a dalších informací o vaší aplikaci funkcí.
- Instance Application Insights, která je připojená k funkční aplikaci a sleduje použití vašich funkcí v této aplikaci.
- Spravovaná identita přiřazená uživatelem přidaná do role Přispěvatel dat objektů blob služby Storage v novém výchozím účtu úložiště hostitele.
Po vytvoření aplikace funkcí a použití balíčku nasazení se zobrazí oznámení.
Návod
Ve výchozím nastavení se Azure prostředky vyžadované vaší aplikační funkcí vytvoří na základě názvu, který zadáte pro vaši aplikační funkci. Ve výchozím nastavení se prostředky vytvářejí pomocí aplikace funkcí ve stejné nové skupině prostředků. Pokud chcete přizpůsobit názvy přidružených zdrojů nebo znovu použít existující zdroje, publikujte projekt s rozšířenými možnostmi vytvoření.
Vytvořte nasazení Azure Container Apps
Důležité
Nyní je k dispozici nová metoda hostování pro spuštění Azure Functions přímo v Azure Container Apps. Podívejte se na podporu nativních funkcí Azure v aplikacích Azure Container. Tato integrace umožňuje používat všechny funkce a možnosti Azure Container Apps. Můžete také využít programovací model funkcí a jednoduchost automatického škálování poskytovaného Azure Functions.
Tento přístup doporučujeme pro většinu nových úloh. Další informace najdete v tématu Azure Functions na Azure Container Apps.
Pomocí Visual Studio Code můžete vytvořit Azure prostředky pro kontejnerizovaný projekt kódu. Když rozšíření zjistí přítomnost souboru Dockerfile během vytváření prostředků, zeptá se, jestli chcete místo kódu nasadit image kontejneru. Visual Studio Code vytvoří Azure Container Apps prostředí pro projekt kontejnerizovaného kódu, který je integrovaný s Azure Functions. Další informace najdete v hostování Azure Functions pomocí Azure Container Apps.
Poznámka:
Nasazení kontejneru vyžaduje rozšíření Azure Container Apps pro Visual Studio Code. Toto rozšíření je aktuálně ve verzi Preview.
Proces vytvoření závisí na tom, jestli zvolíte rychlé vytvoření, nebo potřebujete použít pokročilé možnosti:
V Visual Studio Code stisknutím klávesy F1 otevřete paletu příkazů. Vyhledejte a spusťte příkaz
Azure Functions: Create Function App in Azure....Po zobrazení výzvy zvolte image kontejneru.
Podle pokynů na obrazovce zadejte tyto informace:
Výzva Výběr Výběr předplatného (volitelné) Vyberte předplatné, které chcete použít. Tato výzva se nezobrazí, pokud v části Prostředky uvidíte jenom jedno předplatné. Zadejte název nové aplikace funkcí. Zadejte název, který je platný v cestě URL. Zadaný název se ověří, aby se zajistilo, že je globálně jedinečný ve službě Functions. Vyberte typ ověřování zdroje Vyberte Spravovaná identita, aby se vaše aplikace připojovala ke vzdáleným prostředkům pomocí ověřování Microsoft Entra ID místo používání sdílených tajných kódů (připojovacích řetězců a klíčů), které jsou méně zabezpečené. Výběr umístění pro nové prostředky Pokud chcete dosáhnout lepšího výkonu , zvolte oblast blízko vás. Po zobrazení výzvy zadejte název prostředí aplikace kontejneru.
Rozšíření zobrazuje stav jednotlivých prostředků při jejich vytváření v Azure na panelu Azure: Protokol aktivit.
Další informace o prostředcích potřebných ke spuštění kontejnerizovaných funkcí v Container Apps najdete v tématu Požadované prostředky.
Poznámka:
V současné době nemůžete použít Visual Studio Code k nasazení kontejnerizované aplikace funkcí do Azure Functions integrovaného prostředí Container Apps. Místo toho musíte image kontejneru publikovat do registru kontejneru a pak tuto image registru nastavit jako zdroj nasazení pro vaši aplikaci funkcí hostované službou Container Apps. Další informace najdete v tématu Vytvoření aplikace funkcí v kontejneru a aktualizace image v registru.
Nasazení souborů projektu
Nastavte kontinuální nasazení tak, aby se vaše funkční aplikace v Azure aktualizovala při aktualizaci zdrojových souborů v připojeném zdrojovém umístění. Soubory projektu můžete nasadit také z Visual Studio Code. Při publikování z Visual Studio Code můžete využít technologii nasazení Zip.
Důležité
Nasazení do existující funkční aplikace vždy přepíše obsah této aplikace v Azure.
Na paletě příkazů zadejte a pak vyberte Azure Functions: Deploy to Function App.
Vyberte aplikaci funkcí, kterou jste právě vytvořili. Po zobrazení výzvy k přepsání předchozích nasazení vyberte Nasadit a nasaďte kód funkce do nového prostředku aplikace funkcí.
Po dokončení nasazení vyberte View Output a zobrazte výsledky vytváření a nasazení, včetně prostředků Azure, které jste vytvořili. Pokud oznámení vynecháte, vyberte ikonu zvonku v pravém dolním rohu a znovu ho zobrazíte.
Získání adresy URL funkce aktivované protokolem HTTP v Azure
Pokud chcete volat funkci aktivovanou protokolem HTTP z klienta, potřebujete adresu URL funkce, která je k dispozici po nasazení do vaší aplikace funkcí. Tato adresa URL obsahuje všechny požadované funkční klíče. Toto rozšíření můžete použít k získání těchto adres URL nasazených funkcí. Pokud chcete jenom spustit vzdálenou funkci v Azure, použijte funkci "Spustit nyní" rozšíření.
Výběrem klávesy F1 otevřete paletu příkazů a pak vyhledejte a spusťte příkaz Azure Functions: Copy Function URL.
Podle pokynů vyberte aplikaci funkcí v Azure a pak konkrétní trigger HTTP, který chcete vyvolat.
Adresa URL funkce se zkopíruje do schránky spolu se všemi požadovanými klíči předanými parametrem code dotazu. Pomocí nástroje HTTP odešlete požadavky POST nebo použijte prohlížeč k odeslání požadavků GET do vzdálené funkce.
Když rozšíření získá adresu URL funkce v Azure, použije váš účet Azure k automatickému načtení klíčů potřebných ke spuštění funkce. Přečtěte si další informace o přístupových klíčích funkcí. Spouštění funkcí, které nejsou aktivované protokolem HTTP, vyžaduje použití klíče správce.
Spouštění funkcí
Rozšíření Azure Functions umožňuje spouštět jednotlivé funkce. Funkce můžete spouštět buď v projektu na místním vývojovém počítači, nebo v Azure předplatném.
Pro funkce triggeru HTTP volá rozšíření koncový bod HTTP. U jiných typů triggerů rozšíření volá rozhraní API správce, aby funkci spustila. Text zprávy odeslané do funkce závisí na typu triggeru. Když trigger vyžaduje testovací data, zobrazí se výzva k zadání dat v určitém formátu JSON.
Spouštění funkcí v Azure
Pokud chcete spustit funkci v Azure z Visual Studio Code, postupujte takto:
Na paletě příkazů zadejte Azure Functions: Spustit funkci nyní a vyberte své Azure předplatné.
V seznamu vyberte aplikaci funkcí v Azure. Pokud aplikaci funkcí nevidíte, ujistěte se, že jste přihlášeni ke správnému předplatnému.
V seznamu zvolte funkci, kterou chcete spustit. Do pole Zadejte text požadavku zadejte text zprávy požadavku a stisknutím klávesy Enter odešlete tuto zprávu požadavku do funkce.
Výchozí text v textu požadavku Enter označuje formát textu. Pokud vaše funkční aplikace nemá žádné funkce, zobrazí se výstraha s touto chybou.
Když se funkce spustí v Azure a vrátí odpověď, Visual Studio Code zobrazí oznámení.
Funkci můžete spustit také z oblasti Azure: Functions tak, že otevřete místní nabídku funkce, kterou chcete spustit z aplikace funkcí ve svém Azure předplatném, a pak vyberete Execute Function Now... .
Když spustíte funkce v Azure z Visual Studio Code, rozšíření použije váš účet Azure k automatickému načtení klíčů potřebných ke spuštění funkce. Přečtěte si další informace o přístupových klíčích funkcí. Spouštění funkcí, které nejsou aktivované protokolem HTTP, vyžaduje použití klíče správce.
Místní spouštění funkcí
Místní prostředí runtime je stejné prostředí, které hostuje vaši funkční aplikaci v Azure. Modul runtime načte místní nastavení ze souborulocal.settings.json. Pokud chcete projekt Functions spustit místně, musíte splnit další požadavky.
Konfigurace místního spuštění projektu
Modul runtime služby Functions interně používá účet Azure Storage pro všechny typy triggerů s výjimkou http a webhooků. Nastavte klíč Values.AzureWebJobsStorage na platný připojovací řetězec účtu Azure Storage.
Tato část používá rozšíření Azure Storage pro Visual Studio Code a Azure Storage Explorer k připojení a načtení připojovacího řetězce úložiště.
Pro nastavení řetězce připojení účtu úložiště:
V Visual Studio otevřete Cloud Explorer, rozbalte >Položka úložiště a vyberte Properties a zkopírujte hodnotu Primární připojovací řetězec.
V projektu otevřete soubor local.settings.json a nastavte hodnotu klíče AzureWebJobsStorage na connection string, který jste zkopírovali.
Opakováním předchozího kroku přidejte jedinečné klíče do pole Hodnoty pro všechna další připojení vyžadovaná vašimi funkcemi.
Další informace naleznete v tématu Místní soubor nastavení.
Místní ladění funkcí
Pokud chcete ladit funkce, vyberte F5. Pokud nástroje Core Tools nejsou dostupné, zobrazí se výzva k jeho instalaci. Po instalaci a spuštění nástrojů Core Tools se výstup zobrazí v terminálu. Tento krok je stejný jako spuštění func start příkazu Core Tools z terminálu, ale s dalšími úlohami sestavení a připojeným ladicím programem.
Při spuštění projektu můžete použít funkci rozšíření Spustit funkci nyní... pro aktivaci vašich funkcí stejně, jako kdyby byl projekt nasazen do Azure. V případě, že projekt běží v režimu ladění, se zarážky zobrazují ve Visual Studio Code, jak byste očekávali.
Na paletě příkazů zadejte Azure Functions: Spustit funkci nyní a zvolte Local project.
Vyberte funkci, kterou chcete ve svém projektu spustit, a zadejte text zprávy do Enter request body. Stisknutím klávesy Enter odešlete tuto zprávu požadavku do funkce. Výchozí text v Enter request body by měl naznačovat formát těla. Pokud vaše funkční aplikace nemá žádné funkce, zobrazí se výstraha s touto chybou.
Když se funkce spustí místně a po přijetí odpovědi, oznámení se vyvolá ve Visual Studio Code. Informace o spuštění funkce se zobrazují na panelu terminálu .
Klíče se při místním spuštění nevyžadují. Toto pravidlo platí pro klíče funkcí i klíče na úrovni správce.
Práce s místním nastavením aplikace
Když se vaše aplikace funkcí spustí v Azure, nastavení potřebná pro vaše funkce jsou uložena šifrovaně v nastavení aplikace. Během místního vývoje se tato nastavení místo toho přidají do Values kolekce v souborulocal.settings.json . Soubor local.settings.json také ukládá nastavení používaná místními vývojářskými nástroji.
Položky v kolekci Values v souboru local.settings.json projektu mají zrcadlit položky v nastavení aplikace funkcí v Azure.
Ve výchozím nastavení se tato nastavení nemigrují automaticky při publikování projektu do Azure. Po dokončení publikování se můžete rozhodnout publikovat nastavení z local.settings.json do aplikace funkcí v Azure. Další informace najdete v tématu Publikování nastavení aplikace.
Hodnoty v připojovacích stringech se nikdy nepublikují.
Kód může číst hodnoty nastavení aplikace funkcí jako proměnné prostředí. Další informace naleznete v tématu Proměnné prostředí.
- Kód může číst hodnoty nastavení aplikace funkcí jako proměnné prostředí. Další informace naleznete v tématu Proměnné prostředí.
- Kód může číst hodnoty nastavení aplikace funkcí jako proměnné prostředí. Další informace naleznete v tématu Proměnné prostředí.
- Kód může číst hodnoty nastavení aplikace funkcí jako proměnné prostředí. Další informace naleznete v tématu Proměnné prostředí.
- Kód může číst hodnoty nastavení aplikace funkcí jako proměnné prostředí. Další informace naleznete v tématu Proměnné prostředí.
Nastavení aplikace v Azure
Nastavení v souboru local.settings.json v projektu by se měla shodovat s nastavením aplikace v aplikaci funkcí v Azure. Do local.settings.json i aplikace funkcí v Azure musíte přidat všechna nová nastavení. Tato nastavení se při publikování projektu nenahrají automaticky. Stejně tak musíte stáhnout všechna nastavení, která vytvoříte v aplikaci funkcí na portálu , do místního projektu.
Publikování nastavení aplikace
Nejjednodušší způsob, jak publikovat požadovaná nastavení do aplikace funkcí v Azure, je použít odkaz Upload, který se zobrazí po publikování projektu:
Nastavení můžete publikovat také pomocí příkazu Azure Functions: Nahrát místní nastavení na paletě příkazů. Jednotlivá nastavení můžete do nastavení aplikace v Azure přidat pomocí příkazu Azure Functions: Přidat nové nastavení.
Návod
Než soubor publikujete, nezapomeňte soubor local.settings.json uložit.
Pokud je místní soubor zašifrovaný, proces ho dešifruje, publikuje ho a znovu ho zašifruje. Pokud v těchto dvou umístěních existují konfliktní hodnoty, zobrazí se výzva, abyste zvolili, jak pokračovat.
Zobrazení stávajícího nastavení aplikace v oblasti Azure: Functions rozbalením předplatného, vaší funkční aplikace a Nastavení aplikace.
Stáhnout nastavení z Azure
Pokud v Azure vytvoříte nastavení aplikace, můžete je stáhnout do souboru local.settings.json pomocí příkazu Azure Functions: Stáhnout vzdálená nastavení.
Stejně jako při nahrávání, pokud je místní soubor zašifrovaný, proces ho dešifruje, aktualizuje a znovu ho zašifruje. Pokud v těchto dvou umístěních existují konfliktní hodnoty, zobrazí se výzva, abyste zvolili, jak pokračovat.
Nainstalujte rozšíření vazby
Kromě triggerů HTTP a časovače se vazby implementují v balíčcích rozšíření.
Balíčky rozšíření musíte explicitně nainstalovat pro triggery a vazby, které je potřebují. Konkrétní balíček, který nainstalujete, závisí na modelu procesu projektu.
Spuštěním příkazu dotnet add package v okně terminálu nainstalujte balíčky rozšíření, které potřebujete v projektu. Tato šablona ukazuje, jak přidat vazbu pro knihovnu tříd izolovaného procesu:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.<BINDING_TYPE_NAME> --version <TARGET_VERSION>
Nahraďte <BINDING_TYPE_NAME> názvem balíčku, který obsahuje požadovanou vazbu. Požadovaný referenční článek k vazbě najdete v seznamu podporovaných vazeb.
V příkladu nahraďte <TARGET_VERSION> konkrétní verzí balíčku, například 3.0.0-beta5. Platné verze jsou uvedeny na jednotlivých stránkách balíčku na NuGet.org. Hlavní verze, které odpovídají aktuálnímu modulu runtime Functions, jsou uvedeny v referenčním článku pro vazbu.
Návod
Pro instalaci balíčků rozšíření vazeb lze také použít příkazy NuGet v sadě C# Dev Kit.
Skript jazyka C# používá sady rozšíření.
Nejjednodušší způsob, jak nainstalovat rozšíření vazeb, je povolit balíčky rozšíření. Když povolíte sady, automaticky se nainstaluje předdefinovaná sada balíčků rozšíření.
Pokud chcete povolit sady rozšíření, otevřete soubor host.json a aktualizujte jeho obsah tak, aby odpovídal následujícímu kódu:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[3.*, 4.0.0)"
}
}
Pokud z nějakého důvodu nemůžete k instalaci rozšíření pro váš projekt použít sadu rozšíření, podívejte se na Explicitní instalace rozšíření.
Monitorovací funkce
Když spouštíte funkce místně, nástroje Core Tools přenášejí data protokolů do konzole terminálu. Data protokolu můžete získat také při spuštění projektu Functions ve funkční aplikaci v Azure. K protokolům streamování se můžete připojit v Azure a zobrazit data protokolů téměř v reálném čase. Application Insights byste měli povolit, abyste lépe pochopili, jak se vaše aplikace funkcí chová.
Streamovací protokoly
Při vývoji aplikace je často užitečné zobrazit informace o protokolování téměř v reálném čase. Můžete zobrazit datový proud souborů protokolu vygenerovaných vašimi funkcemi. Zapněte protokoly z palety příkazů pomocí příkazu Azure Functions: Start streaming logs. Tento výstup je příkladem streamovaných logů pro požadavek na funkci aktivovanou HTTP:
Další informace najdete v tématu Protokoly streamování.
Application Insights
Měli byste monitorovat spuštění vašich funkcí prostřednictvím integrace vaší funkční aplikace s Application Insights. Při vytváření aplikace funkcí na portálu Azure se tato integrace ve výchozím nastavení provádí. Při vytváření funkční aplikace během publikování ve Visual Studio je potřeba integrovat Application Insights samostatně. Postup najdete v tématu Povolení integrace Application Insights.
Další informace o monitorování pomocí Application Insights najdete v tématu Monitor Azure Functions.
Projekty skriptů jazyka C#
Ve výchozím nastavení se všechny projekty jazyka C# vytvářejí jako projekty zkompilované knihovny tříd jazyka C#. Pokud místo toho chcete pracovat s projekty skriptů jazyka C#, musíte v nastavení rozšíření Azure Functions vybrat skript jazyka C#:
Vyberte Soubor>Předvolby>Nastavení.
Přejděte na Uživatelských nastavení>Extensions>Azure Functions.
Zvolte C#Script z Azure Function: Project Language.
Po dokončení těchto kroků budou volání provedená pomocí základních nástrojů Core Tools zahrnovat možnost --csx, která generuje a publikuje soubory projektů ve formě C# skriptů (.csx). Když zadáte tento výchozí jazyk, všechny projekty, které vytvoříte, budou ve výchozím nastavení projekty skriptů jazyka C#. Při nastavení výchozího jazyka se nezobrazí výzva k výběru jazyka projektu. Pokud chcete vytvářet projekty v jiných jazycích, musíte toto nastavení změnit nebo ho odebrat ze souboru settings.json uživatele. Po odebrání tohoto nastavení se znovu zobrazí výzva k výběru jazyka při vytváření projektu.
Referenční informace k paletě příkazů
Rozšíření Azure Functions poskytuje užitečné grafické rozhraní pro interakci s aplikacemi funkcí v Azure. Stejné funkce jsou také k dispozici jako příkazy na paletě příkazů (F1). K dispozici jsou tyto příkazy Azure Functions:
| příkaz Azure Functions | Popis |
|---|---|
| Přidat nová nastavení | Vytvoří nové nastavení aplikace v Azure. Další informace najdete v tématu Publikování nastavení aplikace. Toto nastavení si možná budete muset stáhnout i do místního nastavení. |
| Konfigurace zdroje nasazení | Připojí vaši aplikaci funkcí v Azure k místnímu úložišti Git. Další informace najdete v tématu Kontinuózní nasazení pro Azure Functions. |
| Připojení k úložišti GitHub | Připojí aplikaci funkcí k úložišti GitHub. |
| Zkopírovat URL funkce | Získá vzdálenou adresu URL funkce aktivované protokolem HTTP, která běží v Azure. Další informace najdete v tématu Získání adresy URL nasazené funkce. |
| Vytvoření aplikace funkce v Azure | Vytvoří novou funkční aplikaci ve vašem předplatném v Azure. Další informace najdete v části o tom, jak publikovat do nové aplikace funkcí v Azure. |
| Dešifrování nastavení | Dešifruje local settings, které byly zašifrovány příkazem Azure Functions: Encrypt Settings. |
| Odstranit Function App | Odebere funkční aplikaci z vašeho předplatného Azure. Pokud v plánu služby App Service nejsou žádné jiné aplikace, máte také možnost tento plán odstranit. Jiné prostředky, jako jsou účty úložiště a skupiny prostředků, se neodstraní. Pokud chcete odebrat všechny prostředky, měli byste místo toho odstranit skupinu prostředků. Na váš místní projekt to nemá vliv. |
| Funkce odstranění | Odebere existující funkci z aplikace funkcí v Azure. Vzhledem k tomu, že toto odstranění nemá vliv na místní projekt, zvažte místní odebrání funkce a opětovné publikování projektu. |
| Odstranění proxy serveru | Odebere proxy služby Azure Functions z funkční aplikace v Azure. Další informace o proxy serverech najdete v tématu Work with Azure Functions Proxyies. |
| Odstranit nastavení | Odstraní nastavení aplikace funkcí v Azure. Toto odstranění nemá vliv na nastavení v souboru local.settings.json. |
| Odpojení od úložiště | Odebere propojení kontinuálního nasazení mezi funkcí v Azure a repositářem správy zdrojového kódu. |
| Stažení vzdáleného nastavení | Stáhne nastavení z vybrané aplikace funkcí v Azure do souboru local.settings.json. Pokud je místní soubor zašifrovaný, dešifruje se, aktualizuje a znovu zašifruje. Pokud jsou v těchto dvou umístěních nastavená konfliktní hodnoty, zobrazí se výzva k výběru postupu. Před spuštěním tohoto příkazu nezapomeňte uložit změny souboru local.settings.json. |
| Upravit nastavení | Změní hodnotu existujícího nastavení aplikace funkcí v Azure. Tento příkaz nemá vliv na nastavení v souboru local.settings.json. |
| Šifrování nastavení | Šifruje jednotlivé položky v Values poli v místním nastavení. V tomto souboru je IsEncrypted také nastaveno na true, což určuje, že místní modul runtime dešifruje nastavení před jejich použitím. Zašifrujte místní nastavení, abyste snížili riziko úniku cenných informací. V Azure jsou nastavení aplikace vždy uložena zašifrovaná. |
| Spustit funkci nyní | Ručně spustí funkci pomocí rozhraní API pro správu. Tento příkaz použijte k testování, a to jak místně během ladění, tak proti funkcím spuštěným v Azure. Když se spustí funkce v Azure, rozšíření nejprve automaticky získá klíč správce, který používá k volání rozhraní API vzdáleného správce, která spouští funkce v Azure. Text zprávy odeslané do rozhraní API závisí na typu triggeru. Spouště časovače nevyžadují předání žádných dat. |
| Inicializace projektu pro použití s VS Code | Přidá požadované soubory projektu Visual Studio Code do existujícího projektu Functions. Pomocí tohoto příkazu můžete pracovat s projektem, který jste vytvořili pomocí nástrojů Core Tools. |
| Instalace nebo aktualizace nástrojů Azure Functions Core Tools | Nainstaluje nebo aktualizuje Azure Functions Core Tools, která slouží ke spouštění funkcí místně. |
| Opětovné nasazení | Umožňuje znovu nasadit soubory projektu z připojeného úložiště Git do konkrétního nasazení v Azure. Pokud chcete znovu publikovat místní aktualizace z Visual Studio Code, znovu publikujte projekt. |
| Přejmenovat nastavení | Změní název klíče existujícího nastavení aplikace funkcí v Azure. Tento příkaz nemá vliv na nastavení v souboru local.settings.json. Po přejmenování nastavení v Azure byste měli stáhnout tyto změny do místního projektu. |
| Restartovat | Restartuje aplikaci funkcí v Azure. Nasazení aktualizací také restartuje aplikaci se službami. |
| Nastavení služby AzureWebJobsStorage | Nastaví hodnotu AzureWebJobsStorage nastavení aplikace. Toto nastavení vyžaduje Azure Functions. Nastaví se při vytvoření aplikace funkcí v Azure. |
| Start | Spustí zastavenou aplikaci funkcí v Azure. |
| Spuštění protokolů streamování | Spustí streamovací protokoly pro funkční aplikaci v Azure. Protokoly streamování používejte během vzdáleného řešení potíží v Azure, pokud potřebujete zobrazit informace o protokolování téměř v reálném čase. Další informace najdete v tématu Protokoly streamování. |
| Stop | Zastaví aplikaci funkcí, která běží v Azure. |
| Zastavení protokolů streamování | Zastaví protokoly streamování aplikace funkcí v Azure. |
| Přepnout jako nastavení slotu | Pokud je tato možnost povolená, zajistíte, že nastavení aplikace zůstane pro daný slot nasazení trvalé. |
| Uninstall Azure Functions Core Tools | Odebere Azure Functions Core Tools, které rozšíření vyžaduje. |
| Nahrát místní nastavení | Nahraje nastavení ze souboru local.settings.json do zvolené aplikace funkcí v Azure. Pokud je místní soubor zašifrovaný, dešifruje se, nahraje a znovu zašifruje. Pokud jsou v těchto dvou umístěních nastavená konfliktní hodnoty, zobrazí se výzva k výběru postupu. Před spuštěním tohoto příkazu nezapomeňte uložit změny souboru local.settings.json. |
| View Commit in GitHub | Zobrazuje nejnovější commit ve specifickém nasazení, když je vaše funkční aplikace připojená k úložišti. |
| Zobrazení protokolů nasazení | Ukazuje protokoly pro konkrétní nasazení do aplikace funkcí v Azure. |
Další kroky
Další informace o nástrojích Azure Functions Core Tools najdete v tématu Work with Azure Functions Core Tools.
Další informace o vývoji funkcí jako knihoven tříd .NET najdete v Azure Functions referenčních informacích pro vývojáře v jazyce C#. Tento článek také obsahuje odkazy na příklady použití atributů k deklaraci různých typů vazeb podporovaných Azure Functions.