馈电数据

您可以按需、按计划或由于通知而运行实时表源。

Live Table Feed 可自动将数据加载到数据库中的表中。文件在对象存储中显示时会自动加载,实时表馈送系统可确保文件只加载一次。可以手动执行加载,按计划执行,甚至可以直接从对象存储传送通知。

存储桶可以包含以下格式的文件:AVRO、CSV、JSON、GeoJSON、Parquet、ORC、Delimited TXT。所有文件必须具有相同的列签名。

关于实时馈送页

在“Database Actions - DATA Load Dashboard(数据库操作 - 数据加载仪表盘)”页面上,选择 FEED DATA 以显示“Live FEED”页面。在此页上,可以执行以下操作:

管理实时表馈送的云存储连接

在创建实时表馈送之前,必须与要使用的云存储建立连接:

  1. 单击“数据加载”菜单下的连接。有关说明,请参见 Managing Connections

创建实时表源对象

要创建实时表馈送对象,
  1. 在“实时馈送”页面上,单击 + 创建实时表馈送按钮以显示“实时馈送设置”窗格。在“数据源”选项卡上输入信息,如下所示:
    • 云存储位置:从下拉列表中选择云存储位置。选择存储桶的云连接,该存储桶包含要用于馈送数据的文件。

      基本模式下,您可以查看以下选项:

    • 文件夹

      选择包含要用于在对象存储上馈送数据的文件的文件夹。选择 Entire Bucket(整个存储桶)将存储桶中的所有文件加载到表中。这些文件夹将根据您创建文件夹或目录以及存储文件的方式列出并组织在下拉列表中。例如,您可以创建一个销售文件夹来存储 sales1.csvsales2.csv 文件。

    • 扩展

      输入扩展名,以将实时表馈送限制为仅存储桶中与扩展匹配的文件。例如,要将文件限制为仅是 CSV 文件的文件,请选择 CSV

      Advanced(高级)模式下,可以查看以下选项:

    • 对象过滤器 (glob):输入一个文件 glob 以将实时表馈送限制为仅存储桶中与 glob 匹配的文件。例如,要将文件限制为仅是 CSV 文件的文件,请输入 *.CSV

    • 在“实时馈送文件预览”部分下,可以查看您在上一步中选择的文件的预览。

    单击下一步以转到表设置选项卡。

    选项字段中,选择以下两个可用选项之一:
    • 加载表:此选项将馈送附加到目标表中。它会为其查看的每个文件向表中添加新行。

    • 合并到表中:此选项会将实时馈送数据合并到目标表中。当行已存在并且加载的关键字与新添加的源匹配时,单击“映射”部分中的合并关键字。这样可以避免插入新行。

    • 加载集合:您可以使用此选项通过 JSON 文件定义实时馈送。通过选择此选项,您将无法查看映射部分和“添加表达式”部分。该工具将源数据加载到 JSON 集合中,您可以稍后提取该集合。

    目标表名:接受默认名称或输入其他名称。这是实时馈送中的数据将加载到 Autonomous AI Database 实例中的目标表的名称。如果该表不存在,Live Feed 将尝试猜测正确的列。您可以预先创建要将实时馈送加载到的表。这是为了更高的准确性。

    “表设置”选项卡指定用于控制如何解释、预览和处理源数据的选项。这些选项因源数据的类型而异。
    • 编码:从列表中选择字符编码类型。当链接的文件采用纯文本格式(CSV、TSV 或 TXT)时,此选项可用。默认编码类型为 UTF-8。
    • 文本附件:选择包含文本的字符: " (双引号字符)、 ' (单引号字符)或 None 。仅当所选文件采用纯文本格式(CSV、TSV 或 TXT)时,此选项才可见。
    • 字段分隔符:选择用于分隔源中的列的分隔符字符。例如,如果源文件使用分号来分隔列,请从此列表中选择 Semicolon 。默认值为 Comma 。仅当所选文件采用纯文本格式(CSV、TSV 或 TXT)时,此选项才可见。
    • 开始处理行中的数据:指定将源数据链接到目标外部表时要跳过的行数:

      如果您在源列名下选择列标题行选项(请参阅下文),并且您在行开始处理数据字段中输入大于 0 的数字,则第一行之后的行数不会链接到目标。

      如果取消选择源列名下的列标题行选项,并且如果在开始处理行数据字段中输入大于 0 的数字,则包括第一行的行数不会链接到目标。

      列标题行:选中列标题行复选框,以使用列名构成目标表中的源表。

      如果选择此选项,则文件中的第一行将作为列名处理。下面映射部分中的行将填充这些名称(以及现有的数据类型,除非您更改这些名称)。

      如果取消选择此选项,第一行将作为数据进行处理。要手动指定列名,请在映射部分中输入每个目标列的名称。(还必须输入数据类型)。

      选中 Convert invalid data to null 复选框,将无效的数值列值转换为空值。

      数据值中包含的换行符:如果存在换行符或返回到当前行的开头,但未在数据字段中向下推进,请选择此选项。选择此选项将增加处理加载所用的时间。如果在加载数据时不选择此选项,则字段中有换行符的行将被拒绝。您可以在“职务报告”面板中查看拒绝的行。

      开始日期:选择此选项并指定开始将数据加载到目标表中的日期和时间。该表在此时间后加载具有时间戳的文件。

      例如,您已将 Oracle Cloud Infrastructure 对象存储存储桶中的文件夹中的现有文件加载到表中。在同一存储桶上创建实时表馈送时,您可以将实时馈送设置为仅加载较新文件,而不包括已加载的文件。

    • 编辑或更新映射部分中的表设置:在此窗格中,将显示源列到目标列的映射。

      映射表的内容会根据您在部分中选择的处理选项以及您在属性部分中设置的属性而变化。

      您可以使用快速筛选器字段筛选映射表中的结果,该字段允许您筛选出表达式

      选择添加表达式可对源数据执行情感分析关键短语提取语言检测文本转换。有关详细信息,请参阅在 Data Studio 中使用 OCI 语言服务功能

      • 选中行开头的“包括”复选框,以将该列添加到目标表中。
      • 为列属性选择或输入值,例如目标列名、列类型、精度、比例、默认值、主键和可为空值。
      • 您需要查看建议的数据类型,如果需要,请通过直接将数据类型输入到目标单元格中进行修改。

        根据在前面的屏幕中所做的选择,复核生成的映射表代码。

        当行已存在并且加载的关键字与新添加的源匹配时,单击“映射”部分中的合并关键字。这样可以避免插入新行。选择合并到表中选项时,将显示此选项。

      单击下一步以转到“预览”选项卡。

    • “预览窗格”显示您对表所做的更改。

    • 单击下一步以转到“实时源设置”选项卡。

    在“实时馈送设置”选项卡上,指定以下字段值:

    • 实时表源名称:接受默认名称或输入其他名称以标识此实时表源。

    • 启用通知:选择此选项,以便基于 Oracle Cloud Infrastructure 通知加载数据源中的新数据或更改的数据。选择此选项时,可以避免在按计划启动轮询时可能发生的延迟(即,如果您选择了实时表源已计划选项)。

      选择启用通知选项时,还必须:

      • 配置对象存储存储桶以发出通知
      • 创建通知服务订阅主题
      • 创建事件服务规则
      • 复制通知 URL
      • 创建通知服务订阅
      • 确认允许通知

      有关完整说明,请参见 Creating a Notification-Based Live Table Feed

    • 启用计划:选择此选项可设置运行实时表源对象的计划;即定期轮询数据源:
      • 在时间间隔字段中,输入一个数字,然后选择时间类型以及轮询新文件或已更改文件的时段的天数。例如,要在星期一、星期三和星期五每两小时轮询一次,请输入 2 ,然后选择小时数。您可以从 Week Days(周日)下拉列表中选择 All Days(所有天)Monday to Friday(星期一到星期五)Custom(自定义) 使用“自定义”字段,您可以在相应的字段中选择星期一星期二星期三星期四星期五

      • 选择具有开始和结束时间的开始和结束日期。如果不选择开始日期,则当前时间和日期将用作开始日期。结束日期为可选项。但是,如果没有结束日期,实时馈送将继续轮询。

    从下拉列表中选择一个使用者组,即低、中、高。

  2. 单击创建以创建 Live Table 源对象。

    显示代码:选择此选项可查看“创建实时表馈送”向导的等效 PL/SQL 代码。您可以在工作表中复制并执行此 PL/SQL 代码,以执行与在“创建实时表源”向导中单击创建时相同的操作。

