Azure Cosmos DB データベースを Azure Spring Apps のアプリケーションに接続する
Note
Basic、Standard、Enterprise プランは、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 データベースに接続する方法を示します。
前提条件
- Azure Spring Apps にデプロイされたアプリケーション。 詳細については、「クイックスタート: 初めてのアプリケーションを Azure Spring Apps にデプロイする」を参照してください。
- Azure Cosmos DB データベース インスタンス。
- Azure CLI バージョン 2.45.0 以上。
プロジェクトを準備する
次の依存関係のいずれかを、アプリケーションの 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>
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 と同じ機能を備えており、対話型エクスペリエンスを提供します。
Azure portal で Azure Spring Apps インスタンスを選択し、ナビゲーション メニューから [アプリ] を選択します。 接続するアプリを選択し、ナビゲーション メニューで [Service Connector] を選択します。
[作成] を選択します
[基本] タブの [サービスの種類] で [Cosmos DB] を選択し、サブスクリプションを選択します。 [API の種類] で [コア (SQL)] を選択し、Cosmos DB アカウントとデータベースを選択します。 [クライアントの種類] で [Java] を選択し、 [次へ: 認証]を選択します。 データベースをまだ作成していない場合は、「 クイックスタート: Azure portal から Azure Cosmos DB アカウント、データベース、コンテナー、および項目を作成する」をご覧ください。
[認証] タブで、[接続文字列] を選択します。 Service Connector は、Cosmos DB アカウントからアクセス キーを自動的に取得します。 [次へ: ネットワーク] を選択します。
[ネットワーク] タブで、 [Configure firewall rules to enable access to target service] (ターゲット サービスへのアクセスを有効にするようにファイアウォール規則を構成する) を選択し、 [次へ: 確認と作成] を選択します。
[確認と作成] タブで、検証が成功するまで待ってから、 [作成]を選択します。 作成が完了するまでに数分かかることがあります。
Spring アプリと Cosmos DB データベース間の接続が生成されたら、[Service Connector] ページでそれを確認し、展開ボタンを選択すると、構成された接続変数を表示できます。
次のステップ
この記事では、Azure Spring Apps のアプリケーションを Azure Cosmos DB データベースに接続する方法について説明しました。 アプリケーションへのサービス接続の詳細については、「Azure Cache for Redis キャッシュへの接続」を参照してください。