次の方法で共有


Azure AI サービスとサービス コネクタを統合する

このページでは、サポートされている認証方法とクライアントを示し、サービス コネクタを使って Azure AI サービスを他のクラウド サービスに接続するために使用できるサンプル コードを示します。 他の方法を使って Azure AI サービスに接続できる場合もあります。 このページには、サービス接続を作成するときに取得する既定の環境変数の名前と値も示されています。

サポートされているコンピューティング サービス

サービス コネクタを使うと、次のコンピューティング サービスを Azure AI サービスに接続できます。

  • Azure App Service
  • Azure Container Apps
  • Azure Functions
  • Azure Kubernetes Service (AKS)
  • Azure Spring Apps

サポートされている認証の種類とクライアントの種類

次の表は、サービス コネクタを使った Azure AI サービスへのコンピューティング サービスの接続でサポートされている認証方法とクライアントの組み合わせを示したものです。 "はい" はその組み合わせがサポートされていることを示し、"いいえ" はサポートされていないことを示します。

クライアント タイプ システム割り当てマネージド ID ユーザー割り当てマネージド ID シークレット/接続文字列 サービス プリンシパル
.NET はい イエス イエス はい
Java はい イエス イエス はい
Node.js はい イエス イエス はい
Python はい イエス イエス はい
なし 有効 イエス イエス はい

この表は、表内のクライアントの種類と認証方法のすべての組み合わせがサポートされていることを示しています。 サービス コネクタを使って Azure AI サービスに接続するには、すべてのクライアントの種類で任意の認証方法を使用できます。

既定の環境変数名またはアプリケーション プロパティとサンプル コード

コンピューティング サービスを Azure AI サービスに接続するには、以下で示す接続の詳細を使います。 名前付け規則の詳細については、Service Connector の内部の記事を参照してください。

システム割り当てマネージド ID

既定の環境変数名 説明 サンプルの値
AZURE_AISERVICES_OPENAI_BASE Azure OpenAI エンドポイント https://<your-Azure-AI-Services-endpoint>.openai.azure.com/
AZURE_AISERVICES_COGNITIVESERVICES_ENDPOINT Azure Cognitive Services トークン プロバイダー サービス https://<your-Azure-AI-Services-endpoint>.cognitiveservices.azure.com/
AZURE_AISERVICES_SPEECH_ENDPOINT Speech to Text (Standard) API エンドポイント https://<location>.stt.speech.microsoft.com

サンプル コード

システム割り当てマネージド ID を使って Azure AI サービスに接続するには、以下の手順とコードを参照してください。

Azure クライアント ライブラリを使って、Azure AI サービスがサポートするさまざまなコグニティブ API にアクセスできます。 このサンプルでは、例として Azure AI Text Analytics を使用します。 コグニティブ API を直接呼び出すには、「Azure AI サービスに対する要求の認証」を参照してください。

  1. 次の依存関係をインストールします。 ここでは、例として Azure.AI.TextAnalytics を使用します。

    dotnet add package Azure.AI.TextAnalytics
    dotnet add package Azure.Identity
    
  2. Azure ID ライブラリを使って認証を行い、サービス コネクタによって追加された環境変数から Azure AI サービス エンドポイントを取得します。 次のコードを使用する場合は、使用する認証型のコード スニペットの一部をコメント解除します。

    using Azure.AI.TextAnalytics;
    using Azure.Identity;
    
    string endpoint = Environment.GetEnvironmentVariable("AZURE_AISERVICES_COGNITIVESERVICES_ENDPOINT");
    
    // Uncomment the following lines corresponding to the authentication type you want to use.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_AISERVICES_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_AISERVICES_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_AISERVICES_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_AISERVICES_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    TextAnalyticsClient languageServiceClient = new(
      new Uri(endpoint),
      credential);
    

ユーザー割り当てマネージド ID

既定の環境変数名 説明 サンプルの値
AZURE_AISERVICES_OPENAI_BASE Azure OpenAI エンドポイント https://<your-Azure-AI-Services-endpoint>.openai.azure.com/
AZURE_AISERVICES_COGNITIVESERVICES_ENDPOINT Azure Cognitive Services トークン プロバイダー サービス https://<your-Azure-AI-Services-endpoint>.cognitiveservices.azure.com/
AZURE_AISERVICES_SPEECH_ENDPOINT Speech to Text (Standard) API エンドポイント https://<location>.stt.speech.microsoft.com
AZURE_AISERVICES_CLIENTID クライアント ID <client-ID>

サンプル コード

ユーザー割り当てマネージド ID を使って Azure AI サービスに接続するには、以下の手順とコードを参照してください。

