Visual Studio Code kullanarak Azure Functions'ı Azure Storage'a bağlamak

Azure Functions, kendi tümleştirme kodunuzu yazmak zorunda kalmadan Azure hizmetleri ve diğer kaynakları işlevlere bağlamanıza olanak tanır. Hem girişi hem de çıkışı temsil eden bu bağlamalar işlev tanımı içinde bildirilir. Bağlamalardan alınan veriler işleve parametre olarak sağlanır. Tetikleyici, özel bir giriş bağlama türüdür. Bir işlevin tek bir tetikleyicisi olsa da, birden çok giriş ve çıkış bağlaması olabilir. Daha fazla bilgi edinmek için bkz. Azure Functions tetikleyicileri ve bağlamaları kavramları.

Bu makalede, önceki hızlı başlangıç makalesinde oluşturduğunuz işleve Azure Storage bağlamak için Visual Studio Kodu kullanmayı öğreneceksiniz. Bu işleve eklediğiniz çıkış bağlaması, HTTP isteğinden Azure Queue storage kuyruğundaki bir iletiye veri yazar.

Çoğu bağlantı, İşlevler'in bağlı hizmete erişmek için kullandığı depolanmış bir bağlantı dizesi gerektirir. Bunu kolaylaştırmak için işlev uygulamanızla oluşturduğunuz storage hesabını kullanırsınız. Bu hesaba bağlantı, AzureWebJobsStorage adlı bir uygulama ayarında zaten depolanmış durumda.

Not

Bu makale şu anda İşlevler için Node.js v4'leri desteklemektedir.

Yerel ortamınızı yapılandırma

Başlamadan önce aşağıdaki gereksinimleri karşılamanız gerekir:

  • Visual Studio Code için Azure Storage uzantısını yükleyin.

  • Azure Storage Explorer yükleyin. Storage Explorer, çıkış bağlamanız tarafından oluşturulan kuyruk iletilerini incelemek için kullanacağınız bir araçtır. Storage Explorer macOS, Windows ve Linux tabanlı işletim sistemlerinde desteklenir.

  • Visual Studio Code kullanarak Azure'da işlev oluşturma 1. bölümdeki adımları tamamlayın.

Bu makalede, Visual Studio Code'dan Azure aboneliğinizde zaten oturum açtığınız varsayılır. Komut paletinden Azure: Sign In çalıştırarak oturum açabilirsiniz.

İşlev uygulaması ayarlarını indirme

Önceki hızlı başlangıç makalesinde gerekli depolama hesabıyla birlikte Azure'da bir işlev uygulaması oluşturdunuz. Bu hesabın connection string, Azure'daki uygulama ayarlarında güvenli bir şekilde depolanır. Bu makalede, iletileri aynı hesaptaki bir Storage kuyruğuna yazarsınız. İşlevi yerel olarak çalıştırırken storage hesabınıza bağlanmak için uygulama ayarlarını local.settings.json dosyasına indirmeniz gerekir.

  1. komut paletini açmak için F1 tuşlarına basın, ardından Azure Functions: Download Remote Settings... komutunu arayın ve çalıştırın.

  2. Önceki makalede oluşturduğunuz işlev uygulamasını seçin. Var olan yerel ayarların üzerine yazmak için Tümüne Evet'i seçin.

    Önemli

    local.settings.json dosyası gizli diziler içerdiğinden, hiçbir zaman yayımlanmaz ve kaynak denetiminden dışlanır.

  3. storage hesabı connection string değerinin anahtarı olan AzureWebJobsStorage değerini kopyalayın. Çıkış bağlamasının beklendiği gibi çalıştığını doğrulamak için bu bağlantıyı kullanırsınız.

Bağlama uzantılarını kaydetme

Kuyruk depolama çıkış bağlaması kullandığınız için, projeyi çalıştırmadan önce Storage bağlamaları uzantısının yüklü olması gerekir.

Projeniz, önceden tanımlanmış bir uzantı paketi kümesini otomatik olarak yükleyen extension bundles kullanacak şekilde yapılandırıldı.

