ソース構成テンプレート

有効な各ソースのソース構成ファイル書式および各構成パラメータの用途について学習します。

構成ファイル・テンプレートについては、Oracle NoSQL Database Migratorで使用される用語構成ファイルを参照してください。

各ソースの有効なシンク形式の詳細は、シンク構成テンプレートを参照してください。

トピック

  • ファイル・ソースとしてのJSON

    Oracle NoSQL Database Migratorのソース構成テンプレートで、JSONファイルから有効なシンクにデータをソースとしてコピーします。

  • OCIオブジェクト・ストレージ・バケットのJSONファイル

    Oracle NoSQL Database Migratorのソース構成テンプレートで、OCIオブジェクト・ストレージ・バケットのJSONファイルから有効なシンクにデータをソースとしてコピーします。

  • MongoDB形式のJSONファイル

    Oracle NoSQL Database Migratorのソース構成テンプレートで、MongoDB形式のJSONファイルから有効なシンクにデータをソースとしてコピーします。

  • OCIオブジェクト・ストレージ・バケット内のMongoDB形式のJSONファイル

    Oracle NoSQL Database Migratorのソース構成テンプレートで、OCIオブジェクト・ストレージ・バケット内のMongoDB形式のJSONファイルから有効なシンクにデータをソースとしてコピーします。

  • AWS S3に格納されたDynamoDB形式のJSONファイル

    Oracle NoSQL Database Migratorのソース構成テンプレートで、AWS S3ストレージのDynamoDB形式のJSONファイルから有効なシンクにデータをソースとしてコピーします。

  • DynamoDB形式のJSONファイル

    Oracle NoSQL Database Migratorのソース構成テンプレートで、DynamoDB形式のJSONファイルから有効なシンクにデータをソースとしてコピーします。

  • Oracle NoSQL Database

    Oracle NoSQL Database Migratorのソース構成テンプレートで、Oracle NoSQL Database表からデータをソースとして有効なシンクにコピーします。

  • Oracle NoSQL Database Cloud Service

    Oracle NoSQL Database Migratorのソース構成テンプレートで、Oracle NoSQL Database Cloud Service表から有効なシンクにデータをソースとしてコピーします。

  • ファイル・ソースとしてのCSV

    Oracle NoSQL Database Migratorのソース構成テンプレートで、CSVファイルから有効なシンクにデータをソースとしてコピーします。

  • OCIオブジェクト・ストレージ・バケットのCSVファイル

    Oracle NoSQL Database Migratorのソース構成テンプレートで、OCIオブジェクト・ストレージ・バケットに格納されているCSVファイルから有効なシンクにデータをソースとしてコピーします。

ファイル・ソースとしてのJSON

NoSQL Database MigratorのソースとしてのJSONファイルの構成ファイル形式を次に示します。

ソース構成テンプレートでファイル・パスまたはディレクトリを指定して、JSONソース・ファイルをファイル・パスまたはディレクトリから移行できます。

