MongoDB データソース¶
MongoDB データソースを作成するには、CREATE DATASOURCE MONGODB ステートメントを使用します。
CREATE [ OR REPLACE ] DATASOURCE MONGODB <name:identifier>
[ ID = <literal> ]
[ FOLDER = <literal> ]
CONNECTION (
{ URI = <literal>
| HOST = <literal> PORT = <integer>
}
[ <tls_options> ]
[ PROPERTIES ( [ <literal> = <literal> [, <literal> = <literal> ]* ] ) ]
)
[ AUTHENTICATION (
{ NONE
| [ AUTH_DATABASE ]
[ WITH PASS-THROUGH SESSION CREDENTIALS [ ( USE_KERBEROS ) ] ]
<authentication> }
)
]
[ POOL (
MAXACTIVE = <integer>
MINACTIVE = <integer>
CONNECTTIMEOUT = <integer>
SOCKETTIMEOUT = <integer>
WAITQUEUETIMEOUT = <integer>
)
]
[ <data_infrastructure> ]
[ DESCRIPTION = <literal> ]
[ SOURCECONFIGURATION ( [ <source configuration property>
[, <source configuration property> ]* ] ) ]
<tls_options> ::=
{
TLS
| TLS TWO_WAY_SSL (
CERTIFICATE <literal> [ ENCRYPTED ]
CERTIFICATE_PASSWORD <literal> [ ENCRYPTED ]
)
}
<authentication> ::=
{
<credentials>
| USE_KERBEROS <kerberos_credentials>
}
<credentials> ::=
{
[ VAULT_SECRET = <literal> ]
USERNAME = { <literal> | <vault_credentials> }
USERPASSWORD = { <literal> [ ENCRYPTED ] | <vault_credentials> }
[ <vault_conf> ]
}
<kerberos_credentials> ::=
{
[ VAULT_SECRET = <literal> ]
KRB_USERNAME = { <literal> | <vault_credentials> }
KRB_USERPASSWORD = { <literal> [ ENCRYPTED ] | <vault_credentials> }
[ <vault_conf> ]
| KRB_USERNAME = <literal> KRB_KEYTAB = <literal>
}
<vault_credentials> ::=
{
FROM_VAULT
| FROM_VAULT (VAULT_SECRET = <literal>, FIELD_AT_SECRET = DEFAULT)
}
<vault_conf> ::=
CREDENTIALS_VAULT (
STATUS { ON | DEFAULT }
[ PROVIDER
{ CYBERARK (
APPLICATION_ID = <literal>
{ AGENT
| AGENT_LESS (
CLIENT_KEY = <literal> [ ENCRYPTED ]
[ CLIENT_KEY_PASSWORD = <literal> [ ENCRYPTED ] ]
)
}
)
}
]
)
<data_infrastructure> ::=
DATA_INFRASTRUCTURE (
[ PROVIDER = <literal> ]
[ REGION = <literal> ]
)
既存の MongoDB データソースを変更するには、ALTER DATASOURCE MONGODB ステートメントを使用します。
ALTER DATASOURCE MONGODB <name:identifier>
[ CONNECTION (
{ URI = <literal>
| HOST = <literal> PORT = <integer>
}
[ <tls_options> ]
[ PROPERTIES ( [ <literal> = <literal> [, <literal> = <literal> ]* ] ) ]
)
]
[ AUTHENTICATION (
{ NONE
| [ AUTH_DATABASE ]
[ WITH PASS-THROUGH SESSION CREDENTIALS [ ( USE_KERBEROS ) ] ]
<authentication> }
)
]
[ POOL (
MAXACTIVE = <integer>
MINACTIVE = <integer>
CONNECTTIMEOUT = <integer>
SOCKETTIMEOUT = <integer>
WAITQUEUETIMEOUT = <integer>
)
]
[ <data_infrastructure> ]
[ DESCRIPTION = <literal> ]
[ SOURCECONFIGURATION ( [ <source configuration property>
[, <source configuration property> ]* ] ) ]
<tls_options> ::= (「 CREATE DATASOURCE MONGODB 」を参照)
<authentication> ::= (「 CREATE DATASOURCE MONGODB 」を参照)
<data_infrastructure> ::= (「 CREATE DATASOURCE MONGODB 」を参照)
これらのステートメントで利用する一部のパラメータの説明 :
OR REPLACE: 指定されている場合、同じ名前のデータソースが存在すれば、現在の定義が新しい定義で置き換えられます。FOLDER: データソースが保存されるフォルダの名前。CONNECTION: ソースへのコネクションパラメータを示す句。URI: データベースへの接続 URL (例: "mongodb://localhost:27017/")。HOSTおよびPORT: コネクションのホストとポート。TLS: コネクションで TLS を使用する必要があることを示すパラメータ。TLS TWO_WAY_SSL: コネクションで相互 (双方向 SSL) を使用する必要があることを示すパラメータ。CERTIFICATE: クライアント証明書ファイルの Base64 表示。CERTIFICATE_PASSWORD: 暗号化されている場合は証明書のパラフレーズ。
PROPERTIES: コネクションを構成するためのプロパティ (authSource、connectionTimeoutMS、replicaSet、ssl など)。
AUTHENTICATION: ソースへのコネクションで使用される認証を示す句。AUTH_DATABASE: 認証資格情報のソース (MongoDB では「authSource」オプション)。これは通常、資格情報が作成されたデータベースです。デフォルト値は「admin」です。このパラメータはHOSTとPORTコネクションでのみ使用できます。データベースに接続するために使用できる認証方法は以下のとおりです。
NONE: 認証なし。<credentials>: クエリの実行およびイントロスペクションプロセス (データソースの [Create base view] ダイアログでデータベースのデータベースやコレクションを表示するプロセス) 用に、データベースに接続する際にUSERNAMEとPASSWORDを使用します。USE_KERBEROS <kerberos_credentials>:KRB_USERPASSWORDまたはKRB_KEYTAB(keytab ファイルの Base64 表現) でKRB_USERNAMEを指定します。クエリの実行およびイントロスペクションプロセス (データソースの [Create base view] ダイアログでデータベースのデータベースやコレクションを表示するプロセス) 用に、データベースに接続する際に Kerberos を使用します。WITH PASS-THROUGH SESSION CREDENTIALS [ ( USE_KERBEROS ) ]: イントロスペクションプロセスにはログインとパスワードを使用し、クエリを実行するには、Virtual DataPort サーバーに接続されたクライアントの資格情報を使用します。クエリを実行するための資格情報は、Virtual DataPort サーバーへの接続に使用されるクライアントの認証方法に応じて、Kerberos またはログイン/パスワードになります。USE_KERBEROSを指定する場合、サーバーはログイン/パスワードを使用して Kerberos チケットを作成します。
CREDENTIALS_VAULT: データソースレベルで資格情報ボールトの構成をカスタマイズします。これは、さまざまな構成で複数のデータベースの資格情報を管理する必要がある場合に特に役立ちます。データソースごとに異なる構成を可能にすることで、資格情報管理プロセスのセキュリティと効率を高めることができます。
POOL: コネクションプールを構成する句。この句を指定しない場合、各パラメータにはデフォルト値が割り当てられます。MAXACTIVE: アクティブなコネクションの最大数 (デフォルト値: 100)。MINACTIVE: アクティブなコネクションの最小数 (デフォルト値: 0)。CONNECTTIMEOUT: コネクションのミリ秒単位のタイムアウト (デフォルト値: 10000)。SOCKETTIMEOUT: ソケットのミリ秒単位のタイムアウト (デフォルト値: 0)。WAITQUEUETIMEOUT: 待機キューのミリ秒単位のタイムアウト (デフォルト値: 120000)。
DATA_INFRASTRUCTURE: データソースがデプロイされるインフラストラクチャ情報を設定する句。PROVIDER: インフラストラクチャのプロバイダー名 (オンプレミス、Amazon Web Services、Microsoft Azure、Google Cloud Platform など)。REGION: リージョン名。