Uzantı paketleri, project kökündeki host.json dosyasında zaten etkindir ve aşağıdaki örneğe benzer olmalıdır:

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[3.*, 4.0.0)"
  }
}

Artık depolama çıkış bağlamasını projenize ekleyebilirsiniz.

Projeniz, önceden tanımlı bir uzantı paketleri kümesini otomatik olarak yükleyen uzantı paketleri kullanacak şekilde yapılandırıldı.

Uzantı paketleri, project kökündeki host.json dosyasında zaten etkindir ve aşağıdaki örneğe benzer olmalıdır:

{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      }
    }
  },
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.*, 5.0.0)"
  }
}

Artık depolama çıkış bağlamasını projenize ekleyebilirsiniz.

HTTP ve zamanlayıcı tetikleyicileri dışında bağlamalar uzantı paketleri olarak uygulanır. Storage uzantı paketini project eklemek için Terminal penceresinde aşağıdaki dotnet add package komutunu çalıştırın.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues --prerelease

Artık projenize depolama çıkış bağlaması ekleyebilirsiniz.

Çıktı bağlaması ekleme

Azure Storage kuyruğuna yazmak için:

  • Bağlama yapılandırmasına extraOutputs özelliğini ekleyin

    {
        methods: ['GET', 'POST'],
        extraOutputs: [sendToQueue], // add output binding to HTTP trigger
        authLevel: 'function',
        handler: () => {}
    }
    
  • output.storageQueue çağrısından önce bir app.http fonksiyonu ekleyin

    const sendToQueue = output.storageQueue({
      queueName: 'outqueue',
      connection: 'AzureWebJobsStorage',
    });
    

Azure Storage kuyruğuna yazmak için:

  • Bağlama yapılandırmasına extraOutputs özelliğini ekleyin

    {
        methods: ['GET', 'POST'],
        extraOutputs: [sendToQueue], // add output binding to HTTP trigger
        authLevel: 'function',
        handler: () => {}
    }
    
  • output.storageQueue çağrısından önce bir app.http fonksiyonu ekleyin

    const sendToQueue: StorageQueueOutput = output.storageQueue({
      queueName: 'outqueue',
      connection: 'AzureWebJobsStorage',
    });
    

İşlevler'de, her bağlama türü için bir direction, typeve benzersiz namegerekir. Bu öznitelikleri tanımlama şekliniz, işlev uygulamanızın diline bağlıdır.

Bağlama öznitelikleri, belirli bir işlev için function.json dosyasında tanımlanır. Bağlama türüne bağlı olarak ek özellikler gerekebilir. queue çıktı yapılandırması Azure Storage kuyruk bağlaması için gereken alanları açıklar. Uzantı, function.json dosyasına bağlama eklemeyi kolaylaştırır.

Bağlama oluşturmak için HttpTrigger klasörünüzdeki dosyaya function.json sağ tıklayın (macOS'ta Ctrl tuşunu basılı tutarak tıklayın) ve Bağlama ekle...'yi seçin. Yeni bağlama için aşağıdaki bağlama özelliklerini tanımlamak için istemleri izleyin:

İstem Değer Açıklama
Bağlama yönünü seçin out Bağlama bir çıkış bağlamadır.
Yönü olan bağlamayı seçin... Azure Queue Storage Bağlayıcı, Azure Storage kuyruk bağlayıcısıdır.
Kodunuzda bu bağlamayı tanımlamak için kullanılan ad msg Kodunuzda başvuruda bulunılan bağlama parametresini tanımlayan ad.
İletinin gönderileceği kuyruk outqueue Bağlamanın yazdığı kuyruğun adı. queueName mevcut olmadığında bağlama ilk kullanımda oluşturur.
"local.setting.json" dosyasından ayarı seçin AzureWebJobsStorage Bağlantı dizesini içeren Storage hesabı için bir uygulama ayarının adı. AzureWebJobsStorage ayarı, işlev uygulamasıyla oluşturduğunuz Storage hesabının bağlantı dizesini içerir.

function.json dizinize bindingsaşağıdaki gibi görünecek bir bağlama eklenir:

      "name": "msg",
      "queueName": "outqueue",
      "connection": "AzureWebJobsStorage"
    }
  ]
}

