IBM Cloud Docs
使用 IBM Cloud Object Storage 事件生产者

使用 IBM Cloud Object Storage 事件生产者

IBM Cloud Object Storage 预订侦听对 Object Storage 存储区的更改。 创建对存储区的预订时,应用程序或作业会针对对该存储区的每次成功更改接收到单独的事件。 您可以预订不同的事件,例如 write 事件,delete 事件或 all 事件。 每个项目最多可以创建 100 个 Object Storage 预订。

设置 IBM Cloud Object Storage 事件生产者

要开始使用,必须 创建 IBM Cloud Object Storage 服务实例,并在 Code Engine的其中一个受支持区域中 创建区域存储区

Object Storage 存储区必须是与 Code Engine 项目位于同一区域中的区域存储区。 不支持跨区域和单站点存储区。 有关设置 IBM Cloud Object Storage 事件生产者的更多信息,请参阅 Object Storage 入门。

如果接收事件的应用程序或作业想要使用专用网络与服务进行通信,并且该服务同时具有 privatedirect 端点 (例如 IBM Cloud Object Storage),那么必须使用 direct 端点。

将通知管理员角色分配给 Code Engine

必须先将通知管理器角色分配给 Code Engine,然后才能创建 Object Storage 预订。 作为通知管理器,Code Engine 可以查看,修改和删除 Object Storage 存储区的通知。

只有帐户管理员才能分配通知管理器角色。

当您为项目分配通知管理器角色后,您就可以为与项目在同一区域的 Object Storage 实例中的任何区域存储桶创建事件订阅。

  1. 在IAM仪表板中导航至 “授予服务授权” 页面。
  2. 源服务中,选择 代码引擎
  3. 选择 基于所选属性的资源源服务实例。 然后,选择 Code Engine 项目。
  4. 目标服务中,选择 Cloud Object Storage
  5. 选择 基于所选属性的资源服务实例。 然后,选择 IBM Cloud Object Storage 实例。
  6. 分配通知管理器角色,然后单击授权

您还可以使用 ibmcloud iam authorization-policy-create 命令将“通知管理员”角色分配给项目。

预订应用程序的 IBM Cloud Object Storage 事件

您可以从控制台或 CLI 使用 IBM Cloud Object Storage 预订,以便将事件发送到 Code Engine 应用程序。

默认情况下,事件将发送至目标应用程序的根目录 URL。 您可以使用 --path 选项将事件发送到应用程序中的其他目标。 例如,如果预订指定 --path /event,那么会将事件发送到 https://<base application URL>/events

事件以 HTTP POST请求的形式发送到应用程序。 更多信息,请参阅 HTTP 标题和正文中的活动信息

从控制台预订应用程序的 IBM Cloud Object Storage 事件

您可以从控制台为应用程序创建和更新 IBM Cloud Object Storage 事件预订。

准备工作

完成以下步骤以从控制台为应用程序创建和更新 IBM Cloud Object Storage 事件预订。

  1. Code Engine "项目" 页面,转至您的项目。

  2. 在“概述”页面中,单击 事件预订

  3. 在“事件预订”页面中,单击 创建 以创建预订。

  4. 从“创建事件预订”页面,完成以下步骤。

    1. 对于 事件类型,选择 Cloud Object Storage 磁贴。 单击下一步
    2. 对于 常规,请提供 Object Storage 预订的名称,例如 mycos。 您可以选择提供事件属性。 请注意,如果 Object Storage 事件使用者是一个应用程序,则事件属性可用作 HTTP 标头。 如果事件消费者是一个工作,则事件属性可用作环境变量。 点击 “下一步” 继续。
    3. 对于 存储区事件详细信息,选择或输入现有 Object Storage 存储区的名称。 指定对象的更改类型,并 (可选) 提供对象名称前缀或后缀以过滤存储区中用于触发预订事件的对象。 点击 “下一步” 继续。
    4. 对于 事件使用者,指定用于接收事件的应用程序。 请注意,您可以从已定义的应用程序和作业的列表中进行选择。 对于此示例,请使用引用 icr.io/codeengine/cos-listen 映像的 myapp 应用程序。 如果应用程序不存在,那么可以在创建 Object Storage 预订后提供应用程序的名称并 创建应用程序。 (仅限应用程序) 您可以选择指定路径。 默认情况下,事件将发送至目标应用程序的根目录 URL。 您可以通过指定路径将事件发送到应用程序中的其他目标。 例如,如果预订路径指定 /events,那么会将事件发送到 https://<base application URL>/events。 点击 “下一步” 继续。
    5. 对于 摘要,请查看 Object Storage 事件预订的设置,并在需要时进行更改。 就绪后,单击 创建 以创建 Object Storage 预订。
  5. 既然已创建 Object Storage 预订,请转至“事件预订”页面以 查看已定义的预订的列表

  6. 要更新预订,请浏览至 Object Storage 预订页面。 在“事件预订”页面中,单击要更新的预订的名称。

  7. 从 Object Storage 预订页面中,让我们将对象更改类型更改为仅 delete 对象更改。 从 存储区事件详细信息 选项卡中,仅选择 delete 类型的对象更改。 单击保存以保存更改。

  8. 由于 myapp 应用程序引用样本 cos-listen 应用程序 (将信息打印到日志文件),因此您可以查看日志。 从存储区中删除对象后,您可以在应用程序日志中看到要删除的事件。 请参阅 从控制台查看应用程序日志

