Azure İşlevleri için Azure Tabloları bağlamaları

Azure İşlevleri ile tümleşirTetikleyiciler ve bağlamalar aracılığıyla Azure Tabloları. Azure Tabloları ile tümleştirme, Tablo ve Azure Tablo Depolama için Azure Cosmos DB kullanarak veri okuyan ve yazan işlevler oluşturmanıza olanak tanır.

Eylem Tür
İşlevdeki tablo verilerini okuma Giriş bağlaması
İşlevin tablo verileri yazmasına izin verme Çıkış bağlaması

Uzantıyı yükleme

Yüklediğiniz NuGet uzantısı, işlev uygulamanızda kullandığınız C# moduna bağlıdır:

İşlevler yalıtılmış bir C# çalışan işleminde yürütülür. Daha fazla bilgi edinmek için bkz. Yalıtılmış çalışan işleminde C# Azure İşlevleri çalıştırma kılavuzu.

Uzantıyı yükleme işlemi uzantı sürümüne bağlı olarak değişir:

Bu sürüm gizli dizi yerine kimlik kullanarak bağlanma özelliğini tanıtır. İşlev uygulamalarınızı yönetilen kimliklerle yapılandırma öğreticisi için kimlik tabanlı bağlantılarla işlev uygulaması oluşturma öğreticisine bakın.

Bu sürüm, türlere Azure.Data.Tablesbağlamanıza olanak tanır. Ayrıca Tablo için Azure Cosmos DB'yi kullanma özelliğini de tanıtır.

Bu uzantı, bloblar ve kuyruklar için uzantıların 5.x veya üzeri sürümünü kullanarak Microsoft.Azure.Functions.Worker.Extensions.Tables NuGet paketini bir projeye yükleyerek kullanılabilir.

.NET CLI'yi kullanma:

# Install the Azure Tables extension
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Tables --version 1.0.0

# Update the combined Azure Storage extension (to a version which no longer includes Azure Tables)
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Storage --version 5.0.0

Not

Azure Blobları, Azure Kuyrukları ve Azure Tabloları artık ayrı uzantılar kullanır ve tek tek başvurulur. Örneğin, .NET yalıtılmış işlem uygulamanızdaki üç hizmetin de tetikleyicilerini ve bağlamalarını kullanmak için projenize aşağıdaki paketleri eklemeniz gerekir:

Daha önce uzantılar Birlikte Microsoft.Azure.Functions.Worker.Extensions.Depolama, sürüm 4.x olarak gönderilmektedir. Aynı paket, yalnızca bloblar ve kuyruklar için bölünmüş paketlere başvuran 5.x sürümüne de sahiptir. Bu nedenle, paket başvurularınızı eski sürümlerden yükseltirken yeni Microsoft.Azure.Functions.Worker.Extensions.Tables NuGet paketine de başvurmanız gerekebilir. Ayrıca, bu yeni bölünmüş paketlere başvururken, aynı bağlamaların iki tanımından çakışmalara neden olacağı için birleşik depolama paketinin eski bir sürümüne başvurmadığınızdan emin olun.

Uygulamanızı F# kullanarak yazıyorsanız, bu uzantıyı uygulamanın başlangıç yapılandırmasının bir parçası olarak da yapılandırmanız gerekir. veya ConfigureFunctionsWebApplication()çağrısındaConfigureFunctionsWorkerDefaults(), parametre alan bir IFunctionsWorkerApplication temsilci ekleyin. Ardından bu temsilcinin gövdesinde nesnesine çağrı ConfigureTablesExtension() yapın:

let hostBuilder = new HostBuilder()
hostBuilder.ConfigureFunctionsWorkerDefaults(fun (context: HostBuilderContext) (appBuilder: IFunctionsWorkerApplicationBuilder) ->
    appBuilder.ConfigureTablesExtension() |> ignore
) |> ignore

Paket yükleme

