データのフィード

ライブ表フィードは、オンデマンドで、スケジュールに従って、または通知の結果として実行できます。

ライブ表フィードは、データベース内の表へのデータのロードを自動化します。ファイルはオブジェクト・ストレージに表示されるときに自動的にロードされ、ライブ表フィード・システムではファイルが1回のみロードされます。ロードは、手動で、スケジュールによって、またはオブジェクト・ストレージから直接配信された通知によっても実行できます。

このバケットには、AVRO、CSV、JSON、GeoJSON、Parquet、ORC、デリミタ付きTXTの形式のファイルを含めることができます。すべてのファイルに同じ列シグネチャが必要です。

「ライブ・フィード」ページについて

「データベース・アクション- データ・ロード・ダッシュボード」ページで、「データのフィード」を選択して「ライブ・フィード」ページを表示します。このページでは、次が可能です:

ライブ表フィードのクラウド・ストレージ接続の管理

ライブ表フィードを作成する前に、使用するクラウド・ストアへの接続を確立する必要があります:

  1. 「データ・ロード」メニューの「接続」をクリックします。手順は、「接続の管理」を参照してください。

ライブ表フィード・オブジェクトの作成

ライブ表フィード・オブジェクトを作成するには、
  1. 「Live Feed」ページで、「+ Create Live Table Feed」ボタンをクリックして、「Live Feed Settings」ペインを表示します。「データ・ソース」タブに次のように情報を入力します。
    • クラウド・ストアの場所: ドロップダウンからクラウド・ストアの場所を選択します。データのフィードに使用するファイルが含まれるバケットのクラウド接続を選択します。

    • オブジェクト・フィルタ(glob):ファイルglobを入力して、ライブ表フィードを、グローバルに一致するバケット内のファイルのみに制限します。たとえば、SALESで始まる名前のCSVファイルのみにファイルを制限するには、SALES*.CSVと入力します。

    • 「ライブ・フィード・ファイル・プレビュー」セクションで、次を指定します。
    • ファイル・プレビュー: 前のステップで選択したファイルのプレビューが表示されます。

    「次」をクリックして、「表の設定」タブに進みます。

    ターゲット表名: デフォルト名を受け入れるか、別の名前を入力します。これは、ライブ・フィードからのデータがAutonomous Databaseインスタンスにロードされるターゲット表の名前です。表が存在しない場合、ライブ・フィードは正しい列を推測しようとします。ライブ・フィードをロードする表を事前に作成できます。これはより高い精度のためにあります。

    「表の設定」タブでは、ソース・データの解釈、プレビューおよび処理方法を制御するオプションを指定します。これらのオプションは、ソース・データ・タイプによって異なります。
    • エンコーディング: リストから文字エンコーディング・タイプを選択します。このオプションは、リンクされたファイルがプレーン・テキスト形式(CSV、TSVまたはTXT)である場合に使用できます。デフォルトのエンコーディング・タイプはUTF-8です。
    • テキスト囲み:テキストを囲む文字として、「"」(二重引用符)、「'」(一文字)または「なし」を選択します。このオプションは、選択したファイルがプレーン・テキスト形式(CSV、TSVまたはTXT)である場合にのみ表示されます。
    • フィールド・デリミタ:ソース内の列を分離するために使用するデリミタ文字を選択します。たとえば、ソース・ファイルで列の区切りにセミコロンを使用する場合は、このリストから「セミコロン」を選択します。デフォルトは「カンマ」です。このオプションは、選択したファイルがプレーン・テキスト形式(CSV、TSVまたはTXT)である場合にのみ表示されます。
    • 行でデータの処理を開始:ソース・データをターゲット外部表にリンクするときにスキップする行数を指定します:

      「ソース列名」(次を参照)で「列ヘッダー行」オプションを選択し、「行でデータの処理を開始」フィールドに0より大きい数値を入力した場合、最初の行より後のその行数がターゲットにリンクされません。

      「Source column name」「Column header row」オプションを選択解除し、「Start processing data at row」フィールドに0より大きい数値を入力した場合、最初の行を含むその行数がターゲットにリンクされません。

      列ヘッダー行:ターゲット表でソース表の列名を使用するには、「列ヘッダー行」チェック・ボックスを選択します。

      このオプションを選択すると、ファイルの最初の行が列名として処理されます。下の「マッピング」セクションの行には、これらの名前(および変更しないかぎり既存のデータ型)が入力されています。

      このオプションの選択を解除すると、最初の行はデータとして処理されます。手動で列名を指定するには、「マッピング」セクションに各ターゲット列の名前を入力します。(データ型も入力する必要があります)。

      無効な数値列をNULL値に変換するには、「無効なデータをNULLに変換」チェック・ボックスを選択します。

    • 「表の設定」セクションで表の設定を編集または更新します。このペインでは、ソース列とターゲット列のマッピングが表示されます。
      • ターゲット表に追加する列の行の先頭の「含む」チェック・ボックスを選択します。
      • ターゲット列名、列タイプ、精度、スケール、デフォルト、主キー、Null可能などの列属性の値を選択または入力します。
      • 提案されたデータ型を確認し、必要に応じて、ターゲット・セルにデータ型を直接入力して変更する必要があります。

        前の画面で行った選択に基づいて生成されたマッピング表コードを確認します。

      「次」をクリックして、「プレビュー」タブに進みます。

    • 「プレビュー」ペインには、表に加えた変更が表示されます。

    • 「次」をクリックして、「ライブ・フィード設定」タブに進みます。

    「ライブ設定」タブで、次のフィールド値を指定します。

    • ライブ表フィード名: デフォルト名を受け入れるか、別の名前を入力してこのライブ表フィードを識別します。

    • 通知に対して有効: Oracle Cloud Infrastructureの通知に基づいてデータ・ソース内の新規または変更済のデータがロードされるようにするには、このオプションを選択します。このオプションを選択すると、スケジュールに従ってポーリングが開始される場合(つまり、ライブ表フィードの「スケジュール済」オプションを選択した場合)に発生する可能性のある遅延を回避できます。

      「通知に対して有効」オプションを選択した場合、次も必要です:

      • 通知を発行するようにオブジェクト・ストア・バケットを構成します
      • 通知サービス・サブスクリプション・トピックを作成します
      • イベント・サービス・ルールを作成します
      • 通知URLをコピーします
      • 通知サービス・サブスクリプションを作成します
      • 通知が許可されていることを確認します

      詳細は、通知ベースのライブ表フィードの作成を参照してください。

    • スケジューリングに対して有効化:ライブ表フィード・オブジェクトを実行する(データ・ソースを定期的にポーリングする)ためのスケジュールを設定するには、このオプションを選択します:
      • 時間間隔フィールドに数値を入力し、バケットで新規または変更済ファイルを投票する時間タイプおよび日程を選択します。たとえば、月曜日、水曜日および金曜日に2時間ごとにポーリングするには、2と入力し、「時間」を選択します。「すべての日」「月曜日から金曜日」「日曜日から木曜日」または「カスタム」「平日」ドロップダウンから選択できます。「カスタム」フィールドを使用すると、適切なフィールドで「月曜日」「火曜日」「水曜日」「木曜日」および「金曜日」を選択できます。

      • 開始日と終了日を、開始日と終了日とともに選択します。開始日を選択しない場合、現在の日時が開始日として使用されます。終了日はオプションです。ただし、終了日がないと、ライブ・フィードはポーリングを継続します。

    ドロップダウンからコンシューマ・グループ(低、中および高)を選択します。

  2. ライブ表フィード・オブジェクトを作成するには、「作成」をクリックします。

