Share via


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

  • Örneklerden oluşan Azure sunucusuz topluluk kitaplığı

İş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 gibi stage 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

Öğrenmek Örnek
Contoso Real Estate nedir? Contoso Emlak
Azure İşlevleri ile Sunucusuz API'ler oluşturma MicrosoftDocs/mslearn-build-api-azure-functions
Node.js Express API'lerini sunucusuz Azure İşlevleri API'ler halinde yeniden düzenleme MicrosoftDocs/mslearn-module-shifting-nodejs-express-apis-to-serverless
Azure İşlevleri ve Blob Depolama içeren bir dosyayı karşıya yükleme ve analiz etme Azure-Samples/msdocs-storage-bind-function-service