Function_app.py dosyasındaki belirli işlev kodu, bağlama öznitelikleri tanımlanarak süslenir. queue_output eklemek için dekoratörü kullanırsınız.

queue_output dekoratörü kullanılarak bağlama yönü örtük olarak 'out' olur ve tür Azure Storage Queue olur. function_app.py'da işlev kodunuza aşağıdaki dekoratörü ekleyin:

@app.queue_output(arg_name="msg", queue_name="outqueue", connection="AzureWebJobsStorage")

Bu kodda, arg_name kodunuzda başvuruda bulunan bağlama parametresini tanımlar, queue_name bağlamanın yazdığı kuyruğun adıdır ve connection Storage hesabının connection string içeren bir uygulama ayarının adıdır. Hızlı başlangıçlarda, AzureWebJobsStorage ayarında yer alan işlev uygulamasıyla aynı storage hesabını kullanırsınız. queue_name olmadığında, bağlama ilk kullanımda onu oluşturur.

C# projelerinde bağlamalar, fonksiyon metodunda bağlama öznitelikleri olarak tanımlanır. Belirli tanımlar, uygulamanızın işlem içinde mi (C# sınıf kitaplığı) yoksa yalıtılmış bir çalışan işleminde mi çalıştığına bağlıdır.

HttpExample.cs project dosyasını açın ve aşağıdaki MultiResponse sınıfını ekleyin:

public class MultiResponse
{
    [QueueOutput("outqueue", Connection = "AzureWebJobsStorage")]
    public string[] Messages { get; set; }
    public IActionResult HttpResponse { get; set; }
}

MultiResponse sınıfı, outqueue adlı bir storage kuyruğuna ve bir HTTP başarı iletisi yazmanıza olanak tanır. Öznitelik bir dize dizisine uygulandığından kuyruğa QueueOutput birden çok ileti gönderilebilir.

Connection özelliği, depolama hesabı için bağlantı dizesini ayarlar. Bu durumda, varsayılan storage hesabını zaten kullandığınız için Connection atlayabilirsiniz.

Java projesinde bağlamalar, fonksiyon metodunda bağlama ek açıklamaları olarak tanımlamalar. function.json dosyası daha sonra bu ek açıklamalara göre otomatik olarak oluşturulur.

src/main/java altında işlev kodunuzun konumuna göz atın, Function.java project dosyasını açın ve run yöntem tanımına aşağıdaki parametreyi ekleyin:

@QueueOutput(name = "msg", queueName = "outqueue", 
connection = "AzureWebJobsStorage") OutputBinding<String> msg,

msg parametresi, işlev tamamlandığında çıkış bağlamasına ileti olarak yazılan dizelerin bir koleksiyonunu temsil eden bir OutputBinding<T> türüdür. Bu durumda çıkış, outqueue adlı bir depolama kuyruğudur. Storage hesabının bağlantı dizesi connection yöntemi ile ayarlanır. Doğrudan bağlantı dizesi yerine, Storage hesabının bağlantı dizesini içeren uygulama ayarını geçirirsiniz.

Yöntem run tanımı artık aşağıdaki örnekteki gibi görünmelidir:

@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) {

Çıkış bağlaması kullanan kod ekleme

Bağlama tanımlandıktan sonra, bağlamayı işlev imzasında öznitelik olarak erişmek için name kullanabilirsiniz. Çıkış bağlaması kullanarak kimlik doğrulaması, kuyruk başvurusu alma veya veri yazma için Azure Storage SDK kodunu kullanmanız gerekmez. Fonksiyonlar çalışma zamanı ve kuyruk çıkış bağlaması bu görevleri sizin için yerine getirir.

Kuyruk iletisi oluşturmak için çıkış context.extraOutputs bağlama nesnesini kullanan kodu ekleyin. Bu kodu return deyiminden önce ekleyin.

context.extraOutputs.set(sendToQueue, [msg]);

Bu noktada işleviniz aşağıdaki gibi görünebilir:

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' };
    }
  },
});

Kuyruk iletisi oluşturmak için çıkış context.extraOutputs bağlama nesnesini kullanan kodu ekleyin. Bu kodu return deyiminden önce ekleyin.

context.extraOutputs.set(sendToQueue, [msg]);

Bu noktada işleviniz aşağıdaki gibi görünebilir:

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,
});

Push-OutputBinding cmdlet'ini kullanarak metni kuyruğa yazmak için msg çıktı bağlantısını kullanan kod ekleyin. if ifadesinde "Tamam" durumunu ayarlamadan önce bu kodu ekleyin.

$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg

Bu noktada işlevinizin aşağıdaki gibi görünmesi gerekir:

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
}

if ($name) {
    # Write the $name value to the queue, 
    # which is the name passed to the function.
    $outputMsg = $name
    Push-OutputBinding -name msg -Value $outputMsg

    $status = [HttpStatusCode]::OK
    $body = "Hello $name"
}
else {
    $status = [HttpStatusCode]::BadRequest
    $body = "Please pass a name on the query string or in the request body."
}

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

HttpExample\function_app.py öğesini aşağıdaki kodla eşleşecek şekilde güncelleştirin, parametresini işlev tanımına ve msg deyiminin msg.set(name) altına ekleyinif name::

import azure.functions as func
import logging

app = func.FunctionApp(http_auth_level=func.AuthLevel.ANONYMOUS)

@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.')

    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:
        msg.set(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
        )

msg parametresi, azure.functions.Out class örneğidir. set yöntemi kuyruğa bir dize iletisi yazar. Bu durumda, URL sorgu dizesindeki name, işleve geçirilir.

Mevcut Run yöntemi aşağıdaki kodla değiştirin:

[Function("HttpExample")]
public MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req)
{
    _logger.LogInformation("C# HTTP trigger function processed a request.");

    var message = "Welcome to Azure Functions!";

    // Return a response to both HTTP trigger and storage output binding.
    return new MultiResponse()
    {
        // Write a single message.
        Messages = new string[] { message },
        HttpResponse = new OkObjectResult(message)
    };
}

Artık işlev kodunuzdan çıkış bağlamasına yazmak için yeni msg parametresini kullanabilirsiniz. Başarı yanıtından önce name değerini msg çıkış bağlamasına eklemek için aşağıdaki kod satırını ekleyin.

msg.setValue(name);

Çıkış bağlaması kullandığınızda kimlik doğrulaması, kuyruk başvurusu alma veya veri yazma için Azure Storage SDK kodunu kullanmanız gerekmez. Fonksiyonlar çalışma zamanı ve kuyruk çıkış bağlaması bu görevleri sizin için yerine getirir.

Yönteminiz run şimdi aşağıdaki örnekteki gibi görünmelidir:

@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) {
    context.getLogger().info("Java HTTP trigger processed a request.");

    // Parse query parameter
    String query = request.getQueryParameters().get("name");
    String name = request.getBody().orElse(query);

    if (name == null) {
        return request.createResponseBuilder(HttpStatus.BAD_REQUEST)
        .body("Please pass a name on the query string or in the request body").build();
    } else {
        // Write the name to the message queue. 
        msg.setValue(name);

        return request.createResponseBuilder(HttpStatus.OK).body("Hello, " + name).build();
    }
}

Testleri güncelleştirme

Arketip bir dizi test de oluşturduğundan, yöntem imzasında msg yeni run parametreyi işlemek için bu testleri güncelleştirmeniz gerekir.

src/test/java altında test kodunuzun konumuna göz atın, Function.java project dosyasını açın ve //Invoke altındaki kod satırını aşağıdaki kodla değiştirin.

@SuppressWarnings("unchecked")
final OutputBinding<String> msg = (OutputBinding<String>)mock(OutputBinding.class);
final HttpResponseMessage ret = new Function().run(req, msg, context);

İşlevi yerel olarak çalıştırma