列出、筛选和排序实时表馈送对象

打开“实时馈送”页面时,现有实时表馈送对象将显示为页面上的卡。它们被标识为 LIVE_TABLE_FEED 实体。

要过滤实时表馈送对象,请执行以下操作:

  1. 单击页面顶部的搜索字段以显示筛选器选项。默认情况下,将显示当前用户方案中的实时表馈送对象。一旦您开始输入搜索字段,Feed 工具将返回包含您键入的字母的值。您可以通过从搜索框中删除内容并单击出现在搜索框旁边的交叉图标来删除筛选器。

  2. 要包括其他方案中的对象,请选择方案下搜索字段旁边的下拉列表。要从筛选器列表中删除方案,请取消选中其名称旁边的框。

  3. 要显示所有可用方案中的对象,请从方案下拉列表中选择全部

对实时表源对象进行排序

  1. 单击页面右上角的排序依据按钮。

  2. 选择排序选项。要按升序排序,请单击带有向上箭头的图标。要按降序排序,请单击带有向下箭头的图标。

查找和查看实时表馈送对象

要在所选方案中搜索可用的实时表馈送实体,请在页面顶部的搜索字段中输入值,然后按 Enter 键。然后,显示内容仅包括其名称在搜索字段中包含字符的实体。要清除搜索字段,请单击搜索字段中的“清除搜索结果 (X)”图标。