ライブ表フィード・オブジェクトのリスト、フィルタおよびソート

「ライブ・フィード」ページを開くと、既存のライブ表フィード・オブジェクトがページにカードとして表示されます。これらはLIVE_TABLE_FEEDエンティティとして識別されます。

ライブ表フィード・オブジェクトをフィルタするには:

  1. ページ上部の検索フィールドをクリックして、フィルタ・オプションを表示します。デフォルトでは、現在のユーザーのスキーマのライブ表フィード・オブジェクトが表示されます。検索フィールドに入力するとすぐに、入力する文字を含む値が返されます。検索ボックスからコンテンツを削除し、検索ボックスの横に表示されるクロス・アイコンをクリックして、フィルタを削除できます。

  2. 他のスキーマからのオブジェクトを含めるには、「スキーマ」で、検索フィールドの横にあるドロップダウンを選択します。フィルタ・リストからスキーマを削除するには、その名前の横にあるボックスの選択を解除します。

  3. 使用可能なすべてのスキーマのオブジェクトを表示するには、「スキーマ」ドロップダウンから「すべて」を選択します。

ライブ表フィード・オブジェクトをソートするには

  1. ページの右上にある「ソート基準」ボタンをクリックします。

  2. ソート・オプションを選択します。昇順にソートするには、上矢印のアイコンをクリックします。降順にソートするには、下矢印のアイコンをクリックします。

ライブ表フィード・オブジェクトの検索および表示

選択したスキーマで使用可能なライブ表フィード・エンティティを検索するには、ページ上部の検索フィールドに値を入力し、[Enter]を押します。名前に検索フィールドの文字が含まれるエンティティのみが表示されます。検索フィールドをクリアするには、検索結果(X)アイコンをクリックします。

選択したフィルタからスキーマまたはソート値を削除するには、フィルタ・パネルでスキーマまたはソート値の選択を解除するか、ライブ表フィード・オブジェクトの表示の上にあるスキーマまたはソート値の「フィルタの削除(X)」アイコンをクリックします。フィルタ・パネルを閉じるには、パネルの「フィルタ・パネルの非表示」(X)アイコンをクリックします。

ライブ表フィードの表示をリフレッシュするには、ページ上部の「リフレッシュ」アイコンをクリックします。

ライブ表フィード・オブジェクトの編集

ライブ表フィード・オブジェクトの詳細を編集するには、
  1. 「ライブ・フィード」ページで、詳細を編集するライブ表フィードのカードを見つけます。
  2. カード上の「アクション」アイコン(3つのドット)をクリックして、「ライブ表フィードの編集」を選択します。次のオプションを編集できます:
    • オブジェクト・フィルタ(正規表現):正規表現を入力して、ライブ表フィードを、式に一致するバケット内のファイルのみに制限します。たとえば、SALESで始まる名前のCSVファイルのみにファイルを制限するには、SALES.\*.CSVと入力します。

    • 通知に対して有効: Oracle Cloud Infrastructureの通知に基づいてデータ・ソース内の新規または変更済のデータがロードされるようにするには、このオプションを選択します。このオプションを選択すると、スケジュールに従ってポーリングが開始される(つまり、ライブ表フィードの「スケジュール済」オプション)ときに発生する可能性のある遅延を回避できます。

      「通知に対して有効」オプションを選択した場合、次も必要です:

      • ライブ表フィードの通知URLのコピー
      • 通知を発行するためのクラウド・ストアの構成
      • ライブ表フィードに使用されるエンドポイントにイベントをルーティングするためのOracle Cloud Infrastructureの構成。
      • ルールを作成します。
      • サブスクリプションの作成
      • ライブ・フィード・サービスで通知が許可されていることの確認。

      詳細は、通知ベースのライブ表フィードの作成を参照してください。

    • スケジュール済: ライブ表フィード・オブジェクトを実行するためのスケジュール(データ・ソースを定期的にポーリングするスケジュール)を設定するには、このオプションを選択します:
      • 時間間隔フィールドに数値を入力し、バケットで新規または変更済ファイルを投票する時間タイプおよび日程を選択します。たとえば、月曜日、水曜日および金曜日に2時間ごとにポーリングするには、2と入力し、「時間」を選択します。「すべての日」「月曜日から金曜日」「日曜日から木曜日」または「カスタム」「平日」ドロップダウンから選択できます。「カスタム」フィールドを使用すると、適切なフィールドで「月曜日」「火曜日」「水曜日」「木曜日」および「金曜日」を選択できます。

      • 開始日と終了日を、開始日と終了日とともに選択します。

  3. 「保存」をクリックします

