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ů.

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.

  1. Na panelu Aktivit vyberte ikonu Azure. V oblasti Pracovní prostor (místní) otevřete + seznam a vyberte Vytvořit funkci.

    Snímek obrazovky s oknem vytvořit nový projekt

  2. Po zobrazení výzvy vyberte Vytvořit nový projekt. 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.

  3. Po zobrazení výzvy vyberte jazyk projektu. V případě potřeby zvolte konkrétní jazykovou verzi.

  4. 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.

    Snímek obrazovky pro výběr triggeru HTTP

    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.

  5. 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.

    Snímek obrazovky pro vytvoření autorizace funkce

  6. V rozevíracím seznamu vyberte Přidat do pracovního prostoru.

     Snímek obrazovky s výběrem možnosti Přidat na pracoviště

  7. V okně Důvěřovat autorům souborů v této složce? vyberte Ano.

    Snímek obrazovky pro potvrzení důvěryhodnosti autorů souborů

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.

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:

  • Soubor package.json v kořenové složce.

  • Pojmenovaný soubor .js ve složce src\functions , který obsahuje definici funkce i kód funkce.

Složka HttpExample, která obsahuje:

Vygenerované soubory závisí na zvoleném programovacím modelu Pythonu pro functions:

  • Soubor requirements.txt na úrovni projektu, který obsahuje seznamy balíčků vyžadovaných funkcemi.

  • Soubor function_app.py, který obsahuje definici funkce i kód.

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.

  • Soubor package.json v kořenové složce.

  • Pojmenovaný soubor .js ve složce src\functions , který obsahuje definici funkce i kód funkce.

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.

Visual Studio Code přidá nový kód funkce do souboru function_app.py (výchozí chování) nebo do jiného souboru Pythonu, který jste vybrali.

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:

  1. V případě potřeby přidejte odkaz na balíček, který podporuje vaše rozšíření vazby.

  2. Aktualizujte metodu funkce tak, aby přidala atribut, který definuje parametr vazby, například QueueOutput pro výstupní vazbu fronty. Objekt můžete použít MultiResponse 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:

Pomocí modelu Node.js v4 je nutné do definice funkce ručně přidat return: možnost pomocí storageQueue funkce na objektu output , která definuje frontu úložiště pro zápis výstupu return . Výstup se zapíše po dokončení funkce.

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:

Dekorátor @queue_output funkce slouží k definování pojmenovaného parametru vazby pro výstup do fronty úložiště, kde func.Out definuje, jaký výstup se zapisuje.

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.

Příklad vazby pro model Node.js v4 ještě není k dispozici.

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.

Příklad vazby pro model Node.js v4 ještě není k dispozici.

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.

  1. Pokud ještě nejste přihlášení, zvolte ikonu Azure na panelu aktivit. Pak v oblasti Prostředky zvolte Přihlásit se k Azure....

    Snímek obrazovky s oknem přihlášení k Azure v editoru VS Code

    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, zvolte Vytvořit účet Azure.... Studenti můžou zvolit Vytvořit účet Azure for Students....

  2. Po zobrazení výzvy v prohlížeči zvolte 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.

  3. Po úspěšném přihlášení můžete zavřít nové okno prohlížeče. Na bočním panelu se zobrazí předplatná, která patří vašemu účtu Azure.

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 pokročilé cesty. Tímto způsobem máte větší kontrolu nad vytvářením vzdálených prostředků.

Vytvoření aplikace rychlých funkcí

V této části vytvoříte aplikaci funkcí a související prostředky v předplatném Azure.

  1. Na panelu Aktivit zvolte ikonu Azure. Pak v oblasti Prostředky vyberte + ikonu a zvolte možnost Vytvořit aplikaci funkcí v Azure .

    Vytvoření prostředku v předplatném Azure

  2. 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 zásobníku modulu runtime Zvolte jazyková verze, na které jste místně spustili.
    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.

    Protokol vytvoření prostředku Azure

  3. Po dokončení vytváření se ve vašem předplatném vytvoří následující prostředky Azure. Prostředky se pojmenují na základě názvu vaší aplikace 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 App Service, který definuje základního hostitele vaší aplikace funkcí.
    • Aplikace Přehledy instanci připojenou k aplikaci funkcí, která sleduje využití vašich 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ě vámi zadaného názvu aplikace funkcí. Ve výchozím nastavení se také vytvoří ve stejné nové skupině prostředků s aplikací funkcí. Pokud chcete buď přizpůsobit názvy těchto zdrojů, nebo znovu použít existující zdroje, musíte projekt publikovat s pokročilými možnostmi vytvoření.

Publikování projektu do nové aplikace funkcí v Azure pomocí rozšířených možností