定义引用特定存储区的 IBM Cloud Object Storage 事件预订后,无法将此预订更新为使用其他存储区。 您必须创建新的预订以引用所需的存储区。

使用 CLI 预订应用程序的 IBM Cloud Object Storage 事件

准备工作

  1. 使用 ibmcloud ce subscription cos create 命令将应用程序连接到 IBM Cloud Object Storage 事件生产者。 例如

    ibmcloud ce subscription cos create --name mycosevent --destination-type app --destination myapp --bucket mybucket
    
  2. 在创建预订之后,运行 subscription cos get 命令以获取有关预订的详细信息。

    ibmcloud ce subscription cos get --name mycosevent
    

    示例输出

    Getting COS source 'mycosevent'...
    OK
    
    Name:          mycosevent
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           59s
    Created:       2021-03-01T20:08:36-06:00
    
    Destination:  App:myapp
    Bucket:       mybucket
    Event Type:   all
    Ready:        true
    
    Conditions:
        Type            OK    Age  Reason
        CosConfigured   true  55s
        Ready           true  55s
        ReadyForEvents  true  55s
        SinkProvided    true  55s
    
    Events:
        Type     Reason           Age      Source                Messages
        Normal   FinalizerUpdate  61s      cossource-controller  Updated "mycosevent" finalizers
    

现在,每次更改存储区时,应用程序都会收到通知。

要尝试教程吗? 请参阅 预订 Object Storage 事件。 要查找更多代码示例吗? 请查看 IBM Cloud Code Engine GitHub 存储库的样本

从控制台查看应用程序的事件信息

要查看有关事件预订的信息,

  1. Code Engine "项目" 页面,转至您的项目。
  2. 从“概述”页面,单击 事件预订 以查看已定义的预订的列表。

如果应用程序像样本 cos-listen 应用程序一样将信息打印到日志文件,请查看事件使用者应用程序的日志文件。 请参阅 从控制台查看应用程序日志

使用 CLI 查看应用程序的事件信息

如果应用程序像 cos-listen 应用程序一样将信息打印到日志文件,请使用 ibmcloud ce app logs CLI 命令来查看已发送的信息。

必须先创建 Object Storage 事件,然后才能查看应用程序的事件信息。 改变一下你的想法。

要查看您在上一个示例中创建的应用程序的日志,

ibmcloud ce application logs --application myapp

示例输出

Getting logs for all instances of application 'myapp'...
OK

myapp-a2mvv-1-deployment-d97dcd6cf-zc9lg/user-container:
Listening on port 8080
2021-04-13 19:43:45 - Received:

Body: {"bucket":"mybucket","endpoint":"","key":"Notes.rtf","notification":{"bucket_name":"mybucket","content_type":"text/rtf","event_type":"Object:Write","format":"2.0","object_etag":"2944035e54ee1bdc423848c8eaf05e86","object_length":"4642","object_name":"NOtes.rtf","request_id":"6abc7123-382d-4115-98e8-7568b2cc03f8","request_time":"2021-04-13T19:43:36.610Z"},"operation":"Object:Write"}

请注意,应用程序的日志信息仅持续一个小时。 有关日志记录的更多信息,请参阅 查看日志

要查找更多代码示例吗? 请查看 IBM Cloud Code Engine GitHub 存储库的样本

