Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure Functions Core Tools vám umožní vyvíjet a testovat funkce na místním počítači. Až budete připraveni, můžete pomocí Core Tools nasadit váš 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 Java 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 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 Python 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 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 Tools
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í program 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 Core Tools.
Stáhněte a spusťte instalační program Core Tools na základě vaší verze Windows:
- v4.x – Windows 64bit (Doporučeno. Ladění Visual Studio Code vyžaduje 64bit verzi.)
- v4.x – Windows 32bitový
Pokud jste dříve použili instalační program Windows (MSI) k instalaci nástrojů Core Tools na Windows, měli byste před instalací nejnovější verze odinstalovat starou verzi z nástroje Přidat odebrat programy.
Návod
Pro instalaci Nástrojů Core Tools na Subsystém Windows pro Linux (WSL) řiďte se pokyny v kartě Linux.
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 Quickstart: Vytvoření funkce Python 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 v nové složce s názvem MyProjFolder:
func init MyProjFolder --worker-runtime dotnet-isolated
Ve výchozím nastavení tento příkaz vytvoří projekt, který běží ve stejném procesu jako hostitel Functions na aktuální verzi .NET Core s dlouhodobou podporou (LTS). Možnost --target-framework můžete použít k cílení na konkrétní podporovanou verzi .NET, včetně .NET Frameworku. Další informace najdete v referenčních informacích func init .
Porovnání dvou modelů procesů .NET najdete v části Rozdíly mezi izolovaným pracovním modelem a modelem v 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 byste měli postupovat podle kroků v rychlém startu příkazového řádku.
Tento příkaz vytvoří projekt JavaScriptu, který používá požadovanou verzi programovacího modelu.
Tento příkaz vytvoří projekt TypeScript, který používá požadovanou verzi programovacího modelu.
func init MyProjFolder --worker-runtime powershell
Tento příkaz vytvoří Python projekt, který používá požadovanou verzi modelu programování.
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 newbez--templatemožnosti, zobrazí se výzva k výběru šablony.func templates listPomocí příkazu zobrazíte úplný seznam dostupných šablon pro váš jazyk.Když přidáte trigger, který se připojí ke službě, musíte také přidat nastavení aplikace odkazované 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ástroj Core Tools přidá do projektu C# odkaz na konkrétní rozšíření vazby.
Další informace o dostupných možnostech func new příkazu najdete v referenčních informacích func new .
Přidejte vazbu do své 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 bez nutnosti používat klientské sady SDK specifické pro službu. Další informace najdete v tématu Azure Functions spouště a vazby.
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, funkce vrátí MultiResponse objekt, který představuje výstup HTTP i fronty.
[Function("HttpExample")]
public MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req)
Tento příklad je definice objektu MultiResponse , který obsahuje výstupní vazbu:
public class MultiResponse
{
[QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
public string[] Messages { get; set; }
public IActionResult HttpResponse { get; set; }
}
V tomto příkladu se používá integrace ASP.NET Core. Pokud nepoužíváte integraci ASP.NET Core, musíte změnit HttpRequest na HttpRequestData a IActionResult na HttpResponseData.
Zprávy se 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.
const { app, output } = require('@azure/functions');
const sendToQueue = output.storageQueue({
queueName: 'outqueue',
connection: 'AzureWebJobsStorage',
});
app.http('HttpExample', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
extraOutputs: [sendToQueue],
handler: async (request, context) => {
try {
context.log(`Http function processed request for url "${request.url}"`);
const name = request.query.get('name') || (await request.text());
context.log(`Name: ${name}`);
if (name) {
const msg = `Name passed to the function ${name}`;
context.extraOutputs.set(sendToQueue, [msg]);
return { body: msg };
} else {
context.log('Missing required data');
return { status: 404, body: 'Missing required data' };
}
} catch (error) {
context.log(`Error: ${error}`);
return { status: 500, body: 'Internal Server Error' };
}
},
});
Způsob, jakým definujete výstupní vazbu, závisí na verzi modelu Node.js. Další informace, včetně odkazů na ukázkový kód vazby, na který můžete odkazovat, najdete v tématu Přidání vazeb do funkce.
$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg
Další informace, včetně odkazů na ukázkový kód vazby, na který můžete odkazovat, najdete v tématu Přidání vazeb do funkce.
@app.route(route="HttpExample")
@app.queue_output(arg_name="msg", queue_name="outqueue", connection="AzureWebJobsStorage")
def HttpExample(req: func.HttpRequest, msg: func.Out [func.QueueMessage]) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a request.')
Způsob, jakým definujete výstupní vazbu, závisí na verzi modelu Python. Další informace, včetně odkazů na ukázkový kód vazby, na který můžete odkazovat, najdete v tématu Přidání vazeb do funkce.
import {
app,
output,
HttpRequest,
HttpResponseInit,
InvocationContext,
StorageQueueOutput,
} from '@azure/functions';
const sendToQueue: StorageQueueOutput = output.storageQueue({
queueName: 'outqueue',
connection: 'AzureWebJobsStorage',
});
export async function HttpExample(
request: HttpRequest,
context: InvocationContext,
): Promise<HttpResponseInit> {
try {
context.log(`Http function processed request for url "${request.url}"`);
const name = request.query.get('name') || (await request.text());
context.log(`Name: ${name}`);
if (name) {
const msg = `Name passed to the function ${name}`;
context.extraOutputs.set(sendToQueue, [msg]);
return { body: msg };
} else {
context.log('Missing required data');
return { status: 404, body: 'Missing required data' };
}
} catch (error) {
context.log(`Error: ${error}`);
return { status: 500, body: 'Internal Server Error' };
}
}
app.http('HttpExample', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
handler: HttpExample,
});
Způsob, jakým definujete výstupní vazbu, závisí na verzi modelu Node.js. Další informace, včetně odkazů na ukázkový kód vazby, na který můžete odkazovat, najdete v tématu Přidání vazeb do funkce.
Při přidávání vazeb do funkce platí následující aspekty:
- U jazyků definujících 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 Pojení 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, které odkazuje 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.
Spusťte prostředí runtime funkcí
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
Způsob načtení funkcí závisí na konfiguraci projektu. Další informace najdete v tématu Registrace funkce.
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--enableAuthk vyžadování autorizace při místním spuštění. Další informace najdete na webufunc 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 připojovat k těmto službám v Azure. 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 úložiště pracovního procesu Python 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 místní data 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 startmísto toho příkaz ke spuštění místního modulu runtime.
Spusťte místní funkci
S běžícím místním hostitelem Functions (func.exe) nyní můžete spouštět a ladit jednotlivé funkce a jejich kód. 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í k dispozici v systémech založených na Linuxu a Windows 10 buildu 17063 a novějších. Na starších 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ě <FUNCTION_NAME> adresy URL je název funkce nebo trasy a <PORT> představuje místní port, 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 ukazuje stejnou funkci volanou z požadavku POST, který přenáší name v těle požadavku, a to 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
Nástroje Azure Functions Core Tools podporují 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í zip deploymentu. |
| 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 Azure ze služby Core Tools, musíte mít nainstalovaný Azure CLI 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 příkaz func azure functionapp publish, 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> .zip balíčku pro nasazení. Pokud projekt vyžaduje kompilaci, provádí se vzdáleně během nasazování.
Java používá Maven k publikování místního projektu do Azure místo nástrojů Core Tools. 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 během počátečního nasazení vytvoří Azure prostředky na základě nastavení v souboru pom.xml. Pro více informací si přečtěte Návod k nasazení projektu funkce na Azure.
Pro tento druh nasazení platí následující aspekty:
Publikování přepíše existující soubory v nasazení vzdálené aplikace funkcí.
Už musíte mít vytvořenou aplikaci funkcí ve svém předplatném Azure. 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 PowerShell najdete v tématu Azure CLI Ukázky. Tyto prostředky můžete také vytvořit na portálu Azure. Zobrazí se chyba, když se pokusíte publikovat na
<FunctionAppName>, který neexistuje ve vašem předplatném.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
--nozipmožnost.Vzdálené sestavení se provádí u kompilovaných projektů. Toto lze řídit použitím možnosti
--no-build.--publish-local-settingsPomocí této možnosti můžete automaticky vytvořit nastavení aplikace v aplikaci funkcí na základě hodnot v souborulocal.settings.json.Pokud chcete publikovat do konkrétního pojmenovaného slotu v aplikaci funkcí, použijte tuto
--slotmožnost.
Nasazení kontejnerů
Nástroje Core Tools umožňují nasadit kontejnerizovanou aplikaci funkcí do spravovaných Azure Container Apps prostředí 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]
Při nasazení do Azure Container Apps prostředí platí následující aspekty:
Prostředí a účet pro úložiště již musí existovat. Řetězec připojení uloženého účtu, který zadáte, používá nasazená aplikace Function.
Při nasazování do Container Apps nemusíte vytvářet samostatný prostředek pro funkční aplikaci.
Připojovací řetězce úložiště a další přihlašovací údaje služeb jsou důležité tajnosti. Nezapomeňte bezpečně ukládat soubory skriptů, které používají
func azurecontainerapps deploya 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 hostování služby Azure Functions v aplikacích Azure Container Apps.
Práce s místním nastavením aplikace
Když se vaše aplikace funkcí spustí v Azure, nastavení vyžadovaná vašimi funkcemi jsou uložená zašifrovaná v zabezpečeném nastavení aplikace. Během místního vývoje se tato nastavení místo toho přidají do Values kolekce v souborulocal.settings.json . Soubor local.settings.json také ukládá nastavení používaná místními vývojářskými nástroji.
Položky v kolekci Values v souboru local.settings.json projektu mají zrcadlit položky v nastavení aplikace funkcí v Azure.
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ězce, 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í. Při publikování souborů projektu použijte možnost
--publish-local-settings, abyste měli jistotu, že se tato nastavení přidají do aplikace funkcí v Azure. Hodnoty v oddíluConnectionStringsse nikdy nepublikují. Nastavení můžete také nahrát z local.settings.json souboru kdykoli.Nastavení můžete stáhnout a přepsat v souboru local.settings.json 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í.
- Pokud není pro
AzureWebJobsStoragenastaven žádný platný připojovací řetězec úložiště a není použit emulátor místního úložiště, zobrazí se chyba. Nástroje Core Tools můžete použít ke stažení konkrétního připojovacího řetězce z libovolného z vašich účtů Azure Storage.
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 aplikace myfunctionapp12345 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.
Stáhněte si připojovací řetězec úložiště
Nástroje Core Tools také usnadňují získání připojovacího řetězce (připojovací řetězec) libovolného ú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í s názvem mystorage12345_STORAGE do souboru local.settings.json, které obsahuje připojovací řetězec pro účet mystorage12345. 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í souborulocal.settings.json.
Nahrání místního nastavení do Azure
Když publikujete soubory projektu do Azure bez použití možnosti --publish-local-settings, nastavení v souboru local.settings.json se v aplikaci funkcí nenastaví. Vždy můžete znovu spustit func azure functionapp publish s možností --publish-settings-only pro nahrání pouze nastavení, aniž byste znovu publikovali soubory projektu.
Následující příklad nahraje do aplikace funkcí pouze nastavení z kolekce Values v souboru local.settings.json do aplikace funkcí v Azure pojmenované myfunctionapp12345:
func azure functionapp publish myfunctionapp12345 --publish-settings-only
Šifrování místního souboru nastavení
Nástroje Core Tools umožňují šifrovat local.settings.json soubor, aby se zlepšilo zabezpečení připojovacích řetězců a dalších cenných dat v místním nastavení. Pokud 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 .
Konfigurujte rozšíření vazby
triggery a vazby Functions 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 Functions runtime. 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í.
Funkce poskytují balíčky rozšíření, které usnadňují práci s rozšířeními vazeb ve vašem projektu. Sady rozšíření, které jsou verzované a definované v souboru host.json, nainstalují úplnou sadu kompatibilních rozšiřujících balíčků pro vazby pro vaši aplikaci. Váš host.json soubor by už měl mít povolené balíčky rozšíření. Pokud z nějakého důvodu potřebujete přidat nebo aktualizovat sadu rozšíření v souboruhost.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 příkaz func extensions install.
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.
Počínaje verzí 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, příkaz func start způsobí chybu.
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 na 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 Windows počítačích. Pokud aktuálně používáte verzi 1.x, měli byste zvážit migraci aplikace na verzi 4.x ještě dnes.