Share via


Azure Cosmos DB データベースを Azure Spring Apps のアプリケーションに接続する

Note

Azure Spring Apps は、Azure Spring Cloud サービスの新しい名前です。 サービスの名前は新しくなりましたが、スクリーンショット、ビデオ、図などの資産の更新に取り組んでいる間、場所によってはしばらく古い名前が表示されます。

この記事の適用対象: ✔️ Java ✔️ C#

この記事の適用対象: ✔️ Basic または Standard ✔️ Enterprise

Spring Boot アプリケーションを手動で構成する代わりに、Azure Spring Apps を使用して、選択した Azure サービスをアプリケーションに自動的に接続できます。 この記事では、アプリケーションを Azure Cosmos DB データベースに接続する方法について説明します。

前提条件

プロジェクトを準備する

  1. アプリケーションのpom.xml ファイルに次のいずれかの依存関係を追加します。 API の種類に適した依存関係を選択します。

    • API の種類: NoSQL

      <dependency>
          <groupId>com.azure.spring</groupId>
          <artifactId>spring-cloud-azure-starter-data-cosmos</artifactId>
      </dependency>
      
    • API の種類: MongoDB

      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-mongodb</artifactId>
      </dependency>
      
    • API の種類: Cassandra

      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-cassandra</artifactId>
      </dependency>
      
  2. az spring app deploy を実行して現在のアプリを更新するか、az spring app deployment create を実行してこの変更のための新しいデプロイを作成します。

アプリを Azure Cosmos DB に接続する

Note

既定では、Service Connector はアプリケーション レベルで作成されます。 接続をオーバーライドするには、デプロイで他の接続をもう一度作成します。

Azure CLI の使用

次の例に示すように、Azure CLI を使用して、コマンドを使用 az spring connection create して Cosmos NoSQL データベースに接続するように Spring アプリを構成します。 この例の変数は必ず実際の値に置き換えてください。

Note

Azure Cosmos DB データベース設定の更新が完了するまでに数分かかる場合があります。

Note

Cosmos Cassandra を使用している場合は、--key_space--database Cosmos Table を使用している場合は、代わりに --database.--table 詳細については、「 クイック スタート: Azure CLI を使用して Azure Spring Apps でサービス接続を作成する」を参照してください。

az spring connection create cosmos-sql \
    --resource-group $AZURE_SPRING_APPS_RESOURCE_GROUP \
    --service $AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME \
    --app $APP_NAME \
    --target-resource-group $COSMOSDB_RESOURCE_GROUP \
    --account $COSMOSDB_ACCOUNT_NAME \
    --database $DATABASE_NAME \
    --secret

Note

Service Connector を初めて使用する場合は、まずコマンド az provider register --namespace Microsoft.ServiceLinker を実行して、Service Connector リソース プロバイダーを登録します。

ヒント

コマンド az spring connection list-support-types --output table を実行して、Azure Spring Apps でサポートされているターゲット サービスと認証方法の一覧を取得します。 コマンド az spring がシステムに認識されない場合は、az extension add --name spring を実行して、必要な拡張機能がインストールされていることを確認します。

Azure ポータルの使用

または、次の手順を実行して、Azure portal を使用してこの接続を構成することもできます。 Azure portal は、Azure CLI と同じ機能を備えており、対話型エクスペリエンスを提供します。

  1. Azure portal で Azure Spring Apps インスタンスを選択し、ナビゲーション メニューから [アプリ] を選択します。 接続するアプリを選択し、ナビゲーション メニューで [Service Connector] を選択します。

  2. [作成] を選択します

  3. [基本] タブの [サービスの種類] で [Cosmos DB] を選択し、サブスクリプションを選択します。 [API の種類] で [コア (SQL)] を選択し、Cosmos DB アカウントとデータベースを選択します。 [クライアントの種類] で [Java] を選択し、 [次へ: 認証]を選択します。 データベースをまだ作成していない場合は、「 クイックスタート: Azure portal から Azure Cosmos DB アカウント、データベース、コンテナー、および項目を作成する」をご覧ください。

  4. [認証] タブで、[接続文字列] を選択します。 Service Connector は、Cosmos DB アカウントからアクセス キーを自動的に取得します。 [次へ: ネットワーク] を選択します。

  5. [ネットワーク] タブで、 [Configure firewall rules to enable access to target service] (ターゲット サービスへのアクセスを有効にするようにファイアウォール規則を構成する) を選択し、 [次へ: 確認と作成] を選択します。

  6. [確認と作成] タブで、検証が成功するまで待ってから、 [作成]を選択します。 作成が完了するまでに数分かかることがあります。

  7. Spring アプリと Cosmos DB データベース間の接続が生成されたら、[Service Connector] ページでそれを確認し、展開ボタンを選択すると、構成された接続変数を表示できます。

次のステップ

この記事では、Azure Spring Apps のアプリケーションを Azure Cosmos DB データベースに接続する方法について説明しました。 サービスをアプリケーションに接続する方法の詳細については、「Azure Cache for Redis Cache への接続」を参照してください