ライブ表フィードの実行

ライブ表フィードは、オンデマンドで、スケジュールに従って、または通知の結果として実行できます。

ライブ表フィードを必要に応じて実行するには:

  1. 「ライブ・フィード」ページで、実行するライブ表フィードのカードを見つけます。
  2. カード上の「アクション」アイコン(3つのドット)をクリックして、「ライブ表フィードの即時実行(1回)」を選択します。

ライブ表フィードをスケジュールで実行するには:

ライブ・テーブル・フィードを実行するスケジュールは、「ライブ・テーブル・フィードの作成」ペイン(新しいテーブル・フィードの作成時)または「ライブ・テーブル・フィードの編集」ペイン(既存のテーブル・フィードの編集時)で設定できます。ライブ表フィード・オブジェクトの作成またはライブ表フィード・オブジェクトの編集を参照してください。

ライブ表フィードを通知の結果として実行するには:

通知ベースのライブ表フィードの作成を参照してください。

「スケジュール済」チェック・ボックスを選択してスケジュール・オプションを表示し、必要なオプションを選択してスケジュールを設定します。

ライブ表フィードの実行の詳細を表示するには:

  1. 「ライブ・フィード」ページで、実行の詳細を表示するライブ表フィードのカードを見つけます。
  2. カード上の「アクション」アイコン(3つのドット)をクリックして、「ライブ表フィードの実行の詳細」を選択します。

    「ライブ表フィードの実行の詳細」ペインの「オブジェクト」タブには、ジョブに関する情報(実行の発生日時、実行に関連するオブジェクト、表の所有者、表名、ライブ・フィードのステータス、ロードされた行と拒否された行など)が表示されます。イベント・タイプなどの詳細を表示するには、「すべて」タブをクリックします。

ライブ表フィードの削除

  1. 「ライブ・フィード」ページで、削除するライブ表フィード・ジョブのカードを見つけます。
  2. カード上の「アクション」アイコン(3つのドット)をクリックして、「ライブ表フィードの削除」を選択します。

通知ベースのライブ表フィードの作成

Oracle Cloud Infrastructureの通知に基づいて、ライブ表フィードを介してデータをロードできます。

データのフィードの説明に従って、ライブ表フィードをオンデマンドまたはスケジュールで実行できるだけでなく、通知の結果としてフィードを実行することもできます。ソース・バケット内のデータが変更されると、表フィードの実行をトリガーする通知が送信されます。通知ベースのライブ・テーブル・フィードを使用すると、オンデマンドまたはスケジュールによるライブ・テーブル・フィード・ジョブの実行で発生する可能性のある遅延を回避できます。

ノート

  • 通知ベースのライブ表フィードは、Oracle Cloud Infrastructureの無料層では使用できません。この機能を使用するには、アカウントに対する適切な権限を持つ有料テナンシにいる必要があります。

  • 通知ベースのライブ表フィードは、プライベート・エンドポイントを使用して構成されたOracle Autonomous Data Warehouseデータベース(ADW)では使用できません。

通知ベースのライブ表フィードを作成するには:

ヒント:

これらのステップを完了するには、Oracle Cloud Infrastructure ConsoleページとOracle Database Actionsページを切り替えます。1つのブラウザ・ページまたはタブでクラウド・コンソールを開き、もう1つのブラウザでデータベース・アクションを開くと、相互に簡単に移動できるので便利です。

ステップ1: 通知を発行するようにオブジェクト・ストア・バケットを構成します

場所: Oracle Cloud Infrastructure Console: オブジェクト・ストレージおよびアーカイブ・ストレージ- バケット・ページ

データが変更されたときに通知が発行されるように、ソース・データを含むバケットを構成します。このオプションは、バケットの作成時に設定することも、既存のバケットで設定することもできます。

  1. クラウド・コンソールのナビゲーション・メニューを開き、「ストレージ」をクリックします。「Object Storage and Archive Storage」で、「Buckets」をクリックします。
  2. 新しいバケットを作成する場合:

    1. 「バケット」ページで、「バケットの作成」ボタンをクリックして、バケットの管理の説明に従って新しいバケットを作成します。バケットの作成ウィザードで、新しいバケットの他のオプションとともに、オブジェクト・イベントの出力オプションを選択します。
    2. 「作成」をクリックします

    既存のバケットを使用している場合:

    1. 「バケット」ページで、バケットの管理の説明に従って、使用するバケットの名前をクリックします。
    2. 「バケットの詳細」ページで、「オブジェクト・イベントの出力」の横にある「編集」リンクをクリックします。
    3. 「オブジェクト・イベントの出力」チェック・ボックスを選択し、「変更の保存」をクリックします。

ステップ2: 通知サービス・サブスクリプション・トピックの作成