IBM Cloud Object Storage 传递到应用程序的事件的头和主体信息

所有发送到应用程序的事件都以 HTTP 消息的形式接收。 事件包含特定的 HTTP 标头,可帮助您快速确定事件的关键信息,而无需查看事件的主体(业务逻辑)。 有关更多信息,请参阅 CloudEvents 规范

下表描述了 Object Storage 事件的头。

事件头文件
描述
ce-id 事件的唯一标识,除非事件已重放,在这种情况下,将为其分配相同的标识。
ce-source 用于指示此事件在事件生产者中的起源位置的 URI 引用。 对于 Object Storage 事件,此值为 https://cloud.ibm.com/catalog/services/cloud-object-storage/[BUCKET_NAME],其中 [BUCKET_NAME] 是包含对象的存储区的名称。
ce-specversion CloudEvents 规格的版本。 这个值始终为 1.0
ce-subject 指示与事件相关的资源。 对于 Object Storage 事件,这是对其执行操作的对象 (或键) 的名称。
ce-time 事件发生的时间。
ce-type 事件类型。 对于 Object Storage 事件,这是 com.ibm.cloud.cos.document.[ACTION],其中 [ACTION]writedelete。 发生事件的创建或更新时,将对 ce-type 使用 write 操作。

示例

ce-id:  3fb2c04e-a660-4640-8899-b82efb8169b6
ce-source: https://cloud.ibm.com/catalog/services/cloud-object-storage/mybucket
ce-specversion: 1.0
ce-subject: object-69-144
ce-time: 2021-08-17T20:22:02.917Z
ce-type: com.ibm.cloud.cos.document.delete

HTTP 主体

IBM Cloud Object Storage 活动的 HTTP 正文采用以下格式:

{
  "bucket": "mybucket",
  "endpoint": "",
  "key": "object-69-144",
  "notification": {
    "bucket_name": "mybucket",
    "content_type": "image/svg+xml",
    "event_type": "Object:Delete",
    "format": "2.0",
    "object_etag": "f3a9dbde30fdf48abc23e5f8b485d6e5",
    "object_length": "1064391",
    "object_name": "object-69-144",
    "request_id": "67a2048a-abcd-abcd-9e0c-968744094b85",
    "request_time": "2021-08-17T20:22:02.917Z"
  },
  "operation": "Object:Delete"
}

下表描述了主体字段。

IBM Cloud Object Storage的正文字段
主体字段 描述
bucket 与事件相关的对象的桶名称。
endpoint 此值始终为空字符串。
key 桶中物体的名称。
operation 事件类型或操作,类型为 Object:WriteObject:Delete。 创建或上载事件标记为 Object:Write 操作。
Notification.bucket_name 与事件相关的对象的桶名称。
Notification.content_type 对象的 MIME 类型,例如 text/html
Notification.event_type 事件类型或操作,类型为 Object:WriteObject:Delete。 创建或上载事件标记为 Object:Write 操作。
Notification.format 这个值始终为 2.0
Notification.object_etag 每次修改对象时更改的唯一值。 对于 Object:Delete 操作,不会显示此值。
Notification.object_length 对象的大小,以字节为单位。
Notification.request_id 与对象更改相关的唯一标识。
Notification.request_time 发生对象更改的时间。

预订作业的 IBM Cloud Object Storage 事件

您可以从控制台或 CLI 使用 IBM Cloud Object Storage 预订,以便将事件发送到 Code Engine 作业。

为作业创建事件预订时,将为触发的每个事件创建作业运行,并且此作业运行具有与该作业相关的环境变量。 有关 IBM Cloud Object Storage发送的环境变量的更多信息,请参阅 事件的环境变量

从控制台预订作业的 IBM Cloud Object Storage 事件

您可以从控制台为作业创建和更新 IBM Cloud Object Storage 事件预订。

准备工作

