Azure Blob StorageまたはAzure Data Lake StorageからAutonomous Databaseへのデータのロード

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

ユーザー・アカウント認証用のAzureアクセス資格証明と、Azureストレージ・アカウント・コンテナ内のオブジェクトにアクセスするためのオブジェクトURLが必要です。

Azure Blob StorageまたはAzure Data Lake Storageからデータをロードするには:
  1. Autonomous DatabaseでAzureユーザー・アカウントの資格証明を作成します。

  2. Azure Blob StorageまたはAzure Data Lake Storageからデータベースにデータをコピーします。

トピック

Azure Blob StorageまたはAzure Data Lake Storageからのデータのロードの準備

前提条件を確認し、Azure Blob StorageまたはAzure Data Lake Storageからデータをロードする準備をします。

前提条件

データ・ファイル(azure-data.txtなど)は、インポートできるAzure Storageアカウント・コンテナに存在します。この例のサンプル・ファイルには、次の内容が含まれています。
1,Azure Direct Sales
2,Azure Tele Sales
3,Azure Catalog
4,Azure Internet
5,Azure Partners

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

  1. 必要なロール(Storage Blob Data Contributorなど)をAzure Storageアカウントに付与します。
    詳細は、Azureポータルを使用したAzureロールの割当てを参照してください。
  2. Azureストレージ・アカウントのアクセス・キーを取得します。
    詳細は、アカウント・アクセス・キーの表示を参照してください。
  3. Azure Storageアカウント・コンテナに格納されているデータ・ファイルのオブジェクトURLを取得します。

Azure Blob StorageまたはAzure Data Lake Storageからのデータのロード・ステップ

次のステップを実行して、Azure Blob StorageまたはAzure Data Lake StorageからAutonomous Databaseにデータをロードします。

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

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

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

    Azureサービス・プリンシパルを有効にする場合、Azure Blob StorageまたはAzure Data Lake Storageにアクセスするための資格証明の作成は必要ありません。詳細は、AzureリソースへのアクセスにAzureサービス・プリンシパルを使用を参照してください。

    オプションで、この例に示すように、Azure Blob StorageまたはAzure Data Lake Storageへのアクセスをテストできます。

    SELECT * FROM DBMS_CLOUD.LIST_OBJECTS('AZURE_CRED_NAME', 'https://dbazure.blob.core.windows.net/my-azure-container/');
    
  2. データをロードする表をデータベースに作成します。
    CREATE TABLE myazuretable (id NUMBER, name VARCHAR2(64));
    
  3. Azure Blob StorageまたはAzure Data Lake StorageコンテナからAutonomous Databaseにデータをインポートします。
    表名とAzure資格証明名の後に、Azure Blob StorageまたはAzure Data Lake StorageオブジェクトのURLを指定します。
    BEGIN
          DBMS_CLOUD.COPY_DATA(
              table_name => 'myazuretable',
              credential_name => 'AZURE_CRED_NAME',
              file_uri_list => 'https://dbazure.blob.core.windows.net/my-azure-container/azure-data.txt',
              format => json_object('delimiter' value ',')
          );
    END;
    /

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

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

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