次の方法で共有


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

Note

BasicStandardEnterprise プランは、2025 年 3 月中旬以降非推奨になり、廃止期間は 3 年間です。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の廃止のお知らせ」を参照してください。

Standard 従量課金と専用プランは、2024 年 9 月 30 日以降に非推奨になり、6 か月後に完全にシャットダウンされます。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の Standard 従量課金および専用プランを Azure Container Apps に移行する」を参照してください。

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

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

Spring Boot アプリケーションを手動で構成するのではなく、選択した Azure サービスを、Azure Spring Apps を使用してアプリケーションに自動的に接続することができます。 この記事では、アプリケーションを 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

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

Azure CLI の使用

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

Note

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

Note

Cosmos Cassandra を使用している場合は、--database の代わりに --key_space を使用します。 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 Portal の使用

または、この接続を構成するために、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 キャッシュへの接続」を参照してください。