Panduan pengembang Azure Functions
Di Azure Functions, semua fungsi berbagi beberapa konsep dan komponen teknis inti, terlepas dari bahasa atau lingkungan pengembangan pilihan Anda. Artikel ini khusus bahasa. Pilih bahasa pilihan Anda di bagian atas artikel.
Artikel ini menganggap Anda sudah membaca Ringkasan Azure Functions.
Jika Anda lebih suka langsung masuk, Anda dapat menyelesaikan tutorial mulai cepat menggunakan Visual Studio, Visual Studio Code, atau dari prompt perintah.
Jika Anda lebih suka melompat langsung, Anda dapat menyelesaikan tutorial mulai cepat menggunakan Maven (baris perintah), Eclipse, IntelliJ IDEA, Gradle, Quarkus, Spring Cloud, atau Visual Studio Code.
Jika Anda lebih suka langsung masuk, Anda dapat menyelesaikan tutorial mulai cepat menggunakan Visual Studio Code atau dari prompt perintah.
Jika Anda lebih suka langsung masuk, Anda dapat menyelesaikan tutorial mulai cepat menggunakan Visual Studio Code atau dari prompt perintah.
Jika Anda lebih suka langsung masuk, Anda dapat menyelesaikan tutorial mulai cepat menggunakan Visual Studio Code atau dari prompt perintah.
Jika Anda lebih suka langsung masuk, Anda dapat menyelesaikan tutorial mulai cepat menggunakan Visual Studio Code atau dari prompt perintah.
Proyek kode
Inti dari Azure Functions adalah proyek kode khusus bahasa yang mengimplementasikan satu atau beberapa unit eksekusi kode yang disebut fungsi. Fungsi hanyalah metode yang berjalan di cloud Azure berdasarkan peristiwa, sebagai respons terhadap permintaan HTTP, atau sesuai jadwal. Anggap proyek kode Azure Functions Anda sebagai mekanisme untuk mengatur, menyebarkan, dan secara kolektif mengelola fungsi individual Anda dalam proyek saat berjalan di Azure. Untuk informasi selengkapnya, lihat Menata fungsi Anda.
Cara Anda meletakkan proyek kode dan bagaimana Anda menunjukkan metode mana dalam proyek Anda adalah fungsi tergantung pada bahasa pengembangan proyek Anda. Untuk panduan khusus bahasa terperinci, lihat panduan pengembang C#.
Cara Anda meletakkan proyek kode dan bagaimana Anda menunjukkan metode mana dalam proyek Anda adalah fungsi tergantung pada bahasa pengembangan proyek Anda. Untuk panduan khusus bahasa, lihat panduan pengembang Java.
Cara Anda meletakkan proyek kode dan bagaimana Anda menunjukkan metode mana dalam proyek Anda adalah fungsi tergantung pada bahasa pengembangan proyek Anda. Untuk panduan khusus bahasa, lihat panduan pengembang Node.js.
Cara Anda meletakkan proyek kode dan bagaimana Anda menunjukkan metode mana dalam proyek Anda adalah fungsi tergantung pada bahasa pengembangan proyek Anda. Untuk panduan khusus bahasa, lihat panduan pengembang PowerShell.
Cara Anda meletakkan proyek kode dan bagaimana Anda menunjukkan metode mana dalam proyek Anda adalah fungsi tergantung pada bahasa pengembangan proyek Anda. Untuk panduan khusus bahasa, lihat panduan pengembang Python.
Semua fungsi harus memiliki pemicu, yang menentukan bagaimana fungsi dimulai dan dapat memberikan input ke fungsi. Fungsi Anda dapat secara opsional menentukan pengikatan input dan output. Pengikatan ini menyederhanakan koneksi ke layanan lain tanpa Anda harus bekerja dengan SDK klien. Untuk mempelajari selengkapnya, lihat Konsep pengikatan dan pemicu Azure Functions.
Azure Functions menyediakan sekumpulan templat proyek dan fungsi khusus bahasa yang memudahkan untuk membuat proyek kode baru dan menambahkan fungsi ke proyek Anda. Anda dapat menggunakan salah satu alat yang mendukung pengembangan Azure Functions untuk menghasilkan aplikasi dan fungsi baru menggunakan templat ini.
Alat pengembangan
Alat berikut ini memberikan pengalaman pengembangan dan penerbitan terintegrasi untuk Azure Functions dalam bahasa pilihan Anda:
Azure Functions Core Tools (prompt perintah)
Alat-alat ini terintegrasi dengan Azure Functions Core Tools sehingga Anda dapat menjalankan dan men-debug di komputer lokal Anda menggunakan runtime Functions. Untuk informasi selengkapnya, lihat Membuat kode dan menguji Azure Functions secara lokal.
Ada juga editor di portal Azure yang memungkinkan Anda memperbarui kode dan file definisi function.json Langsung di portal. Anda hanya boleh menggunakan editor ini untuk perubahan kecil atau membuat fungsi bukti konsep. Anda harus selalu mengembangkan fungsi Anda secara lokal, jika memungkinkan. Untuk informasi selengkapnya, lihat Membuat fungsi pertama Anda di portal Azure.
Pengeditan portal hanya didukung untuk Node.js versi 3, yang menggunakan file function.json.
Penyebaran
Saat menerbitkan proyek kode ke Azure, Anda pada dasarnya menyebarkan proyek ke sumber daya aplikasi fungsi yang ada. Aplikasi fungsi menyediakan konteks eksekusi di Azure tempat fungsi Anda berjalan. Dengan demikian, ini adalah unit penyebaran dan manajemen untuk fungsi Anda. Dari perspektif Sumber Daya Azure, aplikasi fungsi setara dengan sumber daya situs (Microsoft.Web/sites
) di Azure App Service, yang setara dengan aplikasi web.
Aplikasi fungsi terdiri dari satu atau beberapa fungsi individual yang dikelola, disebarkan, dan diskalakan bersama-sama. Semua fungsi dalam aplikasi fungsi memiliki paket harga, metode penyebaran, dan versi runtime yang sama. Untuk informasi selengkapnya, lihat Cara mengelola aplikasi fungsi.
Saat aplikasi fungsi dan sumber daya lain yang diperlukan belum ada di Azure, Anda harus terlebih dahulu membuat sumber daya ini sebelum dapat menyebarkan file proyek Anda. Anda dapat membuat sumber daya ini dengan salah satu cara berikut:
- Selama penerbitan Visual Studio
Menggunakan Visual Studio Code
Secara terprogram menggunakan Azure CLI, Azure PowerShell, templat ARM, atau templat Bicep
Selain penerbitan berbasis alat, Functions mendukung teknologi lain untuk menyebarkan kode sumber ke aplikasi fungsi yang ada. Untuk informasi selengkapnya, lihat Teknologi penyebaran di Azure Functions.
Menyambungkan ke layanan
Persyaratan utama dari layanan komputasi berbasis cloud adalah membaca data dari dan menulis data ke layanan cloud lainnya. Functions menyediakan serangkaian pengikatan ekstensif yang memudahkan Anda untuk terhubung ke layanan tanpa harus bekerja dengan SDK klien.
Apakah Anda menggunakan ekstensi pengikatan yang disediakan oleh Functions atau Anda bekerja dengan SDK klien secara langsung, Anda menyimpan data koneksi dengan aman dan tidak menyertakannya dalam kode Anda. Untuk informasi selengkapnya, lihat Sambungan.
Pengikatan
Functions menyediakan pengikatan untuk banyak layanan Azure dan beberapa layanan pihak ketiga, yang diimplementasikan sebagai ekstensi. Untuk informasi selengkapnya, lihat daftar lengkap pengikatan yang didukung.
Ekstensi pengikatan dapat mendukung input dan output, dan banyak pemicu juga bertindak sebagai pengikatan input. Pengikatan memungkinkan Anda mengonfigurasi koneksi ke layanan sehingga host Functions dapat menangani akses data untuk Anda. Untuk mempelajari selengkapnya, lihat Konsep pengikatan dan pemicu Azure Functions.
Jika Anda mengalami masalah dengan kesalahan yang berasal dari pengikatan, lihat dokumentasi Kode Kesalahan Pengikatan Azure Functions .
SDK Klien
Meskipun Functions menyediakan pengikatan untuk menyederhanakan akses data dalam kode fungsi, Anda masih dapat menggunakan SDK klien di proyek Anda untuk langsung mengakses layanan tertentu, jika mau. Anda mungkin perlu menggunakan SDK klien secara langsung jika fungsi Anda memerlukan fungsionalitas SDK dasar yang tidak didukung oleh ekstensi pengikatan.
Saat menggunakan SDK klien, Anda harus menggunakan proses yang sama untuk menyimpan dan mengakses string koneksi yang digunakan oleh ekstensi pengikatan.
Saat Anda membuat instans SDK klien di fungsi Anda, Anda harus mendapatkan info koneksi yang diperlukan oleh klien dari variabel Lingkungan.
Saat Anda membuat instans SDK klien di fungsi Anda, Anda harus mendapatkan info koneksi yang diperlukan oleh klien dari variabel Lingkungan.
Saat Anda membuat instans SDK klien di fungsi Anda, Anda harus mendapatkan info koneksi yang diperlukan oleh klien dari variabel Lingkungan.
Saat Anda membuat instans SDK klien di fungsi Anda, Anda harus mendapatkan info koneksi yang diperlukan oleh klien dari variabel Lingkungan.
Saat Anda membuat instans SDK klien di fungsi Anda, Anda harus mendapatkan info koneksi yang diperlukan oleh klien dari variabel Lingkungan.
Koneksi
Sebagai praktik terbaik keamanan, Azure Functions memanfaatkan fungsionalitas pengaturan aplikasi Azure App Service untuk membantu Anda menyimpan string, kunci, dan token lain yang diperlukan untuk terhubung ke layanan lain dengan lebih aman. Pengaturan aplikasi di Azure disimpan dienkripsi dan dapat diakses saat runtime oleh aplikasi Anda sebagai pasangan variabel name
value
lingkungan. Untuk pemicu dan pengikatan yang memerlukan properti koneksi, Anda mengatur nama pengaturan aplikasi alih-alih string koneksi aktual. Anda tidak dapat mengonfigurasi pengikatan secara langsung dengan string koneksi atau kunci.
Misalnya, pertimbangkan definisi pemicu yang memiliki connection
properti. Alih-alih string koneksi, Anda mengatur connection
ke nama variabel lingkungan yang berisi string koneksi. Menggunakan strategi akses rahasia ini membuat aplikasi Anda lebih aman dan memudahkan Anda untuk mengubah koneksi di seluruh lingkungan. Untuk keamanan yang lebih baik, Anda dapat menggunakan koneksi berbasis identitas.
Penyedia konfigurasi default menggunakan variabel lingkungan. Variabel ini didefinisikan dalam pengaturan aplikasi saat berjalan di Azure dan di file pengaturan lokal saat mengembangkan secara lokal.
Nilai koneksi
Saat nama koneksi menetapkan satu nilai yang pasti, runtime mengidentifikasi nilai sebagai string koneksi, yang biasanya menyertakan rahasia. Detail string koneksi bergantung pada layanan yang Anda sambungkan.
Namun, nama koneksi juga dapat merujuk ke kumpulan beberapa item konfigurasi, berguna untuk mengonfigurasi koneksi berbasis-identitas. Variabel lingkungan dapat dianggap sebagai satu kesatuan dengan menggunakan prefiks bersama yang diakhiri dengan garis bawah ganda __
. Grup tersebut kemudian dapat dirujuk dengan mengatur nama koneksi ke prefiks ini.
Misalnya, connection
properti untuk definisi pemicu Azure Blob mungkin .Storage1
Selama tidak ada nilai string tunggal yang dikonfigurasi oleh variabel lingkungan bernama Storage1
, variabel lingkungan bernama Storage1__blobServiceUri
dapat digunakan untuk menginformasikan blobServiceUri
properti koneksi. Properti koneksi berbeda-beda untuk setiap layanan. Lihat dokumentasi untuk komponen yang menggunakan koneksi.
Catatan
Saat menggunakan Azure App Configuration atau Key Vault guna menyediakan pengaturan untuk koneksi Identitas Terkelola, nama pengaturan harus menggunakan pemisah kunci yang valid seperti :
atau /
sebagai ganti __
untuk memastikan nama diselesaikan dengan benar.
Contohnya,Storage1:blobServiceUri
.
Mengonfigurasi koneksi berbasis identitas
Beberapa koneksi di Azure Functions dapat dikonfigurasi untuk menggunakan identitas, bukan rahasia. Dukungan tergantung pada ekstensi yang menggunakan koneksi. Dalam beberapa kasus, string koneksi mungkin masih diperlukan di Functions meskipun layanan yang Anda sambungkan mendukung koneksi berbasis identitas. Untuk tutorial cara mengonfigurasi aplikasi fungsi Anda dengan identitas terkelola, lihat tutorial membuat aplikasi fungsi dengan koneksi berbasis identitas.
Catatan
Saat berjalan dalam paket Konsumsi atau Elastic Premium, aplikasi Anda menggunakan WEBSITE_AZUREFILESCONNECTIONSTRING
pengaturan dan WEBSITE_CONTENTSHARE
saat menyambungkan ke Azure Files di akun penyimpanan yang digunakan oleh aplikasi fungsi Anda. Azure Files tidak mendukung penggunaan identitas terkelola saat mengakses berbagi file. Untuk informasi selengkapnya, lihat Skenario autentikasi yang didukung Azure Files
Komponen berikut mendukung koneksi berbasis identitas:
Saat dihosting di layanan Azure Functions, koneksi berbasis identitas menggunakan identitas terkelola. Identitas yang ditetapkan sistem digunakan secara default, meskipun identitas yang ditetapkan pengguna dapat ditentukan dengan credential
dan clientID
properti. Perhatikan bahwa mengonfigurasi identitas yang ditetapkan oleh pengguna dengan ID sumber daya tidak didukung. Saat dijalankan dalam konteks lain, seperti pengembangan lokal, identitas pengembang Anda digunakan sebagai gantinya, meskipun ini dapat dikustomisasi. Lihat Pengembangan lokal dengan koneksi berbasis identitas.
Memberikan izin kepada identitas
Identitas apa pun yang digunakan harus memiliki izin untuk melakukan tindakan yang dimaksudkan. Untuk sebagian besar layanan Azure, ini berarti Anda perlu menetapkan peran di Azure RBAC, menggunakan peran bawaan atau kustom yang menyediakan izin tersebut.
Penting
Beberapa izin mungkin diekspos oleh layanan target yang tidak diperlukan untuk semua konteks. Jika memungkinkan, patuhi prinsip hak istimewa paling rendah, dengan memberikan identitas hanya hak istimewa yang diperlukan. Misalnya, jika aplikasi hanya perlu dapat membaca dari sumber data, gunakan peran yang hanya memiliki izin untuk membaca. Tidak pantas untuk menetapkan peran yang juga memungkinkan menulis ke layanan itu, karena ini akan menjadi izin yang berlebihan untuk operasi baca. Demikian pula, Anda ingin memastikan penetapan peran hanya mencakup sumber daya yang perlu dibaca.
Pilih salah satu tab ini untuk mempelajari tentang izin untuk setiap komponen:
- Ekstensi Azure Blobs
- Ekstensi Azure Queues
- Ekstensi Azure Tables
- Ekstensi Azure Event Hubs
- Ekstensi Azure Service Bus
- Ekstensi Event Grid
- Ekstensi Azure Cosmos DB
- Ekstensi Azure SignalR
- Penyedia penyimpanan Durable Functions
- Penyimpanan host Functions
Anda perlu membuat penetapan peran yang menyediakan akses ke kontainer blob Anda saat runtime. Peran manajemen seperti Pemilik tidak cukup. Tabel berikut menunjukkan peran bawaan yang direkomendasikan saat menggunakan ekstensi Blob Storage dalam operasi normal. Aplikasi Anda mungkin memerlukan izin lebih lanjut berdasarkan kode yang Anda tulis.
Jenis pengikatan | Peran bawaan contoh |
---|---|
Pemicu | Pemilik Data Blob Penyimpanan dan KontributorData Antrean Penyimpanan 1 Izin tambahan juga harus diberikan ke koneksi AzureWebJobsStorage.2 |
Pengikatan masukan | Pembaca Data Blob Penyimpanan. |
Pengikatan output | Pemilik Data Blob Penyimpanan |
1 Pemicu blob menangani kegagalan di beberapa percobaan ulang dengan menulis blob racun ke antrean pada akun penyimpanan yang ditentukan oleh koneksi.
2 Koneksi AzureWebJobsStorage digunakan secara internal untuk blob dan antrean yang mengaktifkan pemicu. Jika dikonfigurasi untuk menggunakan koneksi berbasis identitas, koneksi tersebut memerlukan izin tambahan di luar persyaratan default. Izin yang diperlukan dicakup oleh peran Pemilik Data Blob Penyimpanan, Kontributor Data Antrean Penyimpanan, dan Kontributor Akun Penyimpanan. Untuk mempelajari lebih lanjut, lihat Menyambungkan ke penyimpanan host menggunakan identitas.
Properti umum untuk koneksi berbasis identitas
Koneksi berbasis identitas untuk layanan Azure menerima properti umum berikut di mana <CONNECTION_NAME_PREFIX>
adalah nilai properti connection
Anda dalam definisi pemicu atau pengikatan:
Properti | Templat variabel lingkungan | Deskripsi |
---|---|---|
Token Info Masuk | <CONNECTION_NAME_PREFIX>__credential |
Mendefinisikan cara token harus diperoleh untuk koneksi. Pengaturan ini harus diatur ke managedidentity jika Azure Function yang Anda sebarkan berniat menggunakan autentikasi identitas terkelola. Nilai ini hanya valid ketika identitas terkelola tersedia di lingkungan hosting. |
ID klien | <CONNECTION_NAME_PREFIX>__clientId |
Ketika credential diatur ke managedidentity , properti ini dapat diatur untuk menentukan identitas yang ditetapkan pengguna yang akan digunakan saat mendapatkan token. Properti menerima ID klien yang sesuai dengan identitas yang ditetapkan pengguna yang ditetapkan ke aplikasi. Tidak valid untuk menentukan ID Sumber Daya dan ID klien. Jika tidak ditentukan, identitas yang ditetapkan sistem akan digunakan. Properti ini digunakan secara berbeda dalam skenario pengembangan lokal, kapan credential tidak boleh diatur. |
ID Sumber Daya | <CONNECTION_NAME_PREFIX>__managedIdentityResourceId |
Ketika credential diatur ke managedidentity , properti ini dapat diatur untuk menentukan Pengidentifikasi sumber daya yang akan digunakan saat mendapatkan token. Properti menerima pengidentifikasi sumber daya yang sesuai dengan ID sumber daya identitas terkelola yang ditentukan pengguna. Tidak valid untuk menentukan ID sumber daya dan ID klien. Jika tidak ditentukan, identitas yang ditetapkan sistem akan digunakan. Properti ini digunakan secara berbeda dalam skenario pengembangan lokal, kapan credential tidak boleh diatur. |
Opsi lain mungkin didukung untuk jenis koneksi tertentu. Lihat dokumentasi untuk komponen yang membuat koneksi.
Pengembangan lokal dengan koneksi berbasis identitas
Catatan
Pengembangan lokal dengan koneksi berbasis identitas memerlukan versi 4.0.3904
Azure Functions Core Tools, atau versi yang lebih baru.
Saat Anda menjalankan proyek fungsi secara lokal, konfigurasi di atas memberi tahu runtime untuk menggunakan identitas pengembang lokal Anda. Koneksi mencoba mendapatkan token dari lokasi berikut, secara berurutan:
- Tembolokan lokal yang dibagi di antara aplikasi Microsoft
- Konteks pengguna saat ini di Visual Studio
- Konteks pengguna saat ini di Visual Studio Code
- Konteks pengguna saat ini di Azure CLI
Jika tidak ada opsi ini yang berhasil, kesalahan terjadi.
Identitas Anda mungkin sudah memiliki beberapa penetapan peran terhadap sumber daya Azure yang digunakan untuk pengembangan, tetapi peran tersebut mungkin tidak menyediakan akses data yang diperlukan. Peran manajemen seperti Pemilik tidak cukup. Periksa kembali izin apa yang diperlukan bagi koneksi untuk setiap komponen, dan pastikan telah menetapkannya ke diri Anda sendiri.
Dalam beberapa kasus, Anda mungkin ingin menentukan penggunaan identitas yang berbeda. Anda dapat menambahkan properti konfigurasi untuk koneksi yang menunjuk ke identitas alternatif berdasarkan ID klien dan Rahasia klien untuk perwakilan layanan Microsoft Entra. Opsi konfigurasi berikut tidak didukung saat dihosting di layanan Azure Functions. Untuk menggunakan ID dan rahasia di komputer lokal Anda, tentukan koneksi dengan properti tambahan berikut:
Properti | Templat variabel lingkungan | Deskripsi |
---|---|---|
ID Penyewa | <CONNECTION_NAME_PREFIX>__tenantId |
ID penyewa (direktori) Microsoft Entra. |
ID klien | <CONNECTION_NAME_PREFIX>__clientId |
ID klien (aplikasi) pendaftaran aplikasi di penyewa. |
Rahasia Klien | <CONNECTION_NAME_PREFIX>__clientSecret |
Rahasia klien yang dihasilkan untuk pendaftaran aplikasi. |
Berikut adalah contoh local.settings.json
properti yang diperlukan untuk koneksi berbasis identitas ke Azure Blobs:
{
"IsEncrypted": false,
"Values": {
"<CONNECTION_NAME_PREFIX>__blobServiceUri": "<blobServiceUri>",
"<CONNECTION_NAME_PREFIX>__queueServiceUri": "<queueServiceUri>",
"<CONNECTION_NAME_PREFIX>__tenantId": "<tenantId>",
"<CONNECTION_NAME_PREFIX>__clientId": "<clientId>",
"<CONNECTION_NAME_PREFIX>__clientSecret": "<clientSecret>"
}
}
Menyambungkan ke penyimpanan host dengan identitas
Host Azure Functions menggunakan koneksi penyimpanan yang diatur AzureWebJobsStorage
untuk mengaktifkan perilaku inti seperti mengoordinasikan eksekusi singleton pemicu timer dan penyimpanan kunci aplikasi default. Koneksi ini juga dapat dikonfigurasi untuk menggunakan identitas.
Perhatian
Komponen lain dalam Functions mengandalkan AzureWebJobsStorage
perilaku default. Anda tidak boleh memindahkannya ke koneksi berbasis identitas jika menggunakan versi ekstensi lama yang tidak mendukung jenis koneksi ini, termasuk pemicu dan pengikatan untuk Azure Blobs, Azure Event Hubs, dan Durable Functions. Demikian pula, AzureWebJobsStorage
digunakan untuk artefak penyebaran saat menggunakan build sisi server di Konsumsi Linux, dan jika Anda mengaktifkan ini, Anda perlu menyebarkan melalui paket penyebaran eksternal.
Selain itu, aplikasi fungsi Anda mungkin menggunakan AzureWebJobsStorage
kembali untuk koneksi penyimpanan lain dalam pemicu, pengikatan, dan/atau kode fungsinya. Pastikan bahwa semua penggunaanAzureWebJobsStorage
dapat menggunakan format koneksi berbasis identitas sebelum mengubah koneksi ini dari string koneksi.
Untuk menggunakan koneksi berbasis identitas untuk AzureWebJobsStorage
, konfigurasikan pengaturan aplikasi berikut:
Pengaturan | Deskripsi | Contoh nilai |
---|---|---|
AzureWebJobsStorage__blobServiceUri |
URI data plane dari layanan blob akun penyimpanan, menggunakan skema HTTPS. | https://<storage_account_name>.blob.core.windows.net |
AzureWebJobsStorage__queueServiceUri |
URI data plane dari layanan antrean akun penyimpanan, menggunakan skema HTTPS. | https://<storage_account_name>.queue.core.windows.net |
AzureWebJobsStorage__tableServiceUri |
URI data plane dari layanan tabel akun penyimpanan, menggunakan skema HTTPS. | https://<storage_account_name>.table.core.windows.net |
Properti umum untuk koneksi berbasis identitas juga dapat diatur.
Jika Anda mengonfigurasi AzureWebJobsStorage
menggunakan akun penyimpanan yang menggunakan akhiran DNS default dan nama layanan untuk Azure global, mengikuti format, https://<accountName>.[blob|queue|file|table].core.windows.net
Anda dapat mengatur AzureWebJobsStorage__accountName
ke nama akun penyimpanan Anda. Titik akhir untuk setiap layanan penyimpanan disimpulkan untuk akun ini. Ini tidak berfungsi saat akun penyimpanan berada di sovereign cloud atau memiliki DNS kustom.
Pengaturan | Deskripsi | Contoh nilai |
---|---|---|
AzureWebJobsStorage__accountName |
Nama akun akun penyimpanan, hanya valid jika akun tidak berada di sovereign cloud dan tidak memiliki DNS kustom. Sintaks ini unik untuk AzureWebJobsStorage dan tidak dapat digunakan untuk koneksi berbasis identitas lainnya. |
<storage_account_name> |
Anda perlu membuat penetapan peran yang menyediakan akses ke akun penyimpanan untuk "AzureWebJobsStorage" saat runtime. Peran manajemen seperti Pemilik tidak cukup. Peran Pemilik Data Blob Storage mencakup kebutuhan dasar penyimpanan host Functions - runtime membutuhkan akses baca dan tulis ke blob dan kemampuan untuk membuat kontainer. Beberapa ekstensi menggunakan koneksi ini sebagai lokasi default untuk blob, antrean, juga tabel, dan penggunaan ini dapat menambahkan persyaratan seperti yang tercantum dalam tabel di bawah ini. Anda mungkin memerlukan izin tambahan jika Anda menggunakan "AzureWebJobsStorage" untuk tujuan lain.
Ekstensi | Peran yang diperlukan | Penjelasan |
---|---|---|
Tidak ada ekstensi (hanya host) | Pemilik Data Blob Penyimpanan | Digunakan untuk koordinasi umum, penyimpanan kunci default |
Azure Blobs (hanya pemicu) | Semua: Kontributor Akun Penyimpanan, Pemilik Data Blob Penyimpanan, Kontributor Data Antrean Penyimpanan |
Pemicu blob secara internal menggunakan Azure Queues dan menulis tanda terima blob. Ia menggunakan AzureWebJobsStorage untuk hal ini, terlepas dari koneksi yang dikonfigurasi untuk pemicu. |
Azure Event Hubs (hanya pemicu) | (tidak ada perubahan dari persyaratan default) Pemilik Data Blob Penyimpanan |
Titik pemeriksaan dipertahankan dalam blob menggunakan koneksi AzureWebJobsStorage. |
Pemicu pengatur waktu | (tidak ada perubahan dari persyaratan default) Pemilik Data Blob Penyimpanan |
Untuk memastikan satu eksekusi per peristiwa, kunci diambil dengan blob menggunakan koneksi AzureWebJobsStorage. |
Fungsi Tahan Lama | Semua: Kontributor Data Blob Penyimpanan, Kontributor Data Antrean Penyimpanan, Kontributor Data Tabel Penyimpanan |
Durable Functions menggunakan blob, antrean, dan tabel untuk mengoordinasikan fungsi aktivitas dan mempertahankan status orkestrasi. Ia menggunakan koneksi AzureWebJobsStorage untuk semua ini secara default, tetapi Anda dapat menentukan koneksi yang berbeda dalam konfigurasi ekstensi Durable Functions. |
Masalah Pelaporan
Item | Deskripsi | Link |
---|---|---|
Runtime | Host Skrip, Pemicu & Pengikatan, Dukungan Bahasa | Melaporkan Masalah |
Templat | Masalah Kode dengan Templat Pembuatan | Melaporkan Masalah |
Portal | Masalah Antarmuka Pengguna atau Pengalaman | Melaporkan Masalah |
Repositori sumber terbuka
Kode untuk Azure Functions sumber terbuka, dan Anda dapat menemukan komponen utama di repositori GitHub ini:
Langkah berikutnya
Untuk informasi selengkapnya, lihat sumber daya berikut: