Hızlı başlatma: Azure'da HTTP isteklerine yanıt veren bir işlev oluşturmaQuickstart: Create a function in Azure that responds to HTTP requests

Bu makalede, HTTP isteklerine yanıt veren bir işlev oluşturmak için komut satırı araçlarını kullanırsınız.In this article, you use command-line tools to create a function that responds to HTTP requests. Kodu yerel olarak sınandıktan sonra, kodu Azure İşlevlerinin sunucusuz ortamına dağıtirsınız.After testing the code locally, you deploy it to the serverless environment of Azure Functions. Bu hızlı başlangıcın tamamlanması, Azure hesabınızda birkaç USD sent veya daha az küçük bir maliyete neden olabilir.Completing this quickstart incurs a small cost of a few USD cents or less in your Azure account.

Ayrıca bu makalenin Visual Studio Code tabanlı bir sürümü vardır.There is also a Visual Studio Code-based version of this article.

Yerel ortamınızı yapılandırınConfigure your local environment

Başlamadan önce aşağıdakileri almalısınız:Before you begin, you must have the following:

  • Node.js, Active LTS ve Maintenance LTS versiyonları (8.11.1 ve 10.14.1 önerilir).Node.js, Active LTS and Maintenance LTS versions (8.11.1 and 10.14.1 recommended).

Çevrenizi kontrol edinCheck your environment

  • Bir terminal veya komut func --version penceresinde, Azure İşlevler Temel Araçları'nın sürüm 2.7.1846 veya daha sonraki bir 2.x sürümü olup olmadığını kontrol etmek için çalıştırın.In a terminal or command window, run func --version to check that the Azure Functions Core Tools are version 2.7.1846 or a later 2.x version.

  • Azure az --version CLI sürümünün 2.0.76 veya sonraki sürüm olup olmadığını kontrol etmek için çalıştırın.Run az --version to check that the Azure CLI version is 2.0.76 or later.

  • Azure'da oturum açmak ve etkin bir aboneliği doğrulamak için çalıştırın. az loginRun az login to sign in to Azure and verify an active subscription.

  • Node.js sürüm raporlarınızı 8.x veya 10.x olarak kontrol etmek için çalıştırın. node --versionRun node --version to check your Node.js version reports 8.x or 10.x.
  • Python python --version sürüm raporlarınızı 3.8.x, 3.7.x veya 3.6.x olarak denetlemek için (Linux/MacOS) veya py --version (Windows) çalıştırın.Run python --version (Linux/MacOS) or py --version (Windows) to check your Python version reports 3.8.x, 3.7.x or 3.6.x.

Sanal ortam oluşturma ve etkinleştirmeCreate and activate a virtual environment

Uygun bir klasörde, ', adlı sanal bir ortam .venvoluşturmak ve etkinleştirmek için aşağıdaki komutları çalıştırın.In a suitable folder, run the following commands to create and activate a virtual environment named .venv. Azure İşlevleri tarafından desteklenen Python 3.8, 3.7 veya 3.6'yı kullandığınızdan emin olun.Be sure to use Python 3.8, 3.7 or 3.6, which are supported by Azure Functions.

python -m venv .venv
source .venv/bin/activate

Python venv paketini Linux dağıtımınıza yüklemediyse aşağıdaki komutu çalıştırın:If Python didn't install the venv package on your Linux distribution, run the following command:

sudo apt-get install python3-venv

Bu etkinleştirilen sanal ortamda sonraki tüm komutları çalıştırın.You run all subsequent commands in this activated virtual environment. (Sanal ortamdan çıkmak deactivateiçin çalıştırın.)(To exit the virtual environment, run deactivate.)

Yerel bir işlev projesi oluşturmaCreate a local function project