場所: Oracle Cloud Infrastructure Console: 通知- トピック・ページ

  1. クラウド・コンソールのナビゲーション・メニューを開き、「開発者サービス」をクリックします。「アプリケーション統合」で、「通知」をクリックします。
  2. 「トピックの作成」をクリックし、名前およびオプションの説明を入力して、「作成」をクリックします。

ステップ3: イベント・サービス・ルールを作成します

場所: Oracle Cloud Infrastructure Console: イベント- ルール・ページ

  1. クラウド・コンソールのナビゲーション・メニューを開き、「監視および管理」をクリックします。「イベント・サービス」で、「ルール」をクリックします。
  2. 「ルールの作成」をクリックし、イベントのルールの管理の説明に従って「ルールの作成」ページに入力します。
    • 「ルール条件」で次を選択します:
      • 条件:イベント・タイプ
      • サービス名:オブジェクト・ストレージ
      • イベント・タイプ:オブジェクト- 作成
    • 「アクション」で次を選択します:
  3. 「ルールの作成」をクリックします

ステップ4: 通知を使用するようにライブ表フィードを作成および構成し、通知URLをコピーします

場所:データベース・アクション: 「ライブ・フィード」ページ

通知を使用するように、新規または既存のライブ表フィードを構成できます:

  1. データのフィードの説明に従って、Database Actionsの「ライブ・フィード」ページに移動します。
  2. ライブ表フィード・オブジェクトの作成またはライブ表フィード・オブジェクトの編集の説明に従って、ライブ表フィード・オブジェクトを作成または編集します。「通知に対して有効」オプションを選択します
  3. 「作成」または「保存」をクリックします。
  4. ライブ・フィードのカード上の「アクション(3つの垂直ドット)」アイコンをクリックして、「確認URLを表示」を選択します。
  5. 通知URLダイアログ・ボックスで、「コピー」アイコンをクリックして、URLをクリップボードにコピーします。後で取得できるように、一時ファイルにコピーすることもできます。このURLは、次のステップ(ステップ5: 通知サービス・サブスクリプションの作成)で使用します。

ステップ5: 通知サービス・サブスクリプションの作成

場所: Oracle Cloud Infrastructure Console: 通知- サブスクリプション・ページ

  1. Oracle Cloud Infrastructure Consoleに戻ります。ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「アプリケーション統合」で、「通知」をクリックします。
  2. 「通知」ページで、ページの左側にある「サブスクリプション」タブをクリックすると、ステータスは「アクティブ」になります。
  3. 「サブスクリプションの作成」をクリックし、「サブスクリプションの作成」ページに入力します:

ステップ6: エンドポイントが通知を受信できることを確認します

場所:データベース・アクション: 「ライブ・フィード」ページ

  1. Database Actionsの「ライブ・フィード」ページに戻り、通知ベースのフィード用に構成するライブ表フィードのカードを見つけます。
  2. カード上の「アクション」(3つの垂直ドット)アイコンをクリックして、「確認URLを表示」を選択します。
  3. 確認URLダイアログ・ボックスで、リンクをクリックしてURLを確認します。これによってこのダイアログ・ボックスが閉じることはありません。リンクをクリックすると、サブスクリプションがアクティブであることを確認するメッセージが表示されます。
  4. 確認URLダイアログ・ボックスに戻り、「クラウド・ストア確認プロセスが完了している場合のみチェックします」チェック・ボックスを選択して、「OK」をクリックします。

前述のステップを完了すると、バケットにアップロードされたすべての新規ファイルが、ライブ表フィード表に自動的にロードされます。

Amazon Simple Storage Service (S3)を使用した通知ベースのライブ表フィードの作成

Amazon Simple Storage Service (S3)とOracle Cloud Infrastructure (OCI)を統合して、監視しているストレージ・オブジェクトに更新がある場合にライブ・フィード通知のプロセスを自動化できます。次の項では、データ・ファイルが格納されているAmazon S3バケットにイベント通知を作成する手順について説明します。

ヒント:

これらのステップを完了するには、Amazon Web Services (AWS)管理コンソールとOracle Database Actionsページを切り替える必要があります。1つのブラウザ・ページまたはタブでAmazon Web Servicesを開き、もう1つのブラウザでデータベース・アクションを開くと、相互に簡単に移動できるので便利です。

ステップ1: Amazon S3でオブジェクト・ストア・バケットを作成します

場所: Amazon Web Services (AWS)管理コンソール

データが変更されたときに通知が発行されるように、ソース・データを含むバケットを構成および作成します。
  1. AWS管理コンソールにログインし、Amazon S3コンソールを開きます。
  2. ホーム・ページで、「Create Bucket」アイコンをクリックします。
  3. 「Bucket名」に、バケットの有効な名前を入力します。例: テストバケット。バケットの作成後、その名前を変更することはできません。
  4. 「Region」で、ドロップダウンからAmazon Web Services (AWS)リージョンを選択します。例: us-west-2
  5. ブロック・パブリック・アクセスのバケット設定で、バケットに適用する「ブロック・パブリック・アクセス」設定を選択します。いずれかをオフにする必要があることがわかっていないかぎり、すべての設定を有効にしておくことをお薦めします。
  6. S3オブジェクト・ロックを有効にする場合は、「Advanced settings」を選択し、すべてのデフォルト・オプションを選択します。このステップはオプションです。
  7. 「Create bucket」を選択します。

ステップ2: アクセス・キーを作成します

場所: AWS管理コンソール