要从所选筛选器中删除方案或排序值,请在筛选器面板中取消选择方案或排序值,或者单击方案或实时表源对象显示上方的排序值的“删除筛选器 (X)”图标。要关闭过滤器面板,请单击面板中的 "Hide filter panel (X)" 图标。

要刷新实时表源的显示,请单击页面顶部的“刷新”图标。

编辑实时表源对象

要编辑实时表源对象的详细信息,请执行以下操作:
  1. 在“实时源”页面上,查找要编辑其详细信息的实时表源的卡。
  2. 单击卡上的“操作”图标(三个点),然后选择编辑实时表源。您可以编辑以下选项:
    • 在“数据源”选项卡上输入信息,如下所示:
    • 云存储位置:从下拉列表中选择云存储位置。选择存储桶的云连接,该存储桶包含要用于馈送数据的文件。
      • 基本模式下,您可以查看以下选项:

      • 文件夹

        选择包含要用于在对象存储上馈送数据的文件的文件夹。选择整个存储桶以将所有文件上载到存储桶。这些文件夹将根据您创建文件夹或目录以及存储文件的方式列出并组织在下拉列表中。例如,您可以创建一个销售文件夹来存储 sales1.csvsales2.csv 文件。

      • 扩展

        输入扩展名,以将实时表馈送限制为仅存储桶中与扩展匹配的文件。例如,要将文件限制为仅是 CSV 文件的文件,请选择 CSV

        Advanced(高级)模式下,可以查看以下选项:

      • 对象过滤器 (glob):输入一个文件 glob 以将实时表馈送限制为仅存储桶中与 glob 匹配的文件。例如,要将文件限制为仅是 CSV 文件的文件,请输入 *.CSV

    • 实时馈送设置选项卡上,编辑以下字段:

    • 启用通知:选择此选项,以便基于 Oracle Cloud Infrastructure 通知加载数据源中的新数据或更改的数据。选择此选项时,可以防止在按计划启动轮询时可能发生的任何延迟(即实时表源已计划选项)。

      选择启用通知选项时,还必须:

      • 复制实时表源通知 URL
      • 配置云存储以发出通知
      • 配置 Oracle Cloud Infrastructure 以将事件路由到用于实时表馈送的端点。
      • 创建规则。
      • 创建预订。
      • 确认实时馈送服务中允许通知。

      有关完整说明,请参见 Creating a Notification-Based Live Table Feed

    • 已调度:选择此选项可设置运行实时表源对象的调度;即,在常规基础上轮询数据源:
      • 在时间间隔字段中,输入一个数字,然后选择时间类型以及轮询新文件或已更改文件的时段的天数。例如,要在星期一、星期三和星期五每两小时轮询一次,请输入 2 ,然后选择小时数。您可以从 Week Days(周日)下拉列表中选择 All Days(所有天)Monday to Friday(星期一到星期五)Custom(自定义) 使用“自定义”字段,您可以在相应的字段中选择星期一星期二星期三星期四星期五

      • 选择具有开始和结束时间的开始和结束日期。

  3. 单击保存

运行实时表馈送

您可以按需、按计划或由于通知而运行实时表源。

要按需运行实时表馈送,请执行以下操作:

  1. 在“实时馈送”页面上,查找要运行的实时表馈送的卡。
  2. 单击卡上的“操作”图标(三个点),然后选择立即运行实时表馈送(一次)

要按计划运行实时表馈送,请执行以下操作:

您可以在创建实时表馈送窗格(创建新表馈送时)或编辑实时表馈送窗格(编辑现有表馈送时)上设置运行实时表馈送的计划。请参阅创建 Live Table Feed 对象编辑 Live Table Feed 对象

要运行实时表源作为通知的结果:

请参阅创建基于通知的实时表馈送

选中已计划复选框以显示计划选项,然后通过选择所需的选项设置计划。

要查看实时表馈送运行详细资料,请执行以下操作:

  1. 在“实时源”页面上,查找要查看其运行详细信息的实时表源的卡。
  2. 单击卡上的“操作”图标(三个点),然后选择实时表馈送运行详细信息

    “实时表源运行详细信息”窗格上的对象选项卡显示有关作业的信息,例如运行时间、运行中涉及的对象、表所有者、表名称、实时源的状态、加载的行和拒绝的行以及其他详细信息。单击全部选项卡可查看更多详细信息,例如事件类型。

删除实时表源

  1. 在“实时馈送”页面上,找到要删除的实时表馈送作业的卡。
  2. 单击卡上的“操作”图标(三个点),然后选择删除实时表源

创建基于通知的实时表馈送

您可以基于 Oracle Cloud Infrastructure 通知通过实时表馈送加载数据。

除了能够按需或按计划运行实时表馈送(如馈送数据中所述),您还可以通过通知运行馈送。当源存储桶中的数据发生更改时,将发送一条通知,触发运行表馈送。通过基于通知的实时表馈送,您可以避免由于运行按需或调度的实时表馈送作业而产生的任何延迟。

注意:

  • 基于通知的实时表馈送在 Oracle Cloud Infrastructure 免费套餐中不可用。您必须位于您的账户中具有相应权限的付费租户才能使用此功能。

  • 在使用专用端点配置的 Oracle Autonomous AI Lakehouse (ALK) 数据库中,无法使用基于通知的实时表馈送。

要创建基于通知的实时表源,请执行以下操作:

提示:

要完成这些步骤,您可以在 Oracle Cloud Infrastructure 控制台页面和 Oracle Database Actions 页面之间切换。您可能会发现,在一个浏览器页面或选项卡中打开云控制台和另一个浏览器中的 Database Actions 很方便,因此可以方便地来回移动。

步骤 1:配置对象存储存储桶以发出通知

位置:Oracle Cloud Infrastructure 控制台:对象存储和归档存储 - 存储桶页

配置包含源数据的存储桶,以便在数据发生更改时发出通知。您可以在创建存储桶时设置此选项,也可以在现有存储桶中设置此选项。

  1. 打开云控制台导航菜单,然后单击 Storage 。在对象存储和归档存储下,单击存储桶
  2. 如果您要创建新存储桶:

    1. 在“存储桶”页上,单击创建存储桶按钮以创建新存储桶,如管理存储桶中所述。在 Create Bucket(创建存储桶)向导中,选择 Emit Object Events(发送对象事件)选项以及新存储桶的其他选项。
    2. 单击创建

    如果您使用的是现有存储桶:

    1. 在“存储桶”页上,单击要使用的存储桶的名称,如管理存储桶中所述。
    2. 在“存储桶详细信息”页面上,单击发送对象事件旁边的编辑链接。
    3. 选中 Emit Objects Events(发送对象事件)复选框,然后单击 Save Changes(保存更改)

步骤 2:创建通知服务订阅主题

位置:Oracle Cloud Infrastructure 控制台:通知 - 主题页面

  1. 打开云控制台导航菜单,然后单击 Developer Services 。在应用程序集成下,单击通知
  2. 单击创建主题,输入名称和可选说明,然后单击创建

步骤 3:创建事件服务规则

位置:Oracle Cloud Infrastructure 控制台:事件 - 规则页

  1. 打开 Cloud Console 导航菜单,然后单击 Observability & Management 。在事件服务下,单击规则
  2. 单击创建规则,然后按管理事件的规则中所述填写“创建规则”页。
    • 规则条件下,选择:
      • 条件:事件类型
      • 服务名称:对象存储
      • 事件类型:对象 - 创建
    • Actions 下,选择:
  3. 单击“创建规则”

步骤 4:创建和配置实时表源以使用通知,并复制通知 URL

位置: Database Actions:Live Feeds 页面

