Azure İşlevleri ile Azure Static Web Apps API desteği

Ön uç web uygulamaları genellikle veri ve hizmetler için arka uç API'lerini çağırır. varsayılan olarak, Azure Static Web Apps Azure İşlevleri aracılığıyla yerleşik sunucusuz API uç noktaları sağlar.

Static Web Apps Azure İşlevleri API'leri, hosting planına bağlı olarak iki olası yapılandırmada kullanılabilir:

  • Yönetilen işlevler: Varsayılan olarak, statik web uygulamasının API'si bazı kısıtlamalarla ilişkili Azure Static Web Apps tarafından yönetilen ve dağıtılan bir Azure İşlevleri uygulamasıdır.

  • Kendi işlevlerinizi getirin: İsteğe bağlı olarak, Azure İşlevleri'ın tüm özelliklerini içeren herhangi bir plan türüne ait mevcut Azure İşlevleri uygulamanızı sağlayabilirsiniz. Bu yapılandırmayla, İşlevler uygulaması için ayrı bir dağıtımı işlemek sizin sorumluluğundadır.

Aşağıdaki tabloda yönetilen ve mevcut işlevlerin kullanılması arasındaki farklar karşıttır.

Özellik Yönetilen İşlevler Kendi İşlevlerinizi getirin
Azure İşlevleri tetikleyiciler ve bağlayıcılarına erişim Yalnızca HTTP Tümü
Desteklenen Azure İşlevleri çalışma zamanları1 Desteklenen dillere ve çalışma zamanlarına bakın. Tümü
Desteklenen Azure İşlevleri barındırma planları Tüketim Tüketim
Üst Düzey
Özel
Kullanıcı kimlik doğrulaması ve rol tabanlı yetkilendirme verilerine doğrudan erişim ile tümleşik güvenlik
Yönlendirme entegrasyonu, özel CORS kuralları gerektirmeden rotayı web uygulamasına güvenli bir şekilde erişilebilir hale getirir.
Dayanıklı İşlevler programlama modeli
Yönetilen kimlik
Azure App Service Kimlik Doğrulaması ve Yetkilendirme token yönetimi
Azure Static Web Apps dışında kullanılabilir API işlevleri
Key Vault referansları

1 Yönetilen işlevlerde çalışma zamanı sürümünü belirtmek için ön uç uygulamanıza bir yapılandırma dosyası ekleyin ve apiRuntime özelliğini ayarlayın. Destek, Azure İşlevleri dil çalışma zamanı destek ilkesine tabidir.

Static Web Apps için API seçenekleri aşağıdaki Azure hizmetlerini içerir:

Daha fazla bilgi için API'lere genel bakış bölümüne bakın.

Yapılandırma

API uç noktaları, api rotası üzerinden web uygulamasına sunulmaktadır.

Yönetilen işlevler Kendi fonksiyonlarınızı getirin
/api Yol sabit olsa da, yönetilen işlevler uygulamasının kaynak kod klasörü konumu üzerinde denetiminiz vardır. Deponuzun .github/workflows klasöründe bulunan iş akışı YAML dosyasını düzenleyerek bu konumu değiştirebilirsiniz. /api yoluna yönelik istekler mevcut Azure İşlevleri uygulamanıza gönderilir.

Sorun giderme ve günlükler

Günlükler yalnızca Application Insights eklediğinizde kullanılabilir.

Yönetilen işlevler Kendi fonksiyonlarınızı getirin
Statik web uygulamanızda Application Insights'i etkinleştirerek loglama özelliğini açın. Azure İşlevleri uygulamanızda Application Insights'i etkinleştirerek günlük kaydını etkinleştirin.

Sınırlamalar

Static Web Apps API constraints ek olarak, aşağıdaki kısıtlamalar Azure İşlevleri API'ler için de geçerlidir:

Yönetilen işlevler Kendi fonksiyonlarınızı getirin
  • Tetikleyiciler ve bağlamalar HTTP ile sınırlıdır.
  • Azure İşlevleri uygulamasının Node.js 12'de olması gerekir. Node.js 14, Node.js 16, Node.js 18, Node.js 20 (önizleme), .NET Core 3.1, .NET 6.0, .NET 7.0, .NET 8.0, Python 3.8, Python 3.9 veya Python 3.10.
  • Bazı uygulama ayarları hizmet tarafından yönetilir, bu nedenle aşağıdaki ön ekler runtime tarafından rezerve edilmiştir:
    • APPSETTING_, AZUREBLOBSTORAGE_, AZUREFILESSTORAGE_, AZURE_FUNCTION_, CONTAINER_, DIAGNOSTICS_, DOCKER_, FUNCTIONS_, IDENTITY_, MACHINEKEY_, MAINSITE_, MSDEPLOY_, SCMSITE_, SCM_, WEBSITES_, WEBSITE_, WEBSOCKET_, AzureWeb
  • Bazı uygulama etiketleri hizmet tarafından dahili olarak kullanılır. Bu nedenle, aşağıdaki etiketler ayrılmıştır:
    • AccountId, EnvironmentId, FunctionAppId.
  • İşlevler uygulaması dağıtımını yönetmek sizin sorumluluğundadır.

Sonraki adımlar