Visual Studio Code, Azure Functions Core araçları ile tümleştirerek bu project Azure yayımlamadan önce yerel geliştirme bilgisayarınızda çalıştırmanıza olanak sağlar. Yerel olarak Çekirdek Araçlar yüklü değilse, projenizi ilk kez çalıştırdığınızda yüklemeniz istenecektir.

  1. İşlevinizi çağırmak için F5 tuşuna basarak işlev uygulaması projesini başlatın. Terminal panelinde Core Tools'un çıkışı görüntülenir. Uygulamanız Terminal panelinde başlar. HTTP ile tetiklenen işlevinizin URL uç noktasının yerel olarak çalıştığını görebilirsiniz.

    Yerel işlevin Visual Studio Code çıktısının ekran görüntüsü.

    Eğer Core Tools henüz yüklü değilse, yükleme istendiğinde Install seçeneğini tıklayarak Core Tools'u yükleyin.
    Windows'da çalışırken sorun yaşıyorsanız, Visual Studio Code için varsayılan terminalin WSL Bash olarak ayarlı olmadığından emin olun.

  2. Çekirdek Araçları çalışırken Azure: İşlevler alanına gidin. Functions altında Local Project>Functions genişletin. (Windows) veya Ctrl tuşuna sağ tıklayın - İşleve HttpExample (macOS) tıklayın ve İşlevi Şimdi Yürüt...'i seçin.

    Execute işlevinin Visual Studio Code'daki ekran görüntüsü.

  3. enter isteği gövdesinde Enter tuşuna basarak işlevinize istek iletisi gönderin.

  4. İşlev yerel olarak yürütür ve bir yanıt döndürürse, Visual Studio Code'da bir bildirim oluşturulur. İşlev yürütme hakkındaki bilgiler Terminal panelinde gösterilir.

  5. Çekirdek Araçları'nı durdurmak ve hata ayıklayıcının bağlantısını kesmek için Ctrl + C tuşlarına basın.