サンプルJSONソース・ファイルは次のとおりです。
{"Item":{"PK":{"S":"ACCT#82691500"},"SK":{"S":"ACCT#82691500"},"AccountIndexId":{"S":"ACCT#82691500"},"Emailid":{"S":"alejandro.rosalez11@example.org"},"AccountId":{"N":"82691500"},"PlasticCardNumber":{"S":"9610432116466295"},"FirstName":{"S":"Alejandro"},"Addresses":{"M":{"RESIDENCE":{"M":{"city":{"S":"Any Town"},"country":{"S":"USA"},"street":{"S":"123 Any Street"}}},"BUSINESS":{"M":{"city":{"S":"Anytown"},"country":{"S":"country"},"street":{"S":"221 Main Street"}}}}},"LastName":{"S":"Rosalez"}}}
{"Item":{"PK":{"S":"ACCT#76584123"},"SK":{"S":"ACCT#76584123"},"AccountIndexId":{"S":"ACCT#76584123"},"Emailid":{"S":"zhang.wei@example.com"},"AccountId":{"N":"76584123"},"PlasticCardNumber":{"S":"4235400034568756"},"FirstName":{"S":"Zhang"},"Addresses":{"M":{"RESIDENCE":{"M":{"city":{"S":"Any Town"},"country":{"S":"USA"},"street":{"S":"135 Any Street"}}},"BUSINESS":{"M":{"city":{"S":"AnyTown"},"country":{"S":"country"},"street":{"S":"100 Main Street"}}}}},"LastName":{"S":"Wei"},"AuthUsers":{"M":{"AUTHUSER-2":{"M":{"Name":{"S":"Mateo Jackson"},"PlasticCardNumber":{"S":"4036516984267960"}}},"AUTHUSER-1":{"M":{"Name":{"S":"Paulo Santos"},"PlasticCardNumber":{"S":"4036546984262340"}}}}}}}

ソース構成テンプレート

"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オブジェクト・ストレージ・バケット内のJSONファイルを移行できます。

OCIオブジェクト・ストレージ・バケットのサンプルJSONソース・ファイルは次のとおりです:
{"Item":{"PK":{"S":"ACCT#82691500"},"SK":{"S":"ACCT#82691500"},"AccountIndexId":{"S":"ACCT#82691500"},"Emailid":{"S":"alejandro.rosalez11@example.org"},"AccountId":{"N":"82691500"},"PlasticCardNumber":{"S":"9610432116466295"},"FirstName":{"S":"Alejandro"},"Addresses":{"M":{"RESIDENCE":{"M":{"city":{"S":"Any Town"},"country":{"S":"USA"},"street":{"S":"123 Any Street"}}},"BUSINESS":{"M":{"city":{"S":"Anytown"},"country":{"S":"country"},"street":{"S":"221 Main Street"}}}}},"LastName":{"S":"Rosalez"}}}
{"Item":{"PK":{"S":"ACCT#76584123"},"SK":{"S":"ACCT#76584123"},"AccountIndexId":{"S":"ACCT#76584123"},"Emailid":{"S":"zhang.wei@example.com"},"AccountId":{"N":"76584123"},"PlasticCardNumber":{"S":"4235400034568756"},"FirstName":{"S":"Zhang"},"Addresses":{"M":{"RESIDENCE":{"M":{"city":{"S":"Any Town"},"country":{"S":"USA"},"street":{"S":"135 Any Street"}}},"BUSINESS":{"M":{"city":{"S":"AnyTown"},"country":{"S":"country"},"street":{"S":"100 Main Street"}}}}},"LastName":{"S":"Wei"},"AuthUsers":{"M":{"AUTHUSER-2":{"M":{"Name":{"S":"Mateo Jackson"},"PlasticCardNumber":{"S":"4036516984267960"}}},"AUTHUSER-1":{"M":{"Name":{"S":"Paulo Santos"},"PlasticCardNumber":{"S":"4036546984262340"}}}}}}}

ノート:

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>
}

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"

namespace

  • 用途: OCIオブジェクト・ストレージ・サービスのネームスペースを指定します。これはオプション・パラメータです。このパラメータを指定しない場合は、テナンシのデフォルト・ネームスペースが使用されます。

  • データ型: 文字列
  • 必須(Y/N): Y
  • 例: "namespace" : "my-namespace"

bucket

  • 用途: ソースJSONファイルを含むバケットの名前を指定します。必要なバケットがOCIオブジェクト・ストレージ・インスタンスにすでに存在し、読取り権限があることを確認してください。

  • データ型: 文字列
  • 必須(Y/N): Y
  • 例: "bucket" : "staging_bucket"

