Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Important
Azure İşlevleri runtime'ın 1.x sürümü için destek 14 Eylül 2026'da sona erdi. Tam destek için uygulamalarınızı sürüm 4.x'e geçirin.
Bu makale, önemli tarihsel bilgileri korur ve hala runtime 1.x kullanan fonksiyon uygulamaları için ayrıntılı referanslara bağlantılar verir. Yeni fonksiyon uygulamaları için runtime 1.x kullanma.
Runtime 1.x kapsamı
Azure İşlevleri runtime 1.x 14 Eylül 2026'da desteği sona erdi ve yeni veya mevcut fonksiyon uygulamaları için desteklenmiyor. Çalışma süresi 1.x aşağıdaki özelliklere sahipti:
- Sadece Windows'ta çalışıyordu.
- .NET Framework ve JavaScript uygulamalarını hedef alan C# uygulamalarını destekliyordu.
- C# uygulamaları süreçte çalışıyordu. Runtime 1.x, izole işçi modelini desteklemiyordu.
- Yerel geliştirme için Azure İşlevleri Core Tools'un 1.x sürümünü kullandı. Core Tools 1.x sadece Windows'ta çalışıyor.
- Çalışma zamanı, desteklenen bağlamaları içeriyordu. Daha sonraki çalışma zamanı sürümleri ayrı sürümlü bağlama uzantıları veya uzantı paketleri kullanır.
Çalışma zamanı, uzantı ve programlama model sürümleri
Azure İşlevleri çalışma zamanı sürümü, bağlama uzantıları, uzantı paketleri veya dil programlama modelleri tarafından kullanılan sürümlerle aynı değildir. Başka bir bileşendeki sürüm etiketi, bir uygulamanın Azure İşlevleri runtime 1.x kullandığını göstermez. Örneğin:
- Python v1 ve v2 programlama modelleri runtime 4.x üzerinde çalışır.
- Node.js v3 ve v4 programlama modelleri runtime 4.x üzerinde çalışır.
- Extension bundle ve binding extension package sürümleri, çalışma zamanı sürümünden bağımsızdır.
Runtime 4.x'e geçiş
Bir uygulamayı tam destek seviyesine geri getirmek için onu runtime 1.x'ten runtime 4.x'e taşıyın. Göç rehberi şu görevleri kapsar:
- Çalışma zamanı 1.x hedefleyen uygulamaları belirleyin.
- C# veya JavaScript için desteklenen bir hedef seçin.
- Projeyi, bağlamaları, uygulama ayarlarını ve host.json dosyayı güncelleyin.
- Uygulamayı yerel olarak test edin ve fonksiyon uygulamasını Azure'da güncelleyin.
Sadece uygulama ayarlarını FUNCTIONS_EXTENSION_VERSION değiştirmeyin. Çalışma zamanında yükseltmeler proje, kod, bağlama ve yapılandırma değişiklikleri gerektirebilir.
Çalışma zamanına özgü uygulama ayarları 1.x
Kullanımdan kaldırılan AzureWebJobsDashboard ayar yalnızca 1.x çalışma zamanı tarafından desteklenmektedir. Logları depolamak ve Azure portalındaki Monitor sekmesinde görüntülemek için kullanılan isteğe bağlı bir genel amaçlı depolama hesabı bağlantı dizesi içerir.
| Key | Örnek değer |
|---|---|
AzureWebJobsDashboard |
DefaultEndpointsProtocol=https;AccountName=... |
Runtime 1.x uygulama ayarını AZURE_FUNCTIONS_ENVIRONMENT desteklemiyor.
Değer~1, FUNCTIONS_EXTENSION_VERSION bir fonksiyon uygulamasını 1.x çalışma zamanına sabitler. Dosya sistemi anahtar depolama (AzureWebJobsSecretStorageType=files) varsayılan olarak kullanılır.
Site functionsRuntimeAdminIsolationEnabled özelliği 1.x runtime sürümünde mevcut değil. Bu FUNCTIONS_V2_COMPATIBILITY_MODE ayar runtime 1.x uygulamalarına uygulanmıyor.
Project ve dil farklılıkları
Çalışma zamanı 1.x C# sınıf kütüphane projeleri .NET Framework'ü hedef aldı ve paketin Microsoft.NET.Sdk.Functions 1.x sürümünü kullandı. Onları kereste için kullanabilirler TraceWriter . Mevcut C# proje modeli ve göç konuları için .NET sınıf kütüphane geliştirici rehberine ve çalışma zamanı 1.x göç rehberine bakınız.
C# sınıfı kütüphane projeleri
Aşağıdaki örnek, bir çalışma zamanı 1.x proje dosyasının ilgili bölümlerini gösterir:
<PropertyGroup>
<TargetFramework>net48</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.24" />
</ItemGroup>
Paket Microsoft.NET.Sdk.Functions bağımlılıkları tetikleyiciler ve bağlamaları içerir. 1.x projesi, .NET Framework'ü hedef aldığı için 1.x tetikleyicileri ve bağlamaları ifade eder. Paket ayrıca dolaylı WindowsAzure.Storageolarak da Newtonsoft.Json asılıdır. Bu bağımlılıklar, projenin hedeflenen Fonksiyonlar çalışma zamanıyla uyumlu sürümleri kullanmasını sağlar. Örneğin, .NET Framework 4.6.1'i hedef alan Functions çalışma zamanı, sürüm 11 ile değil, 9.0.1 ile uyumludurNewtonsoft.Json.
Application Insights loging için kullanılan Runtime 1.x TraceWriter .
TraceWriter Yapılandırılmış loglamayı desteklemiyor.
Aşağıdaki örnek a TelemetryClient oluşturur ve TrackEvent, TrackMetric, TrackDependency ve ile özel telemetri kaydeder. Ayrıca, özel telemetri ile mevcut çağrıyı ilişkilendirmek için fonksiyon yürütme bağlamını kullanır.
Özel telemetri örneği
using System;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
using Microsoft.ApplicationInsights;
using Microsoft.ApplicationInsights.DataContracts;
using Microsoft.ApplicationInsights.Extensibility;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Extensions.Logging;
namespace functionapp0915
{
public static class HttpTrigger2
{
private static string key = TelemetryConfiguration.Active.InstrumentationKey =
Environment.GetEnvironmentVariable(
"APPINSIGHTS_INSTRUMENTATIONKEY", EnvironmentVariableTarget.Process);
private static TelemetryClient telemetryClient =
new TelemetryClient() { InstrumentationKey = key };
[FunctionName("HttpTrigger2")]
public static async Task<HttpResponseMessage> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]
HttpRequestMessage req, ExecutionContext context, ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
DateTime start = DateTime.UtcNow;
string name = req.GetQueryNameValuePairs()
.FirstOrDefault(q => string.Compare(q.Key, "name", true) == 0)
.Value;
dynamic data = await req.Content.ReadAsAsync<object>();
name = name ?? data?.name;
var evt = new EventTelemetry("Function called");
UpdateTelemetryContext(evt.Context, context, name);
telemetryClient.TrackEvent(evt);
var metric = new MetricTelemetry("Test Metric", DateTime.Now.Millisecond);
UpdateTelemetryContext(metric.Context, context, name);
telemetryClient.TrackMetric(metric);
var dependency = new DependencyTelemetry
{
Name = "GET api/planets/1/",
Target = "swapi.co",
Data = "https://swapi.co/api/planets/1/",
Timestamp = start,
Duration = DateTime.UtcNow - start,
Success = true
};
UpdateTelemetryContext(dependency.Context, context, name);
telemetryClient.TrackDependency(dependency);
}
private static void UpdateTelemetryContext(
TelemetryContext context,
ExecutionContext functionContext,
string userName)
{
context.Operation.Id = functionContext.InvocationId.ToString();
context.Operation.ParentId = functionContext.InvocationId.ToString();
context.Operation.Name = functionContext.FunctionName;
context.User.Id = userName;
}
}
}
Runtime 1.x ayrıca C# script (.csx) ve JavaScript fonksiyonlarını da destekliyordu. C# scripti sadece runtime 1.x için değildir, bu yüzden genel script rehberliği için C# script geliştirici referansını kullanın. Çalışma zamanına özgü değişiklikler için göç kılavuzunu kullanın.
Önceki C# sözdizimi örnekleri için runtime 1.x fonksiyon şablonlarına bakınız.
C# script montajları ve paketleri
Çalışma zamanı 1.x C# script fonksiyonlarında, aşağıdaki assembler'lere basit isimle referans verebilirsiniz:
Newtonsoft.JsonMicrosoft.WindowsAzure.StorageMicrosoft.ServiceBusMicrosoft.AspNet.WebHooks.ReceiversMicrosoft.AspNet.WebHooks.Common
Çalışma zamanı 1.x, bağımlılıkları tanımlamak içinproject.json dosyası kullanıyordu. Aşağıdaki örnek NuGet paketini Microsoft.ProjectOxford.Face ekler:
{
"frameworks": {
"net46": {
"dependencies": {
"Microsoft.ProjectOxford.Face": "1.1.0"
}
}
}
}
Uzantı paketleri runtime 1.x tarafından desteklenmiyor. Özel bir NuGet beslemesi kullanmak için, bu beslemeyi fonksiyon uygulamasının kök klasöründeki NuGet.Config dosyasında belirtin. Daha fazla bilgi için bkz . NuGet davranışını yapılandırma.
Core Tools 1.x ile yerel geliştirme
Azure İşlevleri Core Tools'un 1.x sürümü, runtime 1.x ile eşleştirilmiş ve yalnızca Windows'ta çalışır. Çalışma süresini başlatmak için koştunuz func host start. Güncel yerel geliştirme rehberliği için Core Tools kullanarak yerel olarak Azure İşlevleri'i geliştir sayfasına bakınız.
Visual Studio, 1.x Core Tools %USERPROFILE%\AppData\Local\Azure.Functions.Cli sürümlerini çalıştırıyor ve orada saklanan en son sürümü kullanıyordu. Projeyi çalıştırırken konsol çıktısında seçilen sürümü görebilirsiniz:
[3/1/2018 9:59:53 AM] Starting Host (HostId=contoso2-1518597420, Version=2.0.11353.0, ProcessId=22020, Debug=False, Attempt=0, FunctionsExtensionVersion=)
Runtime 1.x host.json referansı
host.json şeması ve ayarlar runtime 1.x sonrası değişti. Mevcut bir yapılandırmayı incelerken çalışma zamanı 1.x host.json referansına bakın ve göç sırasında mevcut host.json referansıyla karşılaştırın.
Application Insights ile runtime 1.x uygulamalarını izleyin
Runtime 1.x, aşağıdaki Application Insights log kategorilerini kullanır:
| Kategori | Table | Description |
|---|---|---|
Function |
Izler | Kullanıcı tarafından oluşturulan günlükler, herhangi bir günlük düzeyi olabilir. |
Host.Aggregator |
customMetrics | Yapılandırılabilir bir dönem boyunca fonksiyon çağrılarının sayıları ve ortalamaları. Varsayılan süre 30 saniye veya 1.000 sonuç, hangisi önce gelirse. Bu günlükler Information seviyesinde yazılır. |
Host.Executor |
Izler | Fonksiyon başlatıldı ve tamamlanan günlükler. Başarılı çalışmalar Information, istisnalar , Errorve zehir-kuyruk mesajları Warninggibi koşullar kullanılır. |
Host.Results |
İstekler | Fonksiyon uygulamalarının başarısı veya başarısızlığı. Bu günlükler Information seviyesinde yazılır. |
Günlük düzeylerini yapılandırma
Runtime 1.x, log seviyelerini host.jsonaltında logger.categoryFilter yapılandırıyor:
{
"logger": {
"categoryFilter": {
"defaultLevel": "Warning",
"categoryLevels": {
"Host.Results": "Information",
"Host.Aggregator": "Trace",
"Function": "Information"
}
}
}
}
Birden fazla kategori adı aynı diziyle başladığında, daha spesifik kategori önce eşleştirilir. Aşağıdaki örnek, seviye dışında Host.AggregatorError her şeyi kaydeder:
{
"logger": {
"categoryFilter": {
"defaultLevel": "Information",
"categoryLevels": {
"Host": "Error",
"Function": "Error",
"Host.Aggregator": "Information"
}
}
}
}
Örneklemeyi yapılandırın
Varsayılan maksimum telemetri hızı saniyede beş öğedir. Çalışma zamanı 1.x, örnekleme altında applicationInsights.samplingyapılandırıyor:
{
"applicationInsights": {
"sampling": {
"isEnabled": true,
"maxTelemetryItemsPerSecond": 5
}
}
}
Aşağıdaki örnek, kategori filtreleme ve örneklemeyi birleştirir:
{
"logger": {
"categoryFilter": {
"defaultLevel": "Warning",
"categoryLevels": {
"Function": "Error",
"Host.Aggregator": "Error",
"Host.Results": "Information",
"Host.Executor": "Warning"
}
}
},
"applicationInsights": {
"sampling": {
"isEnabled": true,
"maxTelemetryItemsPerSecond": 5
}
}
}
Runtime 1.x, fonksiyon başına yapılandırmayı desteklemiyor.
Uygulama İçgörüleri yetenekleri
Runtime 1.x otomatik olarak istekleri, istisnaları ve performans sayacılarını toplardı. HTTP, Service Bus, Event Hubs veya SQL bağımlılıklarını otomatik olarak toplamıyordu. Güvenli bir kontrol kanalı olmadan QuickPulse/Live Metrics'i destekliyordu ve örnekleme desteği vardı, ancak kalp atışlarını, Service Bus veya Event Hubs korelasyonunu ya da tamamen yapılandırılabilir telemetri toplamayı desteklemiyordu.
Desteklenmeyen özellikler ve çalışma zamanı 1.x'te davranışlar
- Yeniden deneme politikaları desteklenmiyor.
- Sanal ağ tetikleyicilerinin dinamik ölçekli izlenmesi desteklenmemektedir.
- Premium ve Dedicated planlarda varsayılan fonksiyon yürütme zaman aşımı sınırsızdır. Tüketim planında varsayılan zaman aşımı beş dakika, maksimum ise 10 dakikadır.
- Uzak dağıtım paketi kullanan bir fonksiyon uygulaması, Azure Dosyalar paylaşımı olmadan çalışamaz.
Çalışma süresi 1.x'e dahil edilen bağlamalar
Azure İşlevleri runtime 1.x emekli edildi. Çalışma zamanı 4.x'e geçiş yaparken, güncel bağlama uzantılarını veya bir uzantı paketini kullanın ve her bağlamayı yapılandırma ve tür değişiklikleri açısından inceleyin.
Aşağıdaki bağlamalar 1.x çalışma süresi ile birlikte sunuldu. C# öznitelik sütunu, kodda kullanılan kısa isimleri gösterir. İlgili sınıf isimlerinin bir Attribute ek eki vardır, örneğin BlobTriggerAttribute. C# script fonksiyonları bunun yerinefunction.json dosyasında bağlamaları tanımlar.
| Type | Trigger | Giriş | Çıkış | C# özellikleri |
|---|---|---|---|---|
| Blob Depolama | Yes | Yes | Yes |
[BlobTrigger] (tetik)[Blob] (giriş/çıkış) |
| Azure Cosmos DB | Yes | Yes | Yes |
[CosmosDBTrigger] (tetik)[DocumentDB] (giriş/çıkış) |
| Etkinlik Gridi | Yes | No | No | [EventGridTrigger] |
| Etkinlik Merkezleri | Yes | No | Yes |
[EventHubTrigger] (tetik)[EventHub] (çıkış) |
| HTTP ve web kancaları | Yes | No | Yes | [HttpTrigger] |
| IoT Hub | Yes | No | No | [EventHubTrigger] |
| Mobil Uygulamalar | No | Yes | Yes | [MobileTable] |
| Notification Hubs | No | No | Yes | [NotificationHub] |
| Kuyruk Depolama | Yes | No | Yes |
[QueueTrigger] (tetik)[Queue] (çıkış) |
| SendGrid | No | No | Yes | [SendGrid] |
| Service Bus | Yes | No | Yes |
[ServiceBusTrigger] (tetik)[ServiceBus] (çıkış) |
| Tablo Saklama | No | Yes | Yes | [Table] |
| Zamanlayıcı | Yes | No | No | [TimerTrigger] |
| Twilio | No | No | Yes | [TwilioSms] |
Çalışma zamanı 1.x kullanan fonksiyon uygulamaları otomatik olarak Microsoft.Azure'a atıfta bulunur. WebJobs NuGet paketi (sürüm 2.x).
Blob Depolama, Queue Storage ve Table Storage tetikleyicileri ve bağlamaları, WindowsAzure.Storage NuGet paketinin 7.2.1 sürümünü kullanır. Farklı bir Depolama SDK sürümüne referans verip fonksiyon imzanızda bir Depolama SDK türüne bağlarsanız, Fonksiyonlar çalışma zamanı o tipe bağlanamayacağını bildirebilir. Projenizin WindowsAzure.Storage 7.2.1'e referans verdiğinden emin olun.
Blob Depolama bağlamaları runtime 1.x'te
Runtime 1.x, kullanımdan kaldırılan Microsoft'tan alınan türler. WindowsAzure.Storage namespace. Azure'dan daha yeni türler. Depolama. Bloblar daha sonraki bir uzantı ve çalışma zamanı 4.x gerektirir.
Runtime 1.x'te Queue Storage bağlamaları
Runtime 1.x, kullanımdan kaldırılan Microsoft'tan alınan türler. WindowsAzure.Storage namespace. Azure'dan yeni türler. Depolama. Kuyruklar daha sonra bir uzantı ve çalışma zamanı 4.x gerektirir.
Kuyruk Depolama bağlama ayarları için, runtime 1.x host.json referansının kuyruklar bölümüne bakınız. 1.x çalışma zamanında ayar maxPollingInterval milisaniye cinsinden ifade edilir. Daha sonraki çalışma zamanı sürümlerinde, veri türü 'dir.TimeSpan
Çalışma zamanında Tablo Depolama bağlamaları 1.x
Kullanımdan kaldırılan Microsoft. WindowsAzure.Storage.Table isim alanından alınan Runtime 1.x türleri. Azure'dan daha yeni türler. Data.Tables için Azure Tables uzantısı ve çalışma zamanı 4.x gereklidir.
Giriş örnekleri
Aşağıdaki C# fonksiyonu tek bir tablo satırını okur. Kuyruğun içine gönderilen her mesaj için fonksiyon tetiklenir. Satır anahtarı değeri {queueTrigger} , satır anahtarını ileti meta verilerine (ileti dizesi) bağlar.
public class TableStorage
{
public class MyPoco
{
public string PartitionKey { get; set; }
public string RowKey { get; set; }
public string Text { get; set; }
}
[FunctionName("TableInput")]
public static void TableInput(
[QueueTrigger("table-items")] string input,
[Table("MyTable", "MyPartition", "{queueTrigger}")] MyPoco poco,
ILogger log)
{
log.LogInformation($"PK={poco.PartitionKey}, RK={poco.RowKey}, Text={poco.Text}");
}
}
Aşağıdaki C# fonksiyonu, sınıfın türediği TableEntitybirden fazla tablo satırını MyPoco okur.
public class TableStorage
{
public class MyPoco : TableEntity
{
public string Text { get; set; }
}
[FunctionName("TableInput")]
public static void TableInput(
[QueueTrigger("table-items")] string input,
[Table("MyTable", "MyPartition")] IQueryable<MyPoco> pocos,
ILogger log)
{
foreach (MyPoco poco in pocos)
{
log.LogInformation($"PK={poco.PartitionKey}, RK={poco.RowKey}, Text={poco.Text}");
}
}
}
Giriş kullanımı
Anahtara göre belirli bir varlığı döndürmek için TableEntity'den türetilen bağlama parametresini kullanın. Belirli TableName, PartitionKey, ve RowKey örnekleri, tablodan belirli bir varlığı almaya çalışmak için kullanılır.
Birden çok varlık döndüren sorguları yürütmek için TableEntity'den IQueryable<T>devralan bir türe bağlayın.
Çıkış kullanımı
Parametreler ve dönüş türleri için out aşağıdaki türler desteklenir:
- ve
PartitionKeyözelliklerini içerenRowKeydüz eski bir CLR nesnesi (POCO). uygulayarak veya devralarak bu özelliklereITableEntityTableEntityeşlik edebilirsiniz. -
ICollector<T>IAsyncCollector<T>veyaTvePartitionKeyözelliklerini içerirRowKey. uygulayarak veya devralarak bu özelliklereITableEntityTableEntityeşlik edebilirsiniz.
Depolama SDK'sından yöntemi parametresi olarak da bağlayabilirsiniz.CloudTable Daha sonra tabloya yazmak için bu nesneyi kullanabilirsiniz.
Event Hubs bağlamaları runtime 1.x'te
Runtime 1.x, Event Hubs bağlamasını içeriyordu ve ayrı bir uzantı gerektirmiyordu. Kullanımdan kaldırılan Microsoft.Azure'u ortaya çıkardı. EventHubs.EventData tipi. Event Hubs tetikleyicileri EventDatadesteklenir, JSON ile serileştirilebilir türler string, ve byte[] tek bir olay için, ve EventData[] bir toplu için ve string[] ve geçerlidir. Desteklenen EventDataçıkış bağlamaları , JSON serilelenebilir türler string, ve byte[].
function.json'de bir Olay Merkezi tetikleyicisi veya çıktı bağlaması için, runtime 1.x olay merkezi adı için path bu özelliği kullanır. Daha sonraki çalışma zamanı sürümlerinde eventHubName. Olay merkezi adı da bağlantı dizesi'de bulunuyorsa, bu değer çalışma zamanında özelliği geçersiz kılar.
Çalışma zamanında 1.xhost.json dosyası üst seviyede eventHub bir nesne kullanır:
{
"eventHub": {
"maxBatchSize": 64,
"prefetchCount": 256,
"batchCheckpointFrequency": 1
}
}
| Mülkiyet | Varsayılan | Description |
|---|---|---|
maxBatchSize |
64 | Alma döngüsü başına alınan en fazla olay sayısı. |
prefetchCount |
300 | Temel alınan EventProcessorHosttarafından kullanılan varsayılan ön koşul sayısı. |
batchCheckpointFrequency |
1 | Event Hubs imleç denetim noktası oluşturmadan önce işlenmek üzere olay toplu işlemlerinin sayısı. |
Tam yapılandırma referansı için runtime 1.x host.json referansı bölümüne bakınızeventHub.
Etkinlik Grid bağlamaları runtime 1.x'te
3.x'ten önceki Event Grid uzantı sürümleri CloudEvents şemasını desteklemez. Bu şemayı kullanmak için HTTP tetikleyicisi kullanın veya 4.x ve Event Grid uzantısı 3.x'e geçiş yapın.
Event Grid çıkış bağlaması yalnızca 2.x ve sonrasında çalıştırma zamanı için kullanılabilir.
Bağlama türleri
Çalışma zamanı 1.x uzantısı aşağıdaki parametre türlerini destekler. CloudEvents şemasını desteklemiyor, çünkü bu şeması Event Grid uzantısı 3.x gerektiriyor.
| Binding | Parametre türleri |
|---|---|
| Event Grid tetikleyicisi | Newtonsoft.Json.Linq.JObjectstring |
Tetikleyici kullanımı
Süreçteki C# sınıf kütüphane fonksiyonları aşağıdaki Olay Gridi tetikleyici türlerini destekler:
Newtonsoft.Json.Linq.JObjectSystem.String
Webhook uç noktası ve sistem anahtarı
Bir çalışma zamanı 1.x Event Grid tetikleyicisi için barındırılan webhook uç noktası aşağıdaki URL desenini kullanır:
https://{functionappname}.azurewebsites.net/admin/extensions/EventGridExtensionConfig?functionName={functionname}&code={systemkey}
Yönetici API'sinden Event Grid sistem anahtarını almak için, aşağıdaki istekte fonksiyon uygulaması ana anahtarını kullanın:
https://{functionappname}.azurewebsites.net/admin/host/systemkeys/eventgridextensionconfig_extension?code={masterkey}
Yerel test için, Event Grid tetikleyici uç noktası aşağıdaki URL desenini kullanır:
http://localhost:7071/admin/extensions/EventGridExtensionConfig?functionName={FUNCTION_NAME}
Service Bus bağlamaları 1.x çalışma zamanı
Runtime 1.x, kullanımdan kaldırılan Microsoft'tan çıkan türler. ServiceBus.Mesajlaşma isim alanı. Azure'dan daha yeni türler. Mesajlaşma. ServiceBus, Service Bus uzantısı 5.x veya daha yeni ve çalışma zamanı 4.x gerektirir.
30 Eylül 2026'da, Azure Service Bus SDK kütüphaneleri WindowsAzure.ServiceBus, Microsoft.Azure. ServiceBus ve com.microsoft.azure. Servicebus emekliye ayrılacaktır. Bu kütüphaneler Azure SDK yönergelerine uymuyor. Service Bus Mesajlaşma Protokolü (SBMP) desteği de sona erecek. Emeklilikten sonra eski kütüphaneleri kullanmaya devam edebilirsiniz, ancak artık Microsoft'tan resmi destek ve güncelleme almayacaklar. Daha fazla bilgi için destek sonlandırma duyurusu'na bakın.
Tetikleyici kullanımı
Kuyruk veya konu mesajı tetikleyicisi aşağıdaki parametre türlerini destekler:
- BrokeredMessage , BrokeredMessage.GetBody<T>() yöntemiyle seri numarası dışı mesajı size verir.
-
MessageReceiver , mesaj konteynerinden mesajları alır ve onaylar. Bu tür, ayarlıyken
autoCompletefalsegereklidir.
C# sınıf kütüphanelerinde, özniteliğin yapıcısı kuyruğun adını veya konuyu ve aboneliği alır. Ayrıca bağlantının erişim haklarını da belirtebilirsiniz. Erişim hakları belirtmezseniz varsayılan değer olur Manage.
Service Bus hesabı seçimi
Service Bus hesabını belirtmek için ServiceBusAccountAttribute kullanın. Oluşturucu, Service Bus bağlantı dizesi içeren bir uygulama ayarının adını alır. Özniteliği parametre, yöntem veya sınıf seviyesinde uygulayın. Aşağıdaki örnek, sınıf düzeyinde ve metod düzeyinde nitelikleri göstermektedir:
[ServiceBusAccount("ClassLevelServiceBusAppSetting")]
public static class AzureFunctions
{
[ServiceBusAccount("MethodLevelServiceBusAppSetting")]
[FunctionName("ServiceBusQueueTriggerCSharp")]
public static void Run(
[ServiceBusTrigger("myqueue", AccessRights.Manage)]
string myQueueItem, ILogger log)
{
// ...
}
}
Aşağıdaki sıra, hangi Service Bus hesabının kullanılacağını belirler:
- Özniteliğin
ServiceBusTriggerConnectionözelliği. - özniteliğiyle
ServiceBusAccountaynı parametreye uygulandıServiceBusTrigger. -
ServiceBusAccountİşleve uygulanan öznitelik. -
ServiceBusAccountsınıfına uygulanan öznitelik. -
AzureWebJobsServiceBusUygulama ayarı.
İleti meta verileri
Aşağıdaki özellikler BrokeredMessage ve MessageReceiver sınıflarının üyeleridir.
| Mülkiyet | Type | Description |
|---|---|---|
ContentType |
string |
Gönderici ve alıcı tarafından uygulamaya özgü mantık için kullanılan bir içerik tipi tanımlayıcısı. |
CorrelationId |
string |
Bağıntı kimliği. |
DeadLetterSource |
string |
Ölü kaynak. |
DeliveryCount |
Int32 |
Teslimat sayısı. |
EnqueuedTimeUtc |
DateTime |
Koordineli Evrensel Zamanında (UTC) sırada duran zaman. |
ExpiresAtUtc |
DateTime |
UTC olarak sona erme zamanı. |
Label |
string |
Uygulamaya özgü etiket. |
MessageId |
string |
Service Bus etkinse yinelenen iletileri tanımlamak için kullanabileceği kullanıcı tanımlı bir değer. |
MessageReceiver |
MessageReceiver |
İleti alıcıyı Service Bus. Mesajı terk etmek, tamamlamak veya ölü harf olarak göndermek için kullanılabilir. |
MessageSession |
MessageSession |
Oturum etkin kuyruklar ve konular için özel olarak bir ileti alıcısı. |
ReplyTo |
string |
Cevap kuyruk adresi. |
SequenceNumber |
long |
Service Bus tarafından bir iletiye atanan benzersiz numara. |
To |
string |
Gönderme adresi. |
UserProperties |
IDictionary<string, object> |
Gönderen tarafından ayarlanan özellikler. |
Çıkış kullanımı
Meta verilerle ileti gönderirken BrokeredMessage türünü kullanın. Parametreleri tip öznitelikleri olarak return tanımlayın. Fonksiyon çıktığında parametre değeri null ise, Functions mesaj oluşturmaz.
function.json bağlayıcılar için accessRights veya listen kabul manage edilir ve varsayılan olarak manage. Eğer bağlantı dizesi'in Yönet izni yoksa, accessRights çalışma zamanının yönetim işlemlerini denemesini engelleyecek şekilde ayarlanınlisten.
Eğer varsa ve ayarlarsanız, çalışma zamanı kuyruğu accessRightsmanageoluşturur.
Konak ayarları
Service Bus bağlama ayarları için runtime 1.x host.json referansına bakınız.
Runtime 1.x'te HTTP ve webhook bağlamaları
HTTP tetiklenen bir fonksiyon varsayılan olarak boş gövdeyle döner HTTP 200 OK . Daha sonraki çalışma süresi sürümleri geri HTTP 204 No Contentdöner.
function.jsoniçinde bir HTTP tetikleyicisi için, tetikleyiciyi belirli sağlayıcı için bir webhook alıcısı olarak yapılandırmak için özelliği kullanınwebHookType. Bu özellik runtime 1.x'e özgüdür.
Runtime 1.x, kimlik doğrulamalı istemci bilgilerine erişimi desteklemiyor.
Webhook modu
Webhook şablonları, webhook yükleri için ek doğrulama sağlar. Bağlama özelliği, webHookType webhook sağlayıcısını gösterir ve desteklenen yükü kontrol eder:
| Tür değeri | Description |
|---|---|
genericJson |
Belirli bir sağlayıcı için mantığı olmayan genel amaçlı bir web kancası uç noktası. Bu ayar, istekleri içerik application/json tipiyle HTTP POST'a sınırlar. |
github |
İşlev GitHub web kancalarına yanıt verir. Özelliğini GitHub web kancalarıyla kullanmayın authLevel . |
slack |
İşlev Slack web kancalarına yanıt verir. Özelliğini Slack web kancalarıyla kullanmayın authLevel . |
Ayarlarken webHookType, özelliği methods ayarlamayın.
GitHub webhook'larına yanıt vermek için, HTTP tetikleyicisi ile fonksiyonu oluşturun, webHookType , githubayarlayın ve URL ile API anahtarını GitHub deposunun Ekle webhook sayfasına kopyalayın.
Slack webhook bir token oluşturur, bu yüzden o tokenla fonksiyona özgü bir anahtar yapılandırın.
Webhook alıcı bileşeni, webhook yetkilendirmesini yönetir. Mekanizma ağ kancasına göre değişir, ancak her mekanizma bir anahtara dayanır. Varsayılan olarak, adı default verilen fonksiyon anahtarı kullanılır. Başka bir anahtar kullanmak için, webhook sağlayıcısını anahtar adını aşağıdaki yollardan biriyle gönderecek şekilde yapılandırmak gerekir:
-
clientidSorgu dizisi parametresinde, örneğinhttps://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>?clientid=<KEY_NAME>. -
x-functions-clientidİstek başlığında.
HTTP bağlama ayarları için, 1.x çalışma zamanının HTTP bölümüne host.json referans olarak bakınız.
Çalışma zamanı 1.x'te ısınma tetikleyicisi
Runtime 1.x ısınma tetikleyicisini desteklemiyor.
SendGrid bağlaması runtime 1.x'te
NuGet paketi, sürüm 2.x'i yükleyerek uzantıyı projenize ekleyin.
SendGrid bağlama ayarları için, çalışma zamanı 1.x host.json referansının SendGrid bölümüne bakınız.
Twilio Bağlanması 1.x runtime
NuGet paketi, sürüm 1.x'i yükleyerek uzantıyı projenize ekleyin.
Çalışma zamanı 1.x için, function.json dosyasında aşağıdaki bağlama yapılandırma özelliklerini kullanın:
| function.json özelliği | Description |
|---|---|
| type |
twilioSms olarak ayarlayın. |
| yön |
out olarak ayarlayın. |
| name | Twilio SMS metin iletisi için işlev kodunda kullanılan değişken adı. |
| accountSid | Twilio Hesabınızı tutan bir uygulama ayarının adını ayarlayın Sid (TwilioAccountSid). Ayarlanmadığında, varsayılan uygulama ayarı adı şeklindedir AzureWebJobsTwilioAccountSid. |
| authToken | Twilio kimlik tokeniniziTwilioAccountAuthToken (). tutan bir uygulama ayarının adını ayarlayın. Ayarlanmadığında, varsayılan uygulama ayarı adı şeklindedir AzureWebJobsTwilioAuthToken. |
| to | SMS mesajının gönderildiği telefon numarasına ayarlayın. |
| başlangıç | SMS mesajının gönderildiği telefon numarasına ayarlayın. |
| body | SMS metin mesajını fonksiyonun kodunda dinamik olarak ayarlaman gerekmiyorsa, onu sabit kodla kodlamayı tercih et. |
Bu makalede korunan bağlayıcı bilgileri yalnızca mevcut bir uygulamayı anlamak için kullanın. Uygulamayı güncellerken çalışma zamanı geçiş rehberini ve mevcut bağlama dokümantasyonunu takip edin.
Sık sorulan sorular
Azure İşlevleri runtime 1.x hâlâ destekleniyor mu?
No. Azure İşlevleri runtime 1.x desteği 14 Eylül 2026'da sona erdi. Etkilenen uygulamaları tam destek için runtime 4.x'e taşıyın.
Python v1 veya Node.js v4 programlama modeli runtime 1.x mi kullanıyor?
No. Dil programlama model sürümleri, çalışma zamanı sürümünden bağımsızdır. Python v1 ve v2 programlama modelleri ile Node.js v3 ve v4 programlama modelleri çalışma zamanı 4.x üzerinde çalışır.