请完成以下步骤,以便在控制台为职位创建或更新 IBM Cloud Object Storage 事件订阅:

  1. Code Engine "项目" 页面,转至您的项目。

  2. 在“概述”页面中,单击 事件预订

  3. 在“事件预订”页面中,单击 创建 以创建预订。

  4. 在创建活动订阅页面,完成以下步骤:

    1. 对于 事件类型,选择 Cloud Object Storage 磁贴。 单击下一步

    2. 对于 常规,请提供 Object Storage 预订的名称,例如 mycos-job。 您可以选择提供事件属性。 当事件消费者是一个工作,事件属性可用作环境变量。 点击 “下一步” 继续。

    3. 要了解 Bucket 事件的详细信息,请选择或输入现有 Object Storage bucket 的名称,并指定要触发事件的对象的更改类型。

      对于对象更改类型,请指定何时接收对 Object Storage 对象的操作事件;您可以选择以下两种对象更改类型之一或全部:

      • 使用 “创建和更新” 功能,每当有新对象创建或更新时,您都会收到通知。 对于更新后的对象,所选存储桶中的现有对象将被重新上传。
      • 当现有对象从您的存储桶中移除时,使用 “删除” 接收事件。

      您还可以选择提供对象名称前缀或后缀,以过滤存储桶中的对象,从而触发订阅事件。 指定对象名称前缀对象名称后缀值,以指示与要接收事件的对象名称的开头(前缀)或结尾(后缀)匹配的字符串。 该值将触发事件的 Object Storage 存储桶中的对象限制为以指定前缀或后缀开头或结尾的文件名。 不要使用通配符或正则表达式;仅使用纯文本指定前缀和后缀(例如,指定 abc,而不是 *abc,以表示所有以 abc 开头的对象)。 此外,文件名中包含文件扩展名(例如,如果您指定 json 作为后缀,则系统将处理 abc.json 之类的文件,但不会处理 abcjson.txt )。

      点击 “下一步” 继续。

    4. 对于 事件使用者,指定用于接收事件的作业。 请注意,您可以从已定义作业的列表中进行选择。 对于此示例,请使用引用 icr.io/codeengine/codeengine 映像的 myjob 作业。 如果作业不存在,那么可以在创建 Object Storage 预订后指定作业的名称并 创建作业。 点击 “下一步” 继续。

    5. 对于 摘要,请查看 Object Storage 事件预订的设置,并在需要时进行更改。 就绪后,单击 创建 以创建 Object Storage 预订。

  5. 既然已创建 Object Storage 预订,请转至“事件预订”页面以 查看已定义的预订的列表

  6. 要更新预订,请浏览至 Object Storage 预订页面。 在“事件预订”页面中,单击要更新的预订的名称。

  7. 从 Object Storage 预订页面中,让我们将对象更改类型更改为仅 delete 对象更改。 从 存储区事件详细信息 选项卡中,仅选择 delete 类型的对象更改。 单击保存以保存更改。

  8. 由于 myjob 作业引用样本 icr.io/codeengine/codeengine 作业 (将信息打印到日志文件),因此您可以查看日志。 从存储区中删除对象后,您可以在作业运行的日志中看到要删除的事件。 请参阅 从控制台查看作业日志

预订创建的作业运行将在 10 分钟后删除。

定义引用特定存储区的 IBM Cloud Object Storage 事件预订后,无法将此预订更新为使用其他存储区。 您必须创建新的预订以引用所需的存储区。

使用 CLI 预订作业的 IBM Cloud Object Storage 事件

准备工作

  1. 使用 ibmcloud ce subscription cos create 命令将作业连接到 IBM Cloud Object Storage 事件生产者。

    ibmcloud ce subscription cos create --name mycosevent --destination-type job --destination myjob --bucket mybucket
    
  2. 在创建预订之后,运行 subscription cos get 命令以获取有关预订的详细信息。

    ibmcloud ce subscription cos get --name mycosevent
    

    示例输出

    Getting COS source 'mycosevent'...
    OK
    
    Name:          mycosevent
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           59s
    Created:       2021-03-01T20:08:36-06:00
    
    Destination Type:  job
    Destination:       myjob
    Bucket:       mybucket
    Event Type:   all
    Ready:        true
    
    Conditions:
        Type            OK    Age  Reason
        CosConfigured   true  55s
        Ready           true  55s
        ReadyForEvents  true  55s
        SinkProvided    true  55s
    
    Events:
        Type     Reason           Age      Source                Messages
        Normal   FinalizerUpdate  61s      cossource-controller  Updated "mycosevent" finalizers
    

现在,每次更改存储区时,您的作业都会收到通知。

预订创建的作业运行将在 10 分钟后删除。

要尝试教程吗? 请参阅 预订 Object Storage 事件。 要查找更多代码示例吗? 请查看 IBM Cloud Code Engine GitHub 存储库的样本

