Bagikan melalui


Menggunakan Emulator Lokal Azure SignalR untuk pengembangan tanpa server

Saat mengembangkan aplikasi tanpa server, kami menyediakan Emulator Lokal Azure SignalR untuk mempermudah pengembangan dan integrasi lokal. Emulator hanya berfungsi untuk skenario tanpa server, untuk mode Default yang bertindak sebagai proksi Oleh Azure SignalR Service, Anda dapat langsung menggunakan SignalR host mandiri untuk melakukan pengembangan lokal. Perhatikan juga bahwa emulator hanya berfungsi untuk jenis transportasi Sementara (yang default) dan tidak mendukung jenis transportasi Persisten .

Fitur yang tersedia

  • Aut
  • Dukungan Rest API terbaru
  • Upstram

Penting

String koneksi mentah muncul dalam artikel ini hanya untuk tujuan demonstrasi.

string koneksi menyertakan informasi otorisasi yang diperlukan aplikasi Anda untuk mengakses Azure SignalR Service. Kunci akses di dalam string koneksi mirip dengan kata sandi root untuk layanan Anda. Di lingkungan produksi, selalu lindungi kunci akses Anda. Gunakan Azure Key Vault untuk mengelola dan memutar kunci Anda dengan aman dan mengamankan string koneksi Anda menggunakan ID Microsoft Entra dan mengotorisasi akses dengan ID Microsoft Entra.

Hindari mendistribusikan kunci akses ke pengguna lain, melakukan hard-coding, atau menyimpannya di mana saja dalam teks biasa yang dapat diakses orang lain. Putar kunci Anda jika Anda yakin bahwa kunci tersebut mungkin telah disusupi.

Panduan

Kami menggunakan sampel tanpa server ini untuk menunjukkan cara menggunakan emulator.

String koneksi mentah muncul dalam artikel ini hanya untuk tujuan demonstrasi. Di lingkungan produksi, selalu lindungi kunci akses Anda. Gunakan Azure Key Vault untuk mengelola dan memutar kunci Anda dengan aman dan mengamankan string koneksi Anda menggunakan ID Microsoft Entra dan mengotorisasi akses dengan ID Microsoft Entra.

  1. Mengkloning repositori sampel ke lokal

    git clone https://github.com/Azure/azure-functions-signalrservice-extension.git
    cd azure-functions-signalrservice-extension/samples/bidirectional-chat
    
  2. Menginstal emulator

    dotnet tool install  -g Microsoft.Azure.SignalR.Emulator
    

    Atau perbarui emulator ke versi pratinjau terbaru jika sudah diinstal:

    dotnet tool update -g Microsoft.Azure.SignalR.Emulator
    
  3. Jalankan emulator asrs-emulator untuk mencantumkan semua perintah yang tersedia

    Cuplikan layar perintah yang tersedia untuk emulator.

  4. Mulai pengaturan upstream default menggunakan:

    asrs-emulator upstream init
    

    Ini membuat default settings.json ke folder saat ini, dengan upstream UrlTemplate default sebagai http://localhost:7071/runtime/webhooks/signalr, yang merupakan URL untuk pemicu fungsi lokal SignalR:

    {
    "UpstreamSettings": {
        "Templates": [
        {
            "UrlTemplate": "http://localhost:7071/runtime/webhooks/signalr",
            "EventPattern": "*",
            "HubPattern": "*",
            "CategoryPattern": "*"
        }
        ]
    }
    }
    

    Anda dapat mengedit file untuk membuat pola lebih terbatas, misalnya, mengubah HubPattern dari * ke chat. Saat file dimodifikasi, perubahannya dimuat panas ke emulator.

  5. Memulai emulator

    asrs-emulator start
    

    Setelah emulator berhasil dimulai, emulator menghasilkan ConnectionString yang akan digunakan nanti.

    Emulator juga menyediakan opsi lanjutan saat memulai, misalnya, Anda dapat menggunakan asrs-emulator start -p 8999 untuk menyesuaikan port yang digunakan emulator. Ketik asrs-emulator start --help untuk memeriksa opsi yang tersedia.

  6. Masuk ke subfolder csharp dan ganti nama local.settings.sample.json menjadi local.settings.json, gunakan ConnectionString yang dihasilkan oleh emulator untuk mengisi nilai AzureSignalRConnectionString di local.settings.json Anda. AzureWebJobsStorage Isi string koneksi penyimpanan Anda, misalnya, UseDevelopmentStorage=true saat menggunakan emulator penyimpanan. Simpan file dan jalankan fungsi di csharp subfolder dengan func start.

    Cuplikan layar fungsi tanpa server lokal sedang berjalan.

  7. Di browser, navigasikan ke untuk http://localhost:7071/api/index bermain dengan demo.

    Cuplikan layar demo obrolan tanpa server sedang berjalan.

Langkah berikutnya

Dalam artikel ini, Anda mempelajari cara menggunakan SignalR Service di aplikasi Anda. Periksa artikel berikut untuk mempelajari selengkapnya tentang SignalR Service.