关于BIM360/ACC Webhooks中dm.version.deleted事件触发的问询
关于Autodesk Webhooks的两个问题解答
1. 删除文件时dm.version.deleted事件是否触发?
从你提供的事件详情来看,用户删除文件时触发的是dm.version.added事件,且custom-metadata中的forge.type为versions:autodesk.core:Deleted-1.0——这是因为Autodesk数据管理的删除逻辑并非直接删除版本,而是创建一个标记为“已删除”的新版本。
针对官方文档中提到的dm.version.deleted事件:
- 该事件仅在彻底删除版本(而非通过用户界面标记删除)的场景下触发,比如通过API调用彻底移除版本。
- 常规用户操作的删除(标记为删除状态)不会触发
dm.version.deleted,而是通过dm.version.added事件传递删除版本的元数据。
2. 上传新文件时的事件冗余问题
上传新文件时收到1个dm.version.added和多个dm.version.modified事件是正常现象,原因是文件上传过程中系统会执行多步操作:
- 文件完成上传后触发
dm.version.added事件,标记版本创建完成。 - 后续系统会自动更新版本的元数据(如文件状态、索引信息、关联属性等),每一次属性变更都会触发
dm.version.modified事件。
可通过以下方式优化:
- 利用事件中的
dm_command:id字段关联同一上传操作的所有事件,仅处理最后一个事件(或根据业务需求选择关键事件)。 - 若业务仅关注“文件上传完成”,可只监听
dm.version.added事件,忽略后续的dm.version.modified事件。 - 过滤事件中的状态字段,仅处理版本状态稳定(如
status为active)的modified事件。
你收到的删除文件事件详情:
"hook": { "hookId": "9b4a8018-0bcd-some-numbers-7ff2452c806e", "tenant": "urn:adsk.wipprod:fs.folder:co.0GGjDTycS3OD96-MDeznyQ", "callbackUrl": "https://webhooks.workato.com/someUrl/bim360", "createdBy": "rz66ZEJ7QN7D84b5UY99555t4lZHur9o", "event": "dm.version.added", "createdDate": "2024-05-26T14:00:47.504+00:00", "lastUpdatedDate": "2024-05-26T14:00:47.503+00:00", "system": "data", "creatorType": "Application", "status": "active", "scope": { "folder": "urn:adsk.wipprod:fs.folder:co.0GGjDTycS3OD96-MDeznyQ" }, .... .... "custom-metadata": { "dm_sys_id": "bd290a3c-1df7-4ad0-bef4-af28c75f89ab", "file_name": "A507.pdf", "lineageTitle": "", "forged.originalName": "A507.pdf", "dm_command:id": "1d722e66-127b-493f-a6a8-458b3b983701", "forge.type": "versions:autodesk.core:Deleted-1.0", "storm:entity-type": "SEED_FILE", "fileName": "6b2584e1-a126-4d63-a9c3-f4e6ef15fc92" } .....
内容的提问来源于stack exchange,提问作者Jonathan
相关产品推荐
相关产品推荐

