.NET と Azure Identity を使用して WebPubSubServiceClient を作成する方法

この攻略ガイドでは、.NET で Microsoft Entra ID を使用して WebPubSubServiceClient を作成する方法について説明します。

必要条件

  • nuget.org から Azure.Identity をインストールします。

    dotnet add package Azure.Identity
    
  • nuget.org から Azure.Messaging.WebPubSub をインストールします

    dotnet add package Azure.Messaging.WebPubSub
    
  • DependencyInjection を使用している場合は、nuget.org から Microsoft.Extensions.Azure をインストールします

    dotnet add package Microsoft.Extensions.Azure
    

サンプル コード

  1. Azure Identity SDK を使用して TokenCredential を作成します。

    using Azure.Identity;
    
    namespace chatapp
    {
        public class Program
        {
            public static void Main(string[] args)
            {
                var credential = new DefaultAzureCredential();
            }
        }
    }
    

    credential は、TokenCredential クラスを継承する任意のクラスにすることができます。

    • EnvironmentCredential
    • ClientSecretCredential
    • ClientCertificateCredential
    • ManagedIdentityCredential
    • VisualStudioCredential
    • VisualStudioCodeCredential
    • AzureCliCredential

    詳細については、.NET 用の Azure Identity クライアント ライブラリに関するページを参照してください

  2. 次に、endpointhubcredential を使用して client を作成します。

    using Azure.Identity;
    using Azure.Messaging.WebPubSub;
    
    public class Program
    {
        public static void Main(string[] args)
        {
            var credential = new DefaultAzureCredential();
            var client = new WebPubSubServiceClient(new Uri("<endpoint>"), "<hub>", credential);
        }
    }
    

    または、BuilderExtensions を使用して IServiceCollections に挿入します。

    using System;
    
    using Azure.Identity;
    
    using Microsoft.Extensions.Azure;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.DependencyInjection;
    
    namespace chatapp
    {
        public class Startup
        {
            public Startup(IConfiguration configuration)
            {
                Configuration = configuration;
            }
    
            public IConfiguration Configuration { get; }
    
            public void ConfigureServices(IServiceCollection services)
            {
                services.AddAzureClients(builder =>
                {
                    var credential = new DefaultAzureCredential();
                    builder.AddWebPubSubServiceClient(new Uri("<endpoint>"), "<hub>", credential);
                });
            }
        }
    }
    

    このクライアントの使用方法については、.NET 用 Azure Web PubSub サービス クライアント ライブラリに関する記事を参照してください

完全なサンプル