機械翻訳について

JSONデータをクラウド・オブジェクト・ストレージにエクスポート

問合せを指定して、Autonomous DatabaseからCloud Object StorageにJSONデータとして表データをエクスポートするステップを示します。

このエクスポート・メソッドでは、Autonomous Databaseでサポートされているすべてのクラウド・オブジェクト・ストアがサポートされており、Oracle Cloud Infrastructureリソース・プリンシパルを使用して、Oracle Cloud Infrastructureオブジェクト・ストア、Amazonリソース名(ARN)にアクセスしてAWS Simple Storage Service (S3)、Azure BLOBストレージまたはAzure Data LakeストレージにアクセスするためのAzureサービス・プリンシパル、またはGoogle Cloud Platform (GCP)リソースにアクセスするためのGoogleサービス・アカウントにアクセスできます。

  1. Autonomous Databaseインスタンスに接続します。

    詳細については、「Autonomous Databaseに接続」を参照してください。

  2. DBMS_CLOUD.CREATE_CREDENTIALを使用してCloud Object Storage資格証明を保存します。

    たとえば:

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'user1@example.com',
        password => 'password'
      );
    END;
    /

    usernameおよびpasswordに指定する値は、使用するクラウド・オブジェクト・ストレージ・サービスによって異なります。

    リソース・プリンシパル資格証明を有効にした場合、Oracle Cloud Infrastructureオブジェクト・ストアにアクセスするための資格証明の作成は必要ありません。 詳細については、「リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセス」を参照してください。

  3. DBMS_CLOUD.EXPORT_DATAを実行し、formatパラメータtypeに値jsonを指定して、結果をクラウド・オブジェクト・ストレージのJSONファイルとしてエクスポートします。
    JSON出力ファイルを生成するには、file_uri_listパラメータに2つのオプションがあります:
    • file_uri_list値を、クラウド・オブジェクト・ストレージ上の既存のバケットのURLに設定します。

    • file_uri_list値をクラウド・オブジェクト・ストレージ上の既存のバケットのURLに設定し、エクスポートされたJSONのファイル名を生成するときに使用するファイル名プレフィクスを含めます。

    file_uri_listにファイル名プレフィクスを含めない場合、DBMS_CLOUD.EXPORT_DATAはファイル名プレフィクスを指定します。 詳細は「テキスト出力のファイル・ネーミング(CSV、JSON、ParquetまたはXML)」を参照してください。

    たとえば、file_uri_listで指定されているファイル名プレフィクスを使用したDBMS_CLOUD.EXPORT_DATAを示します:

    BEGIN
      DBMS_CLOUD.EXPORT_DATA(
        credential_name => 'DEF_CRED_NAME',
        file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dept_export',
        query           => 'SELECT * FROM DEPT',
        format          => JSON_OBJECT('type' value 'json'));
    END;
    /

    この例では、namespace-stringがOracle Cloud Infrastructureオブジェクト・ストレージのネームスペースで、bucketnameがバケット名です。 詳細については、「オブジェクト・ストレージのネームスペースについて」を参照してください。

    レコード・デリミタに\rや\tなどのエスケープ文字が含まれている場合は、レコード・デリミタを二重引用符で囲みます。 たとえば、レコード・デリミタ\r\nを使用するには、値を二重引用符で囲みます:"\r\n"

    BEGIN
      DBMS_CLOUD.EXPORT_DATA(
        credential_name => 'DEF_CRED_NAME',
        file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dept_export',
        query => 'SELECT * FROM DEPT',
        format => JSON_OBJECT('type' value 'json', 'recorddelimiter' value '"\r\n"' format json));
    END;
    /

    この例では、namespace-stringがOracle Cloud Infrastructureオブジェクト・ストレージのネームスペースで、bucketnameがバケット名です。 詳細については、「オブジェクト・ストレージのネームスペースについて」を参照してください。

    パラメータの詳細は、「EXPORT_DATAプロシージャ」を参照してください。

    DBMS_CLOUD.EXPORT_DATAで使用できるformatパラメータの詳細は、「EXPORT_DATAのDBMS_CLOUDパッケージ形式オプション」を参照してください。

DBMS_CLOUD.EXPORT_DATAを使用してエクスポートするノート:

  • 指定するqueryパラメータは、必要に応じて、結合または副問合せを含む問合せなどの拡張問合せです。

  • 出力ファイルを圧縮するには、compressionオプションを指定してformatパラメータを指定します。

  • エクスポート時にデータを暗号化するには、encryptionオプションを指定してformatパラメータを指定します。 詳細については、「オブジェクト・ストレージへのエクスポート中のデータの暗号化」を参照してください。

  • エクスポートするファイルが不要になった場合は、プロシージャDBMS_CLOUD.DELETE_OBJECTを使用するか、ネイティブのCloud Object Storageコマンドを使用してファイルを削除します。