DBMS_LIVE_FEEDパッケージ参照

この章では、Data Studioのデータ・ロード・ツールで使用するパッケージについて説明します。DBMS_LIVE_FEEDのトピックでは、DBMS_LIVE_FEEDパッケージに含まれるプロシージャについても説明します。

DBMS_LIVE_FEEDサブプログラムの概要

DBMS_LIVE_FEEDパッケージは、ライブ表フィードをオンデマンドで実行したり、スケジュールどおりに実行したり、オブジェクト・ストア・バケット内の新規オブジェクトに基づいて表に対する通知ドリブン更新の結果として、一般的な操作を簡略化します。

DBMS_LIVE_FEEDパッケージ・サブプログラム

次の表は、DBMS_LIVE_FEEDサブプログラムを示し、簡単に説明しています。

サブプログラム 説明
create_for_storage_link

このプロシージャは、ストレージ・リンクのライブ・フィードを作成します。

create_for_directory

このプロシージャは、ディレクトリのライブ・フィードを作成します。

create_for_url

このプロシージャは、URLからライブ・フィードを作成します。

modify_live_feed

このプロシージャは、ライブ・フィードを変更します。

drop_live_feed

このプロシージャは、ライブ・フィードを削除します。

load_new_content

このプロシージャは、既存のライブ・フィードに新しいコンテンツをロードします。

get_notification_key

このプロシージャは、ライブ・フィードから通知キーを取得します。

get_confirmation_url

このプロシージャは、ライブ・フィードから確認URLを受信します。

get_notification_state

このプロシージャは、ライブ・フィードから通知状態を受信します。

ストレージ・リンクの作成手順

このプロシージャは、クラウド・ストレージ・リンクからライブ表フィードを作成します。クラウド・ストレージ・リンクは、OCIバケットURIとローカル資格証明名間の名前付きアソシエーションです。

構文
procedure create_for_storage_link(live_feed_name     IN VARCHAR2,
                                           table_name         IN VARCHAR2,
                                           storage_link_name  IN VARCHAR2,
                                           schema             IN VARCHAR2 DEFAULT NULL,
                                           table_schema       IN VARCHAR2 DEFAULT NULL,
                                           column_list        IN CLOB     DEFAULT NULL,
                                           object_type        IN VARCHAR2 DEFAULT NULL,
                                           object_format      IN VARCHAR2 DEFAULT NULL,
                                           object_filter      IN VARCHAR2 DEFAULT NULL,
                                           object_filter_type IN VARCHAR2 DEFAULT NULL,
                                           scheduled          IN BOOLEAN  DEFAULT NULL,
                                           scheduler_interval IN VARCHAR2 DEFAULT NULL,
                                           notifications      IN BOOLEAN  DEFAULT NULL,
                                           job_class          IN VARCHAR2 DEFAULT NULL,
                                           start_date         IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
                                           end_date           IN TIMESTAMP WITH TIME ZONE DEFAULT NULL);

DBMS_ LIVE_FEEDのパラメータ

DBMS_LIVE_FEEDプロシージャにアクセスする場合は、次のパラメータを使用します。

パラメータ 説明

live_feed_name

作成するライブ・フィードの名前。

storage_link_name

クラウド・ストレージ・リンクの名前。リンクの名前は、標準のOracleネーミング規則に従う必要があります。

table_name

ライブ・フィードがクラウド・オブジェクト・ストレージからデータをロードするAutonomous Databaseターゲット表の名前。

Object_filter

ライブ・フィードからのデータがクラウド・オブジェクト・ストレージにアクセスするためにAutonomous Databaseインスタンスにロードされるターゲット表の名前。

object_filter_type

ライブ表フィードを、式に一致するバケット内のファイルのみに制限する正規表現。object_filter_typeパラメータに応じて、正規表現またはglobを指定できます。

scheduled

デフォルトはTRUEです。TRUEの場合、ライブ表フィード・オブジェクトを実行するためのスケジュールを設定できます。

notifications

デフォルトではFALSEです。TRUEの場合、ライブ・フィード・ツールを使用すると、ロードされる新しいファイルがあることをオブジェクト・ストレージからライブ・フィードに通知できます。

schema

このスキーマの名前。

ライブフィードのスキーマの名前。現時点では、現在のスキーマのみがサポートされています。

table_schema

ターゲット表のスキーマ。

object_type

オブジェクトのタイプ。ロードできるファイルのタイプは、CSV、JSONおよびParquetです。

object_format

これは、SQLローダー・オプションの1つです。

DBMS_CLOUD.COPY_DATAプロシージャで受信した形式を受け入れます。

scheduler_interval

このパラメータは、DBMS_SCHEDULER構文を使用してライブフィードが実行される間隔を表示します。

job_class

スケジューラ・ジョブ・クラス。値はTPURGENT,TP,HIGH,MEDIUMおよびLOWです。

start_date

ライブ・フィード・ジョブの開始日。

end_date

ライブ・フィード・ジョブの終了日。

ノート

次に説明するすべてのプロシージャのパラメータを、上の表に示します。

この例では、指定されたURLにMYLIVEFEEDという名前のライブ・フィードが作成されます。

SQL> BEGIN
   dbms_live_feed.create_for_storage_link(
     live_feed_name => 'MYLIVEFEED',
     storage_link_name => 'DATATOOLS_LF_BUCKET',
     table_name => 'MALTESE',
     object_filter => 'fndcalday?.csv',
     object_filter_type => 'GLOB',
     scheduled => false,
     notifications => false);
