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 dengan penyimpanan Azure Blob sebagai input dengan menyelesaikan tugas-tugas berikut:
- Gunakan Visual Studio Code untuk membuat proyek fungsi Python.
- Ubah kode untuk menambahkan pengikatan fungsi input blob penyimpanan.
- Gunakan Visual Studio Code untuk menjalankan fungsi secara lokal.
- Gunakan Azure CLI untuk membuat koneksi antara Azure Function dan Storage Blob 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 | Azure Storage Blob |
| Pengikatan Fungsi | Pemicu HTTP, Blob Penyimpanan sebagai Input |
| Jenis Autentikasi Proyek Lokal | String Koneksi |
| Jenis Autentikasi Fungsi Cloud | Identitas Terkelola yang Ditetapkan Sistem |
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 blob Penyimpanan. Jika Anda tidak memiliki akun Azure Storage, buat akun tersebut.
- Panduan ini mengasumsikan Anda mengetahui konsep yang disajikan dalam panduan pengembang Functions dan cara menyambungkan ke layanan di 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 BlobStorageInputFunc. |
| Tingkat otorisasi | Pilih Anonymous, yang memungkinkan siapa saja memanggil titik akhir fungsi Anda. |
Anda telah membuat proyek fungsi Python dengan pemicu HTTP.
Menambahkan pengikatan input Blob Storage
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 | in |
Pengikatan adalah pengikatan input. |
| Pilih pengikatan dengan arah... | Azure Blob Storage |
Pengikatan adalah pengikatan blob Azure Storage. |
| Nama yang digunakan untuk mengidentifikasi pengikatan ini dalam kode Anda | inputBlob |
Nama yang mengidentifikasi parameter pengikatan yang direferensikan dalam kode Anda. |
| Jalur dalam akun penyimpanan Anda tempat blob akan dibaca | testcontainer/test.txt |
Jalur blob yang dibaca fungsi Anda sebagai input. Siapkan file bernama test.txt, dengan sebagai Hello, World! konten file. Buat kontainer bernama testcontainer , dan unggah file ke kontainer. |
| Pilih pengaturan dari "local.setting.json" | Create new local app settings |
Pilih Akun Penyimpanan yang dibaca fungsi Anda sebagai input. Visual Studio Code mengambil string koneksi untuk koneksi proyek lokal. |
Untuk memeriksa pengikatan berhasil ditambahkan,
-
BlobStorageInputFunc/function.jsonBuka file, periksa apakah pengikatan baru dengantype: blobdandirection: inditambahkan 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 BlobStorageInputFunc/__init__.py dengan file Python di sini.
import logging
import azure.functions as func
def main(req: func.HttpRequest, inputBlob: bytes) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a request.')
return func.HttpResponse('The triggered function executed successfully. And read blob content: {}'.format(inputBlob))
Jalankan fungsi secara lokal
Ikuti tutorial untuk menjalankan fungsi secara lokal dan memverifikasi input blob.
- Pilih akun penyimpanan yang Anda gunakan saat membuat sumber daya Azure Function jika Anda diminta untuk menyambungkan ke Storage. Ini untuk penggunaan internal runtime Azure Function, dan tidak selalu sama dengan yang Anda gunakan untuk input.
- Untuk memulai fungsi secara lokal, tekan
<kbd>F5</kbd>atau pilih ikon Jalankan dan Debug di bilah Aktivitas sisi kiri. - Untuk memverifikasi fungsi dapat membaca blob, klik
Execute Function Now...kanan pada fungsi di VISUAL Studio Code WORKSPACE dan periksa respons fungsi. Pesan respons harus berisi konten dalam file blob Anda.
Membuat koneksi menggunakan Konektor Layanan
Anda baru saja menjalankan proyek dan memverifikasi fungsi secara lokal, dan proyek lokal Anda terhubung ke blob penyimpanan Anda menggunakan string koneksi.
Sekarang Anda akan mempelajari cara mengonfigurasi koneksi antara Azure Function dan Azure Blob Storage, sehingga fungsi Anda dapat membaca blob setelah disebarkan ke cloud. Di lingkungan cloud, kami menunjukkan cara mengautentikasi menggunakan identitas terkelola yang ditetapkan sistem.
-
function.jsonBuka file di proyek lokal Anda, ubah nilaiconnectionpropertibindingsmenjadiMyBlobInputConnection. - Jalankan perintah Azure CLI berikut untuk membuat koneksi antara Azure Function dan Azure Storage Anda.
az functionapp connection create storage-blob --source-id "<your-function-resource-id>" --target-id "<your-storage-blob-resource-id>" --system-identity --customized-keys AZURE_STORAGEBLOB_RESOURCEENDPOINT=MyBlobInputConnection__serviceUri
-
--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}/blobServices/default
Anda telah membuat koneksi antara Azure Function dan Azure Blob Storage menggunakan Konektor Layanan, dengan identitas terkelola yang ditetapkan sistem.
Konektor Layanan mengonfigurasi MyBlobInputConnection__serviceUri variabel dalam pengaturan aplikasi fungsi yang digunakan oleh runtime pengikatan fungsi untuk menyambungkan ke penyimpanan, sehingga fungsi dapat membaca data dari penyimpanan blob. 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 input blob penyimpanan.
- Ikuti tutorial untuk menyebarkan fungsi Anda ke Azure.
- Untuk memverifikasi fungsi dapat membaca blob, klik
Execute Function Now...kanan pada fungsi dalam tampilan Sumber Daya Visual Studio Code dan periksa respons fungsi. Pesan respons harus berisi konten dalam file blob Anda.
Pecahkan masalah
Jika ada kesalahan yang terkait dengan host penyimpanan, seperti No such host is known (<account-name>.blob.core.windows.net:443), Anda perlu memeriksa apakah string koneksi yang Anda gunakan untuk menyambungkan ke Azure Storage berisi titik akhir blob atau tidak. Jika tidak, buka Azure Storage di portal Azure, salin string koneksi dari Access keys bilah, dan ganti nilai.
Jika kesalahan terjadi saat Anda memulai proyek secara lokal, periksa local.settings.json file.
Jika kesalahan 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.