Azure クライアント ライブラリを使って、Azure AI サービスがサポートするさまざまなコグニティブ API にアクセスできます。 このサンプルでは、例として Azure AI Text Analytics を使用します。 コグニティブ API を直接呼び出すには、「Azure AI サービスに対する要求の認証」を参照してください。

  1. 次の依存関係をインストールします。 ここでは、例として Azure.AI.TextAnalytics を使用します。

    dotnet add package Azure.AI.TextAnalytics
    dotnet add package Azure.Identity
    
  2. Azure ID ライブラリを使って認証を行い、サービス コネクタによって追加された環境変数から Azure AI サービス エンドポイントを取得します。 次のコードを使用する場合は、使用する認証型のコード スニペットの一部をコメント解除します。

    using Azure.AI.TextAnalytics;
    using Azure.Identity;
    
    string endpoint = Environment.GetEnvironmentVariable("AZURE_AISERVICES_COGNITIVESERVICES_ENDPOINT");
    
    // Uncomment the following lines corresponding to the authentication type you want to use.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_AISERVICES_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_AISERVICES_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_AISERVICES_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_AISERVICES_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    TextAnalyticsClient languageServiceClient = new(
      new Uri(endpoint),
      credential);
    

接続文字列

既定の環境変数名 説明 サンプルの値
AZURE_AISERVICES_OPENAI_BASE Azure OpenAI エンドポイント https://<your-Azure-AI-Services-endpoint>.openai.azure.com/
AZURE_AISERVICES_COGNITIVESERVICES_ENDPOINT Azure Cognitive Services トークン プロバイダー サービス https://<your-Azure-AI-Services-endpoint>.cognitiveservices.azure.com/
AZURE_AISERVICES_SPEECH_ENDPOINT Speech to Text (Standard) API エンドポイント https://<location>.stt.speech.microsoft.com
AZURE_AISERVICES_KEY Azure AI サービスの API キー <api-key>

サンプル コード

接続文字列を使って Azure AI サービスに接続するには、以下の手順とコードを参照してください。

Azure クライアント ライブラリを使って、Azure AI サービスがサポートするさまざまなコグニティブ API にアクセスできます。 このサンプルでは、例として Azure AI Text Analytics を使用します。 コグニティブ API を直接呼び出すには、「Azure AI サービスに対する要求の認証」を参照してください。

  1. 次の依存関係をインストールします。 ここでは、例として Azure.AI.TextAnalytics を使用します。

    dotnet add package Azure.AI.TextAnalytics
    dotnet add package Azure.Core --version 1.40.0
    
  2. サービス コネクタによって追加された環境変数から、Azure AI サービス エンドポイントとキーを取得します。

    using Azure.AI.TextAnalytics;
    
    string endpoint = Environment.GetEnvironmentVariable("AZURE_AISERVICES_COGNITIVESERVICES_ENDPOINT")
    string key = Environment.GetEnvironmentVariable("AZURE_AISERVICES_KEY");
    
    TextAnalyticsClient languageServiceClient = new(
      new Uri(endpoint),
      new AzureKeyCredential(key));
    

サービス プリンシパル

既定の環境変数名 説明 サンプルの値
AZURE_AISERVICES_OPENAI_BASE Azure OpenAI エンドポイント https://<your-Azure-AI-Services-endpoint>.openai.azure.com/
AZURE_AISERVICES_COGNITIVESERVICES_ENDPOINT Azure Cognitive Services トークン プロバイダー サービス https://<your-Azure-AI-Services-endpoint>.cognitiveservices.azure.com/
AZURE_AISERVICES_SPEECH_ENDPOINT Speech to Text (Standard) API エンドポイント https://<location>.stt.speech.microsoft.com
AZURE_AISERVICES_CLIENTID クライアント ID <client-ID>
AZURE_AISERVICES_CLIENTSECRET クライアント シークレット <client-secret>
AZURE_AISERVICES_TENANTID テナント ID <tenant-ID>

サンプル コード

サービス プリンシパルを使って Azure AI サービスに接続するには、以下の手順とコードを参照してください。

Azure クライアント ライブラリを使って、Azure AI サービスがサポートするさまざまなコグニティブ API にアクセスできます。 このサンプルでは、例として Azure AI Text Analytics を使用します。 コグニティブ API を直接呼び出すには、「Azure AI サービスに対する要求の認証」を参照してください。

  1. 次の依存関係をインストールします。 ここでは、例として Azure.AI.TextAnalytics を使用します。

    dotnet add package Azure.AI.TextAnalytics
    dotnet add package Azure.Identity
    
  2. Azure ID ライブラリを使って認証を行い、サービス コネクタによって追加された環境変数から Azure AI サービス エンドポイントを取得します。 次のコードを使用する場合は、使用する認証型のコード スニペットの一部をコメント解除します。

    using Azure.AI.TextAnalytics;
    using Azure.Identity;
    
    string endpoint = Environment.GetEnvironmentVariable("AZURE_AISERVICES_COGNITIVESERVICES_ENDPOINT");
    
    // Uncomment the following lines corresponding to the authentication type you want to use.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_AISERVICES_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_AISERVICES_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_AISERVICES_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_AISERVICES_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    TextAnalyticsClient languageServiceClient = new(
      new Uri(endpoint),
      credential);
    

次のステップ

Service Connector の詳細については、以下のチュートリアルに従ってください。