Azure İşlevlerinde işlev projesi, her biri belirli bir tetikleyiciye yanıt veren bir veya daha fazla ayrı işlev için bir kapsayıcıdır.In Azure Functions, a function project is a container for one or more individual functions that each responds to a specific trigger. Projedeki tüm işlevler aynı yerel ve barındırma yapılandırmalarını paylaşır.All functions in a project share the same local and hosting configurations. Bu bölümde, tek bir işlev içeren bir işlev projesi oluşturursunuz.In this section, you create a function project that contains a single function.

  1. Sanal ortamda, belirtilen func init çalışma süresi ile LocalFunctionProj adlı bir klasörde bir işlev ler projesi oluşturmak için komutu çalıştırın:In the virtual environment, run the func init command to create a functions project in a folder named LocalFunctionProj with the specified runtime:

    func init LocalFunctionProj --python
    
    func init LocalFunctionProj --dotnet
    
    func init LocalFunctionProj --javascript
    
    func init LocalFunctionProj --typescript
    
    func init LocalFunctionProj --powershell
    

    Bu klasör, local.settings.json ve host.jsonadlı yapılandırma dosyaları da dahil olmak üzere proje için çeşitli dosyalar içerir.This folder contains various files for the project, including configurations files named local.settings.json and host.json. local.settings.json Azure'dan indirilen sırları içerebildiği için,..gitignore dosyasında varsayılan olarak dosya kaynak denetiminden çıkarılır.Because local.settings.json can contain secrets downloaded from Azure, the file is excluded from source control by default in the .gitignore file.

  2. Proje klasörüne gidin:Navigate into the project folder:

    cd LocalFunctionProj
    
  3. --name Bağımsız değişkenin işlevinizin benzersiz adı olduğu ve --template bağımsız değişkenin işlevin tetikleyicisini belirttiği aşağıdaki komutu kullanarak projenize bir işlev ekleyin.Add a function to your project by using the following command, where the --name argument is the unique name of your function and the --template argument specifies the function's trigger.

    func new --name HttpExample --template "HTTP trigger"
    

    func newHttpExample.cs kod dosyası oluşturur.func new creates a HttpExample.cs code file.

    func newprojenin seçilen diline uygun bir kod dosyası ve function.jsonadlı yapılandırma dosyası içeren işlev adı ile eşleşen bir alt klasör oluşturur.func new creates a subfolder matching the function name that contains a code file appropriate to the project's chosen language and a configuration file named function.json.

(İsteğe bağlı) Dosya içeriğini inceleme(Optional) Examine the file contents

İstenirse, işlevi yerel olarak çalıştırmayı atlayabilir ve daha sonra dosya içeriğini inceleyebilirsiniz.If desired, you can skip to Run the function locally and examine the file contents later.

HttpExample.csHttpExample.cs

Run HttpRequest HttpExample.cs HttpTriggerAttributeHttpExample.cs, tetiği davranışını tanımlayan HttpTriggerAtöz ile dekore edilmiş bir HttpRequest'tir. reqHttpExample.cs contains a Run method that receives request data in the req variable is an HttpRequest that's decorated with the HttpTriggerAttribute, which defines the trigger behavior.

using System;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;

namespace LocalFunctionProj
{
    public static class HttpExample
    {
        [FunctionName("HttpExample")]
        public static async Task<IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");

            string name = req.Query["name"];

            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            dynamic data = JsonConvert.DeserializeObject(requestBody);
            name = name ?? data?.name;

            return name != null
                ? (ActionResult)new OkObjectResult($"Hello, {name}")
                : new BadRequestObjectResult("Please pass a name on the query string or in the request body");
        }
    }
}

İade nesnesi, yanıt iletisini OkObjectResult (200) veya BadRequestObjectResult (400) olarak döndüren bir Eylem Sonucudur.The return object is an ActionResult that returns an response message as either an OkObjectResult (200) or a BadRequestObjectResult (400). Daha fazla bilgi edinmek için Azure İşlevleri HTTP tetikleyicileri ve bağlamalarınabakın.To learn more, see Azure Functions HTTP triggers and bindings.

__init__.py__init__.py

__init__.py, function.json'dakiyapılandırmaya göre tetiklenen bir main() Python işlevi içerir.__init__.py contains a main() Python function that's triggered according to the configuration in function.json.

import logging

import azure.functions as func


def main(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

    name = req.params.get('name')
    if not name:
        try:
            req_body = req.get_json()
        except ValueError:
            pass
        else:
            name = req_body.get('name')

    if name:
        return func.HttpResponse(f"Hello, {name}. This HTTP triggered function executed successfully.")
    else:
        return func.HttpResponse(
             "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.",
             status_code=200
        )

Bir HTTP tetikleyicisi için, req işlev, işlev.json'datanımlandığı şekilde değişkendeki istek verilerini alır.For an HTTP trigger, the function receives request data in the variable req as defined in function.json. reqazure.functions'ın bir örneğidir.HttpRequest sınıfı.req is an instance of the azure.functions.HttpRequest class. function.jsonolarak $return tanımlanan return object, azure.functions.HttpResponse sınıfınınbir örneğidir.The return object, defined as $return in function.json, is an instance of azure.functions.HttpResponse class. Daha fazla bilgi edinmek için Azure İşlevleri HTTP tetikleyicileri ve bağlamalarınabakın.To learn more, see Azure Functions HTTP triggers and bindings.

index.jsindex.js

index.js, function.json'dakiyapılandırmaya göre tetiklenen bir işlev ihraç eder.index.js exports a function that's triggered according to the configuration in function.json.

module.exports = async function (context, req) {
    context.log('JavaScript HTTP trigger function processed a request.');

    const name = (req.query.name || (req.body && req.body.name));
    const responseMessage = name
        ? "Hello, " + name + ". This HTTP triggered function executed successfully."
        : "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.";

    context.res = {
        // status: 200, /* Defaults to 200 */
        body: responseMessage
    };
}

Bir HTTP tetikleyicisi için, req işlev, işlev.json'datanımlandığı şekilde değişkendeki istek verilerini alır.For an HTTP trigger, the function receives request data in the variable req as defined in function.json. function.jsonolarak $return tanımlanan return object, yanıttır.The return object, defined as $return in function.json, is the response. Daha fazla bilgi edinmek için Azure İşlevleri HTTP tetikleyicileri ve bağlamalarınabakın.To learn more, see Azure Functions HTTP triggers and bindings.

index.tsindex.ts

index.ts, function.json'dakiyapılandırmaya göre tetiklenen bir işlev ihraç eder.index.ts exports a function that's triggered according to the configuration in function.json.

import { AzureFunction, Context, HttpRequest } from "@azure/functions"

const httpTrigger: AzureFunction = async function (context: Context, req: HttpRequest): Promise<void> {
    context.log('HTTP trigger function processed a request.');
    const name = (req.query.name || (req.body && req.body.name));
    const responseMessage = name
        ? "Hello, " + name + ". This HTTP triggered function executed successfully."
        : "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.";

    context.res = {
        // status: 200, /* Defaults to 200 */
        body: responseMessage
    };

};

export default httpTrigger;

Bir HTTP tetikleyicisi için, req işlev, işlev.json'datanımlandığı şekilde HttpRequest türünün değişkeninde istek verilerini alır.For an HTTP trigger, the function receives request data in the variable req of type HttpRequest as defined in function.json. function.jsonolarak $return tanımlanan return object, yanıttır.The return object, defined as $return in function.json, is the response.

run.ps1run.ps1

run.ps1, function.json'dakiyapılandırmaya göre tetiklenen bir işlev komut dosyası tanımlar.run.ps1 defines a function script that's triggered according to the configuration in function.json.

using namespace System.Net

# Input bindings are passed in via param block.
param($Request, $TriggerMetadata)

# Write to the Azure Functions log stream.
Write-Host "PowerShell HTTP trigger function processed a request."

# Interact with query parameters or the body of the request.
$name = $Request.Query.Name
if (-not $name) {
    $name = $Request.Body.Name
}

$body = "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response."

if ($name) {
    $body = "Hello, $name. This HTTP triggered function executed successfully."
}

# Associate values to output bindings by calling 'Push-OutputBinding'.
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
    StatusCode = [HttpStatusCode]::OK
    Body = $body
})

