用途:在 OCI 上构建事件驱动流水线,通过 Events 规则监听租户内资源状态变化,并将事件路由到 ONS 主题、流或 Functions。
主要能力:创建 ONS 主题与订阅(邮件、HTTPS、PagerDuty、Slack);用 JSON 条件块匹配 eventType、compartmentId 及属性过滤;将事件路由到 ONS 或 FAAS(Functions);覆盖计算实例生命周期、对象存储、身份与审计等事件类型。
使用方式:需安装 OCI Python SDK(pip install oci),配置 ~/.oci/config,并具备 Events、ONS、Functions 的 IAM 策略与目标 compartment OCID,Python 3.8+。用 NotificationControlPlaneClient 建主题、NotificationDataPlaneClient 建订阅,用 EventsClient.create_rule 建规则,condition 为 JSON 字符串而非 HCL。可用 CLI 验证:oci events rule list --compartment-id <ocid> --all;oci ons subscription list --compartment-id <ocid> --topic-id <topic-ocid>。
适用场景:无服务器事件处理、实例生命周期订阅、存储桶变更处理、审计事件通知等。
限制:事件类型无列表 API,需查阅官方文档;ONS 每 compartment 主题上限 100;HTTPS 订阅需端点返回 200 确认;429 无 Retry-After 头需指数退避;condition 必须是合法 JSON。