prefix

  • 用途: バケットから移行されるオブジェクトをフィルタするために使用します。バケットに存在する指定した接頭辞を持つすべてのオブジェクトが移行されます。接頭辞の詳細は、接頭辞および階層を使用したオブジェクト・ネーミングに関する項を参照してください。

    値を指定しない場合、フィルタは適用されず、バケット内に存在するすべてのオブジェクトが移行されます。

  • データ型: 文字列
  • 必須(Y/N): N
  • 例:
    1. "prefix" : "my_table/Data/000000.json" (000000.jsonのみが移行されます)
    2. "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
  • 例:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"

credentialsProfile

  • 用途: Oracle NoSQL Database Cloud Serviceへの接続に使用される構成プロファイルの名前。ユーザー・アカウント資格証明は、「プロファイル」と呼ばれます。

    この値を指定しない場合は、デフォルトでDEFAULTプロファイルに設定されます。

    ノート:

    このパラメータは、credentialsパラメータが指定されている場合のみ有効です。
  • データ型: 文字列
  • 必須(Y/N): N
  • 例:
    1. "credentialsProfile" : "DEFAULT"
    2. "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ファイルの構成ファイル形式を次に示します。

ソース構成テンプレートでファイルまたはディレクトリを指定することで、MongoDBがエクスポートした移行用のJSONデータを含むファイルまたはディレクトリをコピーできます。

MongoDB形式のJSONファイルの例を次に示します。
{"_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"}]}

MongoDBは、標準モードおよび緩和モードの2種類のファイルのJSON形式に対する拡張をサポートしています。mongoexportツールを使用して正規モードまたは緩和モードで生成されるMongoDB形式のJSONファイルを指定できます。どちらのモードも、移行のためにNoSQL Database Migratorでサポートされています。

MongoDB Extended JSON (v2)ファイルの詳細は、mongoexport_formatsを参照してください。

MongoDB形式のJSONファイルの生成の詳細は、mongoexportを参照してください。

ソース構成テンプレート

"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でサポートされています。

    MongoDB Extended JSON (v2)ファイルの詳細は、mongoexport_formatsを参照してください。

    ディレクトリを指定すると、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データをコピーできます。

MongoDB形式のJSONファイルの例を次に示します。
{"_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"}]}

mongoexportユーティリティを使用してMongoDBからデータを抽出し、OCIオブジェクト・ストレージ・バケットにアップロードします。詳細は、mongoexportを参照してください。