您可以将新的或现有的实时表源配置为使用通知:

  1. 转到“Database Actions Live Feeds”页,如 Feeding Data 中所述。
  2. 创建或编辑实时表源对象,如创建实时表源对象编辑实时表源对象中所述。选择启用通知选项
  3. 单击 CreateSave(保存)
  4. 单击实时馈送卡上的“操作”(三个垂直点)图标,然后选择显示确认 URL
  5. 通知 URL 对话框中,单击复制图标以将 URL 复制到剪贴板。您可能希望将其复制到临时文件,以便稍后检索。您将在步骤 5:创建通知服务订阅的下一步中使用此 URL。

步骤 5:创建通知服务订阅

位置:Oracle Cloud Infrastructure 控制台:通知 - 订阅页面

  1. 返回到 Oracle Cloud Infrastructure 控制台。打开导航菜单并单击开发人员服务。在应用程序集成下,单击通知
  2. 在“通知”页面上,单击订阅选项卡(在页面左侧),状态将为活动
  3. 单击创建订阅并填写创建订阅页面:

步骤 6:确认端点可以接收通知

位置: Database Actions:Live Feeds 页面

  1. 返回“Database Actions Live Feeds(Database Actions 实时馈送)”页面,找到要为基于通知的馈送配置的实时表馈送的卡。
  2. 您将查看处于“活动”状态的实时馈送卡。

当发生某些特定的实时馈送事件时,您将收到电子邮件通知。

有关详细信息,请参阅使用实时馈送工具发送电子邮件

完成以上步骤后,上载到存储桶的任何新文件都将自动加载到实时表馈送表中。

使用 Amazon Simple Storage Service (S3) 创建基于通知的实时表馈送

您可以集成 Amazon Simple Storage Service (S3) 和 Oracle Cloud Infrastructure (OCI),以便在观察到的存储对象具有更新时自动执行实时馈送通知流程。以下部分提供了有关在存储数据文件的 Amazon S3 存储桶中创建事件通知的说明。

提示:

要完成这些步骤,您需要交替使用 Amazon Web Services (AWS) 管理控制台和 Oracle Database Actions 页面。您可能会发现在一个浏览器页面或选项卡中打开 Amazon Web Services 和在另一个浏览器中打开 Database Actions 很方便,因此可以方便地来回移动。

步骤 1:在 Amazon S3 中创建对象存储存储桶

位置:Amazon Web Services (AWS) 管理控制台

配置并创建包含源数据的存储桶,以便在数据发生更改时发出通知。
  1. 登录 AWS Management 控制台并打开 Amazon S3 控制台。
  2. 在主页上单击创建存储桶图标。
  3. 存储桶名称中,为存储桶输入有效名称。例如:testbucket。创建存储桶后,无法更改其名称。
  4. 区域中,从下拉列表中选择 Amazon Web Services (AWS) 区域。例如:us-west-2
  5. 在阻止公共访问的存储桶设置中,选择要应用于存储桶的阻止公共访问设置。建议保持所有设置处于启用状态,除非您知道需要关闭任何设置。
  6. 选择高级设置,如果要启用 S3 对象锁定,则接受所有默认选项。此步骤为可选步骤。
  7. 选择创建存储桶

步骤 2:创建访问密钥

位置: AWS 管理控制台

要访问 Amazon Simple Notification Service (SNS),您必须具有 Amazon Web Services (AWS) 可用于验证请求的身份证明。这些凭证必须具有访问 Amazon SNS 主题的权限。以下步骤提供了有关使用 AWS Identity and Access Management (IAM) 创建访问密钥以实现安全目的的步骤的详细信息。

  1. 登录 AWS Management 控制台并打开 Amazon Identity and Access Management (IAM) 控制台。
  2. 在导航菜单上,选择用户
  3. 选择您的用户名
  4. 在 "Security Credentials"(安全身份证明)选项卡中,选择 Create access key(创建访问密钥)
  5. 复制显示中的访问密钥 ID密钥访问密钥。将它们粘贴到剪贴板中。
  6. 要下载密钥,请选择 Download.csv file 图标。这样,您可以将文件存储在安全位置。

步骤 3:添加 Amazon S3 云存储链接

位置: Database Actions:Manage Cloud(管理云)页面

在创建实时表馈送之前,必须与要使用的云存储建立连接。

  1. 单击页面顶部的管理云存储按钮可转至“管理云”页面。有关添加位于 Amazon S3 提供的云存储中的源文件的进一步说明,请参阅管理连接中的创建 Amazon S3 云存储链接主题。

    注意:

    将上一步(步骤 2:创建访问密钥)中生成的访问密钥 ID 和密钥访问密钥粘贴到添加云存储页中的相应文本字段。