end;
/;
PL/SQL procedure successfully completed.

ディレクトリの作成プロシージャ

このプロシージャは、ディレクトリからライブ表フィードを作成します。

構文

procedure create_for_directory(live_feed_name     IN VARCHAR2,
                                 table_name         IN VARCHAR2,
                                 directory_name     IN VARCHAR2,
                                 schema             IN VARCHAR2 DEFAULT NULL,
                                 table_schema       IN VARCHAR2 DEFAULT NULL,
                                 column_list        IN CLOB     DEFAULT NULL,
                                 object_type        IN VARCHAR2 DEFAULT NULL,
                                 object_format      IN VARCHAR2 DEFAULT NULL,
                                 object_filter      IN VARCHAR2 DEFAULT NULL,
                                 object_filter_type IN VARCHAR2 DEFAULT NULL,
                                 scheduled          IN BOOLEAN  DEFAULT NULL,
                                 scheduler_interval IN VARCHAR2 DEFAULT NULL,
                                 notifications      IN BOOLEAN  DEFAULT NULL,
                                 job_class          IN VARCHAR2 DEFAULT NULL,
                                 start_date         IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
                                 end_date           IN TIMESTAMP WITH TIME ZONE DEFAULT NULL);

URL用作成プロシージャ

このプロシージャは、URLからライブ表フィードを作成します。

構文

 procedure create_for_url(live_feed_name     IN VARCHAR2,
                           table_name         IN VARCHAR2,
                           url                IN VARCHAR2,
                           credential_name    IN VARCHAR2,
                           schema             IN VARCHAR2 DEFAULT NULL,
                           table_schema       IN VARCHAR2 DEFAULT NULL,
                           column_list        IN CLOB     DEFAULT NULL,
                           object_type        IN VARCHAR2 DEFAULT NULL,
                           object_format      IN VARCHAR2 DEFAULT NULL,
                           object_filter      IN VARCHAR2 DEFAULT NULL,
                           object_filter_type IN VARCHAR2 DEFAULT NULL,
                           scheduled          IN BOOLEAN  DEFAULT NULL,
                           scheduler_interval IN VARCHAR2 DEFAULT NULL,
                           notifications      IN BOOLEAN  DEFAULT NULL,
                           job_class          IN VARCHAR2 DEFAULT NULL,
                           start_date         IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
                           end_date           IN TIMESTAMP WITH TIME ZONE DEFAULT NULL);

ライブ・フィードの変更手順

このプロシージャは、ライブ表フィードを変更します。

構文

procedure modify_live_feed(live_feed_name     IN VARCHAR2,
                             schema             IN VARCHAR2 DEFAULT NULL,
                             scheduled          IN BOOLEAN  DEFAULT NULL,
                             scheduler_interval IN VARCHAR2 DEFAULT NULL,
                             notifications      IN BOOLEAN  DEFAULT NULL,
                             job_class          IN VARCHAR2 DEFAULT NULL,
                             start_date         IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
                             end_date           IN TIMESTAMP WITH TIME ZONE DEFAULT NULL);

この例では、MYLIVEFEEDという名前のライブ・フィードが変更されています。

begin
   dbms_live_feed.modify_live_feed(
     live_feed_name => 'MYLIVEFEED',
     scheduled => true,
     scheduler_interval => 'FREQ=daily;INTERVAL=1',
     notifications => true);
end;
/

ライブ・フィードの削除手順

このプロシージャは、ライブ表フィードを削除します。

構文

procedure drop_live_feed(live_feed_name     IN VARCHAR2,
                                  schema             IN VARCHAR2 DEFAULT NULL);

この例では、MYLIVEFEEDという名前のライブ・フィードが削除されます。

begin
   dbms_live_feed.drop_live_feed(live_feed_name => 'MYLIVEFEED');
end;
/

新規コンテンツ・ロード・プロシージャ

このプロシージャは、フィードに新しいコンテンツをロードします。

構文

 procedure load_new_content(live_feed_name IN VARCHAR2,
                                     schema         IN VARCHAR2 DEFAULT NULL);

通知キーの取得手順

このプロシージャは、ライブ表フィード通知キーを受け取ります。通知が有効なライブ・フィードで、クラウド・サービスを提供する通知URLを構成するために使用されます。「通知ベースのライブ表フィードの作成」の章の手順に従って、通知ベースのライブ・フィードを作成します。

構文

function get_notification_key(live_feed_name IN VARCHAR2,
                                       schema         IN VARCHAR2 DEFAULT NULL)
    return VARCHAR2;

確認URLの取得

このプロシージャは、エンドポイントが通知を受信できることを確認する確認URLを受信します。

クラウド・サービスから受信する通知を有効にするには、このURLにアクセスする必要があります。データベース・ファイアウォールの制限により、通知の有効化を自動的に確認することはできません。通知を有効にするには、このURLをクリックします。有効にしないと、通知は受信されません。

構文

function get_confirmation_url(live_feed_name IN VARCHAR2,
                                       schema         IN VARCHAR2 DEFAULT NULL)
    return VARCHAR2;

通知状態の取得

このプロシージャは、ライブ・フィード・ジョブ実行の通知の状態を受け取ります。

構文

 function get_notification_state(live_feed_name IN VARCHAR2,
                                          schema         IN VARCHAR2 DEFAULT NULL)
    return VARCHAR2;