通过MnsOss事件源采集OSS事件,然后驱动服务对事件进行处理,可用于人脸识别等场景。本文介绍如何在Knative上使用MnsOss事件源。
前提条件
- 已安装Knative Serving和Knative Eventing。具体操作,请参见一键部署Knative。
- 已在OSS控制台创建Bucket。具体操作,请参见创建存储空间。
- 已开通MNS服务。具体操作,请参见开通消息服务MNS并授权。
步骤一:安装MnsOss事件源
- 登录容器服务管理控制台。
- 在控制台左侧导航栏中,单击集群。
- 在集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页面选择 。
- 在组件管理页签下单击MnsOss操作列的部署。
- 在部署MnsOSS对话框中单击确定。
步骤二:创建OSS事件通知
步骤三:创建MNS Token
步骤四:创建Service Account和Broker
步骤五:创建MnsOss事件源
为了接收MnsOss产生的事件, 需要创建MnsOss Source用于接收事件。
步骤六:创建Knative Service
为了验证MnsOss Source是否可以正常工作,需要创建Knative Service,以下使用的是event-display示例。
步骤七:创建Trigger
创建Trigger, 订阅事件信息。
执行结果
往OSS上传文件,会在Pod中收到事件通知。
2020/12/16 13:04:19 receive cloudevents.Event:
{"events": [{
"eventName": "ObjectCreated:PostObject",
"eventSource": "acs:oss",
"eventTime": "2019-06-18T06:44:16.000Z",
"eventVersion": "1.0",
"oss": {
"bucket": {
"arn": "acs:oss:cn-beijing:1041208914252405:testjian",
"name": "testjian",
"ownerIdentity": "1041208914252405",
"virtualBucket": ""},
"object": {
"deltaSize": 0,
"eTag": "137138904F2E18D307D04EB38EA44CDA",
"key": "timg.jpg",
"size": 12990},
"ossSchemaVersion": "1.0",
"ruleId": "demo-i****"},
"region": "cn-beijing",
"requestParameters": {"sourceIPAddress": "42.120.7*.***"},
"responseElements": {"requestId": "5D08884070BC12B192C6****"},
"userIdentity": {"principalId": "104120891425****"}}]}