Aracılığıyla paylaş


Azure İşlevini Tümleştir

Giriş

Bu öğreticide, kullanıcıyla ilgili bilgileri almak için bir Azure İşlevi'nin nasıl ayarlanacağına ilişkin ayrıntılı yönergeler sağlanır. Azure İşlevi'nin ayarlanması kesinlikle önerilir. Contoso uygulamasında uygulama parametrelerinin (kullanıcı kimliği ve kullanıcı belirteci gibi) sabit kodlu olmasını önlemeye yardımcı olur. Bu bilgiler çok gizlidir. Daha da önemlisi, kullanıcı belirteçlerini arka uçta düzenli aralıklarla yenileriz. Kullanıcı kimliğini ve belirteç bileşimini sabit kodlamak için her yenilemeden sonra değerin düzenlenmesi gerekir.

Önkoşullar

Başlamadan önce şunları yaptığınızdan emin olun:

  • Aktif bir abonelikle bir Azure hesabı oluşturun. Ayrıntılar için bkz. Ücretsiz hesap oluşturma.
  • Visual Studio Code'u yükleyin.

İşlevleri ayarlama

  1. Visual Studio Code'da Azure İşlevi uzantısını yükleyin. Visual Studio Code'un eklenti tarayıcısından veya bu bağlantıyı izleyerek yükleyebilirsiniz
  2. Bu bağlantıyı izleyerek yerel bir Azure İşlevi uygulaması ayarlayın. JavaScript'te HTTP tetikleyici şablonunu kullanarak yerel bir işlev oluşturmamız gerekir.
  3. Azure İletişim Hizmetleri kitaplıklarını yükleyin. Kullanıcı Erişim Belirteçleri oluşturmak için Kimlik kitaplığını kullanacağız. JavaScript için Azure İletişim Hizmetleri Kimlik SDK'sını yüklemek için yerel Azure İşlevi uygulama dizininizde npm install komutunu çalıştırın.
    npm install @azure/communication-identity --save
  1. index.js Dosyayı aşağıdaki kod gibi görünecek şekilde değiştirin:
    const { CommunicationIdentityClient } = require('@azure/communication-identity');
    const connectionString = '<your_connection_string>'
    const acsEndpoint = "<your_ACS_endpoint>"
    
    module.exports = async function (context, req) {
        let tokenClient = new CommunicationIdentityClient(connectionString);
    
        const userIDHolder = await tokenClient.createUser();
        const userId = userIDHolder.communicationUserId
    
        const userToken = await (await tokenClient.getToken(userIDHolder, ["chat"])).token;
    
        context.res = {
            body: {
                acsEndpoint,
                userId,
                userToken
            }
        };
    }

Yukarıdaki kodun açıklaması: İlk satır arabirimini CommunicationIdentityClientiçeri aktarır. İkinci satırdaki bağlantı dizesi, Azure portalındaki Azure İletişim Hizmetleri kaynağınızda bulunabilir. ACSEndpoint, oluşturulan Azure İletişim Hizmetleri kaynağının URL'sidir.

  1. Visual Studio Code'da yerel Azure İşlevi klasörünü açın. index.js dosyasını açın ve yerel Azure İşlevini çalıştırın. Yerel bir Azure İşlevi uç noktası oluşturulur ve terminalde yazdırılır. Yazdırılan ileti şuna benzer:
Functions:
HttpTrigger1: [GET,POST] http://localhost:7071/api/HttpTrigger1

