Azure Işlevleri Tetikleyicileri ve bağlamaları kavramlarıAzure Functions triggers and bindings concepts

Bu makalede, işlev Tetikleyicileri ve bağlamaları çevreleyen üst düzey kavramlar öğrenirsiniz.In this article you learn the high-level concepts surrounding functions triggers and bindings.

Tetikleyiciler, bir işlevin çalışmasına neden olur.Triggers are what cause a function to run. Bir tetikleyici, bir işlevin nasıl çağrılacağını ve bir işlevin tam olarak bir tetikleyicisine sahip olması gerektiğini tanımlar.A trigger defines how a function is invoked and a function must have exactly one trigger. Tetikleyiciler, genellikle işlevin yükü olarak belirtilen ilişkili verilere sahiptir.Triggers have associated data, which is often provided as the payload of the function.

İşleve bağlama, başka bir kaynağı işleve bildirimli olarak bağlama yöntemidir; bağlamalar, Giriş bağlamaları, Çıkış bağlamalarıveya her ikisi için de bağlanabilir.Binding to a function is a way of declaratively connecting another resource to the function; bindings may be connected as input bindings, output bindings, or both. Bağlamalardan alınan veriler işleve parametre olarak sağlanır.Data from bindings is provided to the function as parameters.

Farklı bağlamaları, gereksinimlerinize uyacak şekilde karıştırabilir ve eşleştirebilirsiniz.You can mix and match different bindings to suit your needs. Bağlamalar isteğe bağlıdır ve bir işlevde bir veya daha fazla giriş ve/veya çıkış bağlaması olabilir.Bindings are optional and a function might have one or multiple input and/or output bindings.

Tetikleyiciler ve bağlamalar, diğer hizmetlere erişimi bir şekilde kodlamadan kaçınmanızı sağlar.Triggers and bindings let you avoid hardcoding access to other services. İşleviniz, işlev parametrelerinde verileri (örneğin, bir kuyruk iletisinin içeriği) alır.Your function receives data (for example, the content of a queue message) in function parameters. İşlevin dönüş değerini kullanarak verileri (örneğin, kuyruk iletisi oluşturmak için) gönderirsiniz.You send data (for example, to create a queue message) by using the return value of the function.

Farklı işlevleri nasıl uygulayabileceğinizi gösteren aşağıdaki örnekleri göz önünde bulundurun.Consider the following examples of how you could implement different functions.

Örnek senaryoExample scenario TetikleyiciTrigger Giriş bağlamaInput binding Çıkış bağlamaOutput binding
Başka bir kuyruğa yazmak için bir işlev çalıştıran yeni bir kuyruk iletisi ulaştı.A new queue message arrives which runs a function to write to another queue. Sıra*Queue* SeçimNone Sıra*Queue*
Zamanlanan bir iş BLOB depolama içeriğini okur ve yeni bir Cosmos DB belgesi oluşturur.A scheduled job reads Blob Storage contents and creates a new Cosmos DB document. ZamanlayıcıTimer Blob DepolamaBlob Storage Cosmos DBCosmos DB
Event Grid, blob depolamadan bir görüntüyü okumak için ve Cosmos DB bir e-posta göndermek için kullanılır.The Event Grid is used to read an image from Blob Storage and a document from Cosmos DB to send an email. Event GridEvent Grid BLOB depolama ve Cosmos DBBlob Storage and Cosmos DB SendGridSendGrid
Excel sayfasını güncelleştirmek için Microsoft Graph kullanan bir Web kancası.A webhook that uses Microsoft Graph to update an Excel sheet. HTTPHTTP SeçimNone Microsoft GraphMicrosoft Graph

* Farklı kuyrukları temsil eder* Represents different queues

Bu örneklerin kapsamlı olması amaçlıyordu, ancak Tetikleyicileri ve bağlamaları birlikte nasıl kullanabileceğinizi göstermek için sağlanmıştır.These examples are not meant to be exhaustive, but are provided to illustrate how you can use triggers and bindings together.

Tanımları tetikleme ve bağlamaTrigger and binding definitions

Tetikleyiciler ve bağlamalar, geliştirme yaklaşımına göre farklı şekilde tanımlanır.Triggers and bindings are defined differently depending on the development approach.

PlatformPlatform Tetikleyiciler ve bağlamalar tarafından yapılandırılır...Triggers and bindings are configured by...
C#sınıf kitaplığıC# class library      C# öznitelikleri ve parametreleri özniteliklerle dekoratlaştırıyor     decorating methods and parameters with C# attributes
Diğerlerinin tümü (Azure portal dahil)All others (including Azure portal)      güncelleştirme işlevi. JSON (şema)     updating function.json (schema)

