Rychlý Start: Vytvoření první funkce z příkazového řádku pomocí Azure CLIQuickstart: Create your first function from the command line using Azure CLI
Toto téma Rychlý start vás provede použitím příkazového řádku nebo terminálu k vytvoření první funkce.This quickstart topic walks you through how to create your first function from the command line or terminal. Pomocí Azure CLI vytvoříte aplikaci funkcí, což je infrastruktura bez serveru, která je hostitelem funkce.You use the Azure CLI to create a function app, which is the serverless infrastructure that hosts your function. Projekt kódu funkce je generován ze šablony s použitím Azure Functions Core Tools, který se používá také k nasazení projektu funkcí aplikace do Azure.The function code project is generated from a template by using the Azure Functions Core Tools, which is also used to deploy the function app project to Azure.
Následující kroky můžete provést v počítačích se systémem Mac, Windows nebo Linux.You can follow the steps below using a Mac, Windows, or Linux computer.
PožadavkyPrerequisites
Před spuštěním této ukázky musíte mít následující:Before running this sample, you must have the following:
Nainstalujte Azure Functions Core Tools verze 2.6.666 nebo novější.Install Azure Functions Core Tools version 2.6.666 or later.
Nainstalujte rozhraní příkazového řádku Azure CLI.Install the Azure CLI. Tento článek vyžaduje Azure CLI verze 2,0 nebo novější.This article requires the Azure CLI version 2.0 or later. Verzi zjistíte spuštěním příkazu
az --version
.Runaz --version
to find the version you have. Můžete také použít Azure Cloud Shell.You can also use the Azure Cloud Shell.Aktivní předplatné Azure.An active Azure subscription.
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.If you don't have an Azure subscription, create a free account before you begin.
Vytvoření projektu funkce místní aplikaceCreate the local function app project
Spuštěním následujícího příkazu z příkazového řádku vytvoříte projekt aplikace funkcí ve složce MyFunctionProj
aktuálního místního adresáře.Run the following command from the command line to create a function app project in the MyFunctionProj
folder of the current local directory. Úložiště GitHub se také vytvoří v MyFunctionProj
.A GitHub repo is also created in MyFunctionProj
.
func init MyFunctionProj
Po zobrazení výzvy vyberte modul runtime pracovního procesu z následujících možností jazyka:When prompted, select a worker runtime from the following language choices:
dotnet
: vytvoří projekt knihovny třídy .NET (.csproj).dotnet
: creates a .NET class library project (.csproj).node
: vytvoří projekt založený na Node. js.node
: creates a Node.js-based project. Vyberte buďjavascript
nebotypescript
.Choose eitherjavascript
ortypescript
.python
: v případě projektu v Pythonu prosím, proveďte kompletní Vytvoření funkce aktivované protokolem HTTP v Azure.python
: for a Python project, please instead complete Create an HTTP triggered function in Azure.powershell
: v projektu PowerShellu prosím Vytvořte svoji první funkci PowerShellu v Azure.powershell
: for a PowerShell project, please instead complete Create your first PowerShell function in Azure.
Po vytvoření projektu použijte následující příkaz pro přechod do složky nového MyFunctionProj
projektu.After the project is created, use the following command to navigate to the new MyFunctionProj
project folder.
cd MyFunctionProj
Povolit sady rozšířeníEnable extension bundles
Nejjednodušší způsob, jak nainstalovat rozšíření vazby, je povolit sady rozšíření.The easiest way to install binding extensions is to enable extension bundles. Pokud povolíte sady, automaticky se nainstaluje předdefinovaná sada balíčků rozšíření.When you enable bundles, a predefined set of extension packages is automatically installed.
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:To enable extension bundles, open the host.json file and update its contents to match the following code:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[1.*, 2.0.0)"
}
}
Vytvoření funkceCreate a function
Následující příkaz vytvoří funkci aktivovanou HTTP s názvem MyHttpTrigger
.The following command creates an HTTP-triggered function named MyHttpTrigger
.
func new --name MyHttpTrigger --template "HttpTrigger"
Při spuštění příkazu se zobrazí něco jako následující výstup:When the command executes, you see something like the following output:
The function "MyHttpTrigger" was created successfully from the "HttpTrigger" template.
Místní spuštění funkceRun the function locally
Následující příkaz spustí aplikaci funkcí.The following command starts the function app. Aplikace je spuštěna pomocí stejného modulu runtime Azure Functions, který je v Azure.The app runs using the same Azure Functions runtime that is in Azure. Spouštěcí příkaz se liší v závislosti na jazyku projektu.The start command varies, depending on your project language.
C#C#
func start --build
JavaScriptJavaScript
func start
TypeScriptTypeScript
npm install
npm start
Jakmile se hostitel funkce spustí, zapíše něco podobného následujícímu výstupu, který byl zkrácen pro čitelnost:When the Functions host starts, it writes something like the following output, which has been truncated for readability:
%%%%%%
%%%%%%
@ %%%%%% @
@@ %%%%%% @@
@@@ %%%%%%%%%%% @@@
@@ %%%%%%%%%% @@
@@ %%%% @@
@@ %%% @@
@@ %% @@
%%
%
...
Content root path: C:\functions\MyFunctionProj
Now listening on: http://0.0.0.0:7071
Application started. Press Ctrl+C to shut down.
...
Http Functions:
HttpTrigger: http://localhost:7071/api/MyHttpTrigger
[8/27/2018 10:38:27 PM] Host started (29486ms)
[8/27/2018 10:38:27 PM] Job host started
Zkopírujte adresu URL vaší funkce HttpTrigger
z výstupu modulu runtime a vložte do panelu Adresa vašeho prohlížeče.Copy the URL of your HttpTrigger
function from the runtime output and paste it into your browser's address bar. K této adrese URL připojte řetězec dotazu ?name=<yourname>
a proveďte požadavek.Append the query string ?name=<yourname>
to this URL and execute the request. Následuje ukázka odezvy na požadavek GET vrácené místní funkcí v prohlížeči:The following shows the response in the browser to the GET request returned by the local function:
Teď, když jste spustili funkci místně, můžete vytvořit aplikaci aplikace funkcí a ostatní požadované prostředky v Azure.Now that you have run your function locally, you can create the function app and other required resources in Azure.
Vytvoření skupiny prostředkůCreate a resource group
Vytvořte skupinu prostředků pomocí příkazu az group create.Create a resource group with the az group create command. Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure, jako například aplikace Function App, databáze a účty úložiště.An Azure resource group is a logical container into which Azure resources like function apps, databases, and storage accounts are deployed and managed.
Následující příklad vytvoří skupinu prostředků s názvem myResourceGroup
.The following example creates a resource group named myResourceGroup
.
Pokud nepoužíváte Cloud Shell, přihlaste se az login
jako první pomocí.If you aren't using Cloud Shell, sign in first using az login
.
az group create --name myResourceGroup --location westeurope
Obecně vytvoříte skupinu prostředků a prostředky v oblasti , která je blízko vás.You generally create your resource group and the resources in a region near you.
Vytvoření účtu služby Azure StorageCreate an Azure Storage account
Aplikace Functions používá účet pro obecné účely ve službě Azure Storage k zachování stavu a dalších informací o vašich funkcích.Functions uses a general-purpose account in Azure Storage to maintain state and other information about your functions. Ve skupině prostředků, kterou jste vytvořili, vytvořte účet úložiště pro obecné účely pomocí příkazu az storage account create.Create a general-purpose storage account in the resource group you created by using the az storage account create command.
V následujícím příkazu nahraďte zástupný text <storage_name>
globálně jedinečným názvem účtu úložiště.In the following command, substitute a globally unique storage account name where you see the <storage_name>
placeholder. 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.Storage account names must be between 3 and 24 characters in length and may contain numbers and lowercase letters only.
az storage account create --name <storage_name> --location westeurope --resource-group myResourceGroup --sku Standard_LRS
Vytvoření Function AppCreate a function app
K hostování provádění funkcí musíte mít aplikaci Function App.You must have a function app to host the execution of your functions. Function App poskytuje prostředí pro provádění kódu funkce bez serveru.The function app provides an environment for serverless execution of your function code. Umožňuje seskupit funkce jako logickou jednotku pro snadnější správu, nasazování a sdílení prostředků.It lets you group functions as a logic unit for easier management, deployment, and sharing of resources. Aplikaci Function App vytvoříte pomocí příkazu az functionapp create.Create a function app by using the az functionapp create command.
V následujícím příkazu nahraďte zástupný symbol <APP_NAME>
jedinečným názvem vaší aplikace funkcí a <STORAGE_NAME>
názvem účtu úložiště.In the following command, substitute a unique function app name where you see the <APP_NAME>
placeholder and the storage account name for <STORAGE_NAME>
. Jako výchozí doména DNS pro příslušnou aplikaci Function App se použije <APP_NAME>
, a proto musí být název mezi všemi aplikacemi v Azure jedinečný.The <APP_NAME>
is used as the default DNS domain for the function app, and so the name needs to be unique across all apps in Azure. Měli byste také nastavit modul runtime <language>
pro aplikaci Function App, od dotnet
(C#) nebo node
(JavaScript).You should also set the <language>
runtime for your function app, from dotnet
(C#) or node
(JavaScript).
az functionapp create --resource-group myResourceGroup --consumption-plan-location westeurope \
--name <APP_NAME> --storage-account <STORAGE_NAME> --runtime <language>
Nastavení parametru consumption-plan-location znamená, že je aplikace funkcí hostovaná v plánu hostování Consumption.Setting the consumption-plan-location parameter means that the function app is hosted in a Consumption hosting plan. V tomto bezserverovém plánu bez se prostředky přidávají dynamicky podle potřeb vašich funkcí a vy platíte pouze za spuštěné funkce.In this serverless plan, resources are added dynamically as required by your functions and you only pay when functions are running. Další informace najdete v tématu Výběr správného plánu hostování.For more information, see Choose the correct hosting plan.
Po vytvoření aplikace Function App se v Azure CLI zobrazí podobné informace jako v následujícím příkladu:After the function app has been created, the Azure CLI shows information similar to the following example:
{
"availabilityState": "Normal",
"clientAffinityEnabled": true,
"clientCertEnabled": false,
"containerSize": 1536,
"dailyMemoryTimeQuota": 0,
"defaultHostName": "quickstart.azurewebsites.net",
"enabled": true,
"enabledHostNames": [
"quickstart.azurewebsites.net",
"quickstart.scm.azurewebsites.net"
],
....
// Remaining output has been truncated for readability.
}
Nasazení projektu aplikace funkcí do AzureDeploy the function app project to Azure
Po vytvoření aplikace Function App v Azure můžete k nasazení kódu projektu do func azure functionapp publish
Azure použít příkaz Core Tools.After the function app is created in Azure, you can use the func azure functionapp publish
Core Tools command to deploy your project code to Azure. V těchto příkladech nahraďte <APP_NAME>
názvem vaší aplikace z předchozího kroku.In these examples, replace <APP_NAME>
with the name of your app from the previous step.
C# /JavaScriptC# / JavaScript
func azure functionapp publish <APP_NAME>
PythonPython
func azure functionapp publish <APP_NAME> --build remote
TypeScriptTypeScript
npm run build:production
func azure functionapp publish <APP_NAME>
Zobrazí se výstup podobný následujícímu, který byl zkrácen z důvodu čitelnosti:You'll see output similar to the following, which has been truncated for readability:
Getting site publishing info...
...
Preparing archive...
Uploading content...
Upload completed successfully.
Deployment completed successfully.
Syncing triggers...
Functions in myfunctionapp:
HttpTrigger - [httpTrigger]
Invoke url: https://myfunctionapp.azurewebsites.net/api/httptrigger?code=cCr8sAxfBiow548FBDLS1....
Invoke url
Zkopírujte hodnotuHttpTrigger
pro, kterou teď můžete použít k otestování funkce v Azure.Copy the Invoke url
value for your HttpTrigger
, which you can now use to test your function in Azure. Adresa URL obsahuje code
hodnotu řetězce dotazu, který je klíčovou funkcí.The URL contains a code
query string value that is your function key. Tento klíč ztěžuje ostatním uživatelům volání koncového bodu HTTP triggeru v Azure.This key makes it difficult for others to call your HTTP trigger endpoint in Azure.
Ověření funkce v AzureVerify the function in Azure
K ověření nasazené funkce použijte kudrlinkou.Use cURL to verify the deployed function. Pomocí adresy URL, včetně klíč funkce, který jste zkopírovali z předchozího kroku, přidejte řetězec &name=<yourname>
dotazu k adrese URL.Using the URL, including the function key, that you copied from the previous step, append the query string &name=<yourname>
to the URL.
Zkopírovaná adresa URL, včetně klávesy funkce, můžete také vložit do adresního řádku webového prohlížeče.You can also paste the copied URL, including the function key, into the address bar of your web browser. Znovu přidejte řetězec &name=<yourname>
dotazu k adrese URL před provedením žádosti.Again, append the query string &name=<yourname>
to the URL before you execute the request.
Vyčištění prostředkůClean up resources
Další rychlé starty v této kolekci jsou postavené na tomto rychlém startu.Other quickstarts in this collection build upon this quickstart. Pokud máte v plánu pokračovat s dalšími rychlými starty nebo kurzy, neprovádějte čištění prostředků vytvořených v rámci tohoto rychlého startu.If you plan to continue on with subsequent quickstarts or with the tutorials, don't clean up the resources created in this quickstart. Pokud pokračovat nechcete, pomocí následujícího příkazu odstraňte všechny prostředky vytvořené v rámci tohoto rychlého startu:If you don't plan to continue, use the following command to delete all resources created in this quickstart:
az group delete --name myResourceGroup
Vyberte y
po zobrazení výzvy.Select y
when prompted.
Další postupNext steps
Přečtěte si další informace o místním vývoji funkcí Azure Functions pomocí nástrojů Azure Functions Core.Learn more about developing Azure Functions locally using the Azure Functions Core Tools.
Váš názor
Načítání názorů...