Azure Tabloları bağlamaları, host.json proje dosyanızda belirtilen bir uzantı paketinin parçasıdır. Bağlamaların sürümünü değiştirmek için veya paketler henüz yüklü değilse bu paketi değiştirmeniz gerekebilir. Daha fazla bilgi edinmek için bkz . uzantı paketi.

Bu sürüm gizli dizi yerine kimlik kullanarak bağlanma özelliğini tanıtır. İşlev uygulamalarınızı yönetilen kimliklerle yapılandırma öğreticisi için kimlik tabanlı bağlantılarla işlev uygulaması oluşturma öğreticisine bakın.

Uzantı paketi v3'ten, dosyanıza host.json aşağıdaki kodu ekleyerek veya değiştirerek uzantının bu sürümünü ekleyebilirsiniz:

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

Bağlama türleri

.NET için desteklenen bağlama türleri, aşağıdakilerden biri olabilecek uzantı sürümüne ve C# yürütme moduna bağlıdır:

Yalıtılmış çalışan işlem sınıfı kitaplığı derlenmiş C# işlevi çalışma zamanından yalıtılmış bir işlemde çalışır.

Modun ve sürümün bağlama türü ayrıntılarını görmek için bir sürüm seçin.

Yalıtılmış çalışan işlemi, aşağıdaki tablolara göre parametre türlerini destekler. Azure.Data.Tables'dan türlere bağlama desteği önizleme aşamasındadır.

Azure Tabloları giriş bağlaması

Tek bir tablo varlığıyla çalışırken Azure Tabloları giriş bağlaması aşağıdaki türlere bağlanabilir:

Type Açıklama
ITableEntity uygulayan bir JSON serileştirilebilir türü İşlevler, varlığı seri durumdan çıkararak düz eski bir CLR nesnesi (POCO) türüne dönüştürmeye çalışır. Türün ITableEntity uygulaması veya dize RowKey özelliği ve dize PartitionKey özelliği olmalıdır.
TableEntity1 Sözlük benzeri bir tür olarak varlık.

Bir sorgudan birden çok varlıkla çalışırken Azure Tabloları giriş bağlaması aşağıdaki türlere bağlanabilir:

Type Açıklama
IEnumerable<T>whereT, ITableEntity'i uygular Sorgu tarafından döndürülen varlıkların numaralandırması. Her girdi bir varlığı temsil eder. Türün T ITableEntity uygulaması veya dize RowKey özelliği ve dize PartitionKey özelliği olmalıdır.
TableClient1 Tabloya bağlı bir istemci. Bu, tabloyu işlemek için en fazla denetimi sunar ve bağlantı yeterli izne sahipse tabloya yazmak için kullanılabilir.

1 Bu türleri kullanmak için Microsoft.Azure.Functions.Worker.Extensions.Tables 1.2.0 veya sonraki sürümlerine ve SDK türü bağlamalarına yönelik ortak bağımlılıklara başvurmanız gerekir.

Azure Tabloları çıkış bağlaması

İşlevin tek bir varlığa yazmasını istediğinizde, Azure Tabloları çıkış bağlaması aşağıdaki türlere bağlanabilir:

Type Açıklama
[ITableEntity] uygulayan bir JSON serileştirilebilir türü İşlevler, düz eski bir CLR nesnesi (POCO) türünü varlık olarak serileştirmeye çalışır. Türün [ITableEntity] uygulaması veya dize RowKey özelliği ve dize PartitionKey özelliği olmalıdır.

İşlevin birden çok varlığı yazmasını istediğinizde, Azure Tabloları çıkış bağlaması aşağıdaki türlere bağlanabilir:

Type Açıklama
T[] burada T tek varlık türlerinden biridir Birden çok varlık içeren bir dizi. Her girdi bir varlığı temsil eder.

Diğer çıkış senaryoları için doğrudan Azure.Data.Tables'dan türler oluşturun ve kullanın.

Sonraki adımlar