Journey Orchestration的API支持5000事件/秒,但某些外部系统或API的吞吐量无法相等。 这就是为什么 Journey Orchestration 附带一个名为上限API的专用功能,用于监控和限制我们对外部系统施加的速率。
在数据源配置期间,您将定义与系统的连接,以检索将在您的历程中使用的其他信息,或者对于操作定义,您将配置第三方系统的连接以发送消息或API调用。 每次由历程执行API调用时,即会查询上限API,调用都会通过API引擎。 如果定义了限制,则调用将被拒绝,外部系统将不会过载。
对于外部数据源,每秒的最大调用数设置为15。 如果呼叫数超过每秒15次,则会丢弃剩余的呼叫。 您可以提高专用外部数据源的此限制。 联系Adobe以在中包含端允许列表点。 对于公共外部数据源,这是不可能的。 要详细了解集成外部系统时的最佳实践和防护,请参阅 页面.
要了解有关操作或数据源配置的更多信息,请参阅 关于操作 或 关于数据源
的 Journey Orchestration Swagger可用文件中描述了上限API 此处.
要将此API与 Journey Orchestration 实例中,您需要使用AdobeI/O控制台。 您可以首先遵循以下内容 Adobe开发人员控制台快速入门 然后使用本页中的部分。
要测试和准备集成,可使用Postman集合 此处.
Journey Orchestration 通过以下步骤设置API访问。 有关每个步骤的详细信息,请参见 Adobe I/O文档.
要在Adobe I/O中管理证书,请确保 系统管理员 组织或 开发人员帐户 中。
要建立安全的服务到服务Adobe I/OAPI会话,对Adobe服务的每个请求都必须在授权标头中包含以下信息。
curl -X GET https://journey.adobe.io/authoring/XXX \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'x-api-key: <API_KEY>' \
-H 'x-gw-ims-org-id: <ORGANIZATION>'
<organization>:这是您的个人组织ID,Adobe会为您的每个实例提供一个组织ID:
要获取您的组织ID值,请咨询您的管理员或Adobe技术联系人。 您还可以在创建新集成时,在许可证列表中将其检索到Adobe I/O中(请参阅 Adobe I/O文档)。
<access_token>:您的个人访问令牌,在通过POST请求交换JWT时检索。
<api_key>:您的个人API密钥。 它在创建与的新集成后在Adobe I/O中提供 Journey Orchestration 服务。
上限API可帮助您创建、配置和监控上限配置。
方法 | 路径 | 描述 |
---|---|---|
POST | list/endpointConfigs | 获取端点上限配置的列表 |
POST | /endpointConfigs | 创建端点上限配置 |
POST | /endpointConfigs/{uid} /deploy |
部署端点上限配置 |
POST | /endpointConfigs/{uid} /undeploy |
取消部署端点上限配置 |
POST | /endpointConfigs/{uid} /canDeploy |
检查是否可以部署端点上限配置 |
PUT | /endpointConfigs/{uid} |
更新端点上限配置 |
GET | /endpointConfigs/{uid} |
检索端点上限配置 |
DELETE | /endpointConfigs/{uid} |
删除入点上限配置 |
创建或更新配置后,将自动执行检查以保证有效负载的语法和完整性。
如果出现某些问题,操作会返回警告或错误,以帮助您更正配置。
以下是端点配置的基本结构:
{
"url": "<endpoint URL>", //wildcards are allowed in the endpoint URL
"methods": [ "<HTTP method such as GET, POST, >, ...],
"services": {
"<service name>": { . //must be "action" or "dataSource"
"maxHttpConnections": <max connections count to the endpoint>
"rating": {
"maxCallsCount": <max calls to be performed in the period defined by period/timeUnit>,
"periodInMs": <integer value greater than 0>
}
},
...
}
}
`{
"url": "https://api.example.org/data/2.5/*",
"methods": [
"GET"
],
"services": {
"dataSource": {
"maxHttpConnections": 30000,
"rating": {
"maxCallsCount": 5000,
"periodInMs": 1000
}
}
},
"orgId": "<IMS Org Id>"
}
当 canDeploy 方法调用时,该过程将验证配置并返回由其唯一ID标识的验证状态,其中任一ID:
"ok" or "error"
潜在错误包括:
<!--<given value>-->
:必须是“dataSource”或“action”潜在的警告是:
ERR_ENDPOINTCONFIG_106:上限配置:未定义的最大HTTP连接数:默认情况下不限制
在此部分中,您将找到在中管理上限配置可执行的五个主要用例 Journey Orchestration.
为帮助您进行测试和配置,提供了Postman集合 此处.
此Postman集合已设置为共享通过 Adobe I/O控制台的集成 >试用>下载到Postman,它会使用选定的集成值生成Postman环境文件。
下载并上传到Postman后,您需要添加三个变量: {JO_HOST}
,{Base_Path}
和 {SANDBOX_NAME}
.
{JO_HOST}
: Journey Orchestration 网关URL{BASE_PATH}
:API的入口点。 值为“/authoring”{SANDBOX_NAME}
:标题 x-sandbox-name (例如,“prod”),对应于将执行API操作的沙盒名称。 请参阅 沙箱概述 以了解更多信息。在以下部分中,您将找到用于执行用例的Rest API调用排序列表。
用例n°1: 创建和部署新的上限配置
用例n°2: 更新和部署尚未部署的上限配置
用例n°3: 取消部署和删除已部署的上限配置
用例n°4: 删除已部署的上限配置。
在仅一个API调用中,您可以使用forceDelete参数取消部署和删除配置。
用例n°5: 更新已部署的上限配置