Bağlantıyı tarayıcıda açın. Sonuç şu örneğe benzer olacaktır:

    {
      "acsEndpoint": "<Azure Function endpoint>",
      "userId": "8:acs:a636364c-c565-435d-9818-95247f8a1471_00000014-f43f-b90f-9f3b-8e3a0d00c5d9",
      "userToken": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjEwNiIsIng1dCI6Im9QMWFxQnlfR3hZU3pSaXhuQ25zdE5PU2p2cyIsInR5cCI6IkpXVCJ9.eyJza3lwZWlkIjoiYWNzOmE2MzYzNjRjLWM1NjUtNDM1ZC05ODE4LTk1MjQ3ZjhhMTQ3MV8wMDAwMDAxNC1mNDNmLWI5MGYtOWYzYi04ZTNhMGQwMGM1ZDkiLCJzY3AiOjE3OTIsImNzaSI6IjE2Njc4NjI3NjIiLCJleHAiOjE2Njc5NDkxNjIsImFjc1Njb3BlIjoiY2hhdCIsInJlc291cmNlSWQiOiJhNjM2MzY0Yy1jNTY1LTQzNWQtOTgxOC05NTI0N2Y4YTE0NzEiLCJyZXNvdXJjZUxvY2F0aW9uIjoidW5pdGVkc3RhdGVzIiwiaWF0IjoxNjY3ODYyNzYyfQ.t-WpaUUmLJaD0V2vgn3M5EKdJUQ_JnR2jnBUZq3J0zMADTnFss6TNHMIQ-Zvsumwy14T1rpw-1FMjR-zz2icxo_mcTEM6hG77gHzEgMR4ClGuE1uRN7O4-326ql5MDixczFeIvIG8s9kAeJQl8N9YjulvRkGS_JZaqMs2T8Mu7qzdIOiXxxlmcl0HeplxLaW59ICF_M4VPgUYFb4PWMRqLXWjKyQ_WhiaDC3FvhpE_Bdb5U1eQXDw793V1_CRyx9jMuOB8Ao7DzqLBQEhgNN3A9jfEvIE3gdwafpBWlQEdw-Uuf2p1_xzvr0Akf3ziWUsVXb9pxNlQQCc19ztl3MIQ"
    }
  1. Yerel işlevi buluta dağıtın. Daha fazla ayrıntı bu belgelerde bulunabilir.

  2. Dağıtılan Azure İşlevini test edin. İlk olarak Azure portalda Azure İşlevinizi bulun. Ardından Azure İşlevi uç noktasını almak için "İşlev URL'sini Al" düğmesini kullanın. Gördüğünüz sonuç, 5. adımda gösterilene benzer olmalıdır. Uygulama parametrelerini başlatmak için uygulamada Azure İşlevi uç noktası kullanılır.

  3. Hedef Azure İşlevi kaynağını çağırmak ve döndürülen JSON nesnesinden Azure İletişim Hizmetleri uç noktasını, kullanıcı kimliği ve kullanıcı belirtecini almak için UserTokenClient fonksiyonunu uygulayın. Kullanım için örnek uygulamaya bakın.

Sorun giderme rehberi

  1. Azure İşlevi uzantısı yerel işlevi Azure buluta dağıtamadıysa, bunun nedeni büyük olasılıkla Visual Studio Code sürümünün ve kullanılan Azure İşlevi uzantısının bir hataya neden olmasıdır. Bu sürüm bileşiminin çalışması test edilmiştir: Visual Studio Code sürümü 1.68.1 ve Azure İşlevi uzantısı sürümü 1.2.1.
  2. Uygulama sabitlerini başlatma yeri karmaşıktır ancak önemlidir. Android hızlı başlangıç sohbetini bir kez daha kontrol edin. Özellikle, "Uygulama sabitlerini ayarlama" bölümündeki vurgu notuna dikkat edin ve kullandığınız sürümün örnek uygulamasıyla karşılaştırın.

(İsteğe bağlı) Azure İşlevi uç noktasının güvenliğini sağlama

Tanıtım amacıyla, bu örnek varsayılan olarak genel olarak erişilebilen bir uç nokta kullanarak bir Azure İletişim Hizmetleri belirteci getirir. Üretim senaryolarında bir seçenek, kendi belirteçlerinizi sağlamak için kendi güvenli uç noktanızı kullanmaktır.

Ek yapılandırmayla, bu örnek Microsoft Entra tarafından korunan uç noktaya bağlantıyı destekler, böylece uygulamanın Azure İletişim Hizmetleri belirtecini alması için kullanıcı girişi gereklidir. Kullanıcının uygulamaya erişmek için Microsoft hesabıyla oturum açması gerekir. Kullanıcıların oturum açması gerekirken bu kurulum güvenlik düzeyini artırır. Kullanım örneklerine göre etkinleştirilip etkinleştirilmeyeceğine karar verin.

Şu anda örnek kodda Microsoft Entra Id'yi desteklemediğimize dikkat edin. Uygulamanızda ve Azure İşlevi'nde etkinleştirmek için aşağıdaki bağlantıları izleyin:

Uygulamanızı Microsoft Entra Id (Android platform ayarlarını kullanarak) altına kaydedin.

App Service veya Azure İşlevleri uygulamanızı Microsoft Entra ID oturum açma özelliğini kullanacak şekilde yapılandırın.