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:

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:

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:

Místní test v prohlížeči

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 loginjako 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 hodnotuHttpTriggerpro, 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.

použití funkce kudrlinkou k volání funkce v Azure.

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.

Volání funkce pomocí webového prohlížeče.

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.