接続の確立
コネクタ内で利用可能なオブジェクトは、"cdata.mongodb" モジュールからアクセスできます。モジュールのオブジェクトを直接使用するには:
- モジュールを以下のようにインポートします。
import cdata.mongodb as mod
- 接続を確立するには、以下のような適切な接続文字列を使用してコネクタオブジェクトからconnect() メソッドを呼び出します。
mod.connect("Server=127.0.0.1;Port=27017;Database=test;User=test;Password=test;")
MongoDB への接続
次の接続プロパティを設定し、単一のMongoDB インスタンスに接続します。
- Server:MongoDB インスタンスが実行されているサーバーの名前またはアドレスに設定。ポートはここで指定できます。またはPort で指定します。
- Database:読み書きするデータベースに設定。
DNS シードリストを使用してMongoDB に接続
DSN シードリストを使用して接続するには、以下を設定します。- Server:"mongodb+srv://"" + MongoDB インスタンスが実行されているサーバーの名前に設定。ポートはここで指定できます。またはPort で指定します。
- Database:読み書きするデータベースに設定。
- DNSServer:必要なDNS エントリを解決できるDNSServer のホスト名に設定。
レプリカセットへの接続
レプリカセットに接続するには、前述の接続プロパティに加えて、 次の設定を行います。
- ReplicaSet:アドレスとポートで指定されたレプリカセット内のセカンダリサーバーのカンマ区切りリストに設定。
- SlaveOK:セカンダリ(スレーブ)サーバーから読み出す場合は、これをtrue に設定。
- ReadPreference:これを設定すると、本製品 のセカンダリサーバーからの読み出し方法が微調整されます。
セキュアなMongoDB への接続
UseSSL を設定すると、接続時にSSL/TLS 暗号化をネゴシエートできます。
MongoDB 接続の認証
サポートされているAuthScheme 認証タイプ(MONGODB-CR、SCRAM-SHA-1、SCRAM-SHA-256、PLAIN、GSSAPI)は、チャレンジレスポンス認証とLDAP です。
チャレンジレスポンス
チャレンジレスポンス認証では、User とPassword プロパティは、MongoDB データベースに格納されているユーザー名とパスワードに対応しています。1つのデータベースのデータに接続し、別のデータベースを認証する必要がある場合は、Database とAuthDatabase の両方を設定します。
LDAP
LDAP 認証を使用するには、AuthDatabase を"$external" に設定し、AuthScheme をPLAIN に設定します。この値はSASL PLAIN メカニズムを指定します。このメカニズムは視覚情報をプレーンテキストで送信するため、信頼できないネットワークではTLS/SSL なしでは使用できません。
X.509 証明書
X.509 証明書認証を使用するには、AuthScheme をX509 に設定します。
Amazon DocumentDB クラスターへの接続
Amazon DocumentDB に接続する前に、まずAmazon DocumentDB クラスターと、mongo シェルを含むEC2 インスタンスが実行されていることを確認する必要があります。
次に、EC2 インスタンスへのSSH トンネルを以下のように設定します。
- AWS 管理コンソールから、[サービス]->[データベース]->[Amazon DocumentDB]を選択します。DocumentDB 管理ページから、[クラスター]を選択して、クラスターをクリックします。
- [接続]セクションで、サンプル接続文字列にある--host の値とそのポートに注意してください。
- [サービス]->[Compute]->[EC2]に移動します。[実行中のインスタンス]を選択します。
- インスタンスを選択して、[接続]ボタンをクリックします。
- [Example]セクションで、<ami_username>@<Public DNS> の形式で示される、インスタンスとユーザーを識別する値に注意してください。
- お好みのSSH クライアントで、EC2インスタンスの[接続]ページのHost Name(username@publicDNS)とPort22 を使用して、EC2 インスタンスへの接続を確立します。
- 認証用に、EC2インスタンスの秘密鍵ファイルを指定します(Putty ではキーを.pem から.ppk に変換する必要があります)。
- DocumentDB クラスターページのポートとホスト名を使用して、SSH トンネルを構成します。
- EC2仮想マシンに接続を確立します。
DocumentDB クラスターに接続するには、以下を指定します。
- Server:SSH トンネルをホストしているマシン名に設定。
- Port:SSH トンネルがホストされているポートに設定。
- User:DocumentDB クラスターのプロビジョニングに使用するマスターユーザー名に設定。
- Password:DocumentDB クラスターのプロビジョニング時に設定したマスターパスワードに設定。
- UseSSL:true に設定。
- UseFindAPI:true に設定。
MongoDB API を使用したCosmosDB への接続
MongoDB API を使ってCosmos DB アカウントに接続するために必要な接続文字列を取得するには、Azure Portal にログインして[Azure Cosmos DB]を選択し、自分のアカウントを選択します。[Settings]セクションで、[Connection String]をクリックして次の値を設定します。
- Server:Host 値(アカウント用にプロビジョニングされたサーバーのFQDN)に設定。ポートもここで指定できます。またはPort で指定します。
- Port:ポートに設定。
- Database:読み書きするデータベースに設定。
- User:データベースユーザーに設定。
- Password:ユーザーのパスワードに設定。