对象存储触发器 开通事件上报 并非所有Bucket都会主动上报事件,需要通过对象存储产品的Openapi打开指定Bucket的事件上报,方法步骤如下: 1. Python调用openapi示例 2. 结合上述示例,执行如下代码,打开指定存储桶的事件上报开关 def main(): params { "regionID": "bb9fdb42056f11eda1610242ac110002", 华东1地域ID "bucket": "您的桶名称", "bucketEventBridgeEnabled": True } resultpost(" params) print(result) if name "main": main() 3. 接口返回以下内容即可 {"message": "SUCCESS", "description": "成功", "statusCode": 800} 配置函数入口参数 对象存储触发器事件源会以CloudEvents模板作为输入参数传递给函数,可以手动将Event传给函数模拟触发事件。 Event是函数计算的入口参数,当指定的对象存储Bucket发生指定事件时,会将事件数据以JSON格式发送给绑定的函数。具体格式如下所示。 json { "id": "1723530386.250878.3f7f5c", "source": "ctyun.zos", "specversion": "1.0", "type": "s3:ObjectCreated:Post", "subject": "ctyun.zos:b342b77ef26b11e:5d4ce56a08db4a:bucket:abc.txt", "time": "20240305T13:52:18.374Z", "data": { "userIdentity": { "principalId": "testusersub1" }, "responseElements": { "xamzrequestid": "ec2906f5e72t494f9aa1f621108", "xamzid2": "1286b9zone2zon" }, "s3": { "bucket": { "name": "bucket", "ownerIdentity": { "principalId": "testuser" }, "arn": "arn:aws:s3:::bucket", "id": "ec2906f5e72f494f9aa1f6211" }, "object": { "key": "abc.txt", "size": 417791, "etag": "3f7f 5c925b10c789e3e1389", "versionId": "", "sequencer": "92FCBA66FA6", "metadata": [] } } }, "datacontenttype": "application/json;charsetutf8", "ctyunaccountid": "5d4ce56a08db4ac19", "ctyunuserid": "usertestuserid", "ctyunresourceid": "", "ctyuneventbusname": "default", "ctyunregion": "b342b77ef26b11ecb0" } Event参数中不同属性字段的解释如下表所示。 参数 类型 示例值 描述 id String b5771f766cdf48edb1bad15418c 事件ID。标识事件的唯一值。 source String ctyun.zos 事件源。对象存储触发器固定为ctyun.zos。 specversion String 1.0 CloudEvents协议版本。 type String s3:ObjectCreated:Post 事件类型。 subject String ctyun.zos:b342b77ef26:5d4ce56a08d:bucketname:objectname 事件主体。格式为ctyun.zos::::,其中是资源池ID,是天翼云账号ID,是对象存储产生事件的bucket名称,是对象存储产生事件的文件名称。 time Timestamp 20240305T13:52:18.374Z 事件产生的时间。 datacontenttype String application/json;charsetutf8 参数data的内容形式。 data Struct {"abc":"1111", "def":"xxxx"} 事件内容。JSON对象,内容由发起事件的服务决定。CloudEvents可能包含事件发生时由事件生产者给定的上下文,data中封装了这些信息。 ctyunaccountid String 123456789 天翼云账号ID。 ctyunuserid String 123456789 天翼云用户ID。 ctyunresourceid String 27aadda4db9411eea6fce8b47009 天翼云资源ID ctyuneventbusname String default 接收事件的事件总线名称,天翼云产品事件为default。 ctyunregion String bb9fdb42056fl1eda161 接收事件的地域。