ノート:

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

  • 用途: ソース・タイプを識別します。

  • データ型: 文字列
  • 必須(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"

namespace

  • 用途: OCIオブジェクト・ストレージ・サービスのネームスペースを指定します。これはオプション・パラメータです。このパラメータを指定しない場合は、テナンシのデフォルト・ネームスペースが使用されます。

  • データ型: 文字列
  • 必須(Y/N): Y
  • 例: "namespace" : "my-namespace"

bucket

  • 用途: MongoDB形式のソースJSONファイルを含むバケットの名前を指定します。必要なバケットがOCIオブジェクト・ストレージ・インスタンスにすでに存在し、読取り権限があることを確認してください。

  • データ型: 文字列
  • 必須(Y/N): Y
  • 例: "bucket" : "staging_bucket"

prefix

  • 用途: バケットから移行されるオブジェクトをフィルタするために使用します。バケットに存在する指定した接頭辞を持つすべてのオブジェクトが移行されます。接頭辞の詳細は、接頭辞および階層を使用したオブジェクト・ネーミングに関する項を参照してください。

    値を指定しない場合、フィルタは適用されず、バケット内に存在するすべてのMongoDB JSON形式のオブジェクトが移行されます。mongoexportユーティリティを使用してMongoDBからデータを抽出し、OCIオブジェクト・ストレージ・バケットにアップロードします。詳細は、mongoexportを参照してください。

    値を指定しない場合、フィルタは適用されず、バケット内に存在するすべてのオブジェクトが移行されます。

  • データ型: 文字列
  • 必須(Y/N): N
  • 例:
    1. "prefix" : "mongo_export/Data/table.json" (table.jsonのみが移行されます)
    2. "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
  • 例:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"

credentialsProfile

  • 用途: Oracle NoSQL Database Cloud Serviceへの接続に使用される構成プロファイルの名前。ユーザー・アカウント資格証明は、「プロファイル」と呼ばれます。

    この値を指定しない場合は、デフォルトでDEFAULTプロファイルに設定されます。

    ノート:

    このパラメータは、credentialsパラメータが指定されている場合のみ有効です。
  • データ型: 文字列
  • 必須(Y/N): N
  • 例:
    1. "credentialsProfile" : "DEFAULT"
    2. "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

AWS S3に格納されたDynamoDB形式のJSONファイル

NoSQL Database MigratorのソースとしてAWS S3にあるDynamoDB形式のJSONファイルの構成ファイル形式を次に示します。

ソース構成テンプレートでパスを指定することで、DynamoDBエクスポートされたJSONデータを含むファイルをAWS S3ストレージから移行できます。

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"}}}

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
  • format
  • s3URL
  • credentials
  • credentialsProfile
type
  • 用途:ソース・タイプを識別します。
  • データ型: 文字列
  • 必須(Y/N):Y
  • 例: "type" : "aws_s3"
format
  • 用途:ソースの形式を指定します。
  • データ型: 文字列
  • 必須(Y/N):Y
  • 例: "format" : "dynamodb_json"

ノート:

typeの値がaws_s3の場合、formatはdynamodb_jsonである必要があります。
s3URL
  • 用途: AWS S3に格納されているエクスポートされたDynamoDB表のURLを指定します。このURLは、AWSのS3コンソールから取得できます。有効なURL形式はhttps://<bucket-name>.<s3_endpoint>/<prefix>です。マイグレータは、インポートする接頭辞内でjson.gzファイルを検索します。

    ノート:

    Amazon S3へのDynamoDB表のエクスポートに関する項の説明に従って、DynamoDB表をエクスポートする必要があります。
  • データ型: 文字列
  • 必須: Yes
  • : https://my-bucket.s3.ap-south-1.amazonaws.com/AWSDynamoDB/01649660790057-14f642be
credentials
  • 用途: AWS資格証明を含むファイルへの絶対パスを指定します。指定しない場合は、デフォルトで$HOME/.aws/credentialsに設定されます。資格証明ファイルの詳細は、『Configuration and credential file settings』を参照してください。
  • データ型: 文字列
  • 必須(Y/N):N
  • :
    "credentials" : "/home/user/.aws/credentials"
    "credentials" : "/home/user/security/credentials

ノート:

マイグレータは資格証明情報をログに記録しません。資格証明ファイルを不正アクセスから適切に保護する必要があります。
credentialsProfile
  • 用途: AWS S3への接続に使用するAWS資格証明ファイルのプロファイルの名前。ユーザー・アカウント資格証明は、プロファイルと呼ばれます。この値を指定しない場合は、デフォルト・プロファイルにデフォルト設定されます。資格証明ファイルの詳細は、『Configuration and credential file settings』を参照してください。
  • データ型: 文字列
  • 必須(Y/N):N
  • 例:
    "credentialsProfile" : "default"
            "credentialsProfile": "test"

DynamoDB形式のJSONファイル

NoSQL Database MigratorのソースとしてDynamoDB形式のJSONファイルの構成ファイル形式を次に示します。

ソース構成テンプレートでパスを指定することで、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 a file or directory containing exported DDB table data>"   
}
ソース・パラメータ:
  • type
  • format
  • dataPath
type
  • 用途:ソース・タイプを識別します。
  • データ型: 文字列
  • 必須(Y/N):Y
  • 例: "type" : "file"
format
  • 用途:ソースの形式を指定します。
  • データ型: 文字列
  • 必須(Y/N):Y
  • 例: "format" : "dynamodb_json"
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から表を移行できます。