Bir HTTP tetikleyicisi için, $Request işlev, function.json'datanımlanan param'a geçirilen istek verilerini alır.For an HTTP trigger, the function receives request data passed to the $Request param defined in function.json. function.jsonolarak Response tanımlanan return object, yanıt Push-OutputBinding olarak cmdlet'e geçirilir.The return object, defined as Response in function.json, is passed to the Push-OutputBinding cmdlet as the response.

function.jsonfunction.json

function.json, tetikleyici türü de dahil olmak bindings üzere işlevin giriş ve çıktısını tanımlayan bir yapılandırma dosyasıdır.function.json is a configuration file that defines the input and output bindings for the function, including the trigger type.

İsterseniz scriptFile farklı bir Python dosyasını çağırmak için değiştirebilirsiniz.You can change scriptFile to invoke a different Python file if desired.

{
   "scriptFile": "__init__.py",
   "bindings": [
       {
           "authLevel": "function",
           "type": "httpTrigger",
           "direction": "in",
           "name": "req",
           "methods": [
               "get",
               "post"
           ]
       },
       {
           "type": "http",
           "direction": "out",
           "name": "$return"
       }
   ]
}
{
   "bindings": [
       {
           "authLevel": "function",
           "type": "httpTrigger",
           "direction": "in",
           "name": "req",
           "methods": [
               "get",
               "post"
           ]
       },
       {
           "type": "http",
           "direction": "out",
           "name": "res"
       }
   ]
}
{
 "bindings": [
   {
     "authLevel": "function",
     "type": "httpTrigger",
     "direction": "in",
     "name": "Request",
     "methods": [
       "get",
       "post"
     ]
   },
   {
     "type": "http",
     "direction": "out",
     "name": "Response"
   }
 ]
}

Her bağlama bir yön, bir tür ve benzersiz bir ad gerektirir.Each binding requires a direction, a type, and a unique name. HTTP tetikleyici türü httpTrigger httpve çıkış türü bağlayıcı bir giriş bağlama vardır.The HTTP trigger has an input binding of type httpTrigger and output binding of type http.

İşlevi yerel olarak çalıştırmaRun the function locally

Yerel İşlevProj klasöründen yerel Azure İşlevleri çalışma zamanı ana bilgisayarını başlatarak işlevinizi çalıştırın:Run your function by starting the local Azure Functions runtime host from the LocalFunctionProj folder:

func start
npm install
npm start

Çıktının sonuna doğru aşağıdaki satırlar görünmelidir:Toward the end of the output, the following lines should appear:

...

Now listening on: http://0.0.0.0:7071
Application started. Press Ctrl+C to shut down.

Http Functions:

        HttpExample: [GET,POST] http://localhost:7071/api/HttpExample
...

Not

HttpExample aşağıda gösterildiği gibi görünmüyorsa, büyük olasılıkla ana bilgisayarı HttpExample klasöründen başlattınız.If HttpExample doesn't appear as shown below, you likely started the host from within the HttpExample folder. Bu durumda, ana bilgisayarı durdurmak, üst LocalFunctionProj klasörüne gitmek ve önceki komutu yeniden çalıştırmak için Ctrl+C'yi kullanın.In that case, use Ctrl+C to stop the host, navigate to the parent LocalFunctionProj folder, and run the previous command again.

