REST API响应头中值的Ansible分析
我一定错过了什么明显的东西。我需要从GETAPI调用的响应头中的一个键中提取值 我正在尝试获取客户端版本的值,但似乎无法提取该数据 八角版本:2.4.2.0 剧本:REST API响应头中值的Ansible分析,ansible,http-headers,Ansible,Http Headers,我一定错过了什么明显的东西。我需要从GETAPI调用的响应头中的一个键中提取值 我正在尝试获取客户端版本的值,但似乎无法提取该数据 八角版本:2.4.2.0 剧本: - name: Get test client version uri: url: "{{ current_client_version_url }}" method: GET header: Content-Type: "application/json&quo
- name: Get test client version
uri:
url: "{{ current_client_version_url }}"
method: GET
header:
Content-Type: "application/json"
register: resp
- debug: msg={{ resp }}
{
"msg": {
"content_length": "180",
"status": 200,
"cookies": {},
"x_ratelimit_reset": "1",
"json": {
"defaultContainerAlias": "_default",
"exchangeContainerAlias": null,
"hasContainersEnabled": true,
"hasExchangeEnabled": false,
"hasTargetedOffers": false,
"autoDeleteItemReferences": false
},
"url": "https://some.url.goes.here.com/v1/subdir/metadata",
"changed": false,
"vary": "Accept-Encoding, User-Agent",
"x_envoy_upstream_service_time": "3",
"failed": false,
"connection": "close",
"content_type": "application/json;charset=utf-8",
"client_version": "1a2b3c4d5f",
"date": "Tue, 04 Aug 2020 22:34:34 GMT",
"redirected": false,
"x_ratelimit_remaining": "197",
"msg": "OK (180 bytes)"
},
"changed": false,
"_ansible_verbose_always": true,
"_ansible_no_log": false
}
输出:
- name: Get test client version
uri:
url: "{{ current_client_version_url }}"
method: GET
header:
Content-Type: "application/json"
register: resp
- debug: msg={{ resp }}
{
"msg": {
"content_length": "180",
"status": 200,
"cookies": {},
"x_ratelimit_reset": "1",
"json": {
"defaultContainerAlias": "_default",
"exchangeContainerAlias": null,
"hasContainersEnabled": true,
"hasExchangeEnabled": false,
"hasTargetedOffers": false,
"autoDeleteItemReferences": false
},
"url": "https://some.url.goes.here.com/v1/subdir/metadata",
"changed": false,
"vary": "Accept-Encoding, User-Agent",
"x_envoy_upstream_service_time": "3",
"failed": false,
"connection": "close",
"content_type": "application/json;charset=utf-8",
"client_version": "1a2b3c4d5f",
"date": "Tue, 04 Aug 2020 22:34:34 GMT",
"redirected": false,
"x_ratelimit_remaining": "197",
"msg": "OK (180 bytes)"
},
"changed": false,
"_ansible_verbose_always": true,
"_ansible_no_log": false
}
我认为这将是一个常规的Ansible输出,并尝试:
resp.msg.client_版本
响应消息['client_version']
响应消息[客户端版本]
当我在debug语句中引用resp.msg时,我只得到:
"msg": "OK (180 bytes)"
这对我来说毫无意义
非常感谢您的帮助。解决方案是相应的客户端版本。我一贴在这里就觉得很有趣了。还有另一个键msg