İşlevi yerel olarak çalıştırma

  1. Son makalede olduğu gibi, F5 tuşuna basarak işlev uygulama projesini ve Core Tools'u başlatın.

  2. Çekirdek Araçları çalışırken Azure: İşlevler alanına gidin. Functions altında Local Project>Functions genişletin. İşleve sağ tıklayın (Mac'e Ctrl tuşunu basılı tutarak HttpExample tıklayın) ve İşlevi Şimdi Yürüt...'i seçin.

    Visual Studio Code'den bir işlevi çalıştırma ekran görüntüsü.

  3. Enter istek gövdesinde{ "name": "Azure" } istek iletisi gövdesi değerini görürsünüz. Bu istek iletisini işlevinize göndermek için Enter tuşuna basın.

  4. Yanıt döndürüldükten sonra Çekirdek Araçları'nı durdurmak için Ctrl + C tuşlarına basın.

storage connection string kullandığınızdan, işleviniz yerel olarak çalışırken Azure storage hesabına bağlanır. Functions çalışma zamanı tarafından, çıkış bağı ilk kez kullanıldığında depolama hesabınızda outqueue adlı yeni bir kuyruk oluşturulur. Kuyruğun yeni iletiyle birlikte oluşturulduğunu doğrulamak için Storage Explorer kullanacaksınız.

Storage Explorer hesabınıza bağlama

Azure Storage Explorer zaten yüklediyseniz ve Azure hesabınıza bağladıysanız bu bölümü atlayın.

  1. Azure Storage Explorer aracını çalıştırın, soldaki bağlan simgesini seçin ve Hesap ekle öğesini seçin.

    Microsoft Azure Storage Explorer'a Azure hesabı ekleme ekran görüntüsü.

  2. Connect iletişim kutusunda Azure hesabı ekle'i seçin, Azure ortamınızı seçin ve ardından Sign in... öğesini seçin. .

     Azure hesap pencerenizde oturum açma ekran görüntüsü.

Hesabınızda başarıyla oturum açtığınızda hesabınızla ilişkili tüm Azure aboneliklerini görürsünüz. Aboneliğinizi seçin ve Gezgini Aç'ı seçin.

Çıkış kuyruğunu inceleme

  1. Visual Studio Code'da F1 tuşlarına basarak komut paletini açın, ardından Azure Storage: Open in Storage Explorer komutunu arayıp çalıştırın ve storage hesap adınızı seçin. Storage hesabınız Azure Storage Explorer'da açılır.

  2. Kuyruklar düğümünü genişletin ve sonra outqueue adlı kuyruğu seçin.

    Kuyruk, HTTP ile tetiklenen işlevi çalıştırdığınızda kuyruk çıkış bağlamasının oluşturduğu iletiyi içerir. İşlevi varsayılan name değeri Azure ile çağırdıysanız, kuyruk iletisi Name işlevine geçirilir: Azure.

    Azure Storage Explorer'da gösterilen kuyruk iletisinin ekran görüntüsü.

  3. İşlevi yeniden çalıştırın, başka bir istek gönderin ve kuyrukta yeni bir ileti görürsünüz.

Şimdi güncelleştirilmiş işlev uygulamasını Azure için yeniden yayımlamanın zamanı geldi.

Güncelleştirilmiş uygulamayı yeniden dağıtma ve doğrulama

  1. Visual Studio Code'da F1 tuşlarına basarak komut paletini açın. Komut paletinde Azure Functions: Deploy to function app... için arama yapın ve seçin.

  2. İlk makalede oluşturduğunuz işlev uygulamasını seçin. Projeyi aynı uygulamaya yeniden dağıttığınızdan, dosyaların üzerine yazma uyarısını kapatmak için Deploy seçeneğini seçin.

  3. Dağıtım tamamlandıktan sonra Azure'da işlevi tetiklemek için tekrar Şimdi İşlevi Çalıştır... özelliğini kullanabilirsiniz. Bu komut işlev access anahtarını otomatik olarak alır ve HTTP tetikleyici uç noktasını çağırırken bunu kullanır.

  4. Yine storage kuyruğundaki iletiyi inceleyin çıkış bağlamasının kuyrukta yeni bir ileti oluşturduğunu doğrulayın.

Kaynakları temizleme

Azure'da kaynaklar, işlev uygulamaları, işlevler, depolama hesapları ve benzeri öğeleri ifade eder. Bunlar kaynak grupları halinde gruplandırılır ve grubu silerek gruptaki her şeyi silebilirsiniz.

Bu hızlı başlangıçları tamamlamak için kaynaklar oluşturdunuz. Hesap durumunuz ve hizmet fiyatlandırması bağlı olarak bu kaynaklar için faturalandırılabilirsiniz. Kaynaklara artık ihtiyacınız yoksa, şunları yaparak silebilirsiniz:

  1. Visual Studio Code'da F1 tuşlarına basarak komut paletini açın. Komut paletinde Azure: Open in portal için arama yapın ve seçin.

  2. İşlev uygulamanızı seçin ve Enter tuşuna basın. İşlev uygulaması sayfası Azure Portalı'nda açılır.

  3. Genel Bakış sekmesinde Kaynak grubunun yanındaki adlandırılmış bağlantıyı seçin.

    İşlev uygulaması sayfasından silinecek kaynak grubunu seçme işleminin ekran görüntüsü.

  4. Kaynak grubu sayfasında, dahil edilen kaynakların listesini gözden geçirin ve bunların silmek istediğiniz kaynaklar olduğunu doğrulayın.

  5. Kaynak grubunu sil’i seçin ve yönergeleri izleyin.

    Silme işlemi birkaç dakika sürebilir. İşlem tamamlandığında, birkaç saniye boyunca bir bildirim görüntülenir. Bildirimi görüntülemek için sayfanın üst kısmındaki zil simgesini de seçebilirsiniz.

Sonraki adımlar

HTTP ile tetiklenen işlevinizi bir Storage kuyruğuna veri yazacak şekilde güncelleştirdiniz. Artık Visual Studio Code kullanarak İşlev geliştirme hakkında daha fazla bilgi edinebilirsiniz: