mcpField
D
dx-app-analytics-query

dx-app-analytics-query

github.com/forcedotcom数据与数据库1.1k5.2k 次安装1 天前更新
代码仓库

关于 dx-app-analytics-query

供 ISV 合作伙伴请求和管理 Salesforce 托管包的 App Analytics 数据。涵盖异步查询请求、配置设置、结果格式及生命周期故障排查。

主要功能

  1. 01创建并轮询分析请求
  2. 02选择分析数据类型
  3. 03按软件包、组织和时间筛选
  4. 04选择文件格式与压缩方式
  5. 05配置模拟和退出设置

适用场景

  1. 01获取托管包使用摘要
  2. 02增量提取分析数据
  3. 03使用样本数据测试查询
  4. 04排查失败或过期请求

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/forcedotcom/sf-skills --skill dx-app-analytics-query

安装后在 Claude Code 中输入/dx-app-analytics-query确认已加载。

详细介绍

应用分析

此技能适用的任务

当工作涉及以下内容时,使用 dx-app-analytics-query:

  • 通过 REST/sObject API 创建 AppAnalyticsQueryRequest 记录
  • 通过 Metadata API 配置 AppAnalyticsSettings(模拟模式、选择退出)
  • 了解查询生命周期:New → Pending → Complete → Expired → Failed
  • 在 dataType 值之间进行选择:PackageUsageSummary、PackageUsageLog、SubscriberSnapshot
  • 分析数据下载的文件格式和压缩选项
  • 使用 startTime、endTime、availableSince 进行时间范围筛选
  • 排查失败或已过期的分析查询

以下情况请转交其他技能:

  • 运行标准 CRM SOQL 查询 → platform-soql-query
  • 使用 Data Cloud SQL 或 DMO → retrieving-datacloud
  • 基于标准对象构建报表/仪表板 → reporting skills
  • 部署或检索通用元数据 XML → deploying-metadata / retrieving-metadata

可用类型

AppAnalyticsQueryRequest(REST/sObject API)

一种异步查询请求,ISV 合作伙伴可借此从 ISV Intelligence Data Lake 检索其托管包的使用情况分析数据。通过 POST /services/data/vXX.0/sobjects/AppAnalyticsQueryRequest 创建记录,并通过 GET /services/data/vXX.0/sobjects/AppAnalyticsQueryRequest/<id> 轮询。系统会处理查询,并在完成后提供预签名下载 URL。

字段(14 个属性):

字段类型说明
DataTypestring(可筛选)分析数据的类型。可选值:PackageUsageSummary、PackageUsageLog、SubscriberSnapshot
RequestStatestring(可筛选)处理状态。可选值:New、Pending、Complete、Expired、Failed、NoData、Delivered
StartTimestring请求数据的时间范围起点
EndTimestring时间范围终点。应设置为整点
AvailableSincestring将查询范围限制为此时间之后(含此时间)建立索引的数据。用于增量检索
PackageIdsstring以逗号分隔的托管包 ID 列表(以 033 开头)
OrganizationIdsstring用于筛选结果的订阅方组织 ID 列表,以逗号分隔
DownloadUrlstring用于下载结果的预签名 URL。RequestState 为 Complete 时填充
DownloadSizelong结果数据文件的大小(字节)
DownloadExpirationTimestring下载 URL 的过期时间
FileTypestring(可筛选)输出格式。可选值:csv、parquet
FileCompressionstring(可筛选)压缩方式。可选值:none、gzip、snappy
QuerySubmittedTimestring查询提交到 Data Lake 的时间
ErrorMessagestring查询失败时的诊断信息
AppAnalyticsSettings(Metadata API)

用于控制模拟模式和选择退出行为的 ISV App Analytics 配置设置。通过 Metadata API(sf project deploy)或 Tooling API 部署。

字段(2 个属性):

字段类型说明
enableSimulationModeboolean(可筛选)为 true 时,可查询示例使用情况日志,以便在没有真实订阅方数据的情况下进行集成测试
enableAppAnalyticsOptOutboolean(可筛选)为 true 时,该订阅方组织将退出 AppExchange App Analytics 数据收集

请求生命周期

New → Pending → Complete → (download within expiration window)
                         → Expired (download URL no longer valid)
                         → Delivered (download confirmed received)
         → Failed (check errorMessage)
         → NoData (no matching records for the criteria)

常见模式

查询软件包使用情况摘要(最近 7 天)

通过 REST API 创建记录:

POST /services/data/v60.0/sobjects/AppAnalyticsQueryRequest
Content-Type: application/json

{
  "DataType": "PackageUsageSummary",
  "StartTime": "<7-days-ago>T00:00:00Z",
  "EndTime": "<today-on-hour-boundary>T00:00:00Z",
  "PackageIds": "033XXXXXXXXXXXX",
  "FileType": "csv",
  "FileCompression": "gzip"
}

通过 GET 轮询记录,直到 RequestState 变为 Complete,然后从 DownloadUrl 下载。

增量数据检索

将 AvailableSince 设置为上次成功查询完成的时间戳,避免重新下载已有数据。

启用模拟模式以进行测试

通过 Metadata API 部署 AppAnalyticsSettings,并将 enableSimulationMode 设为 true,以便在没有真实订阅方的情况下查询示例数据。


高信号注意事项

  • AppAnalyticsQueryRequest 是一个 sObject — 通过 REST Data API(/sobjects/AppAnalyticsQueryRequest)创建和轮询记录,而不是通过 Metadata API XML 部署。
  • AppAnalyticsQueryRequest 没有 Apex 触发器,也不会流经自定义对象或 Flows。
  • 下载 URL 会过期 — 尝试下载前务必检查 DownloadExpirationTime。
  • 为确保结果一致,EndTime 应设置为整点。
  • AvailableSince 是包含边界的 — 恰好在该时间戳编入索引的数据也会包含在内。
  • PackageIds 使用 033 前缀的 ID,而不是 04t(包版本)ID。
  • 数据由 ISV Intelligence Data Lake 基础设施异步处理。没有同步查询选项。
  • 对于大型数据集,使用 FileType: parquet 和 FileCompression: snappy 可获得最佳性能。

输出格式

Analytics task: <query / configure / troubleshoot>
Data type: <PackageUsageSummary / PackageUsageLog / SubscriberSnapshot>
Package IDs: <033-prefixed IDs>
Time range: <startTime> to <endTime>
File format: <csv|parquet> / <none|gzip|snappy>
Request state: <current state>
Next step: <poll for completion / download / investigate failure>

评论

支持 Markdown