配置设置
配置设置
如何配置和自定义 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 | 特定标志键的强制决策。 | 不 | 不 | 是的 |