运行时依赖
安装命令
点击复制技能文档
Snowplow Analytics
Snowplow Analytics 是一个行为数据平台,帮助企业跨其数字化接触点跟踪和理解用户交互。它被数据团队和分析师用于收集、建模和激活客户数据,以进行高级分析和个性化。
官方文档:https://docs.snowplow.io/
Snowplow Analytics 概述
事件
事件字段
管道
数据源
数据转换
数据质量
测试
警报
用户组
角色
使用 Snowplow Analytics
本技能使用 Membrane CLI 与 Snowplow Analytics 交互。Membrane 自动处理身份验证和凭证刷新,因此您可以专注于集成逻辑,而不是身份验证管道。
安装 CLI
安装 Membrane CLI,以便您可以从终端运行 membrane:
npm install -g @membranehq/cli@latest
身份验证
membrane login --tenant --clientName=
这将打开浏览器进行身份验证或打印授权 URL 到控制台,具体取决于是否可用交互模式。
无头环境:
命令将打印授权 URL。
要求用户在浏览器中打开它。
当他们完成登录后看到代码时,完成以下操作:
membrane login complete
将 --json 添加到任何命令以获取机器可读的 JSON 输出。
代理类型:
claude、openclaw、codex、warp、windsurf 等。
这些将用于调整工具以最好地与您的工具架配合使用。
连接到 Snowplow Analytics
使用 membrane connection ensure 查找或创建连接通过应用程序 URL 或域名:
membrane connection ensure "https://snowplowanalytics.com" --json
用户在浏览器中完成身份验证。
输出包含新的连接 ID。
这是获取连接的最快方式。
URL 被规范化为域名并与已知应用程序匹配。
如果找不到应用程序,则创建一个应用程序并自动构建连接器。
如果返回的连接具有状态:“READY”,则跳转到步骤 2。
1b。等待连接就绪
如果连接处于 BUILDING 状态,请轮询直到它就绪:
npx @membranehq/cli connection get --wait --json
--wait 标志长轮询(最多 --timeout 秒,默认 30)直到状态更改。
继续轮询直到状态不再是 BUILDING。
结果状态告诉您下一步该做什么:
READY — 连接已完全设置。
跳转到步骤 2。
CLIENT_ACTION_REQUIRED — 用户或代理需要执行某个操作。
clientAction 对象描述了所需的操作:
clientAction.type — 所需操作的类型:
“connect” — 用户需要身份验证(OAuth、API 密钥等)。
这涵盖了初始身份验证和断开连接的重新身份验证。
“provide-input” — 需要更多信息(例如要连接到的应用程序)。
clientAction.description — 对所需操作的可读说明。
clientAction.uiUrl(可选) — 用户可以完成操作的预建 UI 的 URL。
在存在时将其显示给用户。
clientAction.agentInstructions(可选) — AI 代理如何以编程方式继续的说明。
用户完成操作(例如在浏览器中身份验证)后,再次使用 membrane connection get --json 轮询以检查状态是否已移动到 READY。
CONFIGURATION_ERROR 或 SETUP_FAILED — 出错了。
检查 error 字段以获取详细信息。
搜索操作
使用自然语言描述您要执行的操作进行搜索:
membrane action list --connectionId=CONNECTION_ID --intent "QUERY" --limit 10 --json
您应该始终在特定连接的上下文中搜索操作。
每个结果包括 id、name、description、inputSchema(操作接受的参数)和 outputSchema(它返回的内容)。
流行操作
使用 npx @membranehq/cli@latest action list --intent=QUERY --connectionId=CONNECTION_ID --json 发现可用操作。
运行操作
membrane action run --connectionId=CONNECTION_ID --json
要传递 JSON 参数:
membrane action run --connectionId=CONNECTION_ID --input '{"key": "value"}' --json
结果在响应的 output 字段中。
代理请求
当可用操作不涵盖您的用例时,您可以通过 Membrane 的代理直接向 Snowplow Analytics API 发送请求。
Membrane 自动追加基本 URL 到您提供的路径并注入正确的身份验证标头 — 包括透明的凭证刷新,如果它们过期。
membrane request CONNECTION_ID /path/to/endpoint
常见选项:
标志 描述
-X,--method HTTP 方法(GET、POST、PUT、PATCH、DELETE)。
默认为 GET
-H,--header 添加请求标头(可重复),例如 -H "Accept: application/json"
-d,--data 请求正文(字符串)
--json 简化发送 JSON 正文并设置 Content-Type: application/json
--rawData 按原样发送正文而不进行任何处理
--query 查询字符串参数(可重复),例如 --query "limit=10"
--pathParam 路径参数(可重复),例如 --pathParam "id=12"