源文件
中继服务包括发布在投票的数据提取部分使用的源文件的功能。例如,对ios_messages.messages
的轮询将查看 iOS 备份中的sms.db
文件以检索消息数据——使用源文件发布sms.db
文件本身将与提取的数据和任何相关附件文件一起返回。
启用源文件发布
可以在每个订阅的基础上启用源文件发布,通过其poll_payload
属性,或通过组织范围或密钥级别的配置。全部使用相同的配置键: publish_source_files
创建启用源文件发布的订阅
curl https://ricloud-api.reincubate.com/subscriptions \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "session": "<session ID>", "source": "<child source ID>", "poll_payload": { "data_types": ["ios_messages.messages"], "publish_source_files": true } }'
在组织级别配置源文件发布
curl https://ricloud-api.reincubate.com/organisation \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "config": { "publish_source_files": true } }'
以上需要组织管理员密钥。
在密钥级别配置源文件发布
curl https://ricloud-api.reincubate.com/key \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "config": { "publish_source_files": true } }'
组织范围的配置可以被关键级别的配置覆盖,这在源文件只对生产使用感兴趣时很有用。类似地,两者都可以被轮询有效负载参数覆盖——允许您指定是否应根据具体情况发布源文件。
请注意,通过组织或密钥配置启用功能会将更改的行为追溯应用到现有订阅。
使用源文件结果
启用源文件发布后,API 将跟踪在提取过程中触及的任何文件,将它们发布到您的存储桶,并创建与当前轮询关联的结果对象。
对与特定数据集相关的源文件的引用包含在数据结果本身的metadata
属性中。例如:
{ "data": [{ "id": "a1b2c3d4", "data_type": "message", "conversation_id": "w6x7y8z9", "handle": "Pal", "type": "SMS", "text": "Hi, how’s it going?", "attachments": [{ "type": "image", "file_id": "a492be9a8dadabdc774286116232420224f14976", "file_path": "Library/SMS/Attachments/de/14/33A09D66-287E-4B64-A874-1A1234BD7E61/IMG_0006.PNG", "filename": "IMG_0006.PNG" }], "group_handles": [ "Pal", "renate@reincubate.com" ], "from_me": false, "deleted": false, "date": "2020-01-01T00:00:00.000000Z" }], "metadata": { "count": 1, "filters": null, "source_files": [{ "file_id": "3d0d7e5fb2ce288813306e4d4636395e047a3d28", "domain": "HomeDomain", "file_path": "Library/SMS/sms.db", "filename": "sms.db", "size": 123456, "date_last_modified": "2020-01-02T00:00:00.000000Z" }] } }
与附件文件结果一样,源文件条目的file_id
对应于与其相关的结果的identifier
属性。因此,这也是写入存储桶的文件的名称。