Vývoj Azure Functions pomocí Visual Studio Code
Rozšíření Azure Functions pro Visual Studio Code umožňuje místně vyvíjet funkce a nasazovat je do Azure. Pokud je toto prostředí vaší první funkcí Azure Functions, můžete se dozvědět více v úvodu ke službě Azure Functions.
Rozšíření Azure Functions poskytuje 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 editoru 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 nejprve dokončit článek rychlého startu editoru Visual Studio Code.
Prohlížíte si verzi Jazyka Java 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 nejprve dokončit článek rychlého startu editoru Visual Studio Code.
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 nejprve dokončit článek rychlého startu editoru Visual Studio Code.
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 nejprve dokončit článek rychlého startu editoru Visual Studio Code.
Prohlížíte si verzi Pythonu 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 nejprve dokončit článek rychlého startu editoru Visual Studio Code.
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 nejprve dokončit článek rychlého startu editoru Visual Studio Code.
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 jedné z podporovaných platforem.
Rozšíření Azure Functions Můžete také nainstalovat balíček 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 editoru Visual Studio Code.
K místnímu spuštění a ladění funkcí potřebujete také tyto požadavky. Nejsou potřeba jenom k vytváření nebo publikování projektů ve službě 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
Azure Functions: Install or Update Azure Functions Core Tools
příkazu z palety příkazů.
Rozšíření pro jazyk C# pro Visual Studio Code
.NET (CLI), která je součástí sady .NET SDK.
- Node.js, jednu z podporovaných verzí.
node --version
Pomocí příkazu zkontrolujte verzi.
Doporučuje se PowerShell 7.2 . Informace o verzi najdete v powershellových verzích.
Modul runtime .NET 6.0
Rozšíření PowerShellu pro Visual Studio Code
Rozšíření Python pro Visual Studio Code.
Vytvoření projektu služby 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. Trigger HTTP je nejjednodušší šablona triggeru funkce, která ukazuje.
V editoru Visual Studio Code stisknutím klávesy F1 otevřete paletu příkazů a vyhledejte a spusťte příkaz
Azure Functions: Create New Project...
. Vyberte umístění adresáře pracovního prostoru 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 příkaz spustit
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 teď můžete vybrat Přeskočit a vytvořit projekt bez funkce. Funkci můžete do projektu přidat kdykoli později.
Tip
Další šablony můžete zobrazit tak , že vyberete možnost Změnit filtr šablony a nastavíte 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-only
příkazu v nástrojích Core Tools.
V závislosti na vašem jazyce se vytvoří tyto další soubory:
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.
Soubor pom.xml v kořenové složce, který definuje parametry projektu a nasazení, včetně závislostí projektu a verze Javy. Pom.xml obsahuje také informace o prostředcích Azure, které se vytvářejí 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:
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 Pythonu pro functions:
V tuto chvíli můžete funkci triggeru HTTP spustit místně.
Přidání funkce do projektu
Do existujícího projektu můžete přidat novou funkci založenou na některé 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: Vytvořit funkci. Podle pokynů zvolte typ triggeru a definujte požadované atributy triggeru. Pokud trigger vyžaduje přístupový klíč nebo připojovací řetězec 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 Pythonu.
Připojení ke službám
Funkci můžete připojit k jiný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
QueueOutput
pro výstupní vazbu fronty. Objekt můžete použítMultiResponse
k 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ě, aktualizujete metodu funkce, aby se přidal parametr vazby definovaný pomocí poznámky 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řidat 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 pak postupujte podle pokynů, které se liší v závislosti na typu vazby přidané do funkce.
Následuje příklad výzvy k definování nové výstupní vazby úložiště:
Instrukce | Hodnota | Popis |
---|---|---|
Výběr směru vazby | out |
Vazba je výstupní vazba. |
Výběr vazby se směrem | Azure Queue Storage |
Vazba je vazba fronty Azure Storage. |
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. Pokud frontaName neexistuje, vazba ji vytvoří při prvním použití. |
Výběr nastavení z local.settings.json | MyStorageConnection |
Název nastavení aplikace, které obsahuje připojovací řetězec pro účet úložiště. Nastavení AzureWebJobsStorage obsahuje připojovací řetězec pro účet úložiště, který jste vytvořili pomocí aplikace funkcí. |
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 bindings
se do pole 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 Pythonu:
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, vrátí MultiResponse
funkce objekt, který představuje výstup HTTP i fronty.
[Function("HttpExample")]
public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req,
FunctionContext executionContext)
{
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; }
}
Když tento příklad použijete u svého vlastního projektu, budete možná muset změnit HttpRequest
na HttpRequestData
a IActionResult
na HttpResponseData
, v závislosti na tom, jestli používáte integraci ASP.NET Core nebo ne.
Zprávy se po dokončení funkce posílají do fronty. 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.
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 Pythonu. 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.
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 prostředky Azure nebo publikovat aplikaci, musíte se přihlásit do Azure.
Pokud ještě nejste přihlášení, vyberte na panelu Aktivit ikonu Azure. Pak v části Prostředky vyberte Přihlásit se k Azure.
Pokud už jste přihlášení a uvidíte stávající předplatná, přejděte k další části. Pokud ještě nemáte účet Azure, vyberte Vytvořit účet Azure. Studenti můžou vybrat Vytvořit účet Azure for Students.
Po zobrazení výzvy v prohlížeči vyberte svůj účet Azure a přihlaste se pomocí svých 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ří k vašemu účtu Azure, se zobrazí na bočním panelu.
Vytvoření zdrojů Azure
Než budete moct publikovat projekt Functions do Azure, musíte mít aplikaci funkcí a související prostředky ve svém předplatném Azure ke spuštění kódu. Aplikace funkcí poskytuje kontext spuštění pro vaše funkce. Když publikujete z editoru Visual Studio Code do aplikace funkcí v Azure, projekt se zabalí a nasadí do vybrané aplikace funkcí ve vašem předplatném Azure.
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 prostředků Azure. Tímto způsobem máte větší kontrolu nad vytvářením vzdálených prostředků.
V této části vytvoříte aplikaci funkcí a související prostředky v předplatném 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 editoru 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:
Instrukce Akce Výběr předplatného Vyberte předplatné Azure, které chcete použít. Výzva se nezobrazí, pokud v části Prostředky uvidíte jenom jedno předplatné. Zadejte globálně jedinečný název aplikace funkcí. Zadejte název, který je platný v cestě URL. Zadaný název se ověří, abyste měli jistotu, že je v Azure Functions jedinečný. Výběr zásobníku modulu runtime Vyberte jazyk, kterou aktuálně spouštíte místně. Výběr umístění pro nové prostředky Vyberte oblast Azure. Pokud chcete dosáhnout lepšího výkonu , vyberte oblast blízko vás. Na panelu Azure: Protokol aktivit zobrazuje rozšíření Azure stav jednotlivých prostředků při jejich vytváření v Azure.
Po vytvoření aplikace funkcí 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.
- Standardní účet Azure Storage, který udržuje stav a další informace o vašich projektech.
- 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 služby Aplikace Azure, který definuje základního hostitele vaší aplikace funkcí.
- Instance Application Insights, která je připojená k aplikaci funkcí a která sleduje použití funkcí v aplikaci.
Po vytvoření aplikace funkcí a použití balíčku nasazení se zobrazí oznámení.
Tip
Ve výchozím nastavení se prostředky Azure vyžadované vaší aplikací funkcí vytvoří na základě názvu, který jste zadali pro aplikaci funkcí. 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ření nasazení Azure Container Apps
Visual Studio Code slouží k vytvoření prostředků Azure pro kontejnerizovaný projekt kódu. Když rozšíření zjistí přítomnost souboru Dockerfile během vytváření prostředků, zeptá se vás, jestli chcete místo kódu nasadit image kontejneru. Visual Studio Code vytvoří prostředí Azure Container Apps pro projekt kontejnerizovaného kódu, který je integrovaný se službou Azure Functions. Další informace najdete v tématu Azure Container Apps hostování služby Azure Functions.
Poznámka:
Nasazení kontejnerů 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 editoru Visual Studio Code stisknutím klávesy F1 otevřete paletu příkazů a 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:
Instrukce Výběr Výběr předplatného Vyberte předplatné, které chcete použít. Tato výzva se nezobrazí, pokud v části Prostředky uvidíte jenom jedno předplatné. Zadejte globálně jedinečný název aplikace funkcí. Zadejte název, který je platný v cestě URL. Název, který zadáte, se ověří, aby se zajistilo, že je jedinečný ve službě Azure Functions. Výběr umístění pro nové prostředky Pokud chcete dosáhnout lepšího výkonu , zvolte oblast blízko vás. Rozšíření zobrazuje stav jednotlivých prostředků při jejich vytváření v Azure na panelu 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:
Visual Studio Code v současné době nemůžete použít k nasazení kontejnerizované aplikace funkcí do prostředí Container Apps integrovaného v Azure Functions. 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
Doporučujeme nastavit průběžné nasazování , aby se vaše aplikace funkcí v Azure aktualizovala při aktualizaci zdrojových souborů v připojeném zdrojovém umístění. Soubory projektu můžete také nasadit ze sady Visual Studio Code. Při publikování z editoru Visual Studio Code můžete využít technologii nasazení zip.
Důležité
Nasazení do existující aplikace funkcí vždy přepíše obsah této aplikace v Azure.
Na paletě příkazů zadejte a pak vyberte Azure Functions: Nasadit do aplikace funkcí.
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 Zobrazit výstup 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 teď funkci Execute 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 prohlížeč k odeslání požadavků GET do vzdálené funkce.
Když rozšíření získá adresu URL funkce v Azure, použije rozšíření 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 předplatném Azure.
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 editoru Visual Studio Code, postupujte takto:
Na paletě příkazů zadejte Azure Functions: Spustit funkci teď a vyberte své předplatné Azure.
V seznamu zvolte svou 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 aplikace funkcí nemá žádné funkce, zobrazí se s touto chybou chyba oznámení.
Když se funkce spustí v Azure a vrátí odpověď, Visual Studio Code zobrazí oznámení.
Funkci můžete také spustit z oblasti Azure: Functions tak, že otevřete místní nabídku funkce, kterou chcete spustit z aplikace funkcí v předplatném Azure, a pak vyberete Spustit funkci nyní....
Když spustíte funkce v Azure ze sady 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í modul runtime je stejný modul runtime, který hostuje vaši aplikaci funkcí v Azure. Místní nastavení se čte ze souboru local.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 služby Azure Storage pro všechny jiné typy triggerů než HTTP a webhooky. Proto je potřeba nastavit klíč Values.AzureWebJobsStorage na platný účet služby Azure Storage připojovací řetězec.
Tato část používá rozšíření Azure Storage pro Visual Studio Code s Průzkumník služby Azure Storage pro připojení a načtení připojovací řetězec úložiště.
Nastavení účtu úložiště připojovací řetězec:
V sadě Visual Studio otevřete Průzkumníka cloudu, rozbalte položku Účet>úložiště Váš účet úložiště a pak vyberte Vlastnosti a zkopírujte hodnotu primárního připojovacího řetězce.
V projektu otevřete soubor local.settings.json a nastavte hodnotu klíče AzureWebJobsStorage na připojovací řetězec, kterou 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.
Když je projekt spuštěný, můžete funkci Execute Function Now... rozšíření použít k aktivaci funkcí stejně jako při nasazení projektu do Azure. Když je projekt spuštěný v režimu ladění, zarážky se v editoru Visual Studio Code schytávají podle očekávání.
Na paletě příkazů zadejte Azure Functions: Spustit funkci teď a zvolte Místní projekt.
Zvolte funkci, kterou chcete spustit v projektu, a do textu požadavku zadejte text zprávy v textu požadavku Enter. Stisknutím klávesy Enter odešlete tuto zprávu požadavku do funkce. Výchozí text v textu požadavku Enter by měl obsahovat formát textu. Pokud vaše aplikace funkcí nemá žádné funkce, zobrazí se s touto chybou chyba oznámení.
Když se funkce spustí místně a po přijetí odpovědi, v editoru Visual Studio Code se vyvolá oznámení. 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í, což platí pro klíče funkcí i klíče na úrovni správce.
Práce s místním nastavením aplikace
Při spuštění v aplikaci funkcí v Azure se nastavení vyžadovaná funkcemi bezpečně ukládají v nastavení aplikace. Během místního vývoje se tato nastavení místo toho přidají do Values
kolekce v souboru local.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í máte možnost nastavení publikování 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í.
Hodnoty nastavení aplikace funkcí je možné v kódu číst také jako proměnné prostředí. Další informace naleznete v tématu Proměnné prostředí.
- Hodnoty nastavení aplikace funkcí je možné v kódu číst také jako proměnné prostředí. Další informace naleznete v tématu Proměnné prostředí.
- Hodnoty nastavení aplikace funkcí je možné v kódu číst také jako proměnné prostředí. Další informace naleznete v tématu Proměnné prostředí.
- Hodnoty nastavení aplikace funkcí je možné v kódu číst také jako proměnné prostředí. Další informace naleznete v tématu Proměnné prostředí.
- Hodnoty nastavení aplikace funkcí je možné v kódu číst také 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 měla být stejná jako nastavení aplikace v aplikaci funkcí v Azure. Všechna nastavení, která přidáte do local.settings.json musíte také přidat do aplikace funkcí v Azure. Tato nastavení se při publikování projektu nenahrají automaticky. Stejně tak všechna nastavení, která vytvoříte v aplikaci funkcí na portálu , se musí stáhnout 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 Nahrát nastavení , který se zobrazí po publikování projektu:
Nastavení můžete publikovat také pomocí azure Functions: Příkaz 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í .
Tip
Než soubor publikujete, nezapomeňte soubor local.settings.json uložit.
Pokud je místní soubor zašifrovaný, dešifruje se, publikuje a zašifruje znovu. Pokud jsou v těchto dvou umístěních nastavená konfliktní hodnoty, zobrazí se výzva k výběru postupu.
Zobrazení existujících nastavení aplikace v oblasti Azure: Functions rozšířením předplatného, aplikace funkcí a nastavení aplikace
Stažení nastavení z Azure
Pokud jste v Azure vytvořili nastavení aplikace, můžete je stáhnout do souboru local.settings.json pomocí příkazu Azure Functions: Stažení vzdáleného nastavení .
Stejně jako při nahrávání se místní soubor zašifruje, dešifruje, aktualizuje a zašifruje znovu. Pokud jsou v těchto dvou umístěních nastavená konfliktní hodnoty, zobrazí se výzva k výběru postupu.
Instalace 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 vazby 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.
Tip
K instalaci balíčků rozšíření vazeb můžete použít také 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 sady 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í rozšíření, přečtěte si téma Explicitní instalace rozšíření.
Monitorovací funkce
Při místním spouštění funkcí se data protokolu streamují do konzoly terminálu. Data protokolu můžete také získat, když je projekt Functions spuštěný v aplikaci funkcí v Azure. Můžete se připojit k protokolům streamování 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á.
Protokoly streamování
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 generovaných vašimi funkcemi. Zapněte protokoly z palety příkazů pomocí Azure Functions: Start streaming logs
příkazu. Tento výstup je příkladem protokolů streamování pro požadavek na funkci aktivovanou protokolem HTTP:
Další informace najdete v tématu Protokoly streamování.
Application Insights
Spuštění funkcí byste měli monitorovat integrací aplikace funkcí s Application Insights. Když vytvoříte aplikaci funkcí na webu Azure Portal, tato integrace se ve výchozím nastavení provede. Při vytváření aplikace funkcí během publikování sady Visual Studio je potřeba integrovat Application Insights sami. Postup najdete v tématu Povolení integrace Application Insights.
Další informace o monitorování pomocí Application Insights najdete v tématu Monitorování 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 raději pracujete s projekty skriptů jazyka C#, musíte v nastavení rozšíření Azure Functions vybrat skript jazyka C#:
Vyberte Nastavení předvoleb>souborů.>
Přejděte na Rozšíření>uživatelských nastavení>Azure Functions.
Vyberte skript jazyka C#z funkce Azure Functions: Jazyk projektu.
Po dokončení těchto kroků zahrnují --csx
volání základních nástrojů Core Tools možnost, která generuje a publikuje soubory projektu jazyka C# (.csx). Pokud máte zadaný výchozí jazyk, všechny projekty, které vytvoříte jako výchozí pro 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í v oblasti 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 Průběžné nasazování pro Azure Functions. |
Připojení k úložišti GitHub | Připojí vaši aplikaci funkcí k úložišti GitHub. |
Adresa URL kopírování 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 funkcí v Azure | Vytvoří novou aplikaci funkcí ve vašem předplatném v Azure. Další informace najdete v části věnované publikování do nové aplikace funkcí v Azure. |
Dešifrování nastavení | Dešifruje místní nastavení zašifrovaná službou Azure Functions: Šifrování nastavení. |
Odstranění aplikace funkcí | Odebere aplikaci funkcí z vašeho předplatného v Azure. Pokud v plánu služby App Service nejsou žádné jiné aplikace, máte také možnost ji 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. |
Delete – funkce | 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 azure Functions z vaší aplikace funkcí v Azure. Další informace o proxy serveru najdete v tématu Práce s proxy servery Azure Functions. |
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 připojení průběžného nasazování mezi aplikací funkcí v Azure a úložištěm 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 IsEncrypted je také nastavena na true , který určuje, že místní modul runtime dešifrování 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 se používá 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. Triggery časovače nevyžadují předání žádných dat. |
Inicializace projektu pro použití s VS Code | Přidá požadované soubory projektu editoru 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 nástroje 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 editoru 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 si měli tyto změny stáhnout do místního projektu. |
Restartovat | Restartuje aplikaci funkcí v Azure. Nasazení aktualizací také restartuje aplikaci funkcí. |
Nastavení služby AzureWebJobsStorage | Nastaví hodnotu AzureWebJobsStorage nastavení aplikace. Toto nastavení vyžaduje služba Azure Functions. Nastaví se při vytvoření aplikace funkcí v Azure. |
Spustit | Spustí zastavenou aplikaci funkcí v Azure. |
Spuštění protokolů streamování | Spustí protokoly streamování pro aplikaci funkcí v Azure. Protokoly streamování použijte 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í spuštěnou v Azure. |
Zastavení protokolů streamování | Zastaví protokoly streamování pro aplikaci 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é. |
Odinstalace nástrojů Azure Functions Core Tools | Odebere nástroje 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. |
Zobrazení potvrzení v GitHubu | Zobrazuje nejnovější potvrzení v určitém nasazení, když je vaše aplikace funkcí 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 Práce s nástroji Azure Functions Core Tools.
Další informace o vývoji funkcí jakoknihovench Tento článek obsahuje také odkazy na příklady použití atributů k deklaraci různých typů vazeb podporovaných službou Azure Functions.