このページでは、サポートされている認証方法とクライアントを示し、Service Connector を使用して Azure コンピューティング サービスから MongoDB Atlas クラスターを接続するために使用できるサンプル コードを示します。 Service Connector を使用せずに、他のプログラミング言語で MongoDB Atlas クラスターに接続できる場合があります。 このページには、サービス接続を作成するときに取得する既定の環境変数の名前と値も示されています。
サポートされているコンピューティング サービス
Service Connector を使用して、次のコンピューティング サービスを MongoDB Atlas クラスターに接続できます。
- Azure App Service
- Azure コンテナー アプリ
- Azure Functions (アジュール ファンクションズ)
- Azure Kubernetes Service (AKS)
サポートされている認証の種類とクライアントの種類
次の表は、Service Connector を使用してコンピューティング サービスを MongoDB Atlas クラスターに接続するためにサポートされている認証方法とクライアントの組み合わせを示しています。 "はい" はその組み合わせがサポートされていることを示し、"いいえ" はサポートされていないことを示します。
クライアントの種類 |
システムによって割り当てられた管理ID |
ユーザーが割り当てた管理ID |
シークレット/接続文字列 |
サービス プリンシパル |
。網 |
いいえ |
いいえ |
イエス |
いいえ |
Go (pg) |
いいえ |
いいえ |
イエス |
いいえ |
Java (JDBC) |
いいえ |
いいえ |
イエス |
いいえ |
Java - Spring Boot (JDBC) |
いいえ |
いいえ |
イエス |
いいえ |
Node.js(PG) |
いいえ |
いいえ |
イエス |
いいえ |
PHP (ネイティブ) |
いいえ |
いいえ |
イエス |
いいえ |
Python (psycopg2) |
いいえ |
いいえ |
イエス |
いいえ |
Python-Django |
いいえ |
いいえ |
イエス |
いいえ |
Ruby (ruby-pg) |
いいえ |
いいえ |
イエス |
いいえ |
無し |
いいえ |
いいえ |
イエス |
いいえ |
既定の環境変数名またはアプリケーション プロパティとサンプル コード
接続の認証の種類とクライアントの種類に応じて、次の表の接続の詳細とサンプル コードを参照して、コンピューティング サービスを MongoDB Atlas クラスターに接続します。 名前付け規則の詳細については、「Service Connector の内部構造」を参照してください。
接続文字列
Warnung
Microsoft では、使用可能な最も安全な認証フローを使用することをお勧めします。 この手順で説明されている認証フローでは、アプリケーションで非常に高い信頼度が要求されるため、他のフローには存在しないリスクが伴います。 このフローは、マネージド ID など、より安全なフローが実行可能ではない場合にのみ使用してください。
既定の環境変数名 |
説明 |
値の例 |
MONGODBATLAS_CLUSTER_CONNECTIONSTRING |
.NET MongoDB Atlas 接続文字列 |
mongodb+srv://<database-username>:<database-password>@<cluster-URL>/?retryWrites=true&w=majority&appName=Cluster0 |
既定の環境変数名 |
説明 |
値の例 |
MONGODBATLAS_CLUSTER_CONNECTIONSTRING |
JDBC MongoDB Atlas 接続文字列 |
jdbc:mongodb+srv://<database-username>:<database-password>@<cluster-URL>/?retryWrites=true&w=majority&appName=Cluster0 |
既定の環境変数名 |
説明 |
値の例 |
MONGODBATLAS_CLUSTER_CONNECTIONSTRING |
Python MongoDB Atlas 接続文字列 |
mongodb+srv://<database-username>:<database-password>@<cluster-URL>/?retryWrites=true&w=majority&appName=Cluster0 |
既定の環境変数名 |
説明 |
値の例 |
MONGODBATLAS_CLUSTER_CONNECTIONSTRING |
Django MongoDB Atlas 接続文字列 |
mongodb+srv://<database-username>:<database-password>@<cluster-URL>/?retryWrites=true&w=majority&appName=Cluster0 |
既定の環境変数名 |
説明 |
値の例 |
MONGODBATLAS_CLUSTER_CONNECTIONSTRING |
Go MongoDB Atlas 接続文字列 |
mongodb+srv://<database-username>:<database-password>@<cluster-URL>/?retryWrites=true&w=majority&appName=Cluster0 |
既定の環境変数名 |
説明 |
値の例 |
MONGODBATLAS_CLUSTER_CONNECTIONSTRING |
NodeJS MongoDB Atlas 接続文字列 |
mongodb+srv://<database-username>:<database-password>@<cluster-URL>/?retryWrites=true&w=majority&appName=Cluster0 |
既定の環境変数名 |
説明 |
値の例 |
MONGODBATLAS_CLUSTER_CONNECTIONSTRING |
PHP ネイティブ MongoDB Atlas 接続文字列 |
mongodb+srv://<database-username>:<database-password>@<cluster-URL>/?retryWrites=true&w=majority&appName=Cluster0 |
既定の環境変数名 |
説明 |
値の例 |
MONGODBATLAS_CLUSTER_CONNECTIONSTRING |
Ruby MongoDB Atlas の接続文字列 |
mongodb+srv:/<database-username>:<database-password>@<cluster-URL>/?retryWrites=true&w=majority&appName=Cluster0 |
既定の環境変数名 |
説明 |
値の例 |
MONGODBATLAS_CLUSTER_CONNECTIONSTRING |
MongoDB Atlas 接続文字列 |
mongodb+srv://<database-username>:<database-password>@<cluster-URL>/?retryWrites=true&w=majority&appName=Cluster0 |
サンプル コード
接続文字列を使用して MongoDB Atlas クラスターに接続するには、以下の手順とコードを参照してください。
依存関係をインストールします。
dotnet add package MongoDb.Driver
Service Connector によって追加された環境変数から接続文字列を取得し、MongoDB Atlas に接続します。
using MongoDB.Driver;
var connectionString = Environment.GetEnvironmentVariable("MONGODBATLAS_CLUSTER_CONNECTIONSTRING");
var client = new MongoClient(connectionString);
pom.xml ファイルに次の依存関係を追加します。
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.4.2</version>
</dependency>
Service Connector によって追加された環境変数から接続文字列を取得し、MongoDB Atlas に接続します。
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
String connectionString = System.getenv("MONGODBATLAS_CLUSTER_CONNECTIONSTRING");
MongoClientURI uri = new MongoClientURI(connectionString);
MongoClient mongoClient = null;
try {
mongoClient = new MongoClient(uri);
} finally {
if (mongoClient != null) {
mongoClient.close();
}
}
依存関係をインストールします。
pip install pymongo
Service Connector によって追加された環境変数から接続文字列を取得し、MongoDB Atlas に接続します。
import os
import pymongo
conn_str = os.environ.get("MONGODBATLAS_CLUSTER_CONNECTIONSTRING")
client = pymongo.MongoClient(conn_str)
- 依存関係をインストールします。
go get go.mongodb.org/mongo-driver/mongo
- Service Connector によって追加された環境変数から接続文字列を取得し、MongoDB Atlas に接続します。
import (
"context"
"fmt"
"log"
"os"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
)
ctx, cancel := context.WithTimeout(context.Background(), time.Second*10)
defer cancel()
mongoDBConnectionString = os.Getenv("MONGODBATLAS_CLUSTER_CONNECTIONSTRING")
clientOptions := options.Client().ApplyURI(mongoDBConnectionString).SetDirect(true)
c, err := mongo.Connect(ctx, clientOptions)
if err != nil {
log.Fatalf("unable to initialize connection %v", err)
}
err = c.Ping(ctx, nil)
if err != nil {
log.Fatalf("unable to connect %v", err)
}
- 依存関係をインストールします。
npm install mongodb
- Service Connector によって追加された環境変数から接続文字列を取得し、MongoDB Atlas に接続します。
const { MongoClient, ObjectId } = require('mongodb');
const url = process.env.MONGODBATLAS_CLUSTER_CONNECTIONSTRING;
const client = new MongoClient(url);
次のステップ
Service Connector の詳細については、以下のチュートリアルに従ってください。