ソース構成テンプレート
有効な各ソースの構成ファイル形式および各構成パラメータの用途について学習します。
JSONファイル
NoSQL Database MigratorのソースとしてのJSONファイルの構成ファイル形式を次に示します。
構成テンプレート
"source" : {
"type" : "file",
"format" : "json",
"dataPath": "</path/to/a/json/file>",
"schemaInfo": {
"schemaPath": "</path/to/schema/file>"
}
}
ソース・パラメータ
type
-
用途: ソース・タイプを識別します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"type" : "file"
format
-
用途: ソースの形式を指定します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"format" : "json"
dataPath
-
用途: 移行するJSONデータを含むファイルまたはディレクトリへの絶対パスを指定します。
このデータがシンクで定義されているNoSQL表スキーマと一致することを確認する必要があります。ディレクトリを指定すると、NoSQL Database Migratorによって、そのディレクトリ内の拡張子が
.json
のすべてのファイルが移行対象として識別されます。サブディレクトリはサポートされていません。 - データ型: 文字列
- 必須(Y/N): Y
-
例:
-
JSONファイルの指定
"dataPath" : "/home/user/sample.json"
-
ディレクトリの指定
"dataPath" : "/home/user"
-
schemaInfo
-
用途: 移行対象のソース・データのスキーマを指定します。このスキーマはNoSQLシンクに渡されます。
- データ型: オブジェクト
- 必須(Y/N): N
schemaInfo.schemaPath
-
用途: 移行対象のNoSQL表のDDL文を含むスキーマ定義ファイルへの絶対パスを指定します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"schemaInfo" : { "schemaPath" : "/home/user/mytable/Schema/schema.ddl" }
OCIオブジェクト・ストレージ・バケットのJSONファイル
NoSQL Database MigratorのソースとしてのOCIオブジェクト・ストレージ・バケットのJSONファイルの構成ファイル形式を次に示します。
ノート:
OCIオブジェクト・ストレージのソース・タイプの有効なシンク・タイプは、nosqldb
およびnosqldb_cloud
です。
構成テンプレート
"source" : {
"type" : "object_storage_oci",
"format" : "json",
"endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
"bucket" : "<bucket name>",
"prefix" : "<object prefix>",
"schemaInfo" : {
"schemaObject" : "<object name>"
},
"credentials" : "</path/to/oci/config/file>",
"credentialsProfile" : "<profile name in oci config file>",
"useInstancePrincipal" : <true|false>
}
ソース・パラメータ
type
-
用途: ソース・タイプを識別します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"type" : "object_storage_oci"
format
-
用途: ソースの形式を指定します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"format" : "json"
endpoint
-
用途: OCIオブジェクト・ストレージ・サービスのエンドポイントURLまたはリージョンIDを指定します。
完全なURLまたはリージョンIDのみを指定できます。Oracle NoSQL Database Cloud Serviceでサポートされているデータ・リージョンのリストは、Oracle NoSQL Database Cloud Serviceの使用のデータ・リージョンと関連サービスのURLを参照してください。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
-
リージョンID:
"endpoint" : "us-ashburn-1"
-
URL形式:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
bucket
-
用途: ソースJSONファイルを含むバケットの名前を指定します。必要なバケットがOCIオブジェクト・ストレージ・インスタンスにすでに存在し、読取り権限があることを確認してください。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"bucket" : "staging_bucket"
prefix
-
用途: バケットから移行されるオブジェクトをフィルタするために使用します。バケットに存在する指定した接頭辞を持つすべてのオブジェクトが移行されます。接頭辞の詳細は、接頭辞および階層を使用したオブジェクト・ネーミングに関する項を参照してください。
値を指定しない場合、フィルタは適用されず、バケット内に存在するすべてのオブジェクトが移行されます。
- データ型: 文字列
- 必須(Y/N): N
- 例:
"prefix" : "my_table/Data/000000.json"
(000000.json
のみが移行されます)"prefix" : "my_table/Data"
(接頭辞my_table/Data
を持つすべてのオブジェクトが移行されます)
schemaInfo
-
用途: 移行対象のソース・データのスキーマを指定します。このスキーマはNoSQLシンクに渡されます。
- データ型: オブジェクト
- 必須(Y/N): N
schemaInfo.schemaObject
-
用途: 移行対象データのNoSQL表スキーマ定義が格納されるバケット内のオブジェクトの名前を指定します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"schemaInfo" : { "schemaObject" : "mytable/Schema/schema.ddl" }
credentials
-
用途: OCI資格証明を含むファイルへの絶対パス。
指定しない場合は、デフォルトで
$HOME/.oci/config
に設定されます。資格証明ファイルの例は、構成例を参照してください。
ノート:
credentialsおよびuseInstancePrincipalパラメータは個別に必須ではありませんが、これらのパラメータの1つを指定する必要があります。また、この2つのパラメータは相互に排他的です。これらのパラメータのうち1つのみを指定します。両方を同時に指定することはできません。 - データ型: 文字列
- 必須(Y/N): N
- 例:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
用途: Oracle NoSQL Database Cloud Serviceへの接続に使用される構成プロファイルの名前。ユーザー・アカウント資格証明は、「プロファイル」と呼ばれます。
この値を指定しない場合は、デフォルトで
DEFAULT
プロファイルに設定されます。ノート:
このパラメータは、credentialsパラメータが指定されている場合のみ有効です。 - データ型: 文字列
- 必須(Y/N): N
- 例:
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
useInstancePrincipal
-
用途: NoSQL Migratorツールでインスタンス・プリンシパル認証を使用してOracle NoSQL Database Cloud Serviceに接続するかどうかを指定します。インスタンス・プリンシパル認証方法の詳細は、「ソースおよびシンク・セキュリティ」を参照してください。
指定しなかい場合は、デフォルトでfalseに設定されます。
ノート:
- これは、OCIでホストされているVMで実行されているNoSQL Database Migratorツールなど、OCIコンピュート・インスタンス内でNoSQL Database Migratorツールが実行されている場合のみサポートされます。
- credentialsおよびuseInstancePrincipalパラメータは個別に必須ではありませんが、これらのパラメータの1つを指定する必要があります。また、この2つのパラメータは相互に排他的です。これらのパラメータのうち1つのみを指定します。両方を同時に指定することはできません。
- データ型: ブール
- 必須(Y/N): N
-
例:
"useInstancePrincipal" : true
MongoDB形式のJSONファイル
NoSQL Database MigratorのソースとしてのMongoDB形式のJSONファイルの構成ファイル形式を次に示します。
構成テンプレート
"source" : {
"type" : "file",
"format" : "mongodb_json",
"dataPath": "</path/to/a/json/file>",
"schemaInfo": {
"schemaPath": "</path/to/schema/file>"
}
}
ソース・パラメータ
type
-
用途: ソース・タイプを識別します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"type" : "file"
format
-
用途: ソースの形式を指定します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"format" : "mongodb_json"
dataPath
-
用途: MongoDBにエクスポートされた、移行するJSONデータを含むファイルまたはディレクトリへの絶対パスを指定します。
mongoexportツールを使用してこれらのファイルを生成しておく必要があります。詳細は、mongoexportを参照してください。
mongoexportツールを使用して正規モードまたは緩和モードで生成されるMongoDB形式のJSONファイルを指定できます。どちらのモードも、移行のためにNoSQL Database Migratorでサポートされています。
ディレクトリを指定すると、NoSQL Database Migratorによって、そのディレクトリ内の拡張子が
.json
のすべてのファイルが移行対象として識別されます。サブディレクトリはサポートされていません。このデータがシンクで定義されているNoSQL表スキーマと一致することを確認する必要があります。 - データ型: 文字列
- 必須(Y/N): Y
-
例:
-
MongoDB形式のJSONファイルの指定
"dataPath" : "/home/user/sample.json"
-
ディレクトリの指定
"dataPath" : "/home/user"
-
schemaInfo
-
用途: 移行対象のソース・データのスキーマを指定します。このスキーマはNoSQLシンクに渡されます。
- データ型: オブジェクト
- 必須(Y/N): N
schemaInfo.schemaPath
-
用途: 移行対象のNoSQL表のDDL文を含むスキーマ定義ファイルへの絶対パスを指定します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"schemaInfo" : { "schemaPath" : "/home/user/mytable/Schema/schema.ddl" }
OCIオブジェクト・ストレージ・バケット内のMongoDB形式のJSONファイル
NoSQL Database MigratorのソースとしてのOCIオブジェクト・ストレージ・バケットのMongoDB形式のJSONファイルの構成ファイル形式を次に示します。
ノート:
OCIオブジェクト・ストレージのソース・タイプの有効なシンク・タイプは、nosqldb
およびnosqldb_cloud
です。
構成テンプレート
"source" : {
"type" : "object_storage_oci",
"format" : "mongodb_json",
"endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
"bucket" : "<bucket name>",
"prefix" : "<object prefix>",
"schemaInfo" : {
"schemaObject" : "<object name>"
},
"credentials" : "</path/to/oci/config/file>",
"credentialsProfile" : "<profile name in oci config file>",
"useInstancePrincipal" : <true|false>
}
ソース・パラメータ
type
-
用途: ソース・タイプを識別します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"type" : "object_storage_oci"
format
-
用途: ソースの形式を指定します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"format" : "mongodb_json"
endpoint
-
用途: OCIオブジェクト・ストレージ・サービスのエンドポイントURLまたはリージョンIDを指定します。
完全なURLまたはリージョンIDのみを指定できます。Oracle NoSQL Database Cloud Serviceでサポートされているデータ・リージョンのリストは、Oracle NoSQL Database Cloud Serviceの使用のデータ・リージョンと関連サービスのURLを参照してください。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
-
リージョンID:
"endpoint" : "us-ashburn-1"
-
URL形式:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
bucket
-
用途: MongoDB形式のソースJSONファイルを含むバケットの名前を指定します。必要なバケットがOCIオブジェクト・ストレージ・インスタンスにすでに存在し、読取り権限があることを確認してください。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"bucket" : "staging_bucket"
prefix
-
用途: バケットから移行されるオブジェクトをフィルタするために使用します。バケットに存在する指定した接頭辞を持つすべてのオブジェクトが移行されます。接頭辞の詳細は、接頭辞および階層を使用したオブジェクト・ネーミングに関する項を参照してください。
値を指定しない場合、フィルタは適用されず、バケット内に存在するすべてのMongoDB JSON形式のオブジェクトが移行されます。mongoexportユーティリティを使用してMongoDBからデータを抽出し、OCIオブジェクト・ストレージ・バケットにアップロードします。詳細は、mongoexportを参照してください。
値を指定しない場合、フィルタは適用されず、バケット内に存在するすべてのオブジェクトが移行されます。
- データ型: 文字列
- 必須(Y/N): N
- 例:
"prefix" : "mongo_export/Data/table.json"
(table.json
のみが移行されます)"prefix" : "mongo_export/Data"
(接頭辞mongo_export/Data
を持つすべてのオブジェクトが移行されます)
schemaInfo
-
用途: 移行対象のソース・データのスキーマを指定します。このスキーマはNoSQLシンクに渡されます。
- データ型: オブジェクト
- 必須(Y/N): N
schemaInfo.schemaObject
-
用途: 移行対象データのNoSQL表スキーマ定義が格納されるバケット内のオブジェクトの名前を指定します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"schemaInfo" : { "schemaObject" : "mytable/Schema/schema.ddl" }
credentials
-
用途: OCI資格証明を含むファイルへの絶対パス。
指定しない場合は、デフォルトで
$HOME/.oci/config
に設定されます。資格証明ファイルの例は、構成例を参照してください。
ノート:
credentialsおよびuseInstancePrincipalパラメータは個別に必須ではありませんが、これらのパラメータの1つを指定する必要があります。また、この2つのパラメータは相互に排他的です。これらのパラメータのうち1つのみを指定します。両方を同時に指定することはできません。 - データ型: 文字列
- 必須(Y/N): N
- 例:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
用途: Oracle NoSQL Database Cloud Serviceへの接続に使用される構成プロファイルの名前。ユーザー・アカウント資格証明は、「プロファイル」と呼ばれます。
この値を指定しない場合は、デフォルトで
DEFAULT
プロファイルに設定されます。ノート:
このパラメータは、credentialsパラメータが指定されている場合のみ有効です。 - データ型: 文字列
- 必須(Y/N): N
- 例:
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
useInstancePrincipal
-
用途: NoSQL Migratorツールでインスタンス・プリンシパル認証を使用してOracle NoSQL Database Cloud Serviceに接続するかどうかを指定します。インスタンス・プリンシパル認証方法の詳細は、「ソースおよびシンク・セキュリティ」を参照してください。
指定しなかい場合は、デフォルトでfalseに設定されます。
ノート:
- これは、OCIでホストされているVMで実行されているNoSQL Database Migratorツールなど、OCIコンピュート・インスタンス内でNoSQL Database Migratorツールが実行されている場合のみサポートされます。
- credentialsおよびuseInstancePrincipalパラメータは個別に必須ではありませんが、これらのパラメータの1つを指定する必要があります。また、この2つのパラメータは相互に排他的です。これらのパラメータのうち1つのみを指定します。両方を同時に指定することはできません。
- データ型: ブール
- 必須(Y/N): N
-
例:
"useInstancePrincipal" : true
Oracle NoSQL Database
NoSQL Database MigratorのソースとしてのOracle NoSQL Databaseの構成ファイル形式を次に示します。
構成テンプレート
"source" : {
"type": "nosqldb",
"table" : "<fully qualified table name>",
"storeName" : "<store name>",
"helperHosts" : ["hostname1:port1","hostname2:port2,..."],
"security" : "</path/to/store/security/file>",
"requestTimeoutMs" : 5000
}
ソース・パラメータ
type
-
用途: ソース・タイプを識別します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"type" : "nosqldb"
table
-
用途: データの移行元の完全修飾表名。
形式:
[namespace_name:]<table_name>
表がDEFAULTネームスペースにある場合は、
namespace_name
を省略できます。この表はストアに存在する必要があります。 - データ型: 文字列
- 必須(Y/N): Y
- 例:
-
DEFAULTネームスペース
"table" :"mytable"
を使用する場合 -
デフォルト以外のネームスペース
"table" : "mynamespace:mytable"
を使用する場合
-
storeName
-
用途: Oracle NoSQL Databaseストアの名前。
- データ型: 文字列
- 必須(Y/N): Y
- 例:
"storeName" : "kvstore"
helperHosts
-
用途:
hostname:port
形式のホストとレジストリ・ポートのペアのリスト。カンマを使用してリスト内の各アイテムを区切ります。ヘルパー・ホストを1つ以上指定する必要があります。 - データ型: 文字列の配列
- 必須(Y/N): Y
- 例:
"helperHosts" : ["localhost:5000","localhost:6000"]
security
-
用途:
ストアがセキュアなストアの場合は、ストア資格証明を含むセキュリティ・ログイン・ファイルへの絶対パスを指定します。セキュリティ・ログイン・ファイルの詳細は、管理者ガイドのリモート・アクセスでのセキュリティの構成を参照してください。
パスワード・ファイル・ベースの認証またはウォレット・ベースの認証のいずれかを使用できます。ただし、ウォレット・ベースの認証は、Oracle NoSQL DatabaseのEnterprise Edition (EE)でのみサポートされます。ウォレット・ベースの認証の詳細は、「ソースおよびシンク・セキュリティ」を参照してください。
Community Edition (CE)エディションでは、パスワード・ファイル・ベースの認証のみがサポートされます。
- データ型: 文字列
- 必須(Y/N): Y (セキュアなストアの場合)
- 例:
"security" : "/home/user/client.credentials"
パスワード・ファイル・ベースの認証のセキュリティ・ファイルの内容の例:
oracle.kv.password.noPrompt=true oracle.kv.auth.username=admin oracle.kv.auth.pwdfile.file=/home/nosql/login.passwd oracle.kv.transport=ssl oracle.kv.ssl.trustStore=/home/nosql/client.trust oracle.kv.ssl.protocols=TLSv1.2 oracle.kv.ssl.hostnameVerifier=dnmatch(CN\=NoSQL)
ウォレット・ベースの認証のセキュリティ・ファイルの内容の例:
oracle.kv.password.noPrompt=true oracle.kv.auth.username=admin oracle.kv.auth.wallet.dir=/home/nosql/login.wallet oracle.kv.transport=ssl oracle.kv.ssl.trustStore=/home/nosql/client.trust oracle.kv.ssl.protocols=TLSv1.2 oracle.kv.ssl.hostnameVerifier=dnmatch(CN\=NoSQL)
requestTimeoutMs
-
用途: ストアからの各読取り操作が完了するまで待機する時間を指定します。これはミリ秒単位で指定します。デフォルト値は5000です。値には任意の正の整数を指定できます。
- データ型: 整数
- 必須(Y/N): N
- 例:
"requestTimeoutMs" : 5000
Oracle NoSQL Database Cloud Service
NoSQL Database MigratorのソースとしてのOracle NoSQL Database Cloud Serviceの構成ファイル形式を次に示します。
構成テンプレート
"source" : {
"type" : "nosqldb_cloud",
"endpoint" : "<Oracle NoSQL Cloud Service Endpoint. You can either specify the complete URL or the Region ID alone>",
"table" : "<table name>",
"compartment" : "<OCI compartment name or id>",
"credentials" : "</path/to/oci/credential/file>",
"credentialsProfile" : "<oci credentials profile name>",
"readUnitsPercent" : <table readunits percent>,
"requestTimeoutMs" : <timeout in milli seconds>,
"useInstancePrincipal" : <true|false>
}
ソース・パラメータ
type
-
用途: ソース・タイプを識別します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"type" : "nosqldb_cloud"
endpoint
-
用途: Oracle NoSQL Database Cloud Serviceのサービス・エンドポイントを指定します。
完全なURLまたはリージョンIDのみを指定できます。Oracle NoSQL Database Cloud Serviceでサポートされているデータ・リージョンのリストは、Oracle NoSQL Database Cloud Serviceの使用のデータ・リージョンと関連サービスのURLを参照してください。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
-
リージョンID:
"endpoint" : "us-ashburn-1"
-
URL形式:
"endpoint" : "https://nosql.us-ashburn-1.oci.oraclecloud.com/"
-
table
-
用途: データの移行元となる表の名前。
- データ型: 文字列
- 必須(Y/N): Y
- 例:
"table" :"myTable"
compartment
-
用途: 表が存在するコンパートメントの名前またはOCIDを指定します。
値を指定しない場合は、デフォルトでルート・コンパートメントに設定されます。
コンパートメントのOCIDは、OCI Cloudコンソールの「Governance」のコンパートメント・エクスプローラ・ウィンドウから確認できます。
- データ型: 文字列
- 必須(Y/N): 表がテナンシのルート・コンパートメントにない場合、またはuseInstancePrincipalパラメータがtrueに設定されている場合、Yes。
ノート:
useInstancePrincipalパラメータがtrueに設定されている場合、コンパートメントは名前ではなくコンパートメントOCIDを指定する必要があります。 - 例:
-
コンパートメント名
"compartment" : "mycompartment"
-
親コンパートメントで修飾されたコンパートメント名
"compartment" : "parent.childcompartment"
-
値が未指定。デフォルトはルート・コンパートメントです。
"compartment": ""
-
コンパートメントOCID
"compartment" : "ocid1.tenancy.oc1...4ksd"
-
credentials
-
用途: OCI資格証明を含むファイルへの絶対パス。
指定しない場合は、デフォルトで
$HOME/.oci/config
に設定されます。資格証明ファイルの例は、構成例を参照してください。
ノート:
credentialsおよびuseInstancePrincipalパラメータは個別に必須ではありませんが、これらのパラメータの1つを指定する必要があります。また、この2つのパラメータは相互に排他的です。これらのパラメータのうち1つのみを指定します。両方を同時に指定することはできません。 - データ型: 文字列
- 必須(Y/N): N
- 例:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
用途: Oracle NoSQL Database Cloud Serviceへの接続に使用される構成プロファイルの名前。ユーザー・アカウント資格証明は、「プロファイル」と呼ばれます。
この値を指定しない場合は、デフォルトで
DEFAULT
プロファイルに設定されます。ノート:
このパラメータは、credentialsパラメータが指定されている場合のみ有効です。 - データ型: 文字列
- 必須(Y/N): N
- 例:
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
readUnitsPercent
-
用途: NoSQL表の移行中に使用される表読取りユニットの割合。
デフォルト値は90です。有効範囲は1から100の任意の整数です。データの移行に必要な時間は、この属性に正比例することに注意してください。移行アクティビティの表の読取りスループットを向上させることをお薦めします。移行プロセスの完了後に読取りスループットを減らすことができます。
スループット変更の日次制限の詳細は、Oracle NoSQL Database Cloud Serviceの使用のクラウド制限を参照してください。
デフォルト値は90です。有効範囲は1から100の任意の整数です。
ノート:
データ移行に必要な時間は、writeUnitsPercent
値に正比例します。この属性を使用してデータ移行速度を向上させる方法の詳細は、「Oracle NoSQL Database Migratorのトラブルシューティング」を参照してください。
- データ型: 整数
- 必須(Y/N): N
- 例:
"readUnitsPercent" : 90
requestTimeoutMs
-
用途: シンク内の各読取り操作が完了するまで待機する時間を指定します。これはミリ秒単位で指定します。デフォルト値は5000です。値には任意の正の整数を指定できます。
- データ型: 整数
- 必須(Y/N): N
- 例:
"requestTimeoutMs" : 5000
useInstancePrincipal
-
用途: NoSQL Migratorツールでインスタンス・プリンシパル認証を使用してOracle NoSQL Database Cloud Serviceに接続するかどうかを指定します。インスタンス・プリンシパル認証方法の詳細は、「ソースおよびシンク・セキュリティ」を参照してください
指定しなかい場合は、デフォルトでfalseに設定されます。
ノート:
- これは、OCIでホストされているVMで実行されているNoSQL Database Migratorツールなど、OCIコンピュート・インスタンス内でNoSQL Database Migratorツールが実行されている場合のみサポートされます。
- credentialsおよびuseInstancePrincipalパラメータは個別に必須ではありませんが、これらのパラメータの1つを指定する必要があります。また、この2つのパラメータは相互に排他的です。これらのパラメータのうち1つのみを指定します。両方を同時に指定することはできません。
- データ型: ブール
- 必須(Y/N): N
-
例:
"useInstancePrincipal" : true