AWS S3からAutonomous Databaseへのデータのロード

この例では、Amazon S3オブジェクト・ストレージから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コマンドよりも追加の利点があります。ソースの分析および表定義の作成に役立つだけでなく、検証チェックも実行します。

ユーザー・アカウント認証用のAWSアクセス資格証明と、Amazon S3バケット内のオブジェクトにアクセスするためのオブジェクトURLが必要です。

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

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

トピック

AWS S3からのデータのロードの準備

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

前提条件

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

AWS側で、AWSアカウントにログインし、次の手順を実行します。

  1. Amazon S3バケットのAWS IAMユーザーにアクセス権限を付与します。
  2. ユーザーのアクセス・キーを作成します。
    詳細は、IAMユーザーのアクセス・キーの管理を参照してください。
  3. Amazon S3バケットに格納されているデータファイルのオブジェクトURLを取得します。
    詳細は、「Amazon S3バケットへのアクセスとリスト」を参照してください。

AWS S3からデータをロードする手順

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

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

    ここでは、ユーザー名はAWSアクセス・キーIDで、パスワードはユーザー・アクセス・キーです。

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

    Amazonリソース名(ARN)を有効にする場合、AWSリソースにアクセスするための資格証明の作成は必要ありません。詳細は、Amazonリソース名(ARN)を使用したAWSリソースへのアクセスを参照してください。

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

    SELECT * FROM DBMS_CLOUD.LIST_OBJECTS('AWS_CRED_NAME', ' https://aws-bucket-01.s3.amazonaws.com/');
    
  2. データをロードする表をデータベースに作成します。
    CREATE TABLE mytable (id NUMBER, name VARCHAR2(64));
    
  3. Amazon S3バケットからAutonomous Databaseにデータをインポートします。
    表名とAWS資格証明名の後にS3オブジェクトURLを指定します。
    BEGIN
          DBMS_CLOUD.COPY_DATA(
              table_name => 'mytable',
              credential_name => 'AWS_CRED_NAME',
              file_uri_list => https://aws-bucket-01.s3.amazonaws.com/data.txt',
              format => json_object('delimiter' value ',')
          );
    END;
    /

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

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

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