步骤 4:创建和配置实时表源以使用通知,并复制通知 URL

位置: Database Actions:Live Feeds 页面

通过创建实时表馈送,您可以实时将数据从外部存储源加载到 ADB 中的表。您使用的外部存储包括 Oracle 对象存储、AWS S3 或 Microsoft Azure 容器。

您可以将新的或现有的实时表源配置为使用通知:

  1. 转到“Database Actions Live Feeds”页,如 Feeding Data 中所述。
  2. 创建或编辑实时表源对象,如创建实时表源对象编辑实时表源对象中所述。选择启用通知选项
  3. 单击创建保存
  4. 单击实时源的卡上的操作(三个垂直点)图标,然后选择显示通知 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 Management 控制台,然后选择创建 AWS 账户

按照 Amazon SNS 链接中提供的说明创建第一个 IAM 管理员用户和组。现在,您可以以 IAM 用户身份登录到任何 AWS 服务。

  1. 以 IAM 用户身份登录到 Amazon SNS 控制台。
  2. Topics(主题)页面上,选择 Create topic(创建主题)
  3. 创建主题页的详细信息部分中指定以下字段。
    • 类型:标准(标准或 FIFO)
    • 名称: notify-topic。对于 FIFO 主题,将 FIFO 添加到名称末尾。
    • 显示名称:此字段是可选的。
  4. 展开 Encryption 部分,然后选择 Disable encryption
  5. 展开访问策略部分并配置其他访问权限(如果需要)。默认情况下,只有主题所有者可以发布或订阅该主题。此步骤为可选步骤。根据您输入的主题详细信息编辑策略的 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. 展开传送状态日志记录部分以配置 Amazon SNS 如何将消息传送记录到 CloudWatch。此步骤为可选步骤。
  8. 展开标记部分以将元数据标记添加到主题。此步骤为可选步骤。
  9. 选择创建主题
  10. 主题的名称、ARN(Amazon 资源名称)和主题所有者的 AWS 账户 ID 显示在“详细信息”部分中。
  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。这是您在 Step 1:Create your object store bucket in Amazon S3 中创建的存储桶。
  3. 选择属性图标。
  4. 定位至事件通知部分,然后选择创建事件通知图标。
  5. 常规配置部分中,为事件通知指定以下值。
    • 事件名称:存储桶通知
    • 前缀:此值用于按前缀筛选事件通知。它是可选值。此项已添加到筛选事件活动。
    • 后缀:此值用于按后缀筛选事件通知。它是可选值。此项已添加到筛选事件活动。
  6. 事件类型部分中,选择要为其接收通知的一个或多个事件类型。如果您不确定要选取哪些事件类型,请选择所有对象创建事件选项。
  7. Destination(目标)部分中,选择 SNS Topic(SNS 主题)作为事件通知目标。

    注意:

    您必须先向 Amazon S3 授予调用相关 API 所需的权限,然后才能发布事件通知。这样可以向 Lambda 函数或 SNS 主题发布通知。
  8. 选择 SNS 主题作为事件通知目标后,从下拉列表中选择 SNS 主题,即 notify-topic。这是您在步骤 5:创建通知服务订阅主题中创建的主题。
  9. 选择 Save changes

步骤 7:创建通知服务订阅

位置:Amazon SNS 控制台

每个 Amazon SNS 主题都有一组订阅。当有消息发布到某个主题后,SNS 会处理将该消息分发给该主题的所有订户。订阅者可以是 AWS Lambda 功能、HTTP(S) 端点、电子邮件地址和能够接收 SMS 消息的移动电话号码。

Amazon SNS 将主题与已订阅该主题的订户列表匹配,并将消息传递给每个订户。

  1. 登录到 Amazon SNS 控制台。
  2. 在左侧导航窗格中,选择订阅
  3. 在订阅页上选择创建订阅
  4. 创建订阅页的详细信息部分中,指定以下值。
  5. 展开订阅筛选器策略部分以配置筛选器策略。此步骤为可选步骤。
  6. 展开 Redrive policy (dead-letter queue) 部分以配置订阅的死信队列。此步骤为可选步骤。
  7. 选择创建订阅

注意:

其他 AWS 账户中的 HTTP(S) 端点、电子邮件地址和 AWS 资源需要确认订阅后才能接收消息。

步骤 8:确认端点可以接收通知