Amazon Simple Notification Service (SNS)にアクセスするには、Amazon Web Services (AWS)でリクエストの検証に使用できる資格証明が必要です。これらの資格証明には、Amazon SNSトピックにアクセスするための権限が必要です。次のステップでは、セキュリティ目的でAWS Identity and Access Management (IAM)を使用してアクセス・キーを作成するステップの詳細を説明します。

  1. AWS管理コンソールにログインし、Amazon Identity and Access Management (IAM)コンソールを開きます。
  2. ナビゲーション・メニューで、「Users」を選択します。
  3. ユーザー名を選択します。
  4. 「Security資格証明」タブで、「アクセス・キーの作成」を選択します。
  5. 画面のアクセス・キーIDおよびシークレット・アクセス・キーをコピーします。それらをクリップボードに貼り付けます。
  6. キーをダウンロードするには、「Download.csv file」アイコンを選択します。この方法で、ファイルを安全な場所に格納できます。

ステップ3: Amazon S3クラウド・ストレージ・リンクを追加します

場所: Database Actions: 「クラウドの管理」ページ

ライブ表フィードを作成する前に、使用するクラウド・ストアへの接続を確立する必要があります。

  1. ページ上部にある「クラウド・ストアの管理」ボタンをクリックして、「クラウドの管理」ページに移動します。Amazon S3によって提供されるクラウド・ストレージに存在するソース・ファイルを追加する手順の詳細は、「接続の管理」Amazon S3クラウド・ストレージ・リンクの作成を参照してください。
    ノート

    前のステップ(ステップ2: アクセス・キーの作成)で生成されたアクセス・キーIDおよび秘密キーを、「クラウド・ストレージの追加」ページの各テキスト・フィールドに貼り付けます。

ステップ4: 通知を使用するようにライブ表フィードを作成および構成し、通知URLをコピーします

場所:データベース・アクション: 「ライブ・フィード」ページ

ライブ表フィードを作成すると、外部ストレージ・ソースからADBの表にリアルタイムでデータをロードできます。使用する外部ストレージには、Oracle Object Store、AWS S3またはMicrosoft Azureコンテナが含まれます。

通知を使用するように、新規または既存のライブ表フィードを構成できます:

  1. データのフィードの説明に従って、Database Actionsの「ライブ・フィード」ページに移動します。
  2. ライブ表フィード・オブジェクトの作成またはライブ表フィード・オブジェクトの編集の説明に従って、ライブ表フィード・オブジェクトを作成または編集します。「通知に対して有効」オプションを選択します
  3. 「作成」または「保存」をクリックします。
  4. ライブ・フィードのカード上の「アクション」(3つの垂直ドット)アイコンをクリックして、「通知URLを表示」を選択します。
  5. 通知URLダイアログ・ボックスで、「コピー」アイコンをクリックして、URLをクリップボードにコピーします。後で取得できるように、一時ファイルにコピーすることもできます。このURLは、後続のステップ(ステップ7: 通知サービス・サブスクリプションを作成します)で使用します。

ステップ5: 通知サービス・サブスクリプション・トピックの作成

場所: Amazon Simple Notification Service (SNS)コンソール

Amazon Simple Notification Service (Amazon SNS)トピックを使用して、Amazon S3通知を受信します。Amazon SNSトピックを使用してバケットに通知構成を追加する必要があります。SNSトピックは、AWSバケットで発生する様々なイベントの通知を送信するために使用される共有の場所です。

作成中に、トピック名とトピック・タイプを選択します。トピックの作成後、トピックのタイプまたは名前を変更することはできません。その他の構成の選択はすべて、トピック作成中のオプションであり、後で編集できます。

AWSサービスにアクセスするには、最初にAWSアカウントを作成する必要があります。

AWS管理コンソールに移動し、「Create an AWS Account」を選択します。

Amazon SNSリンクの手順に従って、最初のIAM管理者ユーザーおよびグループを作成します。IAMユーザーとして任意のAWSサービスにログインできるようになりました。

  1. IAMユーザーとしてAmazon SNSコンソールにログインします。
  2. 「トピック」ページで、「トピックの作成」を選択します。
  3. 「Create topic」ページの「Details」セクションで、次のフィールドを指定します。
    • Type: Standard (StandardまたはFIFO)
    • Name: notification-topic。FIFOトピックの場合は、名前の末尾にFIFOを追加します。
    • Display Name:このフィールドはオプションです。
  4. 「Encryption」セクションを開き、「Disable encryption」を選択します。
  5. 必要に応じて、「Access policy」セクションを開き、追加のアクセス権限を構成します。デフォルトでは、トピック所有者のみがトピックをパブリッシュまたはサブスクライブできます。このステップはオプションです。入力したトピックの詳細に基づいて、ポリシーのJSON形式を編集します。JSON形式のアクセス・ポリシーの例を次に示します。
    { "Version": "2008-10-17",
    "Id": "__default_policy_ID",
    "Statement":[
    {"Sid": "__default_statement_ID",
    "Effect": "Allow",
    "Principal": {"AWS": "*"
    },"Action": [
            "SNS:Publish",
            "SNS:RemovePermission",
            "SNS:SetTopicAttributes",
            "SNS:DeleteTopic",
            "SNS:ListSubscriptionsByTopic",
            "SNS:GetTopicAttributes",
            "SNS:AddPermission",
            "SNS:Subscribe"
          ],
          "Resource": "arn:aws:sns:us-west-2:555555555555:notify-topic", //us-west-2 is the region
          "Condition": {
            "StringEquals": {
              "AWS:SourceOwner": "555555555555"
            }
          }
        },
        {
          "Sid": "s3_policy", //This field accepts string values
          "Effect": "Allow",
          "Principal": {
            "Service": "s3.amazonaws.com"
          },
          "Action": [
            "SNS:Publish"
          ],
          "Resource": "arn:aws:sns:us-west-2:555555555555:notify-topic", //notify-topic is the topic name
          "Condition": {
            "StringEquals": {
              "aws:SourceAccount": "555555555555" //This is the Account ID
            },
            "ArnLike": {
              "aws:SourceArn": "arn:aws:s3:*:*:testbucket /*testbucket is the s3 bucket name. You will get notifications only when file is uploaded to this
        bucket.*/
    "
            }
          }
        }
      ]
    }
    
  6. 「Delivery retry Policy (HTTP/S)」セクションを開き、失敗したメッセージ配信試行をAmazon SNSで再試行する方法を構成します。このステップはオプションです。
  7. 「Delivery status logging」セクションを開き、Amazon SNSがメッセージの配信をCloudWatchに記録する方法を構成します。このステップはオプションです。
  8. 「Tags」セクションを開き、トピックにメタデータ・タグを追加します。このステップはオプションです。
  9. 「Create topic」を選択します。
  10. トピックの名前、ARN (Amazonリソース名)、およびトピック所有者のAWSアカウントIDが「Details」セクションに表示されます。
  11. トピックのARNをクリップボードにコピーします。

