ソース構成テンプレート
有効な各ソースのソース構成ファイル書式および各構成パラメータの用途について学習します。
構成ファイル・テンプレートについては、Oracle NoSQL Database Migratorで使用される用語の構成ファイルを参照してください。
各ソースの有効なシンク形式の詳細は、シンク構成テンプレートを参照してください。
トピック
次のトピックでは、特定のソースから有効なシンクにデータをコピーするためにOracle NoSQL Database Migratorによって参照されるソース構成テンプレートについて説明します。
- JSONファイル・ソース
JSONデータを含む指定されたファイルまたはディレクトリ。
- OCIオブジェクト・ストレージ・バケットのJSONファイル
OCIオブジェクト・ストレージ・バケット内の指定されたJSONファイル。
- MongoDB形式のJSONファイル
MongoDB形式のJSONデータを含む指定されたファイルまたはディレクトリ。
- OCIオブジェクト・ストレージ・バケット内のMongoDB形式のJSONファイル
OCIオブジェクト・ストレージ・バケットに格納されている指定されたMongoDBでエクスポートされたJSONファイル。
- AWS S3に格納されたDynamoDB形式のJSONファイル
AWS S3ストレージに格納されている指定されたDynamoDBでエクスポートされたJSONファイル。
- DynamoDB形式のJSONファイル
ファイル・システムから指定されたDynamoDBでエクスポートされたJSONファイル。
- Oracle NoSQL Database
Oracle NoSQL Databaseで指定された表。
- Oracle NoSQL Database Cloud Service
Oracle NoSQL Database Cloud Serviceで指定された表。
- CSVファイル・ソース
CSVデータを含む指定されたファイルまたはディレクトリ。
- OCIオブジェクト・ストレージ・バケットのCSVファイル
OCIオブジェクト・ストレージ・バケット内の指定されたCSVファイル。
JSONファイル・ソース
NoSQL Database MigratorのソースとしてのJSONファイルの構成ファイル形式を次に示します。
ソース構成テンプレートでファイル・パスまたはディレクトリを指定して、JSONソース・ファイルを移行できます。
{"id":6,"val_json":{"array":["q","r","s"],"date":"2023-02-04T02:38:57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-03-04T02:38:57.520Z","numfield":30,"strfield":"foo54"},{"datefield":"2023-02-04T02:38:57.520Z","numfield":56,"strfield":"bar23"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}
{"id":3,"val_json":{"array":["g","h","i"],"date":"2023-02-02T02:38:57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-02-02T02:38:57.520Z","numfield":28,"strfield":"foo3"},{"datefield":"2023-02-02T02:38:57.520Z","numfield":38,"strfield":"bar"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}
ソース構成テンプレート
"source": {
"type": "file",
"format": "json",
"dataPath": "<path/to/JSON/[file|dir]>",
"schemaInfo": {
"schemaPath": "<path/to/schema/file>"
}
},
ソース・パラメータ
共通の構成パラメータ
一意の構成パラメータ
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": "<path to the schema file>" }
OCIオブジェクト・ストレージ・バケットのJSONファイル
NoSQL Database MigratorのソースとしてのOCIオブジェクト・ストレージ・バケットのJSONファイルの構成ファイル形式を次に示します。
ソース構成テンプレートでバケットの名前を指定することで、OCIオブジェクト・ストレージ・バケット内のJSONファイルを移行できます。
{"id":6,"val_json":{"array":["q","r","s"],"date":"2023-02-04T02:38:57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-03-04T02:38:57.520Z","numfield":30,"strfield":"foo54"},{"datefield":"2023-02-04T02:38:57.520Z","numfield":56,"strfield":"bar23"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}
{"id":3,"val_json":{"array":["g","h","i"],"date":"2023-02-02T02:38:57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-02-02T02:38:57.520Z","numfield":28,"strfield":"foo3"},{"datefield":"2023-02-02T02:38:57.520Z","numfield":38,"strfield":"bar"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}
ノート:
OCIオブジェクト・ストレージのソース・タイプの有効なシンク・タイプは、nosqldb
およびnosqldb_cloud
です。
ソース構成テンプレート
"source" : {
"type" : "object_storage_oci",
"format" : "json",
"endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
"namespace" : "<OCI Object Storage namespace>",
"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>,
"useDelegationToken" : <true|false>
}
ソース・パラメータ
共通の構成パラメータ
- type
"type" : "object_storage_oci"
を使用します - format
"format" : "json"
を使用します - endpoint次に例を示します。
-
リージョンID:
"endpoint" : "us-ashburn-1"
-
URL形式:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- namespace
例:
"namespace" : "my-namespace"
- bucket
例:
"bucket" : "my-bucket"
- prefix次に例を示します。
"prefix" : "my_table/Data/000000.json"
(000000.json
のみが移行されます)"prefix" : "my_table/Data"
(接頭辞my_table/Data
を持つすべてのオブジェクトが移行されます)
- credentials次に例を示します。
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfile次に例を示します。
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
例:
"useInstancePrincipal" : true
- useDelegationToken
例:
"useDelegationToken" : true
ノート:
委任トークンを使用した認証は、NoSQL Database Migratorがクラウド・シェルから実行されている場合にのみサポートされます。
一意の構成パラメータ
schemaInfo
-
用途: 移行対象のソース・データのスキーマを指定します。このスキーマはNoSQLシンクに渡されます。
- データ型: オブジェクト
- 必須(Y/N): N
schemaInfo.schemaObject
-
用途: 移行対象データのNoSQL表スキーマ定義が格納されるバケット内のオブジェクトの名前を指定します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"schemaInfo": { "schemaObject": "mytable/Schema/schema.ddl" },
MongoDB形式のJSONファイル
NoSQL Database MigratorのソースとしてのMongoDB形式のJSONファイルの構成ファイル形式を次に示します。
ソース構成テンプレートでファイルまたはディレクトリを指定することで、MongoDBでエクスポートされたJSONデータを移行できます。
MongoDBは、標準モードおよび緩和モードの2種類のファイルのJSON形式に対する拡張をサポートしています。mongoexportツールを使用して正規モードまたは緩和モードで生成されるMongoDB形式のJSONファイルを指定できます。どちらのモードも、移行のためにNoSQL Database Migratorでサポートされています。
MongoDB Extended JSON (v2)ファイルの詳細は、mongoexport_formatsを参照してください。
MongoDB形式のJSONファイルの生成の詳細は、mongoexportを参照してください。
{"_id":0,"name":"Aimee Zank","scores":[{"score":1.463179736705023,"type":"exam"},{"score":11.78273309957772,"type":"quiz"},{"score":35.8740349954354,"type":"homework"}]}
{"_id":1,"name":"Aurelia Menendez","scores":[{"score":60.06045071030959,"type":"exam"},{"score":52.79790691903873,"type":"quiz"},{"score":71.76133439165544,"type":"homework"}]}
{"_id":2,"name":"Corliss Zuk","scores":[{"score":67.03077096065002,"type":"exam"},{"score":6.301851677835235,"type":"quiz"},{"score":66.28344683278382,"type":"homework"}]}
{"_id":3,"name":"Bao Ziglar","scores":[{"score":71.64343899778332,"type":"exam"},{"score":24.80221293650313,"type":"quiz"},{"score":42.26147058804812,"type":"homework"}]}
{"_id":4,"name":"Zachary Langlais","scores":[{"score":78.68385091304332,"type":"exam"},{"score":90.2963101368042,"type":"quiz"},{"score":34.41620148042529,"type":"homework"}]}
ソース構成テンプレート
"source": {
"type": "file",
"format": "mongodb_json",
"dataPath": "</path/to/json/[file|dir]>",
"schemaInfo": {
"schemaPath": "</path/to/schema/file>"
}
}
ソース・パラメータ
共通の構成パラメータ
一意の構成パラメータ
dataPath
-
用途: MongoDBにエクスポートされた、移行するJSONデータを含むファイルまたはディレクトリへの絶対パスを指定します。
mongoexportツールを使用して生成されるMongoDB形式のJSONファイルを指定できます。
ディレクトリを指定すると、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オブジェクト・ストレージ・バケットにMongoDBでエクスポートされたJSONデータを移行できます。
mongoexportユーティリティを使用してMongoDBからデータを抽出し、OCIオブジェクト・ストレージ・バケットにアップロードします。詳細は、mongoexportを参照してください。MongoDBは、標準モードおよび緩和モードの2種類のファイルのJSON形式に対する拡張をサポートしています。どちらの形式も、OCIオブジェクト・ストレージ・バケットでサポートされています。
{"_id":0,"name":"Aimee Zank","scores":[{"score":1.463179736705023,"type":"exam"},{"score":11.78273309957772,"type":"quiz"},{"score":35.8740349954354,"type":"homework"}]}
{"_id":1,"name":"Aurelia Menendez","scores":[{"score":60.06045071030959,"type":"exam"},{"score":52.79790691903873,"type":"quiz"},{"score":71.76133439165544,"type":"homework"}]}
{"_id":2,"name":"Corliss Zuk","scores":[{"score":67.03077096065002,"type":"exam"},{"score":6.301851677835235,"type":"quiz"},{"score":66.28344683278382,"type":"homework"}]}
{"_id":3,"name":"Bao Ziglar","scores":[{"score":71.64343899778332,"type":"exam"},{"score":24.80221293650313,"type":"quiz"},{"score":42.26147058804812,"type":"homework"}]}
{"_id":4,"name":"Zachary Langlais","scores":[{"score":78.68385091304332,"type":"exam"},{"score":90.2963101368042,"type":"quiz"},{"score":34.41620148042529,"type":"homework"}]}
ノート:
OCIオブジェクト・ストレージのソース・タイプの有効なシンク・タイプは、nosqldb
およびnosqldb_cloud
です。
ソース構成テンプレート
"source" : {
"type" : "object_storage_oci",
"format" : "mongodb_json",
"endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
"namespace" : "<OCI Object Storage namespace>",
"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
"type" : "object_storage_oci"
を使用します - format
"format" : "mongodb_json"
を使用します - endpoint次に例を示します。
-
リージョンID:
"endpoint" : "us-ashburn-1"
-
URL形式:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- namespace
例:
"namespace" : "my-namespace"
- bucket
例:
"bucket" : "my-bucket"
- prefix次に例を示します。
"prefix" : "mongo_export/Data/table.json"
(table.json
のみが移行されます)"prefix" : "mongo_export/Data"
(接頭辞mongo_export/Data
を持つすべてのオブジェクトが移行されます)
ノート:
値を指定しない場合、バケット内に存在するすべてのオブジェクトが移行されます。 - credentials次に例を示します。
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfile次に例を示します。
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
例:
"useInstancePrincipal" : true
一意の構成パラメータ
schemaInfo
-
用途: 移行対象のソース・データのスキーマを指定します。このスキーマはNoSQLシンクに渡されます。
- データ型: オブジェクト
- 必須(Y/N): N
schemaInfo.schemaObject
-
用途: 移行対象データのNoSQL表スキーマ定義が格納されるバケット内のオブジェクトの名前を指定します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"schemaInfo": { "schemaObject": "mytable/Schema/schema.ddl" }
AWS S3に格納されたDynamoDB形式のJSONファイル
NoSQL Database MigratorのソースとしてAWS S3にあるDynamoDB形式のJSONファイルの構成ファイル形式を次に示します。
ソース構成テンプレートでパスを指定することで、DynamoDBエクスポートされたJSONデータを含むファイルをAWS S3ストレージから移行できます。
{"Item":{"Id":{"N":"101"},"Phones":{"L":[{"L":[{"S":"555-222"},{"S":"123-567"}]}]},"PremierCustomer":{"BOOL":false},"Address":{"M":{"Zip":{"N":"570004"},"Street":{"S":"21 main"},"DoorNum":{"N":"201"},"City":{"S":"London"}}},"FirstName":{"S":"Fred"},"FavNumbers":{"NS":["10"]},"LastName":{"S":"Smith"},"FavColors":{"SS":["Red","Green"]},"Age":{"N":"22"}}}
{"Item":{"Id":{"N":"102"},"Phones":{"L":[{"L":[{"S":"222-222"}]}]},"PremierCustomer":{"BOOL":false},"Address":{"M":{"Zip":{"N":"560014"},"Street":{"S":"32 main"},"DoorNum":{"N":"1024"},"City":{"S":"Wales"}}},"FirstName":{"S":"John"},"FavNumbers":{"NS":["10"]},"LastName":{"S":"White"},"FavColors":{"SS":["Blue"]},"Age":{"N":"48"}}}
Amazon S3へのDynamoDB表データのエクスポートに記載された方法に従い、DynamoDB表をAWS S3ストレージにエクスポートする必要があります。
AWS S3に格納されているDynamoDB形式のJSONの有効なシンク・タイプは、nosqldb
およびnosqldb_cloud
です。
"source" : {
"type" : "aws_s3",
"format" : "dynamodb_json",
"s3URL" : "<S3 object url>",
"credentials" : "</path/to/aws/credentials/file>",
"credentialsProfile" : <"profile name in aws credentials file">
}
ソース・パラメータ
共通の構成パラメータ
- type
"type" : "aws_s3"
を使用します - format
"format" : "dynamodb_json"
を使用しますノート:
typeパラメータの値がaws_s3
の場合、formatはdynamodb_json
である必要があります。
一意の構成パラメータ
s3URL
- 用途: AWS S3に格納されているエクスポートされたDynamoDB表のURLを指定します。このURLは、AWSのS3コンソールから取得できます。有効なURL形式は
https://<bucket-name>.<s3_endpoint>/<prefix>
です。NoSQL Database Migratorは、インポートする接頭辞内でjson.gz
ファイルを検索します。ノート:
Amazon S3へのDynamoDB表のエクスポートに関する項の説明に従って、DynamoDB表をエクスポートする必要があります。 - データ型: 文字列
- 必須(Y/N): Y
- 例:
https://my-bucket.s3.ap-south-1.amazonaws.com/AWSDynamoDB/01649660790057-14f642be
credentials
- 用途: AWS資格証明を含むファイルへの絶対パスを指定します。指定しない場合は、デフォルトで
$HOME/.aws/credentials
に設定されます。資格証明ファイルの詳細は、構成および資格証明ファイルの設定を参照してください。 - データ型: 文字列
- 必須(Y/N): N
- 例:
"credentials" : "/home/user/.aws/credentials" "credentials" : "/home/user/security/credentials
ノート:
NoSQL Database Migratorは、資格証明情報をログに記録しません。資格証明ファイルを不正アクセスから適切に保護する必要があります。
credentialsProfile
- 用途: AWS S3への接続に使用するAWS資格証明ファイルのプロファイルの名前。ユーザー・アカウント資格証明は、プロファイルと呼ばれます。この値を指定しない場合、NoSQL Database Migratorは
default
プロファイルを使用します。資格証明ファイルの詳細は、構成および資格証明ファイルの設定を参照してください。 - データ型: 文字列
- 必須(Y/N): N
- 例:
"credentialsProfile" : "default" "credentialsProfile" : "test"
DynamoDB形式のJSONファイル
NoSQL Database MigratorのソースとしてDynamoDB形式のJSONファイルの構成ファイル形式を次に示します。
ソース構成テンプレートでパスを指定することで、DynamoDBがエクスポートしたJSONデータを含むファイルまたはディレクトリをファイル・システムから移行できます。
{"Item":{"Id":{"N":"101"},"Phones":{"L":[{"L":[{"S":"555-222"},{"S":"123-567"}]}]},"PremierCustomer":{"BOOL":false},"Address":{"M":{"Zip":{"N":"570004"},"Street":{"S":"21 main"},"DoorNum":{"N":"201"},"City":{"S":"London"}}},"FirstName":{"S":"Fred"},"FavNumbers":{"NS":["10"]},"LastName":{"S":"Smith"},"FavColors":{"SS":["Red","Green"]},"Age":{"N":"22"}}}
{"Item":{"Id":{"N":"102"},"Phones":{"L":[{"L":[{"S":"222-222"}]}]},"PremierCustomer":{"BOOL":false},"Address":{"M":{"Zip":{"N":"560014"},"Street":{"S":"32 main"},"DoorNum":{"N":"1024"},"City":{"S":"Wales"}}},"FirstName":{"S":"John"},"FavNumbers":{"NS":["10"]},"LastName":{"S":"White"},"FavColors":{"SS":["Blue"]},"Age":{"N":"48"}}}
エクスポートしたDynamoDB表データをAWS S3ストレージからローカルにマウントされたファイル・システムにコピーする必要があります。
DynamoDB JSONファイルの有効なシンク・タイプは、nosqldb
およびnosqldb_cloud
です。
"source" : {
"type" : "file",
"format" : "dynamodb_json",
"dataPath" : "<path/to/[file|dir]/containing/exported/DDB/tabledata>"
}
dataPath
- 用途: エクスポートされたDynamoDB表データを含むファイルまたはディレクトリへの絶対パスを指定します。エクスポートされたDynamoDB表データをAWS S3からローカルにマウントされたファイル・システムにコピーする必要があります。このデータがシンクで定義されているNoSQL表スキーマと一致することを確認する必要があります。ディレクトリを指定すると、NoSQL Database Migratorによって、そのディレクトリおよび
data
サブディレクトリ内の.json.gz
拡張子を持つすべてのファイルが識別されます。 - データ型: 文字列
- 必須(Y/N): Y
- 例:
-
ファイルの指定
"dataPath" : "/home/user/AWSDynamoDB/01639372501551-bb4dd8c3/data/zclclwucjy6v5mkefvckxzhfvq.json.gz"
- ディレクトリの指定
"dataPath" : "/home/user/AWSDynamoDB/01639372501551-bb4dd8c3"
-
Oracle NoSQL Database
NoSQL Database MigratorのソースとしてのOracle NoSQL Databaseの構成ファイル形式を次に示します。
ソース構成テンプレートで表名を指定することで、Oracle NoSQL Databaseから表を移行できます。
{"id":20,"firstName":"Jane","lastName":"Smith","otherNames":[{"first":"Jane","last":"teacher"}],"age":25,"income":55000,"address":{"city":"San Jose","number":201,"phones":[{"area":608,"kind":"work","number":6538955},{"area":931,"kind":"home","number":9533341},{"area":931,"kind":"mobile","number":9533382}],"state":"CA","street":"Atlantic Ave","zip":95005},"connections":[40,75,63],"expenses":null}
{"id":10,"firstName":"John","lastName":"Smith","otherNames":[{"first":"Johny","last":"chef"}],"age":22,"income":45000,"address":{"city":"Santa Cruz","number":101,"phones":[{"area":408,"kind":"work","number":4538955},{"area":831,"kind":"home","number":7533341},{"area":831,"kind":"mobile","number":7533382}],"state":"CA","street":"Pacific Ave","zip":95008},"connections":[30,55,43],"expenses":null}
{"id":30,"firstName":"Adam","lastName":"Smith","otherNames":[{"first":"Adam","last":"handyman"}],"age":45,"income":75000,"address":{"city":"Houston","number":301,"phones":[{"area":618,"kind":"work","number":6618955},{"area":951,"kind":"home","number":9613341},{"area":981,"kind":"mobile","number":9613382}],"state":"TX","street":"Indian Ave","zip":95075},"connections":[60,45,73],"expenses":null}
ソース構成テンプレート
"source" : {
"type": "nosqldb",
"storeName" : "<store name>",
"helperHosts" : ["hostname1:port1","hostname2:port2,..."],
"table" : "<fully qualified table name>",
"includeTTL": <true|false>,
"security" : "</path/to/store/security/file>",
"requestTimeoutMs" : 5000
}
ソース・パラメータ
共通の構成パラメータ
- type
"type" : "nosqldb"
を使用します - security
次に例を示します。
"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
例:
"requestTimeoutMs" : 5000
一意の構成パラメータ
storeName
-
用途: Oracle NoSQL Databaseストアの名前。
- データ型: 文字列
- 必須(Y/N): Y
- 例:
"storeName" : "kvstore"
helperHosts
-
用途:
hostname:port
形式のホストとレジストリ・ポートのペアのリスト。カンマを使用してリスト内の各アイテムを区切ります。ヘルパー・ホストを1つ以上指定する必要があります。 - データ型: 文字列の配列
- 必須(Y/N): Y
- 例:
"helperHosts" : ["localhost:5000","localhost:6000"]
table
-
用途: データの移行元の完全修飾表名。
形式:
[namespace_name:]<table_name>
表がDEFAULTネームスペースにある場合は、
namespace_name
を省略できます。この表はストアに存在する必要があります。 - データ型: 文字列
- 必須(Y/N): Y
- 例:
-
DEFAULTネームスペース
"table" :"mytable"
を使用する場合 -
デフォルト以外のネームスペース
"table" : "mynamespace:mytable"
を使用する場合 -
子表
"table" : "mytable.child"
を指定する場合
-
includeTTL
-
用途: Oracle NoSQL Database表のエクスポート時に表行のTTLメタデータを含めるかどうかを指定します。trueに設定すると、行のTTLデータもソースによって提供されるデータに含まれます。TTLは、各行に関連付けられている
_metadata
JSONオブジェクトに存在します。各行の有効期限は、UNIXエポック(1970年1月1日)以降のミリ秒数としてエクスポートされます。このパラメータを指定しない場合、デフォルトは
false
です。TTLの正の有効期限値を持つ行のみが、エクスポートされる行の一部として含まれます。行が失効しない場合(つまりTTL=0)、そのTTLメタデータは明示的に含まれません。たとえば、ROW1が2021-10-19 00:00:00に期限切れになり、ROW2が期限切れにならない場合、エクスポートされるデータは次のようになります。//ROW1 { "id" : 1, "name" : "abc", "_metadata" : { "expiration" : 1634601600000 } } //ROW2 { "id" : 2, "name" : "xyz" }
- データ型: ブール
- 必須(Y/N): N
- 例:
"includeTTL" : true
Oracle NoSQL Database Cloud Service
NoSQL Database MigratorのソースとしてのOracle NoSQL Database Cloud Serviceの構成ファイル形式を次に示します。
表がソース構成テンプレートにあるコンパートメントの名前またはOCIDを指定することで、Oracle NoSQL Database Cloud Serviceから表を移行できます。
{"id":20,"firstName":"Jane","lastName":"Smith","otherNames":[{"first":"Jane","last":"teacher"}],"age":25,"income":55000,"address":{"city":"San Jose","number":201,"phones":[{"area":608,"kind":"work","number":6538955},{"area":931,"kind":"home","number":9533341},{"area":931,"kind":"mobile","number":9533382}],"state":"CA","street":"Atlantic Ave","zip":95005},"connections":[40,75,63],"expenses":null}
{"id":10,"firstName":"John","lastName":"Smith","otherNames":[{"first":"Johny","last":"chef"}],"age":22,"income":45000,"address":{"city":"Santa Cruz","number":101,"phones":[{"area":408,"kind":"work","number":4538955},{"area":831,"kind":"home","number":7533341},{"area":831,"kind":"mobile","number":7533382}],"state":"CA","street":"Pacific Ave","zip":95008},"connections":[30,55,43],"expenses":null}
{"id":30,"firstName":"Adam","lastName":"Smith","otherNames":[{"first":"Adam","last":"handyman"}],"age":45,"income":75000,"address":{"city":"Houston","number":301,"phones":[{"area":618,"kind":"work","number":6618955},{"area":951,"kind":"home","number":9613341},{"area":981,"kind":"mobile","number":9613382}],"state":"TX","street":"Indian Ave","zip":95075},"connections":[60,45,73],"expenses":null}
ソース構成テンプレート
"source" : {
"type" : "nosqldb_cloud",
"endpoint" : "<Oracle NoSQL Cloud Service endpoint URL or region ID>",
"table" : "<table name>",
"compartment" : "<OCI compartment name or id>",
"credentials" : "<path/to/oci/credential/file>",
"credentialsProfile" : "<profile name in oci config file>",
"useInstancePrincipal" : <true|false>,
"useDelegationToken" : <true|false>,
"readUnitsPercent" : <table readunits percent>,
"includeTTL": <true|false>,
"requestTimeoutMs" : <timeout in milli seconds>
}
ソース・パラメータ
共通の構成パラメータ
- type
"type" : "nosqldb_cloud"
を使用します - endpoint次に例を示します。
-
リージョンID:
"endpoint" : "us-ashburn-1"
-
URL形式:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- credentials次に例を示します。
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfile次に例を示します。
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
例:
"useInstancePrincipal" : true
- useDelegationToken
例:
"useDelegationToken" : true
ノート:
委任トークンを使用した認証は、NoSQL Database Migratorがクラウド・シェルから実行されている場合にのみサポートされます。 - requestTimeoutMs
例:
"requestTimeoutMs" : 5000
一意の構成パラメータ
table
-
用途: データの移行元となる表の名前。
- データ型: 文字列
- 必須(Y/N): Y
- 例:
- 表
"table" : "myTable"
を指定する場合 - 子表
"table" : "mytable.child"
を指定する場合
- 表
compartment
-
用途: 表が存在するコンパートメントの名前またはOCIDを指定します。
値を指定しない場合は、デフォルトでルート・コンパートメントに設定されます。
コンパートメントのOCIDは、OCI Cloudコンソールの「Governance」のコンパートメント・エクスプローラ・ウィンドウから確認できます。
- データ型: 文字列
- 必須(Y/N): 表がテナンシのルート・コンパートメントにない場合、またはuseInstancePrincipalパラメータがtrueに設定されている場合、Y。
ノート:
useInstancePrincipalパラメータがtrueに設定されている場合、コンパートメントは名前ではなくコンパートメントOCIDを指定する必要があります。 - 例:
-
コンパートメント名
"compartment" : "mycompartment"
-
親コンパートメントで修飾されたコンパートメント名
"compartment" : "parent.childcompartment"
-
値が未指定。デフォルトはルート・コンパートメントです。
"compartment": ""
-
コンパートメントOCID
"compartment" : "ocid1.tenancy.oc1...4ksd"
-
readUnitsPercent
-
用途: NoSQL表の移行中に使用される表読取りユニットの割合。
デフォルト値は90です。有効範囲は1から100の任意の整数です。データの移行に必要な時間は、この属性に正比例します。移行アクティビティの表の読取りスループットを向上させることをお薦めします。移行プロセスの完了後に読取りスループットを減らすことができます。
スループット変更の日次制限の詳細は、Oracle NoSQL Database Cloud Serviceドキュメントのクラウド制限を参照してください。
この属性を使用してデータ移行速度を向上させる方法の詳細は、「Oracle NoSQL Database Migratorのトラブルシューティング」を参照してください。
- データ型: 整数
- 必須(Y/N): N
- 例:
"readUnitsPercent" : 90
includeTTL
-
用途: Oracle NoSQL Database表のエクスポート時に表行のTTLメタデータを含めるかどうかを指定します。trueに設定すると、行のTTLデータもソースによって提供されるデータに含まれます。TTLは、各行に関連付けられている
_metadata
JSONオブジェクトに存在します。各行の有効期限は、UNIXエポック(1970年1月1日)以降のミリ秒数としてエクスポートされます。このパラメータを指定しない場合、デフォルトは
false
です。TTLの正の有効期限値を持つ行のみが、エクスポートされる行の一部として含まれます。行が失効しない場合(つまりTTL=0)、そのTTLメタデータは明示的に含まれません。たとえば、ROW1が2021-10-19 00:00:00に期限切れになり、ROW2が期限切れにならない場合、エクスポートされるデータは次のようになります。//ROW1 { "id" : 1, "name" : "abc", "_metadata" : { "expiration" : 1634601600000 } } //ROW2 { "id" : 2, "name" : "xyz" }
- データ型: ブール
- 必須(Y/N): N
- 例:
"includeTTL" : true
CSVファイル・ソース
NoSQL Database MigratorのソースとしてのCSVファイルの構成ファイル形式を次に示します。CSVファイルはRFC4180
形式に準拠している必要があります。
CSVファイルまたはCSVデータを含むディレクトリを移行するには、ソース構成テンプレートでファイル名またはディレクトリを指定します。
1,"Computer Science","San Francisco","2500"
2,"Bio-Technology","Los Angeles","1200"
3,"Journalism","Las Vegas","1500"
4,"Telecommunication","San Francisco","2500"
ソース構成テンプレート
"source" : {
"type" : "file",
"format" : "csv",
"dataPath": "</path/to/a/csv/[file|dir]>",
"hasHeader" : <true | false>,
"columns" : ["column1", "column2", ....],
"csvOptions": {
"encoding": "<character set encoding>",
"trim": "<true | false>"
}
}
ソース・パラメータ
共通の構成パラメータ
一意の構成パラメータ
datapath
-
用途: 移行するCSVデータを含むファイルまたはディレクトリへの絶対パスを指定します。ディレクトリを指定した場合、NoSQL Database Migratorは、そのディレクトリ内の
.csv
または.CSV
拡張子を持つすべてのファイルをインポートします。すべてのCSVファイルは単一の表にコピーされますが、特定の順序ではコピーされません。CSVファイルは、
RFC4180
標準に準拠している必要があります。各CSVファイルのデータがシンク表に定義されているNoSQL Database表スキーマと一致することを確認する必要があります。サブディレクトリはサポートされていません。 - データ型: 文字列
- 必須(Y/N): Y
-
例:
-
CSVファイルの指定
"dataPath" : "/home/user/sample.csv"
-
ディレクトリの指定
"dataPath" : "/home/user"
-
ノート:
CSVファイルにはスカラー値のみが含まれている必要があります。MAP、RECORD、ARRAY、JSONなどの複合タイプを含むCSVファイルのインポートはサポートされていません。NoSQL Database Migratorツールは、入力CSVファイルのデータの正確性をチェックしません。NoSQL Database Migratorツールは、RFC4180
形式に準拠したCSVデータのインポートをサポートしています。RFC4180
標準に準拠していないデータを含むCSVファイルは、正しくコピーされないか、エラーが発生する可能性があります。入力データが破損している場合、NoSQL Database MigratorツールはCSVレコードを解析しません。移行中にエラーが発生した場合、NoSQL Database Migratorツールは、デバッグ目的および情報を得る目的で失敗した入力レコードに関する情報をログに記録します。詳細は、Oracle NoSQL Data Migratorの使用のMigratorの進捗状況のロギングを参照してください。
hasHeader
-
用途: CSVファイルにヘッダーがあるかどうかを指定します。これが
true
に設定されている場合、最初の行は無視されます。false
に設定すると、最初の行はCSVレコードとみなされます。デフォルト値は、false
です。 - データ型: ブール
- 必須(Y/N): N
-
例:
"hasHeader" : "false"
columns
-
用途: NoSQL Database表の列名のリストを指定します。列名の順序は、CSVファイル・フィールドと対応するNoSQL Database表の列のマッピングを示します。入力CSVファイルの列の順序が、既存または新規に作成されたNoSQL Database表の列と一致しない場合は、このパラメータを使用して順序をマップできます。また、アイデンティティ列を含む表にインポートする場合は、
columns
パラメータのアイデンティティ列名をスキップできます。ノート:
- NoSQL Database表にCSVファイルで使用できない追加列がある場合、欠落している列の値は、NoSQL Database表に定義されているデフォルト値で更新されます。デフォルト値が指定されていない場合は、移行中にNull値が挿入されます。デフォルト値の詳細は、SQLリファレンス・ガイドのデータ型定義の項を参照してください。
- CSVファイルに、NoSQL Database表で定義されていない追加の列がある場合、追加の列情報は無視されます。
- CSVレコードのいずれかの値が空の場合、NoSQL Database表の対応する列のデフォルト値に設定されます。デフォルト値が指定されていない場合は、移行中にNull値が挿入されます。
- データ型: 文字列の配列
- 必須(Y/N): N
-
例:
"columns" : ["table_column_1", "table_column_2"]
csvOptions
-
用途: CSVファイルの形式プションを指定します。CSVファイルの文字セット・エンコーディング形式を指定し、空白を切り捨てるかどうかを選択します。
- データ型: オブジェクト
- 必須(Y/N): N
csvOptions.encoding
-
用途: CSVファイルをデコードする文字セットを指定します。デフォルト値は
UTF-8
です。サポートされている文字セットは、US-ASCII、ISO-8859-1、UTF-8
およびUTF-16
です。 - データ型: 文字列
- 必須(Y/N): N
-
例:
"encoding" : "UTF-8"
csvOptions.trim
-
用途: CSVフィールド値の先頭および末尾の空白を切り捨てる必要があるかどうかを指定します。デフォルト値は、
false
です。 - データ型: ブール
- 必須(Y/N): N
-
例:
"trim" : "true"
OCIオブジェクト・ストレージ・バケットのCSVファイル
NoSQL Database MigratorのソースとしてのOCIオブジェクト・ストレージ・バケットのCSVファイルの構成ファイル形式を次に示します。CSVファイルはRFC4180
形式に準拠している必要があります。
ソース構成テンプレートでバケットの名前を指定することで、OCIオブジェクト・ストレージ・バケット内のCSVファイルを移行できます。
1,"Computer Science","San Francisco","2500"
2,"Bio-Technology","Los Angeles","1200"
3,"Journalism","Las Vegas","1500"
4,"Telecommunication","San Francisco","2500"
ノート:
OCIオブジェクト・ストレージのソース・タイプの有効なシンク・タイプは、nosqldb
およびnosqldb_cloud
です。
ソース構成テンプレート
"source" : {
"type" : "object_storage_oci",
"format" : "csv",
"endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
"namespace" : "<OCI Object Storage namespace>",
"bucket" : "<bucket name>",
"prefix" : "<object prefix>",
"credentials" : "</path/to/oci/config/file>",
"credentialsProfile" : "<profile name in oci config file>",
"useInstancePrincipal" : <true|false>,
"hasHeader" : <true | false>,
"columns" : ["column1", "column2", ....],
"csvOptions" : {
"encoding" : "<character set encoding>",
"trim" : <true | false>
}
}
ソース・パラメータ
共通の構成パラメータ
- type
"type" : "object_storage_oci"
を使用します - format
"format" : "csv"
を使用します - endpoint次に例を示します。
-
リージョンID:
"endpoint" : "us-ashburn-1"
-
URL形式:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
- namespace
例:
"namespace" : "my-namespace"
- bucket
例:
"bucket" : "my-bucket"
ノート:
- NoSQL Database Migratorは、.
csv
または.CSV
拡張子を持つすべてのファイルをオブジェクト単位でインポートし、同じ順序で単一の表にコピーします。 -
CSVファイルにはスカラー値のみが含まれている必要があります。MAP、RECORD、ARRAY、JSONなどの複合タイプを含むCSVファイルのインポートはサポートされていません。NoSQL Database Migratorツールは、入力CSVファイルのデータの正確性をチェックしません。NoSQL Database Migratorツールは、
RFC4180
形式に準拠したCSVデータのインポートをサポートしています。RFC4180
標準に準拠していないデータを含むCSVファイルは、正しくコピーされないか、エラーが発生する可能性があります。入力データが破損している場合、NoSQL Database MigratorツールはCSVレコードを解析しません。移行中にエラーが発生した場合、NoSQL Database Migratorツールは、デバッグ目的および情報を得る目的で失敗した入力レコードに関する情報をログに記録します。詳細は、Oracle NoSQL Data Migratorの使用のMigratorの進捗状況のロギングを参照してください。
- NoSQL Database Migratorは、.
- prefix次に例を示します。
"prefix" : "my_table/Data/000000.csv"
(000000.csv
のみが移行されます)"prefix" : "my_table/Data"
(接頭辞my_table/Data
を持つすべてのオブジェクトが移行されます)
- credentials次に例を示します。
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
- credentialsProfile次に例を示します。
"credentialsProfile" : "DEFAULT"
"credentialsProfile" : "ADMIN_USER"
- useInstancePrincipal
例:
"useInstancePrincipal" : true
一意の構成パラメータ
hasHeader
-
用途: CSVファイルにヘッダーがあるかどうかを指定します。これが
true
に設定されている場合、最初の行は無視されます。false
に設定すると、最初の行はCSVレコードとみなされます。デフォルト値は、false
です。 - データ型: ブール
- 必須(Y/N): N
-
例:
"hasHeader" : "false"
columns
-
用途: NoSQL Database表の列名のリストを指定します。列名の順序は、CSVファイル・フィールドと対応するNoSQL Database表の列のマッピングを示します。入力CSVファイルの列の順序が、既存または新規に作成されたNoSQL Database表の列と一致しない場合は、このパラメータを使用して順序をマップできます。また、アイデンティティ列を含む表にインポートする場合は、
columns
パラメータのアイデンティティ列名をスキップできます。ノート:
- NoSQL Database表にCSVファイルで使用できない追加列がある場合、欠落している列の値は、NoSQL Database表に定義されているデフォルト値で更新されます。デフォルト値が指定されていない場合は、移行中にNull値が挿入されます。デフォルト値の詳細は、SQLリファレンス・ガイドのデータ型定義の項を参照してください。
- CSVファイルに、NoSQL Database表で定義されていない追加の列がある場合、追加の列情報は無視されます。
- CSVレコードのいずれかの値が空の場合、NoSQL Database表の対応する列のデフォルト値に設定されます。デフォルト値が指定されていない場合は、移行中にNull値が挿入されます。
- データ型: 文字列の配列
- 必須(Y/N): N
-
例:
"columns" : ["table_column_1", "table_column_2"]
csvOptions
-
用途: CSVファイルの形式プションを指定します。CSVファイルの文字セット・エンコーディング形式を指定し、空白を切り捨てるかどうかを選択します。
- データ型: オブジェクト
- 必須(Y/N): N
csvOptions.encoding
-
用途: CSVファイルをデコードする文字セットを指定します。デフォルト値は
UTF-8
です。サポートされている文字セットは、US-ASCII、ISO-8859-1、UTF-8
およびUTF-16
です。 - データ型: 文字列
- 必須(Y/N): N
-
例:
"encoding" : "UTF-8"
csvOptions.trim
-
用途: CSVフィールド値の先頭および末尾の空白を切り捨てる必要があるかどうかを指定します。デフォルト値は、
false
です。 - データ型: ブール
- 必須(Y/N): N
-
例:
"trim" : "true"