使用 OCI 函数在上传对象存储后自动更新 NoSQL 表

小夏 科技 更新 2024-02-01

云原生、事件驱动和无服务器架构是一种构建和部署应用程序的方法,这些应用程序利用云计算资源和服务来最大限度地提高可扩展性、效率和灵活性。

此参考架构演示了如何无缝集成 Oracle Cloud Infrastructure 事件和 OCI 功能,以便在 OCI 对象存储存储桶中创建或修改对象时自动更新 Oracle NoSQL 数据库云服务 (Oracle NoSQL) 表。 它解决了一种常见的业务场景,即在 OCI 对象存储桶中添加或修改文件时,会解析和更新 Oracle NoSQL 表中的数据。 OCI Events 提供了强大的解决方案,可根据各种云资源状态的变化自动执行任务。 它支持创建将事件传送到特定 OCI 服务的规则,例如 OCI 流**、OCI 函数(作为处理事件数据并与其他 OCI 服务集成以执行多项操作的宝贵工具)和 OCI 通知。 此外,OCI 函数可以包含 ** 来处理来自 OCI 事件的负载数据,并根据特定业务需求调整对 Oracle NoSQL 表的更新。 此参考架构全面概述了在 OCI 对象存储桶中创建或修改对象时,如何将 OCI 函数与 OCI 事件结合使用以更新 Oracle NoSQL 表。 此参考架构展示了在 OCI 对象存储中创建或更新文件时,如何使用 OCI 函数和 OCI 事件更新 Oracle NoSQL 表。 架构图显示了从文件上传到指定 OCI 对象存储存储分段的数据流。 事件服务触发器配置为根据特定事件规则条件激活。 反过来,发出的事件会调用一个函数,该函数从上载的文件中提取数据,根据业务需求进行其他处理,并最终将处理后的数据更新到 Oracle NoSQL 表。 这种方法通过利用事件驱动的架构和促进实时数据处理,提供了显著的优势。 当需要在更新目标表之前对数据进行预处理并执行必要的完整性检查以确保数据完整性时,此方法特别有价值。 以下是在 OCI 对象存储存储桶中创建或更新文件时,通过解析和更新 Oracle NoSQL 表中的数据来解决业务用例的方法: 在 OCI 事件中设置事件规则,以便在 OCI 对象存储桶中创建或更新对象时触发 OCI 函数。

创建一个函数来接收由事件规则触发的事件。 此函数处理 Oracle NoSQL 表中数据的解析和更新。

在函数中实施必要的逻辑,以解析 OCI 对象存储桶中对象的数据。

使用适当的 OCI SDK 或 API 与 Oracle NoSQL 服务交互,以根据解析的数据在 Oracle NoSQL 表中插入或更新记录。

通过结合 OCI 事件、OCI 函数和 Oracle NoSQL 服务,我们可以在 OCI 对象存储中创建或更新文件时自动执行解析和更新 Oracle NoSQL 表中数据的过程。 这种方法可以实现高效、流畅的数据处理,以及 OCI 对象存储和 Oracle NoSQL 之间的同步。 下图演示了此参考体系结构。

使用 OCI 控制台设置功能应用并创建 Oracle NoSQL 表。

收集配置函数应用程序环境变量所需的以下值:

用户 ID 用于身份验证的用户的 OCID。

租户 ID:租户 OCID。 它可以在用户的个人资料中找到。

指纹用于对 OCI API 进行身份验证。

区域创建请求的区域标识符。

API 私钥 API 私钥文件位置。

部门 OCID:创建 Oracle NoSQL 表的部门 OCID。

Nosql 表示 person 表的一个示例。 使用以下属性创建它。