ステップ6: Amazon S3コンソールを使用したイベント通知の有効化および構成

場所: Amazon S3管理コンソール

Amazon S3バケット・イベントを有効にすると、イベントが発生するたびに通知メッセージを宛先に送信できます。S3バケットのイベント通知は、ロード可能な更新データまたは新規データがある場合にOCIに通知するように構成します。次のステップでは、Amazon S3コンソールでイベント通知を有効にするための手順について説明します。

  1. Amazon S3管理コンソールにログインし、IAM (Amazon Identity and Access Management)ユーザーとしてサインインします。
  2. 「Buckets」リストで、バケットの名前(testbucket)を選択します。これは、ステップ1: Amazon S3でのオブジェクト・ストア・バケットの作成で作成したバケットです。
  3. 「Properties」アイコンを選択します。
  4. 「Event Notifications」セクションに移動し、「Create Event Notification」アイコンを選択します。
  5. 「General Configuration」セクションで、イベント通知に次の値を指定します。
    • イベント名:バケット通知
    • Prefix:これは、イベント通知を接頭辞でフィルタするための値です。オプションの値です。これはイベント・アクティビティをフィルタするために追加されます。
    • Suffix:これは、イベント通知を接頭辞でフィルタするための値です。オプションの値です。これはイベント・アクティビティをフィルタするために追加されます。
  6. 「Event types」セクションで、通知を受信する1つ以上のイベント・タイプを選択します。選択するイベント・タイプが不明な場合は、「All object create eventsオプションを選択します。
  7. 「Destination」セクションで、イベント通知の宛先として「SNS Topic」を選択します。
    ノート

    イベント通知をパブリッシュする前に、関連するAPIをコールするために必要な権限をAmazon S3に付与する必要があります。これは、Lambda関数またはSNSトピックに通知をパブリッシュできるようにためです。
  8. イベント通知の宛先としてSNSトピックを選択した後、ドロップダウンからSNSトピック(notify-topic)を選択します。これは、ステップ5: 通知サービス・サブスクリプション・トピックを作成しますで作成したトピックです。
  9. 「保存」を選択します。

ステップ7: 通知サービス・サブスクリプションの作成

場所: Amazon SNSコンソール

Amazon SNSトピックごとに、サブスクリプションのセットがあります。メッセージがトピックにパブリッシュされると、SNSは、そのすべてのサブスクライバへのメッセージ配信を処理します。サブスクライバには、SMSメッセージを受信できるAWS Lambda関数、HTTP(S)エンドポイント、電子メール・アドレスおよび携帯電話番号を指定できます。

Amazon SNSは、トピックをそのトピックにサブスクライブしているサブスクライバのリストと照合し、それらの各サブスクライバにメッセージを配信します。

  1. Amazon SNSコンソールにログインします。
  2. 左側のナビゲーション・ペインで、「Subscriptions」を選択します。
  3. サブスクリプション・ページで、「Create subscription」を選択します。
  4. 「Create Subscription」ページの「Details」セクションで、次の値を指定します。
  5. 「サブスクライブ・フィルタ・ポリシー」セクションを開き、フィルタ・ポリシーを構成します。このステップはオプションです。
  6. 「レッドドライブ・ポリシー(デッドレター・キュー)」セクションを開き、サブスクリプションのデッドレター・キューを構成します。このステップはオプションです。
  7. 「Create subscription」を選択します。
ノート

他のAWSアカウントのHTTP(S)エンドポイント、電子メール・アドレスおよびAWSリソースでは、メッセージを受信する前にサブスクリプションの確認が必要です。

ステップ8: エンドポイントが通知を受信できることを確認します

場所:データベース・アクション: 「ライブ・フィード」ページ

  1. Database Actionsの「ライブ・フィード」ページに戻り、通知ベースのフィード用に構成するライブ表フィードのカードを見つけます。
  2. カード上の「アクション」(3つの垂直ドット)アイコンをクリックして、「確認URLを表示」を選択します。
  3. 確認URLダイアログ・ボックスで、リンクをクリックしてURLを確認します。これによってこのダイアログ・ボックスが閉じることはありません。リンクをクリックすると、サブスクリプションがアクティブであることを確認するメッセージが表示されます。
  4. 確認URLダイアログ・ボックスに戻り、「クラウド・ストア確認プロセスが完了している場合のみチェックします」チェック・ボックスを選択します。「OK」をクリックします。

前述のステップを完了すると、バケットにアップロードされたすべての新規ファイルが、ライブ表フィード表に自動的にロードされます。

Amazon S3コンソールを使用してイベント通知を有効化および構成する方法の詳細は、Amazon S3コンソールを使用したイベント通知の有効化および構成を参照してください。

Microsoft Azureを使用した通知ベースのライブ表フィードの作成

