配置设置
配置设置
如何配置和自定义 Eyeofcloud Edge Agent。
👍
试用版
Eyeofcloud Edge Agent 目前处于测试阶段。在 Eyeofcloud 测试版注册页面上申请,或联系您的客户成功经理。
Eyeofcloud Edge Agent 是一种多功能解决方案,可让您配置和自定义实验和个性化工作。代理在以下两种模式下运行:
- 用于处理
GET请求的 Edge 模式。 - 代理模式,用于处理
POST请求。
有关更多信息,请参阅 Eyeofcloud Edge Agent 的两种模式文档。
配置方法
您可以使用三种不同的方法配置 Eyeofcloud Edge 代理:
- HTTP 标头 – 将配置设置作为请求中的 HTTP 标头传递,支持边缘模式 (
GET请求) 和代理模式 (POST请求)。 - Query Parameters (查询参数) – 将配置设置作为查询参数传递到请求 URL 中,支持边缘模式和代理模式。
- JSON 正文 (仅限代理模式) – 在请求正文中将配置设置作为 JSON 对象传递,代理模式支持。
配置设置的优先级
当 Eyeofcloud Edge Agent 处理请求时,它会按以下优先级顺序读取配置设置:
- HTTP Headers (HTTP 标头) – 代理首先检查 HTTP 标头中的配置设置。如果它在标头中找到设置,则该设置优先于查询参数或 JSON 正文中定义的相同设置。
- Query Parameters (查询参数) – 如果在 HTTP 标头中找不到配置设置,代理将检查查询参数。如果它在查询参数中找到标头中未定义的设置,则使用该设置。
- JSON 正文 (仅限代理模式) – 如果在标头或查询参数中找不到配置设置,则代理会在请求的 JSON 正文中查找该设置。
通过遵循此顺序,Eyeofcloud Edge Agent 允许您对配置设置进行精细控制,以便您可以根据特定要求覆盖各个级别的设置。
requestConfig.js模块
requestConfig.js模块读取并设置 Eyeofcloud Edge Agent 用于操作的必要配置设置。它处理从请求的标头、查询参数和 JSON 正文(在代理模式下)提取和解析配置设置。
除了标准配置设置之外,您还可以添加要在特定实施中使用的任何自定义配置设置。在整个 Eyeofcloud Edge Agent 中的每个处理程序和模块中可访问的requestConfig对象会自动包含这些自定义设置。
这使您可以灵活且具有可扩展性,以便根据其特定要求定义和利用自己的配置设置。requestConfig对象充当所有配置设置的集中式存储库,便于在代码库的各个部分访问和使用它们。
要添加自定义配置设置,您可以按照与标准配置设置相同的格式将它们包含在请求的标头、查询参数或 JSON 正文(在代理模式下)中。requestConfig.js模块会自动提取并解析这些自定义设置,使它们在requestConfig对象中随时可用。
借助此功能,Eyeofcloud Edge Agent 允许您根据自定义和适应性的特定需求定制实施的行为和功能。
requestConfig.js模块执行以下任务:
- 根据 agent 模式下请求的标头、查询参数和 JSON 正文初始化
POST请求配置。 - 定义支持的配置查询参数集。
- 初始化元数据配置以进行日志记录和调试。
- 从 HTTP 标头初始化配置设置。
- 从 URL 查询参数初始化配置设置。
- 加载请求正文并从中初始化配置设置(如果请求方法为
POST且内容类型为 JSON(代理模式)。
通过将配置处理集中在requestConfig.js模块中,Eyeofcloud Edge Agent 可确保跨不同模式和请求方法进行一致且高效的设置管理。
配置设置
下表概述了 Eyeofcloud Edge Agent 的可用配置设置。
| 设置 | 描述 | 头 | 查询参数 | JSON 正文 |
|---|---|---|---|---|
sdkKey | Eyeofcloud 项目的数据文件 SDK 密钥。 | 是的 | 是的 | 是的 |
overrideCache | 指示是否覆盖缓存。 | 是的 | 是的 | 是的 |
overrideVisitorId | 指示是否覆盖访客 ID。每个请求都会生成一个新的访客 ID。用于开发和测试。 | 是的 | 是的 | 是的 |
attributes | 访客的自定义属性和受众条件。 | 是的 | 不 | 是的 |
eventTags | 用于跟踪和报告的事件标签。 | 是的 | 不 | 是的 |
datafileAccessToken | 用于检索数据文件的访问令牌。 | 是的 | 不 | 不 |
enableEyeofcloudHeader | 指示是否启用 Eyeofcloud Experimentation。 | 是的 | 不 | 不 |
decideOptions | decide 函数的选项。 | 是的 | 不 | 不 |
visitorId | 请求的访客 ID。 | 是的 | 是的 | 是的 |
trimmedDecisions | 指示是否修剪决策。 | 是的 | 是的 | 是的 |
enableFlagsFromKV | 指示是否从键值存储启用功能标志。 | 是的 | 不 | 是的 |
eventKey | 用于跟踪和报告的事件键。 | 是的 | 是的 | 是的 |
datafileFromKV | 指示是否从键值存储中检索数据文件。 | 是的 | 不 | 是的 |
enableRespMetadataHeader | 指示是否启用响应元数据。 | 是的 | 不 | 不 |
setResponseCookies | 指示是否使用分桶决策设置响应 Cookie。 | 是的 | 是的 | 是的 |
setResponseHeaders | 指示是否使用分桶决策设置响应标头。 | 是的 | 是的 | 是的 |
setRequestHeaders | 指示是否使用分桶决策设置请求标头。 | 是的 | 是的 | 是的 |
setRequestCookies | 指示是否使用分桶决策设置请求 Cookie。 | 是的 | 是的 | 是的 |
serverMode | 代理的服务器模式(Edge 或 Agent)。 | 不 | 是的 | 不 |
flagKeys | 要评估的特定标志键。 | 不 | 是(多值) | 是的 |
enableResponseMetadata | 指示是否启用响应元数据。 | 是的 | 是的 | 是的 |
decideAll | 指示是否评估所有标志键。 | 不 | 是的 | 是的 |
disableDecisionEvent | 指示是否禁用决策事件。 | 不 | 是的 | 是的 |
enabledFlagsOnly | 指示是否仅返回已启用的标志键。 | 不 | 是的 | 是的 |
includeReasons | 指示是否包括标志决策的原因。 | 不 | 是的 | 是的 |
ignoreUserProfileService | 指示是否忽略 User Profile Service。 | 不 | 是的 | 是的 |
excludeVariables | 指示是否从响应中排除变量。 | 是的 | 是的 | 是的 |
forcedDecisions | 特定标志键的强制决策。 | 不 | 不 | 是的 |