评估 REST API

云眼About 2 min

评估 REST API

演示代理 REST API 功能的 Python 代码示例。

📘 注意

REST API 文档是通过 OpenAPI(Swagger)规范定义的,可以在此处open in new window查看。

启动 HTTP 会话

向 云眼 Agent 发出的每个请求都在 云眼 SDK 密钥的上下文中。SDK 密钥将 API 请求映射到特定的云眼灰度发布(特性标帜)AB实验项目和环境。

📘 注意

可以在 app.eyeofcloud.comopen in new window 的**“设置**>环境”>“SDK 密钥”下找到 SDK 密钥。请记住,每个环境都有不同的 SDK 密钥。

我们可以使用以下对象设置全局请求标头:requests.Session

Python

import requests s = requests.Session() s.headers.update({'X-云眼-SDK-Key': 'YOUR-SDK-KEY'})

🚧

️重要事项

必须创建 HTTP 会话。以下示例将假定此会话正在维护。

获取当前环境配置

/vi/configopen in new window ' 终结点返回当前工作环境的清单。

Python

resp = s.get('http://localhost:8080/v1/config') env = resp.json() for key in env['featuresMap']: print(key)

运行灰度发布(特性标帜)规则

作为标帜规则的一部分,决定终端节点open in new window将用户分桶为灰度发布(特性标帜)变体(在多个启用的变体或一个禁用的变体之间进行选择)。标帜规则允许:

  • 使用 A/B 测试进行实验
  • 使用有针对性的灰度发布(特性标帜)投放,逐步向选定的受众推出灰度发布(特性标帜)。

要运行标帜规则,请使用

Python

# decide 1 flag. params = { "keys": "my-feature-flag" } payload = { "userId": "test-user", "userAttributes": { "attr1": "sample-attribute-1", "attr2": "sample-attribute-2" } } resp = s.post(url = 'http://localhost:8080/v1/decide', params=params, json=payload) print(resp.json()) # multiple (bulk) feature flag decisions for specified flags. # To decide ALL flags, simply omit keys params payload = { "userId": "test-user" } params = {"keys":"flag_1", "keys":"flag_2"} resp2 = s.post(url = 'http://localhost:8080/v1/decide', params=params, json=payload) print(json.dumps(resp.json(), indent=4, sort_keys=True))

决策 API 是一个 POST,用于向调用方发出有副作用的信号。也就是说,决策结果是发送到云眼分析的“决策”事件,用于分析A / B测试结果。

默认情况下,如果该标帜只是目标投放的一部分而不是实验,则不会发送决策事件。

Last update:
Contributors: “zhangweixue”