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 Storageアカウント・コンテナ内のオブジェクトにアクセスするためのオブジェクト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

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