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.
Dalam tutorial ini, Anda mempelajari cara mengonfigurasi fungsi Python untuk menggunakan Azure Table Storage sebagai pengikatan output dengan menyelesaikan tugas berikut.
- Gunakan Visual Studio Code untuk membuat proyek fungsi Python.
- Tambahkan pengikatan fungsi output Tabel Penyimpanan.
- Gunakan Visual Studio Code untuk menjalankan fungsi secara lokal.
- Gunakan Azure CLI untuk membuat koneksi antara Azure Function dan Storage Table dengan Konektor Layanan.
- Gunakan Visual Studio untuk menyebarkan fungsi Anda.
Gambaran umum komponen proyek fungsi dalam tutorial ini:
| Komponen Proyek | Pilihan / Solusi |
|---|---|
| Layanan Sumber | Fungsi Azure |
| Layanan Target | Tabel Azure Storage |
| Pengikatan Fungsi | Pemicu HTTP, Tabel Penyimpanan sebagai Output |
| Jenis Autentikasi Proyek Lokal | String Koneksi |
| Jenis Autentikasi Fungsi Cloud | String Koneksi |
Peringatan
Microsoft menyarankan agar Anda menggunakan alur autentikasi paling aman yang tersedia. Alur autentikasi yang dijelaskan dalam prosedur ini membutuhkan tingkat kepercayaan yang sangat tinggi pada aplikasi, dan membawa risiko yang tidak ada dalam alur lain. Anda hanya boleh menggunakan alur ini ketika alur lain yang lebih aman, seperti identitas terkelola, tidak layak.
Prasyarat
- Visual Studio Code pada salah satu platform yang didukung.
- Azure CLI. Anda dapat menggunakannya di Azure Cloud Shell atau menginstalnya secara lokal.
- Akun Azure Storage dan Tabel Penyimpanan. Jika Anda tidak memiliki akun penyimpanan, buat akun penyimpanan.
- Panduan ini mengasumsikan Anda mengetahui konsep yang disajikan dalam panduan pengembang Functions dan cara menyambungkan ke layanan di Azure Functions.
Membuat proyek fungsi Python
Ikuti tutorial untuk membuat proyek Azure Functions lokal, dan berikan informasi berikut pada perintah:
| Prompt | Pilihan |
|---|---|
| Pilih Bahasa | Pilih Python. (model bahasa pemrograman v1) |
| Pilih interpreter Python untuk membuat lingkungan virtual | Pilih interpreter Python pilihan Anda. Jika opsi tidak ditampilkan, ketik jalur lengkap ke biner Python Anda. |
| Pilih templat untuk fungsi pertama proyek Anda | Pilih HTTP trigger. |
| Berikan nama fungsi | Memasuki TableStorageOutputFunc. |
| Tingkat otorisasi | Pilih Anonymous, yang memungkinkan siapa saja memanggil titik akhir fungsi Anda. |
Anda telah membuat proyek fungsi Python dengan pemicu HTTP.
Menambahkan pengikatan output tabel penyimpanan
Atribut pengikatan didefinisikan dalam file function.json untuk fungsi tertentu. Untuk membuat pengikatan, klik kanan (Ctrl+klik pada macOS) function.json file di folder fungsi Anda dan pilih Tambahkan pengikatan... . Ikuti perintah untuk menentukan properti pengikatan berikut untuk pengikatan baru:
| Prompt | Nilai | Deskripsi |
|---|---|---|
| Pilih arah pengikatan | out |
Pengikatannya adalah pengikatan output. |
| Pilih pengikatan dengan arah... | Azure Table Storage |
Pengikatan adalah pengikatan tabel Azure Storage. |
| Nama yang digunakan untuk mengidentifikasi pengikatan ini dalam kode Anda | outMessage |
Nama yang mengidentifikasi parameter pengikatan yang direferensikan dalam kode Anda. |
| Nama tabel di akun penyimpanan tempat data akan ditulis | testTable |
Nama tabel yang ditulis fungsi Anda sebagai output. Buat tabel bernama testTable di akun penyimpanan Anda jika tidak ada. |
| Pilih pengaturan dari "local.setting.json" | Create new local app settings |
Pilih Akun Penyimpanan yang ditulis fungsi Anda sebagai output. Visual Studio Code mengambil string koneksi untuk koneksi proyek lokal. |
Untuk memeriksa pengikatan berhasil ditambahkan:
-
TableStorageOutputFunc/function.jsonBuka file, periksa apakah pengikatan baru dengantype: tabledandirection: outditambahkan ke dalam file ini. -
local.settings.jsonBuka file, periksa apakah pasangan<your-storage-account-name>_STORAGE: <your-storage-account-connection-string>kunci-nilai baru yang berisi akun penyimpanan Anda string koneksi ditambahkan ke dalam file ini.
Setelah pengikatan ditambahkan, perbarui kode fungsi Anda untuk menggunakan pengikatan dengan mengganti TableStorageOutputFunc/__init__.py dengan file Python di sini.
import logging
import uuid
import json
import azure.functions as func
def main(req: func.HttpRequest, outMessage: func.Out[str]) -> func.HttpResponse:
rowKey = str(uuid.uuid4())
data = {
"Name": "Output binding message",
"PartitionKey": "message",
"RowKey": rowKey
}
outMessage.set(json.dumps(data))
return func.HttpResponse(f"Message created with the rowKey: {rowKey}")
Jalankan fungsi secara lokal
Ikuti tutorial untuk menjalankan fungsi secara lokal dan memverifikasi output tabel.
- Pilih Akun Penyimpanan yang Anda pilih saat membuat sumber daya Azure Function jika Anda diminta untuk menyambungkan ke akun penyimpanan. Nilai ini digunakan untuk runtime Azure Function. Ini belum tentu akun penyimpanan yang sama dengan yang Anda gunakan untuk output.
- Untuk memulai fungsi secara lokal, tekan
<kbd>F5</kbd>atau pilih ikon Jalankan dan Debug di bilah Aktivitas sisi kiri. - Untuk memverifikasi fungsi dapat menulis ke tabel Anda, klik
Execute Function Now...kanan pada fungsi dalam tampilan VISUAL Studio Code WORKSPACE dan periksa respons fungsi. Pesan respons harus berisirowKeyyang ditulis ke tabel.
Membuat koneksi menggunakan Konektor Layanan
Pada langkah terakhir, Anda memverifikasi proyek fungsi secara lokal. Sekarang Anda akan mempelajari cara mengonfigurasi koneksi antara Azure Function dan Azure Storage Table di cloud, sehingga fungsi Anda dapat menulis ke blob penyimpanan Anda setelah disebarkan ke cloud.
-
function.jsonBuka file di proyek lokal Anda, ubah nilaiconnectionpropertibindingsmenjadiAZURE_STORAGETABLE_CONNECTIONSTRING. - Jalankan perintah Azure CLI berikut untuk membuat koneksi antara Azure Function dan Azure Storage Anda.
az functionapp connection create storage-table --source-id "<your-function-resource-id>" --target-id "<your-storage-table-resource-id>" --secret
-
--source-idformat:/subscriptions/{subscription}/resourceGroups/{source_resource_group}/providers/Microsoft.Web/sites/{site} -
--target-idformat:/subscriptions/{subscription}/resourceGroups/{target_resource_group}/providers/Microsoft.Storage/storageAccounts/{account}/tableServices/default
Anda telah membuat sumber daya Konektor Layanan yang mengonfigurasi AZURE_STORAGETABLE_CONNECTIONSTRING variabel di Pengaturan Aplikasi fungsi. Pengaturan aplikasi ini kemudian akan digunakan oleh pengikatan fungsi untuk terhubung ke penyimpanan, sehingga fungsi dapat menulis ke tabel penyimpanan. Anda dapat mempelajari selengkapnya tentang bagaimana Konektor Layanan membantu Azure Functions tersambung ke layanan.
Menyebarkan fungsi Anda ke Azure
Sekarang Anda dapat menyebarkan fungsi Anda ke Azure dan memverifikasi pekerjaan pengikatan output tabel penyimpanan.
- Ikuti tutorial Azure Functions ini untuk menyebarkan fungsi Anda ke Azure.
- Untuk memverifikasi fungsi dapat menulis ke tabel, klik
Execute Function Now...kanan pada fungsi dalam tampilan Sumber Daya Visual Studio Code, dan periksa respons fungsi. Pesan respons harus berisi fungsi yangrowKeybaru saja ditulis ke tabel Anda.
Pecahkan masalah
Jika ada kesalahan yang terkait dengan host penyimpanan, seperti No such host is known (<account-name>.table.core.windows.net:443), Anda perlu memeriksa apakah string koneksi yang Anda gunakan untuk menyambungkan ke Azure Storage berisi titik akhir tabel atau tidak. Jika tidak, buka portal Microsoft Azure Storage, salin string koneksi dari bilahAccess keys, dan ganti nilai.
Jika kesalahan ini terjadi saat Anda memulai proyek secara lokal, periksa local.settings.json file.
Jika itu terjadi saat Anda menyebarkan fungsi Anda ke cloud (dalam hal ini, penyebaran Fungsi biasanya gagal ), Syncing triggers periksa Pengaturan Aplikasi Fungsi Anda.
Membersihkan sumber daya
Jika Anda tidak akan terus menggunakan proyek ini, hapus sumber daya Aplikasi Fungsi yang Anda buat sebelumnya.
- Di portal Azure, buka sumber daya Aplikasi Fungsi dan pilih Hapus.
- Masukkan nama aplikasi dan pilih Hapus untuk mengonfirmasi.
Langkah berikutnya
Baca artikel di bawah ini untuk mempelajari selengkapnya tentang konsep Konektor Layanan dan caranya membantu Azure Functions terhubung ke layanan cloud lainnya.