サンプルの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",
    "table" : "<fully qualified table name>",
    "storeName" : "<store name>",
    "helperHosts" : ["hostname1:port1","hostname2:port2,..."],
    "security" : "</path/to/store/security/file>",
    "requestTimeoutMs" : 5000,
    "includeTTL": <true|false>
}

type

  • 用途: ソース・タイプを識別します。

  • データ型: 文字列
  • 必須(Y/N): Y
  • 例: "type" : "nosqldb"

table

  • 用途: データの移行元の完全修飾表名。

    形式: [namespace_name:]<table_name>

    表がDEFAULTネームスペースにある場合は、namespace_nameを省略できます。この表はストアに存在する必要があります。

  • データ型: 文字列
  • 必須(Y/N): Y
  • 例:
    • DEFAULTネームスペース"table" :"mytable"を使用する場合

    • デフォルト以外のネームスペース"table" : "mynamespace:mytable"を使用する場合

    • 子表"table" : "mytable.child"を指定する場合

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

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から表を移行できます。

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. 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>,
  "includeTTL": <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"を指定する場合
    • 子表"table" : "mytable.child"を指定する場合

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
  • 例:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"

credentialsProfile

  • 用途: Oracle NoSQL Database Cloud Serviceへの接続に使用される構成プロファイルの名前。ユーザー・アカウント資格証明は、「プロファイル」と呼ばれます。

    この値を指定しない場合は、デフォルトでDEFAULTプロファイルに設定されます。

    ノート:

    このパラメータは、credentialsパラメータが指定されている場合のみ有効です。
  • データ型: 文字列
  • 必須(Y/N): N
  • 例:
    1. "credentialsProfile" : "DEFAULT"
    2. "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

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データを含むディレクトリを移行するには、ソース構成テンプレートでファイル名またはディレクトリを指定します。

サンプル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-or-directory>",
    "hasHeader" : <true | false>,
    "columns" : ["column1", "column2", ....],
    "csvOptions" : {         
                 "trim" : <true | false>,
                 "encoding" : "<character set encoding>"
    }
}

type

  • 用途: ソース・タイプを識別します。

  • データ型: 文字列
  • 必須(Y/N): Y
  • 例: "type" : "file"

format

  • 用途: ソースの形式を指定します。

  • データ型: 文字列
  • 必須(Y/N): Y
  • 例: "format" : "csv"

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.trim

  • 用途: CSVフィールド値の先頭および末尾の空白を切り捨てる必要があるかどうかを指定します。デフォルト値は、falseです。

  • データ型: ブール
  • 必須(Y/N): N
  • 例: "trim" : "true"

csvOptions.encoding

  • 用途: CSVファイルをデコードする文字セットを指定します。デフォルト値はUTF-8です。サポートされている文字セットは、US-ASCII、ISO-8859-1、UTF-8およびUTF-16です。

  • データ型: 文字列
  • 必須(Y/N): N
  • 例: "encoding" : "UTF-8"

OCIオブジェクト・ストレージ・バケットのCSVファイル

NoSQL Database MigratorのソースとしてのOCIオブジェクト・ストレージ・バケットのCSVファイルの構成ファイル形式を次に示します。CSVファイルはRFC4180形式に準拠している必要があります。

ソース構成テンプレートでバケットの名前を指定することで、OCIオブジェクト・ストレージ・バケット内のCSVファイルを移行できます。

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" : {         
                 "trim" : <true | false>,
                 "encoding" : "<character set encoding>"
   }
 }

type

  • 用途: ソース・タイプを識別します。

  • データ型: 文字列
  • 必須(Y/N): Y
  • 例: "type" : "object_storage_oci"

format

  • 用途: ソースの形式を指定します。

  • データ型: 文字列
  • 必須(Y/N): Y
  • 例: "format" : "csv"

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"