通知ベースのライブ表フィードは、Oracle Cloud Infrastructureとサードパーティのクラウド・メッセージ・キューイング・サービス(Azure Event Gridなど)の間のインタフェースです。

次の表に、Microsoft (MS) Azureをクラウド・ストレージとして使用して自動ライブ・フィード・メッセージを生成する手順を示します。コンテナに更新があり、通知条件が満たされると、ログ・メッセージが生成され、Oracle Cloud Infrastructureのライブ・フィードに表示されます。

Microsoft Azureをクラウド・ストレージとして使用して通知ベースのライブ・フィードを作成するには:

ヒント:

前述のステップを完了するには、Microsoft AzureポータルとOracle Database Actionsページを切り替える必要があります。一方のブラウザ・ページまたはタブでMicrosoft Azureポータルを開き、もう一方のブラウザ・ページまたはタブでデータベース・アクションを開くと、相互に簡単に移動できるので便利です。

ステップ1: Microsoft Azureでのリソース・グループの作成

場所: Microsoft Azureポータル

リソース・グループは、ストレージ・アカウントなどのAzureリソースを管理できる論理コンテナです。リソース・グループは、グループとしてデプロイ、更新および削除できるように作成されます。リソース・グループを作成するには、次のステップに従います:
  1. Azureポータルで、「Resource groups」ボタンをクリックします。
  2. 「追加」を選択します。
  3. 次の値を入力します:
    • Subscription: Azureサブスクリプション(Microsoft Azureエンタープライズなど)を選択します。
    • Resource group:新しいリソース・グループ名(resource-groupなど)を入力します。
    • Region:場所(US westなど)を選択します。
  4. 「Review+create」をクリックします。
  5. 「作成」をクリックしますリソース・グループの作成には数秒かかります。

ステップ2: Microsoft Azureでストレージ・アカウントを作成します

場所: Microsoft Azureポータル

Azureストレージ・アカウントには、BLOB、表、ディスクなどのすべてのストレージ・データ・オブジェクトが含まれます。リソース・グループ内にストレージ・アカウントを作成できます。これは、データに一意のネームスペースを提供します。ストレージ・アカウントを作成するには、次を実行します:

  1. 左側のポータル・メニューから「Storage accounts」を選択し、ストレージ・アカウントのリストを表示します。
  2. 「ストレージ・アカウント」ページで、「作成」アイコンをクリックします。
  3. 「Basic」タブで、ストレージ・アカウントに関する次の情報を指定します。
    • Subscription: Microsoft Azureエンタープライズ
    • Resource group: resource-group
    • ストレージ・アカウント名: teststorage
    • Region:場所(US westなど)を選択します。
    • Redundancy:ローカル冗長ストレージ(LRS)
  4. 「Review+create」を選択してデフォルト・オプションを受け入れ、アカウントの検証を続行できます。
  5. 検証に合格したら、続けて「Create storage」アカウントをクリックできます。検証に失敗した場合は、変更する必要がある設定が示されます。

ステップ3: アクセス・キーを作成します

場所: Microsoft Azureポータル

ストレージの場所でアクセス・キーを取得するために必要な権限をMicrosoft Azureに付与する必要があります。ストレージ・アカウントに固有のアクセス・キーは、前のステップでストレージ・アカウントが作成されると自動的に生成されます。次のステップでは、アクセス・キーを作成する手順について説明します。

  1. Security+Networkingで、「キーへのアクセス」を選択します。アカウント・アクセス・キーは、各キーの完全な接続文字列とともに表示されます。
  2. 「Show keys」を選択して、各キーのアクセス・キーおよび接続文字列を表示し、値をコピーします。
  3. key1の接続文字列値をコピーします。この値は、次のステップ(「ステップ5: Microsoft Azureクラウド・ストアを使用したクラウド・ストレージの追加」)の「Azureストレージ・アカウント・アクセス・キー」テキスト・フィールドに貼り付けます。
  4. ストレージ・アカウント名(teststorage)をコピーし、次のステップ(「ステップ5: Microsoft Azureクラウド・ストアを使用したクラウド・ストレージの追加」)の「Azureストレージ・アカウント名」テキスト・フィールドに貼り付けます。
  5. 機能するかどうか資格証明をテストします。

ステップ4: コンテナを作成します

場所: Microsoft Azureポータル

コンテナは、Azure Blob (バイナリ・ラージ・オブジェクト)ストレージを保持する場所です(Amazon S3およびOCIではバケットとも呼ばれます)。コンテナを作成するには、次のステップに従います。

  1. Azureポータルで新しいストレージ・アカウントに移動します。
  2. ストレージ・アカウントの左側のメニューで、「Data Storage」セクションまでスクロールし、「Containers」を選択します。
  3. +Containerアイコンをクリックします。
  4. 新しいコンテナの名前を入力します。コンテナ名は小文字とし、文字または番号で始める必要があります。文字、数字およびダッシュ文字のみ使用できます。
  5. 「Pパブリック・アクセス・レベル」のレベルを「プライベート」に設定します。デフォルトのレベルは「Private」です。
  6. 「Create」を選択して、コンテナを作成します。

ステップ5: Microsoft Azureクラウド・ストアを使用したクラウド・ストレージの追加

場所: Database Actions: 「クラウドの管理」ページ

  1. ページ上部にある「クラウド・ストアの管理」ボタンをクリックして、「クラウドの管理」ページに移動します。Microsoft Azureクラウド・ストレージによって提供されるクラウド・ストレージに存在するソース・ファイルを追加する手順の詳細は、「接続の管理」Microsoft Azureクラウド・ストレージ・リンクの作成を参照してください。
ノート

