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'yi 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.Tables
bağ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:
- Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs
- Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues
- Microsoft.Azure.Functions.Worker.Extensions.Tables
Daha önce uzantılar birlikte Microsoft.Azure.Functions.Worker.Extensions.Storage, 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 diğer türlerle tableclient oluşturun ve kullanın. Azure SDK'dan bir istemci türü oluşturmak için bağımlılık ekleme kullanma örneği için bkz . Azure istemcilerini kaydetme.