İşlevinizin HttpExample URL'sini bu çıktıdan bir tarayıcıya ?name=<your-name>kopyalayın ve http://localhost:7071/api/HttpExample?name=Functionssorgu dizesini ekleyin ve tam URL'yi .' yi .Copy the URL of your HttpExample function from this output to a browser and append the query string ?name=<your-name>, making the full URL like http://localhost:7071/api/HttpExample?name=Functions. Tarayıcı gibi Hello Functionsbir mesaj görüntülemeli:The browser should display a message like Hello Functions:

Tarayıcıda yerel olarak çalışan işlevin sonucu

Çalıştırdığınız func start terminal, istekte bulunduğunda günlük çıktısını da gösterir.The terminal in which you ran func start also shows log output as you make requests.

Hazır olduğunuzda Ctrl+C kullanın ve y işlevleri niçin ana bilgisayara durdurmayı seçin.When you're ready, use Ctrl+C and choose y to stop the functions host.

İşleviniz için destekleyici Azure kaynakları oluşturunCreate supporting Azure resources for your function

İşlev kodunuzu Azure'a dağıtmadan önce üç kaynak oluşturmanız gerekir:Before you can deploy your function code to Azure, you need to create three resources:

  • İlgili kaynaklar için mantıksal bir kapsayıcı olan kaynak grubu.A resource group, which is a logical container for related resources.
  • Projelerinizle ilgili durumu ve diğer bilgileri koruyan bir Depolama hesabı.A Storage account, which maintains state and other information about your projects.
  • İşlev kodunuzu yürütmek için ortam sağlayan bir işlev uygulaması.A function app, which provides the environment for executing your function code. İşlev uygulaması yerel işlev projenizi eşler ve daha kolay yönetim, dağıtım ve kaynakların paylaşımı için işlevleri mantıksal bir birim olarak gruplandırmanızı sağlar.A function app maps to your local function project and lets you group functions as a logical unit for easier management, deployment, and sharing of resources.

