导出诊断数据
本文逐步介绍如何根据用户请求导出数据。 若要导出数据,有两个选项:
- 使用 Azure Blob 存储
- 调用 API 获取特定的崩溃/错误信息
使用 Azure Blob 存储
将所有错误和符号化崩溃(包括堆栈跟踪和附件)导出到 Azure 博客存储。 需要 Azure 订阅将数据导出到Azure Blob 存储。 若要详细了解如何App Center导出Azure Blob 存储,App Center 导出文档。
若要将诊断数据导出到 Blob 存储,请调用以下 App Center API:
POST https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/export_configurations
使用以下有效负载之一将故障导出到Azure Blob 存储:
标准导出的有效负载:
{
"type" : "blob_storage_linked_subscription",
"subscription_id": "<Your-Azure-Subscription-ID",
"export_entities": [ "crashes" ]
}
自定义导出的有效负载:
{
"type" : "blob_storage_connection_string",
"connection_string": "<Your-blob-storage-connection-string",
"export_entities": [ "crashes" ]
}
若要查找 Blob 存储中的位置,请调用以下 App Center API:
GET https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/export_configurations
调用 API 获取特定的崩溃/错误信息
这些 API 是导出关联的诊断信息时必须调用的不同 API。
1.通过调用以下调用获取崩溃/错误组中每个崩溃/错误的崩溃/错误日志元数据:
https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors
2. 通过调用获取 stacktrace:
https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/stacktrace
3. 通过调用获取任何记录的事件:
https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/session_logs
4. 通过调用获取任何附件 Id:
https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/attachments
- 如果这是文本附件,则可以通过调用以下内容获取文本:
https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/attachments/{attachmentId}/text
- 如果这是二进制附件,可以通过调用以下内容获取 URI 位置:
https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/attachments/{attachmentIdd}/location
如何向用户提供此数据的副本
必备组件: 以下过程要求你有一种方法来映射 App Center 安装 Id 和用户。
若要为特定用户提供其数据,必须搜索导出的数据,并将具有特定安装 ID 的日志复制到其他文件中。 该文件将包含已导出的与该特定用户对应的所有数据。