该架构由以下组件组成:租户租户是 Oracle Cloud 中一个安全的独立分区,Oracle 在您注册 Oracle Cloud Infrastructure 时设置该分区。 您可以在自己的租户中创建、组织和管理 Oracle Cloud 中的资源。 租户可以是公司或组织的同义词。 通常,公司将有一个租户,其组织结构将反映在该租户中。 租户通常与订阅相关联,并且订阅通常只有一个租户。 面积Oracle Cloud Infrastructure 区域是一个本地化的地理区域,其中包含一个或多个数据中心,称为可用性域。 区域彼此独立且相距甚远(跨国家甚至跨大陆)。 分区分区是 Oracle Cloud Infrastructure 租户中跨区域的逻辑分隔。 使用分区来组织 Oracle Cloud 中的资源、控制对资源的访问以及设置使用配额。 为了控制对特定分区中资源的访问,您需要定义策略来指定谁可以访问这些资源以及他们可以执行哪些操作。 可用性域可用性域是区域内一个独立的、独立的数据中心。 每个可用性域中的物理资源与其他可用性域的资源隔离,从而提供容错能力。 可用性域不共享基础结构(如电源或冷却)或可用性域的内部网络。 因此,一个可用性域的故障不太可能影响该区域中的其他可用性域。 容错域容错域是可用性域中的一组硬件和基础结构。 每个可用性域都有三个容错域,它们具有独立的电源和硬件。 在多个容错域之间分配资源时,应用程序可以承受容错域中的物理服务器故障、系统维护和电源故障。 虚拟云网络 (VCN) 和子网VCN 是在 Oracle Cloud Infrastructure 区域中设置的可定制的软件定义网络。 与传统的数据中心网络一样,VCN 可让您完全控制网络环境。 一个 VCN 可以有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些 CIDR 块。 您可以将 VCN 拆分为多个子网,这些子网可以位于区域内,也可以位于可用性域中。 每个子网都由一系列连续地址组成,这些地址不与 VCN 中的其他子网重叠。 您可以在创建子网后更改子网的大小。 子网可以是公有子网,也可以是私有子网。 安全列表对于每个子网,您可以创建安全规则,以指定必须允许进出子网的流量、目标和流量类型。 服务网关服务网关提供从 VCN 到其他服务(如 Oracle Cloud Infrastructure Object Storage)的访问。 从 VCN 到 Oracle 服务的流量通过 Oracle 网络结构传输,不会遍历 Internet。 对象存储对象存储提供对大量结构化和非结构化数据的快速访问,包括数据库备份、分析数据以及图像和 ** 等丰富内容。 您可以安全地存储数据,然后直接从互联网或云平台中检索数据。 您可以无缝扩展存储,而不会遇到性能下降或服务可靠性的问题。 对于需要快速、即时和频繁访问的“热”存储,请使用标准存储。 对于需要长时间保留且访问权限很少或没有访问权限的“冷”存储,请使用存档存储。 事件Oracle Cloud Infrastructure 服务生成的事件是描述资源更改的结构化消息。 这些事件包括创建、读取、更新或删除 (CRUD) 操作、资源生命周期状态更改以及影响云资源的系统事件。 功能Oracle Cloud Infrastructure Functions 是一个完全托管、多租户、高度可扩展的按需功能即服务 (FaaS) 平台。 它由 FN Project 开源引擎提供支持。 函数允许您部署 ** 并直接调用它或触发它以响应事件。 Oracle Functions 使用 Oracle Cloud Infrastructure 注册表中托管的 Docker 容器。 原木日志是一项高度可扩展且完全托管的服务,它提供对云中资源的以下类型的日志的访问: 审核日志:与审核服务发出的事件相关的日志。

服务日志:由各个服务发出的日志,例如 API 网关、事件、函数、负载平衡、对象存储和 VCN 流日志。

自定义。 oracle nosqlOracle NoSQL 数据库云服务是一种完全托管的数据库云服务,专为需要简单查询且响应时间以毫秒为单位的数据库操作而设计。 对 Oracle Cloud 帐户进行身份验证后,您可以创建一个 Oracle NoSQL 表,并指定该表的吞吐量和存储要求。 Oracle 会保留和管理资源以满足您的需求,并为您提供所需的容量。 容量使用读取和写入单位来指定吞吐量,使用 GB 来指定存储单元。 以下建议可以作为起点。 您的需求可能与此处描述的体系结构不同。 vcn创建 VCN 时,请根据计划连接到 VCN 子网的资源数量确定所需的 CIDR 块数和每个块的大小。 使用驻留在标准专用 IP 地址空间中的 CIDR 块。

选择与您打算建立专用连接的任何其他网络(在 Oracle Cloud Infrastructure、内部部署数据中心或其他云提供商中)不重叠的 CIDR 块。

创建 VCN 后,可以更改、添加和删除其 CIDR 块。

在设计子网时,请考虑流量的去向和安全需求。 将特定层或角色中的所有资源连接到同一子网,该子网可以充当安全边界。

云卫士克隆和自定义 Oracle 提供的默认配方,以创建自定义检测器和响应器配方。 通过这些配方,您可以指定哪些类型的安全违规会生成警告,以及允许对它们执行哪些操作。 例如,您可能希望检测可见性设置为 public 的对象存储存储桶。

在租户级别应用 Cloud Guard,以覆盖最广泛的范围,并减轻维护多个配置的管理负担。

您还可以使用“管理列表”功能将某些配置应用于检测器。

功能此架构中的 OCI 函数是使用 Python 开发的。 请注意,OCI Functions 支持多种编程语言,您可以使用所选语言开发和部署函数。 oracle nosql确保在适当的分区中创建 Oracle NoSQL 表,并使用 OCI 身份与访问管理 (IAM) 策略管理访问。 在创建表之前,准确估计读取和写入容量非常重要。 请参阅 Oracle 文档并查看建议以获取详细指导。 在此解决方案中,使用名为“person”的示例表作为示例。 请记住根据您的特定需求自定义函数和表名。 OCI 对象存储此体系结构使用标准对象存储来上传文件。 请确保启用发出对象事件以触发事件服务。 对于敏感数据,还建议使用私有存储桶。 OCI 事件在此架构中,OCI 事件服务配置为侦听 OCI 对象存储中的对象创建和对象更新事件。 在将对象上传到 OCI 函数并调用该函数进行处理后,将调用该服务。 部署此参考体系结构时,请考虑以下几点。 性能OCI 事件、OCI 函数和 Oracle NoSQL 都是高度可扩展的托管服务。 Oracle NoSQL 服务提供按需吞吐量和存储配置。 在配置之前,请确保估计 Oracle NoSQL 数据库云服务的吞吐量和存储容量。 安全使用策略限制谁可以访问 OCI 资源。 对于 OCI 对象存储,加密默认处于启用状态,无法关闭。 建议将机密和敏感数据存储在 OCI 保管库中。 考虑使用 OCI 函数存储 API 密钥、数据库用户名、密码和身份验证令牌,以便通过 OCI 服务进行授权。 可用性Oracle 可确保 OCI 事件、OCI 函数、Oracle NoSQL 和 OCI 日志的高可用性,所有这些日志均采用云原生和完全托管。 成本:您只需为函数运行时使用的资源付费。 部署GitHub 存储库包含实现此参考架构的 OCI 函数。 访问 GitHub。

克隆或存储库到本地计算机。

按照 README 文档中的说明进行操作。

作为甲骨文标准合作伙伴,Agilewing正在重新定义企业体验甲骨文云服务的方式。 凭借其简化的开户流程和一流的技术支持,雅居翼将复杂的开户和操作流程转变为简单、直观的体验。 借助我们的一站式服务,您可以快速启动并运行全套 Oracle 云服务,从而无缝集成到云中。 Agilewing 的 AgileCDN 服务与 OCI 基于云的服务相结合,可提供一流的全球内容加速解决方案。 由2,800多个全球POP节点和7,000个直接连接点组成的强大网络可确保您的业务扩展到全球的任何地方,都能确保高效稳定的运营。 利用 Oracle 云的先进技术,Agilewing 致力于简化云服务构建、云迁移和业务走出去的流程。 “我们的合作模式为客户提供了经济高效的解决方案,使他们能够更专注于核心业务,同时享受 Oracle 云的高性能和安全性。” Oracle 云服务是一个前景广阔的领域,凭借其高性能、安全性和全球一致的服务标准,为企业打开了通往新机遇的大门。 通过雅乐之翼的专业服务,无论是个人用户还是企业,都能轻松进入这个充满技术创新和高性能的新时代。 让 Agilewing 开始探索 Oracle 云服务,打开通往全新世界的大门。

相似文章

    使用 OushuDB 实现 Native ORC 格式的增量备份

    随着数据量的持续增长,有效的数据管理和保护变得至关重要。数据库备份是数据安全的关键组成部分,尤其是增量备份,它是使数据保持最新状态的快速有效方法。why orc?优化行列 ORC 是一种高效的列式存储格式,与大数据应用兼容。它提供了出色的压缩比 快速的读取速度和对复杂数据类型的支持。由于这些优点,O...

    采用激光位移传感器测量光束厚度,实现非接触式双张检测控制

    激光位移传感器是一种先进的测量设备,具有高精度 非接触式测量的特点。在钣金厚度测量方面,我们可以使用两个HC系列激光位移传感器进行双张控制。HC 系列激光位移传感器提供高达 m 的出色测量精度。这意味着我们可以准确地测量钣金的厚度,并可以可靠地识别双板或薄板的厚度。使用该解决方案,我们能够有效地提高...

    如何利用Pmax广告实现旺季订单

    PMAX广告是跨境电商平台提供的高效广告营销工具,可以帮助跨境卖家在旺季实现爆款订单。通过合理利用PMAX广告,跨境卖家可以提高产品质量,吸引更多潜在客户,实现销售业绩的快速增长。跨境卖家需要了解PMAX广告的特点和优势。PMAX广告是跨境电商平台提供的一种高级广告形式,具有定位精准 质量高 流量稳...

    利用CRM系统实现销售资源的精准调配

    我们知道CRM系统可以用来划分商机,但你确实这样做了如何借助CRM系统科学配置销售资源?通过阈值功能,可以平衡销售人员的工作量,最大限度地利用客户资源,全面提高转化效率。协助销售团队提高工作效率,跟进销售流程,推动成交。波场构建阈值 代表对在一段时间内可以分配给员工的最大记录数的限制 销售经理可以设...

    利用AI轻松实现多重收益 你掌握了这些赚钱方式吗?

    随着社会的飞速进步,年轻人的生活压力越来越大,在经济不景气的情况下,很多年轻人面临着找不到稳定工作的困境,有的只能选择创业来维持生计。然而,创业并不是一件容易的事,除了需要创造力和能力外,还需要巨大的财力和人力投入,尤其是今年,很多创业者都面临着资金匮乏的挑战,这使得创业的成功率更加低迷。除了创业之...