Portal bu yapılandırma için bir kullanıcı arabirimi sağlar, ancak işlevinizin tümleştirin sekmesi aracılığıyla bulunan Gelişmiş düzenleyiciyi açarak dosyayı doğrudan düzenleyebilirsiniz.The portal provides a UI for this configuration, but you can edit the file directly by opening the Advanced editor available via the Integrate tab of your function.

.NET ' te, parametre türü giriş verileri için veri türünü tanımlar.In .NET, the parameter type defines the data type for input data. Örneğin, bir kuyruk tetikleyicisinin metnine bağlamak için string kullanın, ikili olarak okunacak bir bayt dizisi ve bir nesneye serbest bırakmak için özel bir tür.For instance, use string to bind to the text of a queue trigger, a byte array to read as binary and a custom type to de-serialize to an object.

JavaScript gibi dinamik olarak yazılan diller için, function. JSON dosyasındaki dataType özelliğini kullanın.For languages that are dynamically typed such as JavaScript, use the dataType property in the function.json file. Örneğin, bir HTTP isteğinin içeriğini ikili biçimde okumak için dataType binaryolarak ayarlayın:For example, to read the content of an HTTP request in binary format, set dataType to binary:

{
    "dataType": "binary",
    "type": "httpTrigger",
    "name": "req",
    "direction": "in"
}

dataType diğer seçenekler stream ve string.Other options for dataType are stream and string.

Bağlama yönüBinding direction

Tüm tetikleyiciler ve bağlamalar, function. JSON dosyasında bir direction özelliğine sahiptir:All triggers and bindings have a direction property in the function.json file:

  • Tetikleyiciler için, yön her zaman inFor triggers, the direction is always in
  • Giriş ve çıkış bağlamaları in ve out kullanırInput and output bindings use in and out
  • Bazı bağlamalar inoutözel bir yön destekler.Some bindings support a special direction inout. inoutkullanıyorsanız, portalda tümleştir sekmesi aracılığıyla yalnızca Gelişmiş Düzenleyici kullanılabilir.If you use inout, only the Advanced editor is available via the Integrate tab in the portal.

Tetikleyicileri ve bağlamaları yapılandırmak için bir sınıf kitaplığındaki öznitelikleri kullandığınızda, yön bir öznitelik oluşturucusunda sağlanır veya parametre türünden çıkartılan olur.When you use attributes in a class library to configure triggers and bindings, the direction is provided in an attribute constructor or inferred from the parameter type.

Desteklenen bağlamalarSupported bindings

Bu tabloda, Azure Işlevleri çalışma zamanının ana sürümlerinde desteklenen bağlamalar gösterilmektedir:This table shows the bindings that are supported in the major versions of the Azure Functions runtime:

TürType 'in1.x 2. x ve üzeri12.x and higher1 TetikleyiciTrigger GirdiInput ÇıktıOutput
Blob depolamaBlob storage
Cosmos DBCosmos DB
Event GridEvent Grid
Event HubsEvent Hubs
HTTP & Web kancalarıHTTP & webhooks
IoT Hub’ıIoT Hub
Microsoft Graph
Excel tabloları
Microsoft Graph
Excel tables
OneDrive dosyalarını
Microsoft Graph
Microsoft Graph
OneDrive files
Microsoft Graph
Outlook e-postası
Microsoft Graph
Outlook email
Microsoft Graph
olayları
Microsoft Graph
events
Microsoft Graph
kimlik doğrulama belirteçleri
Microsoft Graph
Auth tokens
Mobile AppsMobile Apps
Notification HubsNotification Hubs
Kuyruk depolamaQueue storage
SendGridSendGrid
Service BusService Bus
SignalRSignalR
Tablo depolamaTable storage
ZamanlayıcıTimer
TwilioTwilio

1 sürüm 2. x çalışma zamanı ile başlayarak, http ve Zamanlayıcı hariç tüm bağlamaların kayıtlı olması gerekir.1 Starting with the version 2.x runtime, all bindings except HTTP and Timer must be registered. Bkz. bağlama uzantılarını kaydetme.See Register binding extensions.

Önizleme aşamasında olan veya üretim kullanımı için onaylanan bağlamalar hakkında daha fazla bilgi için bkz. desteklenen diller.For information about which bindings are in preview or are approved for production use, see Supported languages.

KaynaklarResources

Sonraki adımlarNext steps