使用云眼Agent
使用云眼Agent
云眼Agent提供 REST API,支持运行灰度标帜规则,例如 A/B 测试和目标标帜交付。
云眼 Agent 提供的功能与我们所有常规的、特定于语言的 SDK 相同。云眼 Agent的核心是云眼 Go SDK。
运行灰度标帜规则
决定终端节点将用户分桶为灰度标帜变体,作为标帜规则的一部分。它在一个标帜的多个启用或一个禁用变体之间进行选择。标帜规则包括 A/B 测试和目标灰度标帜传递。若要运行标帜规则,请使用以下命令:
POST /v1/decide?keys={flagKey}
在请求application/json
正文中,包括userId
和任何decideOptions
.完整请求如下所示:
cURL
curl --location --request POST 'http://localhost:8080/v1/decide?keys=YOUR_FLAG_1&keys=YOUR_FLAG_2'
--header 'X-Eyeofcloud-SDK-Key: YOUR_SDK_KEY'
--header 'Accept: text/event-stream'
--header 'Content-Type: application/json'
--data-raw '{
"decideOptions": [
],
"userId": "string",
"userAttributes": {
"additionalProp1": {}
}
}
这将返回一个 云眼Decision 对象数组,其中包含运行标帜规则所需的所有信息,例如:
- 将此用户存储为启用或禁用的灰度标帜变体的决定。
- 任何相应的灰度标帜变量值。
例如:
JSON
{
"userContext": {
"UserId": "test-user",
"Attributes": {
"logged-in": true,
"location": "usa"
}
},
"flagKey": "my-feature-flag",
"ruleKey": "my-a-b-test",
"enabled": false,
"variationKey": "control_variation"
"variables": {
"my-var-1": "cust-val-default-1",
"my-var-2": "cust-va1-default-2"
},
"reasons": []
}
响应由为提供的功能密钥定义的 A/B 测试和交付确定,遵循与任何云眼灰度实验 SDK 相同的规则。
🚧 重要
如果用户被分桶到 A/B 测试中,则此终结点将调度决策事件。
认证
要进行身份验证,请将开发工具包密钥作为 API 调用中命名X-Eyeofcloud-SDK-Key
的标头传递给云眼Agent。可以在 app.eyeofcloud.com 的**“设置**>环境”>“SDK 密钥”下找到 SDK 密钥。请记住,每个环境都有不同的 SDK 密钥。
获取所有决策
要在单个请求中获取访问者的所有灰度标帜决策,请省略灰度标帜参数:
POST /v1/decide
。要获取多个键的决策,请指定多个键参数,例如:
keys=flag_key_1&keys=flag_key_2
。若要仅接收访问者的已启用灰度标帜,请使用
application/json
请求正文中的 decide 选项:
cURL
--header 'Content-Type: application/json' \
--data-raw '{
"userId": "test-user"
"decideOptions": [
"ENABLED_FLAGS_ONLY"
]
}'
跟踪转化
要跟踪事件,请使用您在 SDK 的跟踪 API 中使用的相同跟踪终端节点:
POST /v1/track?eventKey={eventKey}
成功的转换事件请求没有响应正文。
接口参考
有关云眼Agent API 的更多详细信息,请参阅完整的Agent API 参考。