namespace

  • 用途: OCIオブジェクト・ストレージ・サービスのネームスペースを指定します。これはオプション・パラメータです。このパラメータを指定しない場合は、テナンシのデフォルト・ネームスペースが使用されます。

  • データ型: 文字列
  • 必須(Y/N): Y
  • 例: "namespace" : "my-namespace"

bucket

  • 用途: ソースCSVファイルを含むバケットの名前を指定します。NoSQL Database Migratorは、.csvまたは.CSV拡張子を持つすべてのファイルをオブジェクト単位でインポートし、同じ順序で単一の表にコピーします。

    必要なバケットがOCIオブジェクト・ストレージ・インスタンスにすでに存在し、読取り権限があることを確認してください。

  • データ型: 文字列
  • 必須(Y/N): Y
  • 例: "bucket" : "staging_bucket"

    ノート:

    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の進捗状況のロギングを参照してください。

prefix

  • 用途: バケットから移行されるオブジェクトをフィルタするために使用します。バケットに存在する指定した接頭辞を持つすべてのオブジェクトが移行されます。接頭辞の詳細は、接頭辞および階層を使用したオブジェクト・ネーミングに関する項を参照してください。

    値を指定しない場合、フィルタは適用されず、バケット内に存在するすべてのオブジェクトが移行されます。

  • データ型: 文字列
  • 必須(Y/N): N
  • 例:
    1. "prefix" : "my_table/Data/000000.json" (000000.jsonのみが移行されます)
    2. "prefix" : "my_table/Data" (接頭辞my_table/Dataを持つすべてのオブジェクトが移行されます)

credentials

  • 用途: OCI資格証明を含むファイルへの絶対パス。

    指定しない場合は、デフォルトで$HOME/.oci/configに設定されます。

    資格証明ファイルの例は、構成例を参照してください。

    ノート:

    構成テンプレートには、credentialsまたはuseInstancePrincipalパラメータを指定する必要があります。
  • データ型: 文字列
  • 必須(Y/N): N
  • 例:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"

credentialsProfile

  • 用途: Oracle NoSQL Database Cloud Serviceへの接続に使用される構成プロファイルの名前。ユーザー・アカウント資格証明は、プロファイルと呼ばれます。

    この値を指定しない場合は、デフォルトでDEFAULTプロファイルに設定されます。

    ノート:

    このパラメータは、credentialsパラメータが指定されている場合のみ有効です。
  • データ型: 文字列
  • 必須(Y/N): N
  • 例:
    1. "credentialsProfile" : "DEFAULT"
    2. "credentialsProfile": "ADMIN_USER"

useInstancePrincipal

  • 用途: NoSQL Database Migratorツールでインスタンス・プリンシパル認証を使用してOracle NoSQL Database Cloud Serviceに接続するかどうかを指定します。インスタンス・プリンシパル認証方法の詳細は、「ソースおよびシンク・セキュリティ」を参照してください。

    デフォルト値は、falseです。

    ノート:

    • インスタンス・プリンシパルでの認証は、OCIでホストされているVMで実行されているNoSQL Database Migratorツールなど、OCIコンピュート・インスタンス内でNoSQL Database Migratorツールが実行されている場合のみサポートされます。
    • 構成テンプレートには、credentialsまたはuseInstancePrincipalパラメータを指定する必要があります。
  • データ型: ブール
  • 必須(Y/N): N
  • 例: "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.trim

  • 用途: CSVフィールド値の先頭および末尾の空白を切り捨てる必要があるかどうかを指定します。デフォルト値は、falseです。

  • データ型: ブール
  • 必須(Y/N): N
  • 例: "trim" : "true"

csvOptions.encoding

  • 用途: CSVファイルをデコードする文字セットを指定します。デフォルト値はUTF-8です。サポートされている文字セットは、US-ASCII、ISO-8859-1、UTF-8およびUTF-16です。

  • データ型: 文字列
  • 必須(Y/N): N
  • 例: "encoding" : "UTF-8"