从控制台查看作业的事件信息

要查看有关事件预订的信息,

  1. Code Engine "项目" 页面,转至您的项目。
  2. 从“概述”页面,单击 事件预订 以查看已定义的预订的列表。

如果作业像样本 codeengine 作业一样将信息打印到日志文件,请查看事件使用者应用程序的日志文件。 请参阅 从控制台查看作业日志

使用 CLI 查看作业的事件信息

如果您的作业像 codeengine 作业一样将信息打印到日志文件,请使用 ibmcloud ce jobrun logs CLI 命令来查看已发送的信息。

必须先创建 Object Storage 事件,然后才能查看作业的事件信息。 改变一下你的想法。

要在先前示例中查找作业的作业运行,

ibmcloud ce jobrun list

示例输出

Listing job runs...
OK

Name         Failed  Pending  Requested  Running  Succeeded  Unknown  Age
myjob-pnz6m  0       0        0          0        1          0        39s

通过指定作业运行名称来查看作业运行的日志。

ibmcloud ce jobrun logs --jobrun myjob-pnz6m

示例输出

Getting logs for all instances of job run 'myjob-pnz6m'...
Getting jobrun 'myjob-pnz6m'...
Getting instances of jobrun 'myjob-pnz6m'...
OK

myjob-pnz6m-0-0/myjob:
Hello from helloworld! I'm a batch job! Index: 0

Hello World from:
. ___  __  ____  ____
./ __)/  \(    \(  __)
( (__(  O )) D ( ) _)
.\___)\__/(____/(____)
.____  __ _   ___  __  __ _  ____
(  __)(  ( \ / __)(  )(  ( \(  __)
.) _) /    /( (_ \ )( /    / ) _)
(____)\_)__) \___/(__)\_)__)(____)

Some Env Vars:
--------------
CE_DATA={"bucket":"mybucket","endpoint":"","key":"Notes.rtf","notification":{"bucket_name":"mybucket","content_type":"text/rtf","event_type":"Object:Delete","format":"2.0","object_length":"4642","object_name":"Notes.rtf","request_id":"b59727ee-9c4e-446a-9261-5616f6d1283b","request_time":"2021-04-13T20:10:37.631Z"},"operation":"Object:Delete"}
CE_ID=b59727ee-9c4e-446a-9261-5616f6d1283b
CE_SOURCE=https://cloud.ibm.com/catalog/services/cloud-object-storage/mybucket
CE_SPECVERSION=1.0
CE_TIME=2021-04-13T20:10:37.631Z
CE_TYPE=com.ibm.cloud.cos.document.delete
CONTENT_TYPE=application/json
HOME=/root
HOSTNAME=myjob-pnz6m-0-0
JOB_INDEX=0
KUBERNETES_PORT=tcp://172.21.0.1:443
KUBERNETES_PORT_443_TCP=tcp://172.21.0.1:443
KUBERNETES_PORT_443_TCP_ADDR=172.21.0.1
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_SERVICE_HOST=172.21.0.1
KUBERNETES_SERVICE_PORT=443
KUBERNETES_SERVICE_PORT_HTTPS=443
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
SHLVL=1

请注意,作业运行的日志信息仅持续一个小时。 有关日志记录的更多信息,请参阅 查看日志

要查找更多代码示例吗? 请查看 IBM Cloud Code Engine GitHub 存储库的样本

传递到作业的事件的环境变量

传递到作业的所有事件都将作为环境变量接收。 这些环境变量包含前缀 CE_,并且基于 CloudEvents spec

每个事件都包含一些公共环境变量,每次将事件传递到作业时都会显示这些变量。 每个事件中的实际变量集可以包含更多选项。 有关更多信息和更多环境变量选项,请参阅 CloudEvent 属性

下表描述了特定于 IBM Cloud Object Storage 事件的环境变量。

事件环境变量
变量 描述
CE_DATA 事件的数据 (主体)。 请参阅 CE_DATA 以了解 Object Storage 事件
CE_ID 事件的唯一标识,除非事件已重放,在这种情况下,将为其分配相同的标识。
CE_SOURCE 用于指示此事件在事件生产者中的起源位置的 URI 引用。 对于 Object Storage 事件,此值为 https://cloud.ibm.com/catalog/services/cloud-object-storage/[BUCKET_NAME],其中 [BUCKET_NAME] 是包含对象的存储区的名称。
CE_SPECVERSION CloudEvents 规格的版本。 这个值始终为 1.0
CE_TIME 事件发生的时间。
CE_TYPE 事件类型。 对于 Object Storage 事件,这是 com.ibm.cloud.cos.document.[ACTION],其中 [ACTION]writedelete

CE_DATA 环境变量

请注意,CE_DATA 的以下示例已格式化为可读性。

{
"bucket":"mybucket",
"endpoint":"",
"key":"Notes.rtf",
"notification": {
    "bucket_name":"mybucket",
    "content_type":"text/rtf",
    "event_type":"Object:Delete",
    "format":"2.0",
    "object_length":"4642",
    "object_name":"Notes.rtf",
    "request_id":"b59727ee-9c4e-446a-9261-5616f6d1283b",
    "request_time":"2021-04-13T20:10:37.631Z"
},
"operation":"Object:Delete"}

下表描述了 CE_DATA 环境属性。

IBM Cloud Object Storage的环境变量
属性 描述
bucket 与事件相关的对象的桶名称。
endpont 此值始终为空字符串。
key 桶中物体的名称。
operaton 事件类型或操作,类型为 Object:WriteObject:Delete。 创建或上载事件标记为 Object:Write 操作。
Notification.bucket_name 与事件相关的对象的桶名称。
Notification.content_type 对象的 MIME 类型,例如 text/rtf
Notification.event_type 事件类型或操作,类型为 Object:WriteObject:Delete。 创建或上载事件标记为 Object:Write 操作。
Notification.format 这个值始终为 2.0
Notification.object_etag 每次修改对象时更改的唯一值。 对于 Object:Delete 操作,不会显示此值。
Notification.object_length 对象的大小,以字节为单位。
Notification.request_id 与对象更改相关的唯一标识。
Notification.request_time 发生对象更改的时间。

示例输出

CE_DATA={"bucket":"mybucket","endpoint":"","key":"Notes.rtf","notification":{"bucket_name":"mybucket","content_type":"text/rtf","event_type":"Object:Delete","format":"2.0","object_length":"4642","object_name":"Notes.rtf","request_id":"b59727ee-9c4e-446a-9261-5616f6d1283b","request_time":"2021-04-13T20:10:37.631Z"},"operation":"Object:Delete"}
CE_ID=b59727ee-9c4e-446a-9261-5616f6d1283b
CE_SOURCE=https://cloud.ibm.com/catalog/services/cloud-object-storage/mybucket
CE_SPECVERSION=1.0
CE_TIME=2021-04-13T20:10:37.631Z
CE_TYPE=com.ibm.cloud.cos.document.delete

定义其他事件属性

创建预订时,可以定义要包含在生成的任何事件中的其他 CloudEvent 属性。 这些属性与事件交付中的任何其他 CloudEvent 属性类似。 如果选择指定现有 CloudEvent 属性的名称,那么它将覆盖事件中包含的原始值。

要定义其他属性,请将 --extension 选项与 ibmcloud ce subscription cos create CLI 命令配合使用。

有关更多信息,请参阅 我可以使用其他 CloudEvents 规范吗?

删除预订

当您不再需要订阅 IBM Cloud Object Storage 时,可以将其删除。

从控制台删除订阅

  1. Code Engine "项目" 页面,转至您的项目。
  2. 从“概述”页面,单击 事件预订 以查看已定义的预订的列表。
  3. 从预订列表中,删除要从应用程序或作业中除去的预订。

如果删除与预订关联的应用程序或作业,那么不会删除该预订。 如果重新创建应用程序或作业 (或者具有相同名称的另一个应用程序或作业),那么您的预订将与该应用程序或作业重新连接。

使用 CLI 删除预订

您可以通过运行 ibmcloud ce subscription cos delete 命令来删除 IBM Cloud Object Storage 预订。

例如,使用以下命令来删除名为 mycosevent 的 IBM Cloud Object Storage 预订。

ibmcloud ce subscription cos delete --name mycosevent

如果删除与预订关联的应用程序或作业,那么不会删除该预订。 相反,它将进入 false 的就绪状态,因为预订取决于应用程序或作业的可用性。 如果重新创建应用程序或作业 (或具有相同名称的其他应用程序或作业),那么您的预订将重新连接,并且“就绪”状态为 true