Místní vývoj Azure Functions pomocí nástrojů Core Tools

Azure Functions Core Tools umožňuje vyvíjet a testovat funkce na místním počítači. Až budete připraveni, můžete pomocí nástrojů Core Tools nasadit projekt kódu do Azure a pracovat s nastavením aplikace.

Prohlížíte si verzi jazyka C# tohoto článku. Nezapomeňte vybrat upřednostňovaný programovací jazyk Functions v horní části článku.

Pokud chcete hned začít, dokončete článek Rychlý start pro Core Tools.

Prohlížíte si verzi Jazyka Java tohoto článku. Nezapomeňte vybrat upřednostňovaný programovací jazyk Functions v horní části článku.

Pokud chcete hned začít, dokončete článek Rychlý start pro Core Tools.

Prohlížíte si javascriptovou verzi tohoto článku. Nezapomeňte vybrat upřednostňovaný programovací jazyk Functions v horní části článku.

Pokud chcete hned začít, dokončete článek Rychlý start pro Core Tools.

Prohlížíte si verzi PowerShellu tohoto článku. Nezapomeňte vybrat upřednostňovaný programovací jazyk Functions v horní části článku.

Pokud chcete hned začít, dokončete článek Rychlý start pro Core Tools.

Prohlížíte si verzi Pythonu tohoto článku. Nezapomeňte vybrat upřednostňovaný programovací jazyk Functions v horní části článku.

Pokud chcete hned začít, dokončete článek Rychlý start pro Core Tools.

Prohlížíte si verzi TypeScriptu tohoto článku. Nezapomeňte vybrat upřednostňovaný programovací jazyk Functions v horní části článku.

Pokud chcete hned začít, dokončete článek Rychlý start pro Core Tools.

Instalace nástrojů Azure Functions Core

Doporučený způsob instalace nástrojů Core Tools závisí na operačním systému místního vývojového počítače.

Následující kroky používají instalační službu systému Windows (MSI) k instalaci nástrojů Core Tools verze 4.x. Další informace o dalších instalačních programech založených na balíčcích najdete v souboru readme nástroje Core Tools.

Stáhněte a spusťte instalační program Core Tools na základě vaší verze Windows:

Pokud jste dříve použili instalační službu systému Windows (MSI) k instalaci nástrojů Core Tools ve Windows, měli byste před instalací nejnovější verze odinstalovat starou verzi z nástroje Přidat odebrat programy.

Nápovědu k problémům souvisejícím s verzemi najdete v tématu Verze nástrojů Core Tools.

Vytvoření místního projektu

Důležité

Pro Python musíte spustit příkazy Core Tools ve virtuálním prostředí. Další informace najdete v tématu Rychlý start: Vytvoření funkce Pythonu v Azure z příkazového řádku.

V okně terminálu nebo z příkazového řádku spusťte následující příkaz, který vytvoří projekt ve MyProjFolder složce:

func init MyProjFolder --worker-runtime dotnet-isolated 

Ve výchozím nastavení tento příkaz vytvoří projekt, který běží v procesu s hostitelem služby Functions v aktuální verzi dlouhodobé podpory (LTS) rozhraní .NET Core. Možnost můžete použít --target-framework k cílení na konkrétní podporovanou verzi .NET, včetně rozhraní .NET Framework. Další informace najdete v referenčních informacích func init .

Porovnání dvou modelů procesů .NET najdete v článku o porovnání režimu procesu.

Java používá archetyp Mavenu k vytvoření místního projektu spolu s první funkcí aktivovanou protokolem HTTP. Místo použití func init a func new, měli byste místo toho postupovat podle kroků v rychlém startu příkazového řádku.

func init MyProjFolder --worker-runtime javascript --model V4

Tento příkaz vytvoří projekt JavaScriptu, který používá požadovanou verzi programovacího modelu.

func init MyProjFolder --worker-runtime typescript --model V4

Tento příkaz vytvoří projekt TypeScript, který používá požadovanou verzi programovacího modelu.