前のステップの「ステップ3: アクセス・キーの作成」のキー1の接続文字列値を、「クラウド・ストレージの追加」ページの「Azureストレージ・アカウント・アクセス・キー」テキスト・フィールドに貼り付けます。また、前のステップの「ステップ3: アクセス・キーの作成」で生成されたストレージ・アカウント名を、「クラウド・ストレージの追加」ページの「Azureストレージ・アカウント名」テキスト・フィールドに貼り付けます。

ステップ6: 通知を使用するようにライブ表フィードを作成および構成し、通知URLをコピーします

場所:データベース・アクション: 「ライブ・フィード」ページ

ライブ表フィード・オブジェクトを使用すると、ポーリング遅延なしでMicrosoft Azureクラウド・ストレージからデータをロードできます。このオブジェクトは、Oracle Cloud InterfaceとMicrosoft Azure間の統合を作成します。

通知を使用するように、新規または既存のライブ表フィードを構成できます:

  1. データのフィードの説明に従って、Database Actionsの「ライブ・フィード」ページに移動します。
  2. ライブ表フィード・オブジェクトの作成またはライブ表フィード・オブジェクトの編集の説明に従って、ライブ表フィード・オブジェクトを作成または編集します。「通知に対して有効」オプションを選択します
  3. 「作成」または「保存」をクリックします。
  4. ライブ・フィードのカード上の「アクション」(3つの垂直ドット)アイコンをクリックして、「確認URLを表示」を選択します。
  5. 通知URLダイアログ・ボックスで、「コピー」アイコンをクリックして、URLをクリップボードにコピーします。後で取得できるように、一時ファイルにコピーすることもできます。次のステップ(ステップ8: イベント・サブスクリプションを作成します)でこのURLを使用します。

ステップ7: イベント・リソース・プロバイダを有効化します

場所: Microsoft Azureポータル

Event Gridを最初に使用する場合は、Event Gridリソース・プロバイダを有効にする必要があります。

  1. 左側のメニューで、「Subscriptions」を選択します。
  2. Event Gridに使用するサブスクリプション(Microsoft Azureエンタープライズ)を選択します。
  3. 左側のメニューの「Settings」で、「Resource Provider」を選択します。
  4. Microsoft.EventGridを検索します。
  5. 「Register」を選択します。

登録が完了するまでに1分かかります。

ステップ8: イベント・サブスクリプションを作成します

場所: Microsoft Azureポータル

イベント・サブスクリプションを作成するには、サブスクリプションを構成し、通知を受信するエンドポイントを指定します。

  1. ステップ2: Microsoft Azureでのストレージ・アカウントの作成で作成したストレージ・アカウントを選択します。
  2. 左側のナビゲーション・ペインで、「Events」アイコンを選択します。
  3. +Event Subscriptionをクリックします。

「Create Event Subscription」ウィンドウが表示されます。

  1. 「Event Subscription」詳細セクションで次のフィールドを指定します:
    • Name: Eventssub。これは、作成するイベント・サブスクリプションの名前です。
    • イベント・スキーマ:イベント・グリッド・スキーマ
  2. 「Topic Details」セクションで次のフィールドを指定します:
    • トピック・タイプ:ストレージ・アカウント
    • System Topic Name: eventtopic。
  3. 「Event Types」セクションで次のフィールドを指定します:
    • イベント型: MicrosoftStorage.BlobCreated
  4. 「Endpoint Details」セクションで次のフィールドを指定します:
  5. 「作成」を選択します

これで、Microsoft Azureは最初にシステム・トピックを作成し、次にそのトピックのイベント・サブスクリプションを作成します。

ステップ9: エンドポイントが通知を受信できることを確認します

場所:データベース・アクション: 「ライブ・フィード」ページ

  1. データベース・アクションの「ライブ・フィード」ページに戻り、ステップ6: 通知を使用するようにライブ表フィードを作成および構成し、通知URLをコピーしますで作成した通知ベースのフィード用に構成するライブ表フィードのカードを見つけます。
  2. カード上の「アクション」(3つの垂直ドット)アイコンをクリックして、「確認URLを表示」を選択します。
  3. 確認URLダイアログ・ボックスで、リンクをクリックしてURLを確認します。これによってこのダイアログ・ボックスが閉じることはありません。リンクをクリックすると、サブスクリプションがアクティブであることを確認するメッセージが表示されます。
    ノート

    「確認URL」リンクは数分後に期限切れになります。期限切れになる前にリンクをクリックする必要があります。
  4. 確認URLダイアログ・ボックスに戻り、「クラウド・ストア確認プロセスが完了している場合のみチェックします」チェック・ボックスを選択して、「OK」をクリックします。
前述のステップを完了したら、ステップ4: コンテナを作成しますで作成したMicrosoft Azureコンテナに新しいファイルをアップロードします。
  1. 作成したコンテナに移動します。
  2. 「コンテナ」を選択して、それに含まれるBLOBのリストを表示します。
  3. 「アップロード」ボタンを選択してローカル・リポジトリを開き、ブロックBLOBとしてアップロードする必要があるファイルを参照します。
  4. 「アップロード」ボタンを選択して、BLOBをアップロードします。
  5. これで、コンテナ内の新しいBLOBがリストに表示されます。
  6. Database Actionsの「ライブ・フィード」ページに戻り、通知ベースのフィード用に構成するライブ表フィードのカードを見つけます。
  7. カード上の「アクション」(縦に並んだ3つのドット)アイコンをクリックして、「ライブ表フィードの実行の詳細」を選択します。

「ライブ表フィードの実行の詳細」ウィンドウで、Microsoft Azureストレージからライブ・フィード表にアップロードされたBLOBのログを表示できます。

Azureポータルでトピックおよびサブスクリプションを作成する方法の詳細は、Azure Event Grid通知を参照してください。