Následující kroky publikují projekt do nové aplikace funkcí vytvořené s pokročilými možnostmi vytvoření:

  1. Na paletě příkazů zadejte Azure Functions: Vytvoření aplikace funkcí v Azure... (Upřesnit).

  2. Pokud nejste přihlášení, zobrazí se výzva k přihlášení do Azure. Můžete také vytvořit bezplatný účet Azure. Po přihlášení z prohlížeče se vraťte do editoru Visual Studio Code.

  3. Po zobrazení výzev zadejte tyto informace:

    Instrukce Výběr
    Zadejte globálně jedinečný název nové aplikace funkcí. Zadejte globálně jedinečný název, který identifikuje novou aplikaci funkcí, a pak vyberte Enter. Platné znaky pro název aplikace funkcí jsou a-z, 0-9 a -.
    Vyberte zásobník modulu runtime. Zvolte jazyková verze, kterou používáte místně.
    Vyberte operační systém. Zvolte Linux nebo Windows. Aplikace v Pythonu musí běžet v Linuxu.
    Vyberte skupinu prostředků pro nové prostředky. Zvolte Vytvořit novou skupinu prostředků a zadejte název skupiny prostředků, například myResourceGroup. Můžete také vybrat existující skupinu prostředků.
    Vyberte umístění pro nové prostředky. Vyberte umístění v oblasti blízko vás nebo v blízkosti jiných služeb, ke kterým vaše funkce přistupují.
    Vyberte plán hostování. Zvolte Consumption pro hostování bezserverového plánu Consumption, kde se účtují poplatky jenom při spuštění funkcí.
    Vyberte účet úložiště. Zvolte Vytvořit nový účet úložiště a na příkazovém řádku zadejte globálně jedinečný název nového účtu úložiště, který používá vaše aplikace funkcí. Názvy účtů úložiště musí mít délku 3 až 24 znaků a můžou obsahovat jenom číslice a malá písmena. Můžete také vybrat existující účet.
    Vyberte prostředek Přehledy aplikace. Zvolte Vytvořit novou aplikaci Přehledy prostředek a na příkazovém řádku zadejte název instance použité k ukládání dat modulu runtime z vašich funkcí.

    Po vytvoření aplikace funkcí se zobrazí oznámení a použije se balíček pro nasazení. Pokud chcete zobrazit výsledky vytváření a nasazení, včetně prostředků Azure, které jste vytvořili, vyberte v tomto oznámení zobrazit výstup .

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í.

  1. Výběrem klávesy F1 otevřete paletu příkazů a pak vyhledejte a spusťte příkaz Azure Functions: Copy Function URL.

  2. 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.

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.

  1. V oblasti Prostředky aktivity Azure vyhledejte prostředek aplikace funkcí, který jste právě vytvořili, klikněte pravým tlačítkem na prostředek a vyberte Nasadit do aplikace funkcí....

  2. 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í.

  3. 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 zobrazte.

    Snímek obrazovky s oknem Zobrazit výstup

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:

  1. Na paletě příkazů zadejte Azure Functions: Spustit funkci teď a vyberte své předplatné Azure.

  2. 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.

  3. 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:

  1. 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í Připojení ion String.

  2. V projektu otevřete soubor local.settings.json a nastavte hodnotu klíče AzureWebJobsStorage na připojovací řetězec, kterou jste zkopírovali.

  3. 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í.

  1. Na paletě příkazů zadejte Azure Functions: Spustit funkci teď a zvolte Místní projekt.

  2. 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í.

  3. 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řipojení ionStrings 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:

Snímek obrazovky pro nahrání nastavení aplikace

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 aplikace

 Snímek obrazovky pro zobrazení nastavení aplikace funkcí v editoru Visual Studio Code

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.

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. Měli byste povolit Přehledy aplikace, 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:

Snímek obrazovky s výstupem protokolů streamování pro trigger H T T P

Další informace najdete v tématu Protokoly streamování.

Application Insights

Spuštění funkcí byste měli monitorovat integrací aplikace funkcí s aplikačními Přehledy. 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 aplikaci Přehledy sami. Postup najdete v tématu Povolení integrace Přehledy aplikací.

Další informace o monitorování pomocí služby Application Přehledy najdete v tématu Monitorování služby 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#:

  1. Vyberte Předvolby> souborů>Nastavení.

  2. Přejděte na User Nastavení> Extensions>Azure Functions.

  3. 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řipojení aplikaci funkcí v Azure do místního úložiště Git. Další informace najdete v tématu Průběžné nasazování pro Azure Functions.
Připojení do úložiště GitHub Připojení aplikaci funkcí do úložiště 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řejmenování 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.
Restartujte 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.