Bu öğeleri oluşturmak için aşağıdaki Azure CLI komutlarını kullanın.Use the following Azure CLI commands to create these items. Her komut tamamlandıktan sonra JSON çıkışı sağlar.Each command provides JSON output upon completion.

  1. Bunu daha önce yapmadıysanız, az giriş komutuyla Azure'da oturum açın:If you haven't done so already, sign in to Azure with the az login command:

    az login
    
  2. az group create komutuyla bir kaynak grubu oluşturun.Create a resource group with the az group create command. Aşağıdaki örnek, AzureFunctionsQuickstart-rg westeurope bölgede adlı bir kaynak grubu oluşturur.The following example creates a resource group named AzureFunctionsQuickstart-rg in the westeurope region. (Genellikle az account list-locations kaynak grubunuzu ve kaynaklarınızı komuttan kullanılabilir bir bölgeyi kullanarak yakınınızdaki bir bölgede oluşturursunuz.)(You generally create your resource group and resources in a region near you, using an available region from the az account list-locations command.)

    az group create --name AzureFunctionsQuickstart-rg --location westeurope
    

    Not

    Linux ve Windows uygulamalarını aynı kaynak grubunda barındıramaz.You can't host Linux and Windows apps in the same resource group. Windows işlev uygulaması uygulaması AzureFunctionsQuickstart-rg veya web uygulamasıyla birlikte adında varolan bir kaynak grubunuz varsa, farklı bir kaynak grubu kullanmanız gerekir.If you have an existing resource group named AzureFunctionsQuickstart-rg with a Windows function app or web app, you must use a different resource group.

  3. Az depolama hesabı oluşturma komutunu kullanarak kaynak grubunuzda ve bölgenizde genel amaçlı bir depolama hesabı oluşturun.Create a general-purpose storage account in your resource group and region by using the az storage account create command. Aşağıdaki örnekte, <STORAGE_NAME> size uygun genel olarak benzersiz bir ad la değiştirin.In the following example, replace <STORAGE_NAME> with a globally unique name appropriate to you. Adlar yalnızca üç ila 24 karakter lisi ve küçük harf içermelidir.Names must contain three to 24 characters numbers and lowercase letters only. Standard_LRSfonksiyonlar tarafından desteklenengenel amaçlı bir hesap belirtir.Standard_LRS specifies a general-purpose account, which is supported by Functions.

    az storage account create --name <STORAGE_NAME> --location westeurope --resource-group AzureFunctionsQuickstart-rg --sku Standard_LRS
    

    Depolama hesabı bu hızlı başlangıç için yalnızca birkaç sent (USD) alır.The storage account incurs only a few cents (USD) for this quickstart.

  4. az functionapp create komutunu kullanarak fonksiyon uygulamasını oluşturun.Create the function app using the az functionapp create command. Aşağıdaki örnekte, <STORAGE_NAME> önceki adımda kullandığınız hesabın adını değiştirin ve <APP_NAME> size uygun genel olarak benzersiz bir adla değiştirin.In the following example, replace <STORAGE_NAME> with the name of the account you used in the previous step, and replace <APP_NAME> with a globally unique name appropriate to you. <APP_NAME> aynı zamanda işlev uygulamasının varsayılan DNS etki alanıdır.The <APP_NAME> is also the default DNS domain for the function app.

    Python 3.8 kullanıyorsanız, --runtime-version 3.8 değiştirin --functions_version 3ve ' aIf you are using Python 3.8, change --runtime-version to 3.8 and --functions_version to 3.

    Python 3.6 kullanıyorsanız, --runtime-version 'ye 3.6değiştirin.If you are using Python 3.6, change --runtime-version to 3.6.

    az functionapp create --resource-group AzureFunctionsQuickstart-rg --os-type Linux --consumption-plan-location westeurope --runtime python --runtime-version 3.7 --functions-version 2 --name <APP_NAME> --storage-account <STORAGE_NAME>
    

    Düğüm.js 8 kullanıyorsanız, aynı --runtime-version zamanda 8değiştirin.If you are using Node.js 8, also change --runtime-version to 8.

    az functionapp create --resource-group AzureFunctionsQuickstart-rg --consumption-plan-location westeurope --runtime node --runtime-version 10 --functions-version 2 --name <APP_NAME> --storage-account <STORAGE_NAME>
    
    az functionapp create --resource-group AzureFunctionsQuickstart-rg --consumption-plan-location westeurope --runtime dotnet --functions-version 2 --name <APP_NAME> --storage-account <STORAGE_NAME>
    
    az functionapp create --resource-group AzureFunctionsQuickstart-rg --consumption-plan-location westeurope --runtime powershell --functions-version 2 --name <APP_NAME> --storage-account <STORAGE_NAME>
    

    Bu komut, azure işlevleri tüketim planıaltında belirtilen dilde çalışma zamanında çalışan bir işlev uygulaması oluşturur ve burada maruz kaldığınız kullanım miktarı için ücretsizdir.This command creates a function app running in your specified language runtime under the Azure Functions Consumption Plan, which is free for the amount of usage you incur here. Komut ayrıca, işlev uygulamanızı izleyip günlüklerinizi görüntüleyebileceğiniz ilişkili bir Azure Uygulama Öngörüleri örneğini de aynı kaynak grubunda karşılar.The command also provisions an associated Azure Application Insights instance in the same resource group, with which you can monitor your function app and view logs. Daha fazla bilgi için bkz.For more information, see Monitor Azure Functions. Örneği etkinleştirene kadar hiçbir ücret etüt etmez.The instance incurs no costs until you activate it.

İşlev projesini Azure'a dağıtmaDeploy the function project to Azure

Projenizi Azure'a dağıtmak için Temel Araçlar'ı kullanmadan önce, TypeScript kaynak dosyalarından üretime hazır bir JavaScript dosyaları oluşturursunuz.Before you use Core Tools to deploy your project to Azure, you create a production-ready build of JavaScript files from the TypeScript source files.

