Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Functions terintegrasi dengan Tabel Azure melalui pemicu dan pengikatan. Mengintegrasikan dengan Azure Tables memungkinkan Anda membangun fungsi yang membaca dan menulis data menggunakan Azure Cosmos DB for Table dan Azure Table Storage.
| Perbuatan | Jenis |
|---|---|
| Membaca data tabel dalam fungsi | Pengikatan masukan |
| Mengizinkan fungsi menulis data tabel | Pengikatan output |
Menginstal ekstensi
Paket NuGet ekstensi yang Anda instal bergantung pada mode C# yang Anda gunakan di aplikasi fungsi Anda:
Functions dijalankan dalam proses pekerja C# yang terisolasi. Untuk mempelajari selengkapnya, lihat Panduan untuk menjalankan C# Azure Functions dalam proses pekerja yang terisolasi.
Proses untuk menginstal ekstensi bervariasi tergantung pada versi ekstensi:
Versi ini memperkenalkan kemampuan untuk menyambungkan menggunakan identitas alih-alih rahasia. Untuk tutorial cara mengonfigurasi aplikasi fungsi Anda dengan identitas terkelola, lihat tutorial membuat aplikasi fungsi dengan koneksi berbasis identitas.
Versi ini memungkinkan Anda untuk mengikat ke jenis dari Azure.Data.Tables. Ini juga memperkenalkan kemampuan untuk menggunakan Azure Cosmos DB for Table.
Ekstensi ini tersedia dengan menginstal paket NuGet Microsoft.Azure.Functions.Worker.Extensions.Tables ke dalam proyek menggunakan versi 5.x atau yang lebih tinggi dari ekstensi untuk blob dan antrean.
Menggunakan CLI .NET:
# 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
Catatan
Azure Blobs, Azure Queues, dan Azure Tables sekarang menggunakan ekstensi terpisah dan direferensikan satu per satu. Misalnya, untuk menggunakan pemicu dan pengikatan untuk ketiga layanan di aplikasi proses terisolasi .NET, Anda harus menambahkan paket berikut ke proyek Anda:
- Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs
- Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues
- Microsoft.Azure.Functions.Worker.Extensions.Tables
Sebelumnya, ekstensi dikirim bersama-sama sebagai Microsoft.Azure.Functions.Worker.Extensions.Storage, versi 4.x. Paket yang sama ini juga memiliki versi 5.x, yang merujuk pada paket terpisah untuk blob dan antrean saja. Saat memutakhirkan referensi paket dari versi yang lebih lama, Anda mungkin perlu juga mereferensikan paket NuGet Microsoft.Azure.Functions.Worker.Extensions.Tables baru. Juga, saat mereferensikan paket terpisah yang lebih baru ini, pastikan Anda tidak merujuk versi yang lebih lama dari paket penyimpanan gabungan, karena ini akan mengakibatkan konflik dari dua definisi dari ikatan yang sama.
Jika Anda menulis aplikasi menggunakan F#, Anda juga harus mengonfigurasi ekstensi ini sebagai bagian dari konfigurasi startup aplikasi. Dalam panggilan ke ConfigureFunctionsWorkerDefaults() atau ConfigureFunctionsWebApplication(), tambahkan delegasi yang mengambil IFunctionsWorkerApplication parameter. Kemudian dalam isi delegasi tersebut, panggil ConfigureTablesExtension() pada objek:
let hostBuilder = new HostBuilder()
hostBuilder.ConfigureFunctionsWorkerDefaults(fun (context: HostBuilderContext) (appBuilder: IFunctionsWorkerApplicationBuilder) ->
appBuilder.ConfigureTablesExtension() |> ignore
) |> ignore
Memasang bundel
Agar dapat menggunakan ekstensi pengikatan ini di aplikasi Anda, pastikan file host.json di akar proyek Anda berisi referensi ini extensionBundle :
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Dalam contoh ini, version nilai [4.0.0, 5.0.0) menginstruksikan host Functions untuk menggunakan versi bundel yang setidaknya 4.0.0 tetapi kurang dari 5.0.0, yang mencakup semua versi potensial 4.x. Notasi ini secara efektif mempertahankan aplikasi Anda pada versi minor terbaru yang tersedia dari bundel ekstensi v4.x.
Jika memungkinkan, Anda harus menggunakan versi utama bundel ekstensi terbaru dan memungkinkan runtime untuk secara otomatis mempertahankan versi minor terbaru. Anda dapat melihat konten bundel terbaru pada halaman rilis bundel ekstensi. Untuk informasi selengkapnya, lihat Bundel ekstensi Azure Functions.
Jenis pengikatan
Jenis pengikatan yang didukung untuk .NET bergantung pada versi ekstensi dan mode eksekusi C#, yang dapat menjadi salah satu hal berikut:
Pustaka kelas proses pekerja terisolasi yang dikompilasi fungsi C# berjalan dalam proses yang diisolasi dari runtime.
Pilih versi untuk melihat detail jenis pengikatan untuk mode dan versi.
Proses pekerja yang terisolasi mendukung jenis parameter sesuai dengan tabel di bawah ini. Dukungan untuk pengikatan ke jenis dari Azure.Data.Tables sedang dalam pratinjau.
Pengikatan input Tabel Azure
Saat bekerja dengan entitas tabel tunggal, pengikatan input Tabel Azure dapat mengikat ke jenis berikut:
| Jenis | Deskripsi |
|---|---|
| Jenis JSON yang dapat diserialisasi yang mengimplementasikan ITableEntity | Fungsi mencoba untuk mendeserialisasi entitas ke dalam jenis objek CLR (POCO) biasa-lama. Jenis harus mengimplementasikan ITableEntity atau memiliki properti string RowKey dan properti string PartitionKey . |
| TableEntity1 | Entitas sebagai jenis seperti kamus. |
Saat bekerja dengan beberapa entitas dari kueri, pengikatan input Tabel Azure dapat mengikat ke jenis berikut:
| Jenis | Deskripsi |
|---|---|
IEnumerable<T> di mana T mengimplementasikan ITableEntity |
Enumerasi entitas yang dikembalikan oleh kueri. Setiap entri mewakili satu entitas. Jenis harus mengimplementasikan T atau memiliki properti string dan properti stringRowKey.PartitionKey |
| TableClient1 | Klien yang tersambung ke tabel. Ini menawarkan kontrol terbanyak untuk memproses tabel dan dapat digunakan untuk menulis ke tabel jika koneksi memiliki izin yang memadai. |
1 Untuk menggunakan jenis ini, Anda perlu mereferensikan Microsoft.Azure.Functions.Worker.Extensions.Tables 1.2.0 atau yang lebih baru dan dependensi umum untuk pengikatan jenis SDK.
Pengikatan output Tabel Azure
Saat Anda ingin fungsi menulis ke satu entitas, pengikatan output Tabel Azure dapat mengikat ke jenis berikut:
| Jenis | Deskripsi |
|---|---|
| Jenis JSON yang dapat diserialisasi yang mengimplementasikan [ITableEntity] | Fungsi mencoba untuk menserialisasikan jenis objek CLR (POCO) biasa-lama sebagai entitas. Jenis harus mengimplementasikan [ITableEntity] atau memiliki properti string RowKey dan properti string PartitionKey . |
Saat Anda ingin fungsi menulis ke beberapa entitas, pengikatan output Tabel Azure dapat mengikat ke jenis berikut:
| Jenis | Deskripsi |
|---|---|
T[] di mana T adalah salah satu jenis entitas tunggal |
Array yang berisi beberapa entitas. Setiap entri mewakili satu entitas. |
Untuk skenario output lainnya, buat dan gunakan TableClient dengan jenis lain dari Azure.Data.Tables secara langsung. Lihat Mendaftarkan klien Azure untuk contoh penggunaan injeksi dependensi untuk membuat jenis klien dari Azure SDK.