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コマンドに対する追加の利点があります。ソースの分析および表定義の作成に役立つだけでなく、検証チェックも実行します。

Amazon S3バケット内のオブジェクトにアクセスするには、ユーザー・アカウント認証用のAWSアクセス資格証明とオブジェクト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

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