位置: Database Actions:Live Feeds 页面

  1. 返回“Database Actions Live Feeds(Database Actions 实时馈送)”页面,找到要为基于通知的馈送配置的实时表馈送的卡。
  2. 单击卡上的操作(三个垂直点)图标,然后选择显示确认 URL
  3. 确认 URL 对话框中,单击链接以确认 URL。此操作不会关闭此对话框。如果链接成功,则会显示一条消息,确认订阅处于活动状态。
  4. 返回确认 URL 对话框,仅当云存储确认过程完成时才选中“检查”复选框,然后单击确定

完成以上步骤后,上载到存储桶的任何新文件都将自动加载到实时表馈送表中。

有关如何使用 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 门户,而在另一个浏览器页面中打开 Database Actions 很方便,因此可以方便地来回移动。

步骤 1:在 Microsoft Azure 中创建资源组

位置:Microsoft Azure 门户

资源组是逻辑容器,您可以在其中管理存储帐户等 Azure 资源。已创建资源组,因此您可以将它们作为组进行部署、更新和删除。您可以按照以下步骤创建资源组:
  1. 在 Azure 门户上,单击资源组按钮。
  2. 选择添加
  3. 输入以下值:
    • 订阅:选择您的 Azure 订阅,例如 Microsoft Azure Enterprise。
    • 资源组:输入新的资源组名称,如资源组。
    • 区域:选择您的位置,例如美国西部。
  4. 单击复查 + 创建
  5. 单击创建。创建资源组需要几秒钟。

步骤 2:在 Microsoft Azure 中创建存储帐户

位置:Microsoft Azure 门户

Azure 存储帐户包含所有存储数据对象,例如 blob、表、磁盘等。您可以在资源组内创建存储帐户。它为您的数据提供唯一的名称空间。要创建存储帐户,请执行以下操作:

  1. 从左侧门户菜单中,选择存储帐户以显示存储帐户的列表。
  2. 在“存储帐户”页上,单击创建图标。
  3. 在“基本”选项卡上,提供存储帐户的以下信息。
    • 订阅:Microsoft Azure 企业版
    • 资源组: resource-group
    • 存储帐户名称: testorage
    • 区域:选择您的位置,例如美国西部。
    • 冗余:本地冗余存储 (Local-redundant storage,LRS)
  4. 您可以选择 Review+create 以接受默认选项并继续验证账户。
  5. 验证通过后,您可以继续单击创建存储帐户。如果验证失败,门户将指明必须修改哪些设置。

步骤 3:创建访问密钥

位置:Microsoft Azure 门户

您必须向 Microsoft Azure 授予获取存储位置上的访问密钥所需的权限。在上一步中创建存储账户后,将自动生成特定于存储账户的访问密钥。以下步骤介绍了创建访问密钥的过程。

  1. Security+Networking 中,选择访问密钥。您的账户访问密钥将显示每个密钥的完整连接字符串。
  2. 选择显示密钥可显示每个密钥的访问密钥和连接字符串并复制值。
  3. 复制 key1 下的连接字符串值。此值将粘贴到下一步的 Azure 存储账户访问密钥文本字段中(步骤 5:使用 Microsoft Azure 云存储添加云存储)。
  4. 复制存储帐户名称,即 teststorage 并将其粘贴到下一步的 Azure 存储帐户名称文本字段中(步骤 5:使用 Microsoft Azure 云存储添加云存储)。
  5. 测试凭证以查看其是否有效。

步骤 4:创建容器

位置:Microsoft Azure 门户

容器是存放 Azure Blob(二进制大对象)存储的位置(也称为 Amazon S3 和 OCI 中的存储桶)。请按照以下步骤创建容器。

  1. 在 Azure 门户中导航到您的新存储账户。
  2. 在存储帐户的左侧菜单中,滚动到数据存储部分,然后选择容器
  3. 单击 +Container 图标。
  4. 为新容器输入名称。容器名称必须小写,必须以字母或数字开头,并且只能包含字母、数字和短划线字符。
  5. 公共访问级别的级别设置为“专用”。默认级别为“专用”。
  6. 选择 Create(创建)以创建集装箱。

步骤 5:使用 Microsoft Azure 云存储添加云存储

位置: Database Actions:Manage Cloud(管理云)页面

  1. 单击页面顶部的管理云存储按钮可转至“管理云”页面。有关添加位于 Microsoft Azure 云存储提供的云存储中的源文件的进一步说明,请参阅管理连接部分中的创建 Microsoft Azure 云存储链接主题。

注意:

Add Cloud Storage(添加云存储)页面的 Azure 存储帐户访问密钥文本字段中,将连接字符串值粘贴到上一步步骤 3:创建访问密钥的关键字 1 下。同时将上一步步骤 3:创建访问密钥中生成的存储帐户名称粘贴到 Add Cloud Storage 页面的 Azure 存储帐户名称文本字段中。

步骤 6:创建和配置实时表源以使用通知并复制通知 URL

位置: Database Actions:Live Feeds 页面

Live table feed 对象支持从 Microsoft Azure 云存储加载数据,无需轮询延迟。此对象在 Oracle Cloud Interface 和 Microsoft Azure 之间创建集成。

您可以将新的或现有的实时表源配置为使用通知:

  1. 转到“Database Actions Live Feeds”页,如 Feeding Data 中所述。
  2. 创建或编辑实时表源对象,如创建实时表源对象编辑实时表源对象中所述。选择启用通知选项
  3. 单击 CreateSave(保存)
  4. 单击实时源的卡上的操作(三个垂直点)图标,然后选择显示确认 URL
  5. 通知 URL 对话框中,单击复制图标以将 URL 复制到剪贴板。您可能希望将其复制到临时文件,以便稍后检索。您将在后续步骤(步骤 8:创建事件订阅)中使用此 URL。

步骤 7:启用事件资源提供程序

位置:Microsoft Azure 门户

如果这是第一次使用事件网格,则必须启用事件网格资源提供程序。

  1. 选择左侧菜单上的订阅
  2. 选择要用于事件网格(即 Microsoft Azure Enterprise)的订阅。
  3. 在左侧菜单的“设置”下,选择资源提供方
  4. 搜索 Microsoft。EventGrid
  5. 选择注册

注册需要一分钟的时间才能完成。

步骤 8:创建事件订阅

位置:Microsoft Azure 门户

您可以通过配置订阅并指定将接收通知的端点来创建事件订阅。

  1. 选择在 Step 2:Create a storage account in Microsoft Azure 中创建的存储帐户。
  2. 在左侧导航窗格中选择 Events(事件)图标。
  3. 单击 +Event Subscription

此时将显示创建事件订阅窗口。

  1. 事件订阅详细信息部分中指定以下字段:
    • 名称: Eventssub。这是我们创建的事件订阅的名称。
    • 事件方案:事件网格方案
  2. 主题详细信息部分中指定以下字段:
    • 主题类型:存储帐户
    • 系统主题名称:事件主题。
  3. 事件类型部分中指定以下字段:
    • 事件类型: MicrosoftStorage.BlobCreated
  4. 端点详细信息部分中指定以下字段:
  5. 选择创建

这样,Microsoft Azure 将首先创建系统主题,然后创建该主题的事件订阅。

步骤 9:确认端点可以接收通知

位置: Database Actions:Live Feeds 页面

  1. 返回“Database Actions 实时馈送”页,查找要为步骤 6:创建和配置实时表馈送以使用通知和复制通知 URL 中创建的基于通知的馈送配置的实时表馈送的卡。
  2. 单击卡上的操作(三个垂直点)图标,然后选择显示确认 URL
  3. 确认 URL 对话框中,单击链接以确认 URL。此操作不会关闭此对话框。如果链接成功,则会显示一条消息,确认订阅处于活动状态。

    注意:

    确认 URL 链接将在几分钟后过期。您必须确保在链接到期之前单击该链接。
  4. 返回确认 URL 对话框,并选中仅当云存储确认过程完成时才选中复选框,然后单击确定
完成以上步骤后,将新文件上载到您在 Step 4:Create a container 中创建的 Microsoft Azure 容器。
  1. 导航到您创建的容器。
  2. 选择容器以显示它包含的 blob 列表。
  3. 选择 Upload(上载)按钮以打开本地资料档案库并浏览需要作为块 blob 上载的文件。
  4. 选择 Upload(上载)按钮可上载 blob。
  5. 现在,您可以查看容器中列出的新 blob。
  6. 返回“Database Actions Live Feeds(Database Actions 实时馈送)”页面,找到要为基于通知的馈送配置的实时表馈送的卡。
  7. 单击卡上的操作(三个垂直点)图标,然后选择实时表源运行详细信息

您应该能够在实时表源运行详细信息窗口中查看从 Microsoft Azure 存储上载到 Live Feed 表的 blob 的日志。

有关如何在 Azure 门户中创建主题和订阅的更多详细信息,请参阅 Azure 事件网格通知