Node.js sunucusuz çözümler geliştirmek için Azure İşlevleri kullanma
Azure İşlevleri sunucusuz kod altyapısı sağlayarak hızlı yanıt veren, isteğe bağlı HTTP uç noktaları oluşturmanıza olanak tanır. Sunucusuz uygulamalar, çeşitli olaylara yanıt olarak çalışan JavaScript veya TypeScript kodundan oluşur.
İşlevler size şunu sağlar:
Web hizmetinin soyutlanması: Altyapıya değil koda odaklanırsınız.
Azure hizmetleriyle tümleştirme - olaylarla bir Azure hizmetine veya azure hizmetinden dışarı çalışmayı tetikleme
JavaScript paketleriyle tümleştirme - sık kullandığınız npm paketlerini sunucusuz kodunuzla kullanın
İşlev kaynağı nedir?
Azure İşlevi kaynağı, tek bir Azure coğrafi konumundaki tüm ilgili işlevler için mantıksal birimdir. Kaynak, birbirinden bağımsız veya giriş veya çıkış bağlamalarıyla ilgili olabilecek tek bir işlev veya birçok işlev içerebilir. Birçok yaygın işlev arasından seçim yapabilir veya kendi işlevlerinizi oluşturabilirsiniz.
İşlev kaynak ayarları ortam değişkenleri, kimlik doğrulaması, günlük kaydı ve CORS gibi tipik sunucusuz yapılandırmaları içerir.
Dayanıklı, durum bilgisi olan işlevler
Dayanıklı İşlevler durumunu koruyun veya Azure'da uzun süre çalışan işlevleri yönetin. JavaScript'te ilk dayanıklı işlevinizi oluşturun.
Statik web uygulamaları işlevleri içerir
Sunucusuz API'lere de ihtiyaç duyan statik bir ön uç istemci uygulaması (Angular, React veya Vue gibi) geliştirirken, her ikisini birlikte paketlemek için işlevleri olan Statik Web uygulamalarını kullanın.
İstemci uygulamasından API'ye ara sunucu
API'nizi Statik web uygulamanızla dağıtmayı planlıyorsanız, istemci uygulamanızın API çağrılarına ara sunucu eklemeniz gerekmez. Proxy, yerel ve uzaktan geliştirme de dahil olmak üzere sizin için oluşturulur.
Statik Web Uygulaması ve Azure İşlevleri ile yerel olarak geliştirme yaparken, Azure Static Web App CLI yerel ara sunucu sağlar.
Azure İşleviniz için yapılandırmanız gereken yaygın güvenlik ayarları
Azure İşlevinizin güvenliğini sağlamak için aşağıdaki yaygın ayarlar yapılandırılmalıdır:
- Yapılandırma ayarları
- Yapılandırma ayarları - Güvenliği etkilemeyen ayarlar için Uygulama ayarları oluşturun.
- Gizli diziler ve anahtarlar: Güvenliği etkileyen tüm ayarlar için bir Azure Key Vault oluşturun ve bu ayarları Key Vault'unuzdan çekin.
- Platform ayarlarında FTP durumu - varsayılan olarak tümüne izin verilir. Güvenliği geliştirmek için yalnızca FTPS'yi seçmeniz veya FTP'yi tamamen devre dışı bırakmanız gerekir.
- API CORS - İstemci etki alanlarınızı yapılandırın. Tüm etki alanlarını gösteren öğesini kullanmayın
*
. - HTTPS için TLS/SSL ayarı - API'niz varsayılan olarak HTTP ve HTTPS isteklerini kabul eder. HTTPS'yi yalnızca TLS/SSL ayarlarında etkinleştirin. İşlev uygulamanız güvenli bir alt etki alanında barındırılıyor olduğundan, bunu hemen kullanabilir (ile
https
) ve bir etki alanı adı satın almayı geciktirebilir ve hazır olana kadar etki alanı için sertifika kullanabilirsiniz. - Dağıtım Yuvaları - veya
preflight
gibistage
bir dağıtım yuvası oluşturun ve bu yuvaya gönderme. Hazır olduğunuzda bu aşama yuvasını üretimle değiştirin. El ile üretime gönderme alışkanlığı edinme. Kod tabanınızın yuvadaki sürümü veya işlemeyi gösterebilmesi gerekir.
Azure İşlevleri geliştirme önkoşulları
HTTP istekleri için basit bir JavaScript işlevi
İşlev, istek ve bağlam bilgileriyle dışarı aktarılan zaman uyumsuz bir işlevdir. Azure portalındaki aşağıdaki kısmi ekran görüntüsünde işlev kodu gösterilmektedir.
import { app, HttpRequest, HttpResponseInit, InvocationContext } from "@azure/functions";
export async function status(request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> {
context.log(`Http function processed request for url "${request.url}"`);
return {
status: 200,
jsonBody: {
env: process.env
}
};
};
app.http('status', {
route: "status",
methods: ['GET'],
authLevel: 'anonymous',
handler: status
});
Visual Studio Code ve uzantılarla işlevleri yerel olarak geliştirme
Visual Studio Code kullanarak ilk işlevinizi oluşturun. Visual Studio Code, Azure İşlevleri uzantısıyla ayrıntıların çoğunu basitleştirir.
Bu uzantı, yaygın şablonlarla JavaScript ve TypeScript işlevleri oluşturmanıza yardımcı olur.
Diğer Azure hizmetleri ile tümleştirme
Sunucusuz işlevler sunucu yapılandırmasının ve yönetiminin büyük bir kısmını kaldırır, böylece yalnızca ihtiyacınız olan koda odaklanabilirsiniz.
- Düşük kodlu işlevler: Azure İşlevleri ile, tetikleyici bağlamalarını kullanarak diğer Azure hizmetleri tarafından tetiklenen veya diğer Azure hizmetine çıkış veren işlevler oluşturabilirsiniz.
- Yüksek kod işlevleri: Daha fazla denetim için diğer Azure hizmetlerini koordine etmek ve denetlemek için Azure SDK'larını kullanın.
Sonraki adımlar
Node.js ile Azure İşlevleri hakkında daha fazla bilgi edinmek için aşağıdaki tabloyu kullanın