func init MyProjFolder --worker-runtime powershell
func init MyProjFolder --worker-runtime python --model V2

Tento příkaz vytvoří projekt Pythonu, který používá požadovanou verzi programovacího modelu.

Když spustíte func init bez --worker-runtime možnosti, zobrazí se výzva k výběru jazyka projektu. Další informace o dostupných možnostech func init příkazu najdete v referenčních informacích func init .

Vytvoření funkce

Pokud chcete do projektu přidat funkci, spusťte func new příkaz pomocí --template možnosti pro výběr šablony triggeru. Následující příklad vytvoří trigger HTTP s názvem MyHttpTrigger:

func new --template "Http Trigger" --name MyHttpTrigger

Tento příklad vytvoří trigger Queue Storage s názvem MyQueueTrigger:

func new --template "Azure Queue Storage Trigger" --name MyQueueTrigger

Při přidávání funkcí platí následující aspekty:

  • Když spustíte func new bez --template možnosti, zobrazí se výzva k výběru šablony.

  • func templates list Pomocí příkazu zobrazíte úplný seznam dostupných šablon pro váš jazyk.

  • Když přidáte trigger, který se připojí ke službě, budete také muset přidat nastavení aplikace, které odkazuje na připojovací řetězec nebo spravovanou identitu na soubor local.settings.json. Použitím nastavení aplikace tímto způsobem zabráníte vložení přihlašovacích údajů do kódu. Další informace najdete v tématu Práce s místním nastavením aplikace.

  • Nástroje Core Tools také přidají odkaz na konkrétní rozšíření vazeb do projektu jazyka C#.

Další informace o dostupných možnostech func new příkazu najdete v referenčních informacích func new .

Přidání vazby do funkce

Functions poskytuje sadu vstupních a výstupních vazeb specifických pro službu, které usnadňují připojení vaší funkce k jiným službám Azure, aniž by bylo nutné používat klientské sady SDK specifické pro službu. Další informace najdete v tématu o koncepcích triggerů a vazeb Azure Functions.

Pokud chcete do existující funkce přidat vstupní nebo výstupní vazbu, musíte definici funkce aktualizovat ručně.

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ři přidávání vazeb do funkce platí následující aspekty:

  • Pro jazyky, které definují funkce pomocí konfiguračního souboru function.json , visual Studio Code zjednodušuje proces přidávání vazeb do existující definice funkce. Další informace najdete v tématu Připojení funkcí ke službám Azure pomocí vazeb.
  • Když přidáte vazby, které se připojují ke službě, musíte také přidat nastavení aplikace odkazující na připojovací řetězec nebo spravovanou identitu na soubor local.settings.json. Další informace najdete v tématu Práce s místním nastavením aplikace.
  • Když přidáte podporovanou vazbu, rozšíření by už mělo být nainstalované, když vaše aplikace používá sadu rozšíření. Další informace najdete v sadách rozšíření.
  • Když přidáte vazbu, která vyžaduje nové rozšíření vazby, musíte také přidat odkaz na toto konkrétní rozšíření vazby v projektu C#.

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.

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.

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.

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.

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.

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.

Spuštění modulu runtime Služby Functions

Než budete moct spustit nebo ladit funkce v projektu, musíte spustit hostitele Functions z kořenového adresáře projektu. Hostitel povolí triggery pro všechny funkce v projektu. Pomocí tohoto příkazu spusťte místní modul runtime:

mvn clean package 
mvn azure-functions:run
func start
func start
npm install
npm start     

Tento příkaz musí být spuštěn ve virtuálním prostředí.

Když se hostitel Functions spustí, vypíše seznam funkcí v projektu, včetně adres URL všech funkcí aktivovaných protokolem HTTP, například v tomto příkladu:

Found the following functions:
Host.Functions.MyHttpTrigger

Job host started
Http Function MyHttpTrigger: http://localhost:7071/api/MyHttpTrigger

Při místním spouštění funkcí mějte na paměti následující aspekty:

  • Ve výchozím nastavení se autorizace pro koncové body HTTP nevynucuje místně. To znamená, že všechny místní požadavky HTTP se zpracovávají jako authLevel = "anonymous". Další informace najdete v tématu Úroveň autorizace. Tuto možnost můžete použít --enableAuth k vyžadování autorizace při místním spuštění. Další informace viz func start.

  • Místní emulátor Azurite můžete použít při místním spouštění funkcí, které vyžadují přístup ke službám Azure Storage (Queue Storage, Blob Storage a Table Storage), aniž byste se museli k těmto službám v Azure připojovat. Při použití místní emulace nezapomeňte spustit Azurite před spuštěním místního hostitele (func.exe). Další informace naleznete v tématu Emulace místního úložiště.

  • K splnění požadavku na úložiště pracovního procesu Pythonu v2 můžete použít místní emulaci Azurite.
  • Funkce jiného typu než HTTP můžete aktivovat místně bez připojení k živé službě. Další informace naleznete v tématu Spuštění místní funkce.

  • Když do souboru local.settings.json zahrnete informace o připojení Application Insights, zapíšou se data místního protokolu do konkrétní instance Application Insights. Pokud chcete zachovat místní telemetrická data oddělená od produkčních dat, zvažte použití samostatné instance Application Insights pro vývoj a testování.

  • Pokud používáte verzi 1.x nástrojů Core Tools, použijte func host start místo toho příkaz ke spuštění místního modulu runtime.

Spuštění místní funkce

Když je spuštěný místní hostitel služby Functions (func.exe), můžete teď aktivovat jednotlivé funkce, které budou spouštět a ladit kód funkce. Způsob spuštění jednotlivé funkce závisí na jeho typu triggeru.

Poznámka:

Příklady v tomto tématu používají nástroj cURL k odesílání požadavků HTTP z terminálu nebo příkazového řádku. Nástroj podle vašeho výběru můžete použít k odesílání požadavků HTTP na místní server. Nástroj cURL je ve výchozím nastavení dostupný v systémech Linux a Windows 10 build 17063 a novějších. Ve starším systému Windows musíte nejprve stáhnout a nainstalovat nástroj cURL.

Triggery HTTP se spouští odesláním požadavku HTTP do místního koncového bodu a portu, jak je znázorněno ve výstupu func.exe, který má tento obecný formát:

http://localhost:<PORT>/api/<FUNCTION_NAME>

V této šabloně adresy URL je název funkce nebo trasy a <PORT> představuje místní port, <FUNCTION_NAME> na kterém func.exe naslouchá.

Tento příkaz cURL například aktivuje funkci rychlého startu MyHttpTrigger z požadavku GET s parametrem name předaným v řetězci dotazu:

curl --get http://localhost:7071/api/MyHttpTrigger?name=Azure%20Rocks

Tento příklad je stejná funkce, kterou volá požadavek POST předávající název v textu požadavku, jak pro prostředí Bash, tak pro příkazový řádek Windows:

curl --request POST http://localhost:7071/api/MyHttpTrigger --data '{"name":"Azure Rocks"}'
curl --request POST http://localhost:7071/api/MyHttpTrigger --data "{'name':'Azure Rocks'}"

Při místním volání koncových bodů HTTP platí následující aspekty:

  • Požadavky GET můžete provádět z prohlížeče, který předává data v řetězci dotazu. Pro všechny ostatní metody HTTP musíte použít testovací nástroj HTTP, který také udržuje vaše data v bezpečí. Další informace najdete v tématu Nástroje pro testování HTTP.

  • Ujistěte se, že používáte stejný název serveru a port, na který hostitel Functions naslouchá. Ve výstupu vygenerovaném při spuštění hostitele funkce se zobrazí podobný koncový bod. Tuto adresu URL můžete volat pomocí libovolné metody HTTP podporované triggerem.

Publikování do Azure

Azure Functions Core Tools podporuje tři typy nasazení:

Typ nasazení Příkaz Popis
Soubory projektu func azure functionapp publish Nasadí soubory projektu funkcí přímo do aplikace funkcí pomocí nasazení zip.
Azure Container Apps func azurecontainerapps deploy Nasadí kontejnerizovanou aplikaci funkcí do existujícího prostředí Container Apps.
Cluster Kubernetes func kubernetes deploy Nasadí aplikaci funkcí pro Linux jako vlastní kontejner Dockeru do clusteru Kubernetes.

Abyste mohli publikovat do Azure z Nástrojů Core Tools, musíte mít místně nainstalované Rozhraní příkazového řádku Azure nebo Azure PowerShell . Nástroje Core Tools ve výchozím nastavení používají tyto nástroje k ověření pomocí vašeho účtu Azure.

Pokud tyto nástroje nemáte nainstalované, musíte místo toho získat platný přístupový token , který se má použít během nasazení. Přístupový token můžete prezentovat pomocí --access-token možnosti v příkazech nasazení.

Nasazení souborů projektu

Pokud chcete publikovat místní kód do aplikace funkcí v Azure, použijte func azure functionapp publish příkaz, jak je znázorněno v následujícím příkladu:

func azure functionapp publish <FunctionAppName>

Tento příkaz publikuje soubory projektu z aktuálního adresáře do <FunctionAppName> balíčku pro nasazení .zip. Pokud projekt vyžaduje kompilaci, provádí se vzdáleně během nasazování.

Java místo nástrojů Core Tools publikuje místní projekt do Azure pomocí Mavenu. K publikování projektu do Azure použijte následující příkaz Mavenu:

mvn azure-functions:deploy

Při spuštění tohoto příkazu se prostředky Azure vytvoří během počátečního nasazení na základě nastavení v souboru pom.xml . Další informace najdete v tématu Nasazení projektu funkce do Azure.

Pro tento druh nasazení platí následující aspekty:

  • Publikování přepíše existující soubory v nasazení vzdálené aplikace funkcí.

  • V předplatném Azure už musíte vytvořit aplikaci funkcí. Nástroje Core Tools nasadí kód projektu do tohoto prostředku aplikace funkcí. Informace o vytvoření aplikace funkcí z příkazového řádku nebo okna terminálu pomocí Azure CLI nebo Azure PowerShellu najdete v tématu Vytvoření aplikace funkcí pro bezserverové spuštění. Tyto prostředky můžete vytvořit také na webu Azure Portal. Při pokusu o publikování do předplatného <FunctionAppName> se zobrazí chyba.

  • Složka projektu může obsahovat soubory a adresáře specifické pro jazyk, které by neměly být publikovány. Vyloučené položky jsou uvedené v souboru .funcignore ve složce kořenového projektu.

  • Ve výchozím nastavení je projekt nasazený tak, aby běžel z balíčku pro nasazení. Pokud chcete tento doporučený režim nasazení zakázat, použijte tuto --nozip možnost.

  • Vzdálené sestavení se provádí u kompilovaných projektů. Tuto možnost lze řídit.--no-build

  • --publish-local-settings Pomocí možnosti můžete v aplikaci funkcí automaticky vytvořit nastavení aplikace na základě hodnot v souboru local.settings.json.

  • Pokud chcete publikovat do konkrétního pojmenovaného slotu v aplikaci funkcí, použijte tuto --slot možnost.

Nasazení kontejnerů

Nástroje Core Tools umožňují nasadit kontejnerizovanou aplikaci funkcí do spravovaných prostředí Azure Container Apps i clusterů Kubernetes, které spravujete.

Pomocí následujícího func azurecontainerapps deploy příkazu nasaďte existující image kontejneru do prostředí Container Apps:

func azurecontainerapps deploy --name <APP_NAME> --environment <ENVIRONMENT_NAME> --storage-account <STORAGE_CONNECTION> --resource-group <RESOURCE_GROUP> --image-name <IMAGE_NAME> [--registry-password] [--registry-server] [--registry-username]

Když nasadíte do prostředí Azure Container Apps, platí následující aspekty:

  • Prostředí a účet úložiště už musí existovat. Účet úložiště připojovací řetězec, který zadáte, používá nasazená aplikace funkcí.

  • Při nasazování do Container Apps nemusíte vytvářet samostatný prostředek aplikace funkcí.

  • Důležité tajné kódy jsou připojovací řetězec úložiště a další přihlašovací údaje služby. Nezapomeňte bezpečně ukládat soubory skriptů, které používají func azurecontainerapps deploy a neukládají je do veřejně přístupných systémů správy zdrojového kódu. Soubor local.settings.json můžete zašifrovat pro přidání zabezpečení.

Další informace najdete v tématu Azure Container Apps hostování služby Azure Functions.

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.

Při práci se souborem místního nastavení platí následující aspekty:

  • Protože local.settings.json může obsahovat tajné kódy, jako jsou připojovací řetězec, nikdy byste je neměli ukládat do vzdáleného úložiště. Nástroje Core Tools pomáhají šifrovat tento místní soubor nastavení pro lepší zabezpečení. Další informace naleznete v tématu Místní soubor nastavení. Můžete také zašifrovat local.settings.json soubor pro přidání zabezpečení.

  • Ve výchozím nastavení se při publikování projektu do Azure automaticky nemigrují místní nastavení. Tuto možnost použijte při publikování souborů projektu, abyste měli jistotu --publish-local-settings , že se tato nastavení přidají do aplikace funkcí v Azure. Hodnoty v oddílu ConnectionStrings se nikdy nepublikují. Nastavení můžete také nahrát z local.settings.json souboru kdykoli.

  • Nastavení v souboru local.settings.json můžete stáhnout a přepsat nastavením z aplikace funkcí v Azure. Další informace najdete v tématu Stažení nastavení aplikace.

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

Stažení nastavení aplikace

V kořenovém adresáři projektu pomocí následujícího příkazu stáhněte všechna nastavení aplikace z myfunctionapp12345 aplikace v Azure:

func azure functionapp fetch-app-settings myfunctionapp12345

Tento příkaz přepíše všechna existující nastavení v souboru local.settings.json hodnotami z Azure. Pokud ještě nejsou k dispozici, do kolekce se přidají nové položky. Další informace najdete v func azure functionapp fetch-app-settings příkazu.

Stažení připojovací řetězec úložiště

Nástroje Core Tools také usnadňují získání připojovací řetězec libovolného účtu úložiště, ke kterému máte přístup. Z kořenového adresáře projektu pomocí následujícího příkazu stáhněte připojovací řetězec z účtu úložiště s názvem mystorage12345.

func azure storage fetch-connection-string mystorage12345

Tento příkaz přidá nastavení pojmenované mystorage12345_STORAGE do souboru local.settings.json, který obsahuje připojovací řetězec účtumystorage12345. Další informace najdete v func azure storage fetch-connection-string příkazu.

Pokud chcete zlepšit zabezpečení během vývoje, zvažte šifrování souboru local.settings.json.

Nahrání místního nastavení do Azure

Když publikujete soubory projektu do Azure bez použití --publish-local-settings této možnosti, nastavení v souboru local.settings.json se ve vaší aplikaci funkcí nenastaví. Vždy můžete znovu spustit func azure functionapp publish možnost --publish-settings-only nahrání jenom nastavení bez opětovného publikování souborů projektu.

Následující příklad nahraje pouze nastavení z Values kolekce v souboru local.settings.json do aplikace funkcí v Azure s názvem myfunctionapp12345:

func azure functionapp publish myfunctionapp12345 --publish-settings-only

Šifrování místního souboru nastavení

Nástroje Core Tools umožňují šifrovat soubor local.settings.json, aby se zlepšilo zabezpečení připojovací řetězec a dalších cenných dat v místním nastavení. Když je tento soubor zašifrovaný, modul runtime automaticky dešifruje nastavení v případě potřeby stejným způsobem jako nastavení aplikace v Azure. Můžete také dešifrovat místně zašifrovaný soubor a pracovat s nastavením.

Pomocí následujícího příkazu zašifrujte místní soubor nastavení projektu:

func settings encrypt

Pomocí následujícího příkazu dešifrujte šifrované místní nastavení, abyste s ním mohli pracovat:

func settings decrypt

Když je soubor nastavení zašifrovaný a dešifrovaný, aktualizuje se také nastavení souboru IsEncrypted .

Konfigurace rozšíření vazeb

Triggery a vazby funkcí se implementují jako balíčky rozšíření .NET (NuGet). Aby bylo možné použít konkrétní rozšíření vazby, musí být toto rozšíření nainstalované v projektu.

Tato část se nevztahuje na verzi 1.x modulu runtime Služby Functions. Ve verzi 1.x byly podporované vazby zahrnuty do základního rozšíření produktu.

V případě projektů knihovny tříd jazyka C# přidejte odkazy na konkrétní balíčky NuGet pro rozšíření vazeb vyžadovaná vašimi funkcemi. Projekt skriptu jazyka C# (.csx) musí používat sady rozšíření.

Functions poskytuje sady rozšíření, které usnadňují práci s rozšířeními vazeb v projektu. Sady rozšíření, které jsou verze a definované v souboru host.json, nainstalují úplnou sadu kompatibilních balíčků rozšíření vazeb pro vaši aplikaci. Vaše host.json už by měly mít povolené sady rozšíření. Pokud z nějakého důvodu potřebujete přidat nebo aktualizovat sadu rozšíření v souboru host.json, přečtěte si téma Sady rozšíření.

Pokud musíte použít rozšíření vazby nebo verzi rozšíření, která není v podporované sadě, musíte rozšíření nainstalovat ručně. V takových výjimečných scénářích se podívejte na func extensions install příkaz.

Verze nástrojů Core Tools

Hlavní verze nástrojů Azure Functions Core Tools jsou propojené s konkrétními hlavními verzemi modulu runtime Azure Functions. Například verze 4.x nástrojů Core Tools podporuje verzi 4.x modulu runtime Functions. Tato verze je doporučenou hlavní verzí modulu runtime služby Functions i nástrojů Core Tools. Nejnovější verzi nástrojů Core Tools můžete určit v úložišti Azure Functions Core Tools.

Od verze 4.0.6517 nástrojů Core Tools musí projekty modelu v procesu odkazovat na verzi 4.5.0 nebo novější .Microsoft.NET.Sdk.Functions Pokud použijete starší verzi, func start příkaz se zobrazí chyba.

Spuštěním následujícího příkazu určete verzi aktuální instalace nástrojů Core Tools:

func --version

Pokud není uvedeno jinak, příklady v tomto článku jsou určené pro verzi 4.x.

Následující aspekty platí pro instalace nástrojů Core Tools:

  • Na daný počítač můžete nainstalovat jenom jednu verzi nástrojů Core Tools.

  • Při upgradu na nejnovější verzi nástrojů Core Tools byste měli použít stejnou metodu, jakou jste použili k provedení upgradu původní instalace. Pokud jste například použili MSI ve Windows, odinstalujte aktuální MSI a nainstalujte nejnovější. Nebo pokud jste použili npm, spusťte npm install commandznovu .

  • Verze 2.x a 3.x nástrojů Core Tools byla použita s verzemi 2.x a 3.x modulu runtime Functions, které dosáhly konce podpory. Další informace najdete v přehledu verzí modulu runtime Azure Functions.

  • Verze 1.x nástrojů Core Tools se vyžaduje při použití verze 1.x modulu runtime functions, která je stále podporovaná. Tato verze nástrojů Core Tools se dá spustit jenom místně na počítačích s Windows. Pokud aktuálně používáte verzi 1.x, měli byste zvážit migraci aplikace na verzi 4.x ještě dnes.

Další kroky

Naučte se vyvíjet , testovat a publikovat funkce Azure pomocí základních nástrojů Azure Functions. Azure Functions Core Tools je open source a hostuje se na GitHubu. Pokud chcete podat žádost o chybu nebo funkci, otevřete problém GitHubu.