Google Cloud StorageからAutonomous Databaseへのデータのロード

この例では、Google Cloud StorageからAutonomous Databaseにデータをロードする方法を示します。

Autonomous Databaseへのデータ・ロードを実行する様々なオプションがあります:

  • UIオプションの使用: Data Studioロード・ツールのユーザー・インタフェースを使用して、クラウド・ストアの場所の資格証明を作成し、データを含むファイルを選択して、データ・ロード・ジョブを実行できます。

    「クラウド・ストレージからのデータのロード」を参照してください

  • Rest Data Services APIの使用: Data Studioロード・ツールAPIを使用して、クラウド・ストアの場所へのリンクを作成し、データ・ロード・ジョブを実行できます。

    「PL/SQLでのData Studioデータ・ロードAPIの使用」を参照してください

  • この例で説明するように、SQLコマンドを使用します。

これらのすべてのメソッドは、データのロードに同じPL/SQLパッケージDBMS_CLOUDを使用します。ただし、Data StudioにはSQLコマンドよりも追加の利点があります。ソースの分析および表定義の作成に役立つだけでなく、検証チェックも実行します。

ユーザー・アカウント認証のGoogle Cloud Platform (GCP)アクセス資格証明と、Google Cloud Storageバケット内のオブジェクトにアクセスするためのオブジェクトURLが必要です。

Google Cloud Storageバケットからデータをロードするには:
  1. Autonomous DatabaseでGCPユーザー・アカウントの資格証明を作成します。

  2. Google Cloud Storageバケットからデータベースにデータをコピーします。

トピック

Google Cloud Storageからのデータのロードの準備

前提条件を確認し、Google Cloud Storageからデータをロードする準備をします。

前提条件

データ・ファイル(たとえば、gcp-data.txt)は、インポートできるGoogle Cloud Storageバケットに存在します。この例のサンプル・ファイルには、次の内容が含まれています。
1,GCP Direct Sales
2,GCP Tele Sales
3,GCP Catalog
4,GCP Internet
5,GCP Partners

Google側で、Google Cloud Platform (GCP)アカウントにログインし、次を実行します:

  1. ユーザーのアクセス・キーを作成します。
    詳細は、HMACキーを参照してください。
  2. Google Cloud Storageバケットに格納されているデータファイルのオブジェクトURLを取得します。
    詳細は、リクエスト・エンドポイントを参照してください。

Google Cloud Storageからデータをロードするステップ

Google Cloud StorageからAutonomous Databaseにデータをロードするには、次のステップを実行します。

  1. Google Cloud Platform (GCP)アクセス資格証明をAutonomous Databaseに格納し、資格証明名を指定します。これにより、データベースはGCPユーザー・アカウントで認証し、Google Cloud Storageバケット内のアイテムにアクセスできます。
    SET DEFINE OFF
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'GOOGLE_CRED_NAME',
        username => 'username',
        password => 'password'
      );
    END;
    /
    ノート

    ここで、ユーザー名はGoogleアカウント・アクセス・キーで、パスワードはアクセス・キー・シークレットです。

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

    Googleサービス・アカウントを有効にする場合、Google Cloud Platform (GCP)にアクセスするための資格証明の作成は必要ありません。詳細は、Googleサービス・アカウントを使用したGoogle Cloud Platformリソースへのアクセスを参照してください。

    オプションで、この例に示すように、Google Cloud Storageバケットへのアクセスをテストできます。

    SELECT * FROM DBMS_CLOUD.LIST_OBJECTS('GOOGLE_CRED_NAME', 'https://bucketname.storage.googleapis.com/');
    
  2. データをロードする表をデータベースに作成します。
    CREATE TABLE mygoogletable (id NUMBER, name VARCHAR2(64));
    
  3. Google Cloud StorageバケットからAutonomous Databaseにデータをインポートします。
    表名とGCP資格証明名を指定し、その後にGoogle Cloud StorageオブジェクトURLを指定します。
    BEGIN
          DBMS_CLOUD.COPY_DATA(
              table_name => 'mygoogletable',
              credential_name => 'GOOGLE_CRED_NAME',
              file_uri_list => 'https://bucketname.storage.googleapis.com/gcp-data.txt',
              format => json_object('delimiter' value ',')
          );
    END;
    /

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

Google Cloud StorageからAutonomous Databaseにデータを正常にインポートしました。この文を実行して、表内のデータを検証できます。
SELECT * FROM mygoogletable;
ID  NAME
--  –-------------
 1  GCP Direct Sales
 2  GCP Tele Sales
 3  GCP Catalog
 4  GCP Internet
 5  GCP Partners

データのロードの詳細は、クラウド内のファイルからのデータのロードを参照してください。