Aşağıdaki komut TypeScript projenizi dağıtıma hazırlar:The following command prepares your TypeScript project for deployment:

npm run build:production 

Gerekli kaynaklar yerindeyken, func azure functionapp publish komutunu kullanarak yerel işlevler projenizi Azure'daki işlev uygulamasına dağıtmaya hazırsınız.With the necessary resources in place, you're now ready to deploy your local functions project to the function app in Azure by using the func azure functionapp publish command. Aşağıdaki örnekte, <APP_NAME> uygulamanızın adını değiştirin.In the following example, replace <APP_NAME> with the name of your app.

func azure functionapp publish <APP_NAME>

Hatayı görürseniz, "Adı olan uygulamayı bulamıyorum...", birkaç saniye bekleyin ve Azure önceki az functionapp create komuttan sonra uygulamayı tam olarak başlatmamış olabileceğinden, yeniden deneyin.If you see the error, "Can't find app with name ...", wait a few seconds and try again, as Azure may not have fully initialized the app after the previous az functionapp create command.

Yayımlama komutu aşağıdaki çıktıya benzer sonuçları gösterir (basitlik için kesilen):The publish command shows results similar to the following output (truncated for simplicity):

...

Getting site publishing info...
Creating archive for current directory...
Performing remote build for functions project.

...

Deployment successful.
Remote build succeeded!
Syncing triggers...
Functions in msdocs-azurefunctions-qs:
    HttpExample - [httpTrigger]
        Invoke url: https://msdocs-azurefunctions-qs.azurewebsites.net/api/httpexample?code=KYHrydo4GFe9y0000000qRgRJ8NdLFKpkakGJQfC3izYVidzzDN4gQ==

Azure'da işlevi çağırmaInvoke the function on Azure

Işleviniz bir HTTP tetikleyicisi kullandığından, tarayıcıdaki URL'sine veya kıvrılma gibi bir araçla BIR HTTP isteği nde bulunarak bu tetikleyiciyi çağırırsınız.Because your function uses an HTTP trigger, you invoke it by making an HTTP request to its URL in the browser or with a tool like curl. Her iki durumda code da, URL parametresi, işlev bitiş noktanızın çağrılması için yetki veren benzersiz işlev anahtarınızdır.In both instances, the code URL parameter is your unique function key that authorizes the invocation of your function endpoint.

Yayımlama komutunun çıktısında gösterilen invoke URL'sinin tamamını bir tarayıcı adresi &name=Functionsçubuğuna kopyalayın ve sorgu parametresini ekler.Copy the complete Invoke URL shown in the output of the publish command into a browser address bar, appending the query parameter &name=Functions. Tarayıcı, işlevi yerel olarak çalıştırdığınızda olduğu gibi benzer çıktıları görüntülemelidir.The browser should display similar output as when you ran the function locally.

İşlevin çıktısı bir tarayıcıda Azure'da çalışır

İpucu

Yayınlanan bir işlev uygulaması için neredeyse gerçek zamanlı günlükleri görüntülemek için Application Insights Live Metrics Stream'ikullanın.To view near real-time logs for a published function app, use the Application Insights Live Metrics Stream.

Kaynakları temizlemeClean up resources

Bir sonraki adıma devam ederseniz, Azure Depolama sıra çıktısı bağlama ekleyin,daha önce yaptıklarınızı geliştireceğiniz gibi tüm kaynaklarınızı yerinde tutun.If you continue to the next step, Add an Azure Storage queue output binding, keep all your resources in place as you'll build on what you've already done.

Aksi takdirde, kaynak grubunu ve içerdiği tüm kaynakları silmek için aşağıdaki komutu kullanın.Otherwise, use the following command to delete the resource group and all its contained resources to avoid incurring further costs.

az group delete --name AzureFunctionsQuickstart-rg

Sonraki adımlarNext steps