Azure İşlevleri geliştirici kılavuzu
Azure İşlevleri'da, tercih ettiğiniz dil veya geliştirme ortamı ne olursa olsun tüm işlevler bazı temel teknik kavramları ve bileşenleri paylaşır. Bu makale dile özgüdür. Makalenin üst kısmında tercih ettiğiniz dili seçin.
Bu makalede, Azure İşlevleri genel bakışını okuduğunuz varsayılır.
Doğrudan başlamayı tercih ederseniz Visual Studio, Visual Studio Code kullanarak veya komut isteminden hızlı başlangıç öğreticisini tamamlayabilirsiniz.
Hemen başlamayı tercih ederseniz Maven (komut satırı), Eclipse, IntelliJ IDEA, Gradle, Quarkus, Spring Cloud veya Visual Studio Code kullanarak hızlı başlangıç öğreticisini tamamlayabilirsiniz.
Doğrudan başlamayı tercih ederseniz, Visual Studio Code'u kullanarak veya komut isteminden hızlı başlangıç öğreticisini tamamlayabilirsiniz.
Doğrudan başlamayı tercih ederseniz, Visual Studio Code'u kullanarak veya komut isteminden hızlı başlangıç öğreticisini tamamlayabilirsiniz.
Doğrudan başlamayı tercih ederseniz, Visual Studio Code'u kullanarak veya komut isteminden hızlı başlangıç öğreticisini tamamlayabilirsiniz.
Doğrudan başlamayı tercih ederseniz, Visual Studio Code'u kullanarak veya komut isteminden hızlı başlangıç öğreticisini tamamlayabilirsiniz.
Kod projesi
Azure İşlevleri merkezinde, işlevler olarak adlandırılan bir veya daha fazla kod yürütme birimi uygulayan dile özgü bir kod projesi bulunur. İşlevler yalnızca olaylara, HTTP isteklerine yanıt olarak veya bir zamanlamaya göre Azure bulutunda çalışan yöntemlerdir. Azure İşlevleri kod projenizi, Azure'da çalışırken projedeki tek tek işlevlerinizi düzenlemeye, dağıtmaya ve topluca yönetmeye yönelik bir mekanizma olarak düşünün. Daha fazla bilgi için bkz . İşlevlerinizi düzenleme.
Kod projenizi düzenleme yönteminiz ve projenizdeki hangi yöntemlerin işlev olduğunu nasıl belirttiğiniz, projenizin geliştirme diline bağlıdır. Dile özgü ayrıntılı yönergeler için C# geliştiricileri kılavuzuna bakın.
Kod projenizi düzenleme yönteminiz ve projenizdeki hangi yöntemlerin işlev olduğunu nasıl belirttiğiniz, projenizin geliştirme diline bağlıdır. Dile özgü yönergeler için bkz . Java geliştiricileri kılavuzu.
Kod projenizi düzenleme yönteminiz ve projenizdeki hangi yöntemlerin işlev olduğunu nasıl belirttiğiniz, projenizin geliştirme diline bağlıdır. Dile özgü yönergeler için bkz . Node.js geliştiriciler kılavuzu.
Kod projenizi düzenleme yönteminiz ve projenizdeki hangi yöntemlerin işlev olduğunu nasıl belirttiğiniz, projenizin geliştirme diline bağlıdır. Dile özgü yönergeler için bkz . PowerShell geliştiricileri kılavuzu.
Kod projenizi düzenleme yönteminiz ve projenizdeki hangi yöntemlerin işlev olduğunu nasıl belirttiğiniz, projenizin geliştirme diline bağlıdır. Dile özgü yönergeler için bkz . Python geliştiricileri kılavuzu.
Tüm işlevlerin, işlevin nasıl başlatılıp işleve giriş sağlayabileceğini tanımlayan bir tetikleyicisi olmalıdır. İşlevleriniz isteğe bağlı olarak giriş ve çıkış bağlamaları tanımlayabilir. Bu bağlamalar, istemci SDK'larıyla çalışmanıza gerek kalmadan diğer hizmetlerle bağlantıları basitleştirir. Daha fazla bilgi için bkz. Azure İşlevleri tetikleyicileri ve bağlama kavramları.
Azure İşlevleri, yeni kod projeleri oluşturmayı ve projenize işlev eklemeyi kolaylaştıran dile özgü bir dizi proje ve işlev şablonu sağlar. Bu şablonları kullanarak yeni uygulamalar ve işlevler oluşturmak için Azure İşlevleri geliştirmeyi destekleyen araçlardan herhangi birini kullanabilirsiniz.
Geliştirme araçları
Aşağıdaki araçlar, tercih ettiğiniz dilde Azure İşlevleri için tümleşik bir geliştirme ve yayımlama deneyimi sağlar:
Azure İşlevleri Temel Araçları (komut istemi)
Bu araçlar, İşlevler çalışma zamanını kullanarak yerel bilgisayarınızda çalıştırabilmeniz ve hatalarını ayıklayabileceğiniz Azure İşlevleri Temel Araçlar ile tümleştirilir. Daha fazla bilgi için bkz. Yerel olarak Azure İşlevleri kod ve test.
Azure portalında kodunuzu ve function.json tanım dosyanızı doğrudan portalda güncelleştirmenizi sağlayan bir düzenleyici de vardır. Bu düzenleyiciyi yalnızca küçük değişiklikler veya kavram kanıtı işlevleri oluşturmak için kullanmalısınız. Mümkün olduğunda işlevlerinizi her zaman yerel olarak geliştirmeniz gerekir. Daha fazla bilgi için bkz . Azure portalında ilk işlevinizi oluşturma.
Portal düzenleme yalnızca function.json dosyasını kullanan Node.js sürüm 3 için desteklenir.
Dağıtım
Kod projenizi Azure'da yayımladığınızda, projenizi temelde mevcut bir işlev uygulaması kaynağına dağıtırsınız. İşlev uygulaması, Azure'da işlevlerinizin çalıştırıldığı bir yürütme bağlamı sağlar. Bu nedenle, işlevlerinizin dağıtım ve yönetim birimidir. Azure Kaynağı açısından bakıldığında işlev uygulaması, web uygulamasına eşdeğer olan Azure Uygulaması Hizmeti'ndeki bir site kaynağına (Microsoft.Web/sites
) eşdeğerdir.
İşlev uygulaması, birlikte yönetilen, dağıtılan ve ölçeklendirilen bir veya daha fazla işlevden oluşur. İşlev uygulamasındaki tüm işlevler aynı fiyatlandırma planını, dağıtım yöntemini ve çalışma zamanı sürümünü paylaşır. Daha fazla bilgi için bkz . İşlev uygulamasını yönetme.
İşlev uygulaması ve diğer gerekli kaynaklar Azure'da henüz mevcut olmadığında, proje dosyalarınızı dağıtabilmek için önce bu kaynakları oluşturmanız gerekir. Bu kaynakları şu yollardan biriyle oluşturabilirsiniz:
- Visual Studio yayımlama sırasında
Azure CLI, Azure PowerShell, ARM şablonları veya Bicep şablonlarını kullanarak program aracılığıyla
İşlevler, araç tabanlı yayımlamaya ek olarak, mevcut bir işlev uygulamasına kaynak kodu dağıtmaya yönelik diğer teknolojileri de destekler. Daha fazla bilgi için bkz. Azure İşlevleri dağıtım teknolojileri.
Hizmetlere bağlanma
Bulut tabanlı işlem hizmetlerinin en önemli gereksinimlerinden biri, diğer bulut hizmetlerinden veri okumak ve bu hizmetlere veri yazmaktır. İşlevler, istemci SDK'larıyla çalışmak zorunda kalmadan hizmetlere bağlanmanızı kolaylaştıran kapsamlı bir bağlama kümesi sağlar.
İşlevler tarafından sağlanan bağlama uzantılarını kullanmanız veya istemci SDK'larıyla doğrudan çalışmanız fark etmeksizin, bağlantı verilerini güvenli bir şekilde depolar ve kodunuzda içermezsiniz. Daha fazla bilgi için bkz . Bağlantılar.
Bağlamalar
İşlevler, birçok Azure hizmeti ve uzantı olarak uygulanan birkaç üçüncü taraf hizmet için bağlamalar sağlar. Daha fazla bilgi için desteklenen bağlamaların tam listesine bakın.
Bağlama uzantıları hem girişleri hem de çıkışları destekleyebilir ve birçok tetikleyici de giriş bağlaması görevi görür. Bağlamalar, İşlevler ana bilgisayarının sizin için veri erişimini işleyebilmesi için hizmetlerle bağlantıyı yapılandırmanıza olanak sağlar. Daha fazla bilgi için bkz. Azure İşlevleri tetikleyicileri ve bağlama kavramları.
Bağlamalardan gelen hatalarla ilgili sorunlarla karşılaşıyorsanız bağlama hata kodlarını Azure İşlevleri belgelerine bakın.
İstemci SDK'ları
İşlevler işlev kodunuzda veri erişimini basitleştirmek için bağlamalar sağlarken, dilerseniz projenizde bir istemci SDK'sını kullanarak belirli bir hizmete doğrudan erişebilirsiniz. İşlevleriniz bağlama uzantısı tarafından desteklenmeyen bir temel SDK işlevselliği gerektiriyorsa istemci SDK'larını doğrudan kullanmanız gerekebilir.
İstemci SDK'larını kullanırken, bağlama uzantıları tarafından kullanılan bağlantı dizesi depolamak ve bunlara erişmek için aynı işlemi kullanmanız gerekir.
İşlevlerinizde bir istemci SDK örneği oluşturduğunuzda, ortam değişkenlerinden istemcinin gerektirdiği bağlantı bilgilerini almanız gerekir.
İşlevlerinizde bir istemci SDK örneği oluşturduğunuzda, ortam değişkenlerinden istemcinin gerektirdiği bağlantı bilgilerini almanız gerekir.
İşlevlerinizde bir istemci SDK örneği oluşturduğunuzda, ortam değişkenlerinden istemcinin gerektirdiği bağlantı bilgilerini almanız gerekir.
İşlevlerinizde bir istemci SDK örneği oluşturduğunuzda, ortam değişkenlerinden istemcinin gerektirdiği bağlantı bilgilerini almanız gerekir.
İşlevlerinizde bir istemci SDK örneği oluşturduğunuzda, ortam değişkenlerinden istemcinin gerektirdiği bağlantı bilgilerini almanız gerekir.
Bağlantılar
En iyi güvenlik uygulaması olarak Azure İşlevleri, diğer hizmetlere bağlanmak için gereken dizeleri, anahtarları ve diğer belirteçleri daha güvenli bir şekilde depolamanıza yardımcı olmak için Azure Uygulaması Hizmeti'nin uygulama ayarları işlevselliğinden yararlanır. Azure'daki uygulama ayarları şifrelenmiş olarak depolanır ve çalışma zamanında uygulamanız tarafından ortam değişken name
value
çiftleri olarak erişilebilir. Bağlantı özelliği gerektiren tetikleyiciler ve bağlamalar için gerçek bağlantı dizesi yerine uygulama ayarı adını ayarlarsınız. Bağlamayı doğrudan bir bağlantı dizesi veya anahtarla yapılandıramazsınız.
Örneğin, özelliği olan connection
bir tetikleyici tanımını göz önünde bulundurun. bağlantı dizesi yerine, bağlantı dizesi içeren bir ortam değişkeninin adını ayarlarsınızconnection
. Bu gizli dizi erişim stratejisini kullanmak hem uygulamalarınızı daha güvenli hale getirir hem de ortamlar arasındaki bağlantıları değiştirmenizi kolaylaştırır. Daha da fazla güvenlik için kimlik tabanlı bağlantıları kullanabilirsiniz.
Varsayılan yapılandırma sağlayıcısı ortam değişkenlerini kullanır. Bu değişkenler, Azure'da çalıştırılırken uygulama ayarlarında ve yerel olarak geliştirme yaparken yerel ayarlar dosyasında tanımlanır.
Bağlantı değerleri
Bağlantı adı tek bir tam değere çözümlendiğinde, çalışma zamanı değeri genellikle gizli dizi içeren bir bağlantı dizesi olarak tanımlar. bağlantı dizesi ayrıntıları, bağlandığınız hizmete bağlıdır.
Ancak, bağlantı adı, kimlik tabanlı bağlantıları yapılandırmak için yararlı olan birden çok yapılandırma öğesi koleksiyonuna da başvurabilir. Ortam değişkenleri, çift alt çizgi __
ile biten paylaşılan bir ön ek kullanılarak koleksiyon olarak ele alınabilir. Daha sonra bağlantı adı bu önek olarak ayarlanarak gruba başvurulabilir.
Örneğin, Azure Blob tetikleyici tanımının connection
özelliği olabilir Storage1
. adlı Storage1
bir ortam değişkeni tarafından yapılandırılan tek bir dize değeri olmadığı sürece, adlı Storage1__blobServiceUri
ortam değişkeni, bağlantının blobServiceUri
özelliğini bilgilendirmek için kullanılabilir. Bağlantı özellikleri her hizmet için farklıdır. Bağlantıyı kullanan bileşenin belgelerine bakın.
Not
Yönetilen Kimlik bağlantıları için ayarlar sağlamak üzere Azure Uygulaması Yapılandırması veya Key Vault kullanılırken, adların doğru çözümlendiğinden __
emin olmak için adların yerine veya /
gibi :
geçerli bir anahtar ayırıcı kullanılmalıdır.
Örneğin, Storage1:blobServiceUri
.
Kimlik tabanlı bağlantı yapılandırma
Azure İşlevleri'deki bazı bağlantılar gizli dizi yerine kimlik kullanacak şekilde yapılandırılabilir. Destek, bağlantıyı kullanan uzantıya bağlıdır. Bazı durumlarda, bağlandığınız hizmet kimlik tabanlı bağlantıları desteklese de İşlevler'de bir bağlantı dizesi gerekebilir. İş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.
Not
Tüketim veya Elastik Premium planında çalışırken uygulamanız, işlev uygulamanız tarafından kullanılan depolama hesabındaki Azure Dosyalar bağlanırken ve WEBSITE_CONTENTSHARE
ayarlarını kullanırWEBSITE_AZUREFILESCONNECTIONSTRING
. Azure Dosyalar, dosya paylaşımına erişirken yönetilen kimliğin kullanılmasını desteklemez. Daha fazla bilgi için bkz. desteklenen Azure Dosyalar kimlik doğrulama senaryoları
Aşağıdaki bileşenler kimlik tabanlı bağlantıları destekler:
Azure İşlevleri hizmetinde barındırıldığında, kimlik tabanlı bağlantılar yönetilen kimlik kullanır. Ve özellikleriyle credential
clientID
kullanıcı tarafından atanan bir kimlik belirtilse de, sistem tarafından atanan kimlik varsayılan olarak kullanılır. Kullanıcı tarafından atanan kimliği kaynak kimliğiyle yapılandırmanın desteklenmediğini unutmayın. Yerel geliştirme gibi diğer bağlamlarda çalıştırıldığında, bunun yerine geliştirici kimliğiniz kullanılır, ancak bu özelleştirilebilir. Bkz. Kimlik tabanlı bağlantılarla yerel geliştirme.
Kimliğe izin verme
Hangi kimlik kullanılıyorsa, hedeflenen eylemleri gerçekleştirmek için izinlere sahip olmalıdır. Çoğu Azure hizmeti için bu, bu izinleri sağlayan yerleşik veya özel rolleri kullanarak Azure RBAC'de bir rol atamanız gerektiği anlamına gelir.
Önemli
Bazı izinler, tüm bağlamlar için gerekli olmayan hedef hizmet tarafından gösterilebilir. Mümkün olduğunda, kimliğe yalnızca gerekli ayrıcalıkları sağlayarak en az ayrıcalık ilkesine uyun. Örneğin, uygulamanın yalnızca bir veri kaynağından okuyabilmesi gerekiyorsa, yalnızca okuma izni olan bir rol kullanın. Okuma işlemi için aşırı izin olduğundan, bu hizmete yazmaya da izin veren bir rol atamak uygun olmaz. Benzer şekilde, rol atamasının kapsamının yalnızca okunması gereken kaynaklara göre ayarlandığından emin olmak istersiniz.
Her bileşenin izinleri hakkında bilgi edinmek için şu sekmelerden birini seçin:
- Azure Bloblar uzantısı
- Azure Kuyrukları uzantısı
- Azure Tabloları uzantısı
- Event Hubs uzantısı
- Service Bus uzantısı
- Event Grid uzantısı
- Azure Cosmos DB uzantısı
- Azure SignalR uzantısı
- Dayanıklı İşlevler depolama sağlayıcısı
- İşlevler konak depolama
Çalışma zamanında blob kapsayıcınıza erişim sağlayan bir rol ataması oluşturmanız gerekir. Sahip gibi yönetim rolleri yeterli değildir. Aşağıdaki tabloda, normal işlemde Blob Depolama uzantısı kullanılırken önerilen yerleşik roller gösterilmektedir. Uygulamanız, yazdığınız koda göre daha fazla izin gerektirebilir.
Bağlama türü | Örnek yerleşik roller |
---|---|
Tetikleyici | Depolama Blobu Veri Sahibi ve Depolama Kuyruğu Veri Katkıda Bulunanı1 AzureWebJobsStorage bağlantısına ek izinler de verilmelidir.2 |
Giriş bağlaması | Depolama Blob Verileri Okuyucusu |
Çıkış bağlaması | Depolama Blob Verileri Sahibi |
1 Blob tetikleyicisi, bağlantı tarafından belirtilen depolama hesabındaki bir kuyruğa zehirli bloblar yazarak birden çok yeniden denemede başarısızlığı işler.
2 AzureWebJobsStorage bağlantısı, tetikleyiciyi etkinleştiren bloblar ve kuyruklar için dahili olarak kullanılır. Kimlik tabanlı bir bağlantı kullanacak şekilde yapılandırılmışsa, varsayılan gereksinimin ötesinde ek izinlere ihtiyacı vardır. Gerekli izinler Depolama Blobu Veri Sahibi, Depolama Kuyruğu Veri Katkıda Bulunanı ve Depolama Hesabı Katkıda Bulunanı rolleri kapsamındadır. Daha fazla bilgi edinmek için bkz . Kimlikle konak depolamaya bağlanma.
Kimlik tabanlı bağlantılar için ortak özellikler
Azure hizmeti için kimlik tabanlı bağlantı aşağıdaki ortak özellikleri kabul eder; burada <CONNECTION_NAME_PREFIX>
tetikleyici veya bağlama tanımındaki özelliğinizin connection
değeridir:
Belirli bir bağlantı türü için diğer seçenekler desteklenebilir. Bağlantıyı yapan bileşenin belgelerine bakın.
Kimlik tabanlı bağlantılarla yerel geliştirme
Not
Kimlik tabanlı bağlantılarla yerel geliştirme için Azure İşlevleri Core Tools veya sonraki bir sürüm gerekir.4.0.3904
İşlev projenizi yerel olarak çalıştırdığınızda, yukarıdaki yapılandırma çalışma zamanına yerel geliştirici kimliğinizi kullanmasını söyler. Bağlantı, aşağıdaki konumlardan sırayla bir belirteç almaya çalışır:
- Microsoft uygulamaları arasında paylaşılan yerel önbellek
- Visual Studio'daki geçerli kullanıcı bağlamı
- Visual Studio Code'daki geçerli kullanıcı bağlamı
- Azure CLI'daki geçerli kullanıcı bağlamı
Bu seçeneklerden hiçbiri başarılı olmazsa bir hata oluşur.
Kimliğinizin geliştirme için kullanılan Azure kaynaklarına yönelik bazı rol atamaları zaten olabilir, ancak bu roller gerekli veri erişimini sağlamayabilir. Sahip gibi yönetim rolleri yeterli değildir. Her bileşen için bağlantılar için gereken izinleri bir kez daha denetleyin ve bunları kendinize atadığınızdan emin olun.
Bazı durumlarda, farklı bir kimlik kullanımını belirtmek isteyebilirsiniz. Microsoft Entra hizmet sorumlusu için istemci kimliğine ve gizli diziye göre alternatif kimliğe işaret eden bağlantının yapılandırma özelliklerini ekleyebilirsiniz. Bu yapılandırma seçeneği, Azure İşlevleri hizmetinde barındırıldığında desteklenmez. Yerel makinenizde kimlik ve gizli dizi kullanmak için aşağıdaki ek özelliklerle bağlantıyı tanımlayın:
Özellik | Ortam değişkeni şablonu | Açıklama |
---|---|---|
Kiracı kimliği | <CONNECTION_NAME_PREFIX>__tenantId |
Microsoft Entra kiracısı (dizin) kimliği. |
Client ID | <CONNECTION_NAME_PREFIX>__clientId |
Kiracıdaki bir uygulama kaydının istemci (uygulama) kimliği. |
İstemci gizli anahtarı | <CONNECTION_NAME_PREFIX>__clientSecret |
Uygulama kaydı için oluşturulan bir istemci gizli dizisi. |
Azure Bloblarına kimlik tabanlı bağlantı için gereken özelliklere bir örnek local.settings.json
aşağıda verilmiştir:
{
"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>"
}
}
Kimlikle konak depolamaya bağlanma
Azure İşlevleri konağı, zamanlayıcı tetikleyicilerinin tek başına yürütülmesini ve varsayılan uygulama anahtarı depolamasını koordine etme gibi temel davranışları etkinleştirmek için içinde ayarlanan AzureWebJobsStorage
depolama bağlantısını kullanır. Bu bağlantı, kimlik kullanacak şekilde de yapılandırılabilir.
Dikkat
İşlevler'deki diğer bileşenler varsayılan davranışlar için kullanılır AzureWebJobsStorage
. Azure Blobları, Event Hubs ve Dayanıklı İşlevler için tetikleyiciler ve bağlamalar dahil olmak üzere bu tür bağlantıları desteklemeyen uzantıların eski sürümlerini kullanıyorsanız, bunu kimlik tabanlı bir bağlantıya taşımamalısınız. Benzer şekilde, AzureWebJobsStorage
Linux Tüketiminde sunucu tarafı derlemesi kullanılırken dağıtım yapıtları için kullanılır ve bunu etkinleştirirseniz, bir dış dağıtım paketi aracılığıyla dağıtmanız gerekir.
Ayrıca işlev uygulamanız tetikleyicileri, bağlamaları ve/veya işlev kodundaki diğer depolama bağlantıları için yeniden kullanıyor AzureWebJobsStorage
olabilir. Bu bağlantıyı bir bağlantı dizesi değiştirmeden önce tüm kullanımlarının AzureWebJobsStorage
kimlik tabanlı bağlantı biçimini kullanabildiğinden emin olun.
için kimlik tabanlı bir bağlantı kullanmak için AzureWebJobsStorage
aşağıdaki uygulama ayarlarını yapılandırın:
Ayar | Açıklama | Örnek değer |
---|---|---|
AzureWebJobsStorage__blobServiceUri |
HTTPS şemasını kullanarak depolama hesabının blob hizmetinin veri düzlemi URI'si. | <https:// storage_account_name.blob.core.windows.net> |
AzureWebJobsStorage__queueServiceUri |
HTTPS şemasını kullanarak depolama hesabının kuyruk hizmetinin veri düzlemi URI'si. | <https:// storage_account_name.queue.core.windows.net> |
AzureWebJobsStorage__tableServiceUri |
HTTPS şemasını kullanarak depolama hesabının tablo hizmetinin veri düzlemi URI'si. | <https:// storage_account_name.table.core.windows.net> |
Kimlik tabanlı bağlantılar için ortak özellikler de ayarlanabilir.
Genel Azure için varsayılan DNS sonekini ve hizmet adını kullanan bir depolama hesabı kullanarak yapılandırıyorsanız AzureWebJobsStorage
, biçimi izleyerek https://<accountName>.[blob|queue|file|table].core.windows.net
depolama hesabınızın adına ayarlayabilirsiniz AzureWebJobsStorage__accountName
. Her depolama hizmetinin uç noktaları bu hesap için çıkarılır. Depolama hesabı bağımsız bir bulutta olduğunda veya özel DNS'sine sahip olduğunda bu işe yaramaz.
Ayar | Açıklama | Örnek değer |
---|---|---|
AzureWebJobsStorage__accountName |
Depolama hesabının hesap adı, yalnızca hesap bağımsız bir bulutta değilse ve özel DNS'sine sahip değilse geçerlidir. Bu söz dizimi benzersizdir AzureWebJobsStorage ve diğer kimlik tabanlı bağlantılar için kullanılamaz. |
<storage_account_name> |
Çalışma zamanında "AzureWebJobsStorage" için depolama hesabına erişim sağlayan bir rol ataması oluşturmanız gerekir. Sahip gibi yönetim rolleri yeterli değildir. Depolama Blobu Veri Sahibi rolü, İşlevler ana bilgisayar depolamasının temel gereksinimlerini kapsar. Çalışma zamanının bloblara hem okuma hem de yazma erişimine ve kapsayıcı oluşturabilmesine ihtiyacı vardır. Bazı uzantılar bu bağlantıyı bloblar, kuyruklar ve tablolar için varsayılan konum olarak kullanır ve bu kullanımlar aşağıdaki tabloda belirtildiği gibi gereksinimler ekleyebilir. Başka herhangi bir amaçla "AzureWebJobsStorage" kullanıyorsanız ek izinlere ihtiyacınız olabilir.
Dahili | Gerekli roller | Açıklama |
---|---|---|
Uzantı yok (yalnızca konak) | Depolama Blob Verileri Sahibi | Genel koordinasyon, varsayılan anahtar deposu için kullanılır |
Azure Blobları (yalnızca tetikleyici) | Tümü: Depolama Hesabı Katkıda Bulunanı, Depolama Blobu Veri Sahibi, Depolama Kuyruğu Veri Katkıda Bulunanı |
Blob tetikleyicisi azure kuyruklarını dahili olarak kullanır ve blob alındı bilgilerini yazar. Tetikleyici için yapılandırılan bağlantıdan bağımsız olarak bunlar için AzureWebJobsStorage kullanır. |
Azure Event Hubs (yalnızca tetikleyici) | (varsayılan gereksinimden değişiklik yok) Depolama Blob Verileri Sahibi |
Denetim noktaları, AzureWebJobsStorage bağlantısı kullanılarak bloblarda kalıcı hale eklenir. |
Süreölçer tetikleyicisi | (varsayılan gereksinimden değişiklik yok) Depolama Blob Verileri Sahibi |
Olay başına bir yürütme sağlamak için AzureWebJobsStorage bağlantısı kullanılarak bloblarla kilitler alınır. |
Dayanıklı İşlevler | Tümü: Depolama Blob Verileri Katkıda Bulunanı, Depolama Kuyruğu Veri Katkıda Bulunanı, Depolama Tablosu Veri Katkıda Bulunanı |
Dayanıklı İşlevler etkinlik işlevlerini koordine etmek ve düzenleme durumunu korumak için blobları, kuyrukları ve tabloları kullanır. Varsayılan olarak tüm bunlar için AzureWebJobsStorage bağlantısını kullanır, ancak Dayanıklı İşlevler uzantısı yapılandırmasında farklı bir bağlantı belirtebilirsiniz. |
Raporlama Sorunları
Öğe | Açıklama | Bağlantı |
---|---|---|
Çalışma Zamanı | Betik Konağı, Tetikleyiciler ve Bağlamalar, Dil Desteği | Sorun Bildirin |
Şablonlar | Oluşturma Şablonuyla İlgili Kod Sorunları | Sorun Bildirin |
Portal | Kullanıcı Arabirimi veya Deneyim Sorunu | Sorun Bildirin |
Açık kaynak depoları
Azure İşlevleri kodu açık kaynak ve bu GitHub depolarında temel bileşenleri bulabilirsiniz:
Sonraki adımlar
Daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın: