JSONドキュメントの配列のコレクションへのロード
クラウドのコレクションからデータをロードするには、最初にオブジェクト・ストレージ資格証明をAutonomous Databaseに格納してから、PL/SQLプロシージャDBMS_CLOUD.COPY_COLLECTION
を使用してドキュメントをコレクションにロードする必要があります。 このトピックでは、ファイル内のJSON配列からデータベースにドキュメントをロードする方法について説明します。
ノート:
SODA for RESTを使用して、ファイル内のJSON配列からコレクションにドキュメントをロードすることもできます。 「SODA for RESTを使用した発注書サンプル・データのロード」を参照してください。
この例では、JSONファイルfruit_array.json
を使用します。 ファイルfruit_array.json
の内容は、次のとおりです:
[{"name" : "apple", "count": 20 },
{"name" : "orange", "count": 42 },
{"name" : "pear", "count": 10 }]
Autonomous Databaseにデータをロードする前に、次のようにデータをオブジェクト・ストアにコピーします:
-
オブジェクト・ストアにバケットを作成します。 たとえば、「バケットの作成」をクリックし、選択したコンパートメント内のOracle Cloud Infrastructureオブジェクト・ストレージ・リンクからOracle Cloud Infrastructureオブジェクト・ストア・バケットを作成するか、次のOCI CLIコマンドなどのコマンドライン・ツールを使用します:
oci os bucket create -name json_bucket -c <compartment id>
-
JSONファイルをオブジェクト・ストアにコピーします。 たとえば、次のOCI CLIコマンドは、JSONファイル
fruit_array.json
をオブジェクト・ストアにコピーします:oci os object put --bucket-name json_bucket --file "fruit_array.json"
JSONファイルをオブジェクト・ストアからデータベース上のfruit2
という名前のSODAコレクションにロードします:
フォーマット・オプションunpackarrays
を使用したDBMS_CLOUD.COPY_COLLECTION
を使用したfruit_array.json
のロードでは、ソース内の配列値が認識され、デフォルトで単一ドキュメントとしてデータをロードするかわりに、データはコレクションfruit2
にロードされ、配列の各値が単一のドキュメントとしてロードされます。