Ansible - Json_Path 似乎不起作用
Ansible - Json_Path does not seem to work
我有以下 set_fact 任务:
- set_fact:
task_uuid: "{{ task_status.json |lower |to_json | from_json |json_query('taskuuid') }}"
这是我对 task_status.json:
debug:
var: task_status.json
{
"task_status.json": {
"taskUuid": "e66cea71-ef33-4610-9194-0403e4bb2153"
}
}
输出:
task_uuid var is empty.
我尝试了所有组合(删除了 to_json、from_json 等)。
请指教。我基本上是想提取 taskUUID 的值。
我正在为几个 api 端点重新使用 set_fact 任务 - 其中一些给出 'taskUuid',一些给出 'taskuuid',有些甚至 [=30] =] - 我正在寻找一种使用通用过滤器从这些端点获取 UUID 的方法
无论标识符是否为驼峰式大小写,我都会这样做以确保捕捉到任何一种情况:
- set_fact:
task_uuid : "{{ task_status.json.taskUuid | default(task_status.json.taskuuid | default('')) }}"
嵌套的 default
只是为了确保在两个标识符都不存在的情况下任务不会失败。适应你自己的需要。
我有以下 set_fact 任务:
- set_fact:
task_uuid: "{{ task_status.json |lower |to_json | from_json |json_query('taskuuid') }}"
这是我对 task_status.json:
debug:
var: task_status.json
{
"task_status.json": {
"taskUuid": "e66cea71-ef33-4610-9194-0403e4bb2153"
}
}
输出:
task_uuid var is empty.
我尝试了所有组合(删除了 to_json、from_json 等)。
请指教。我基本上是想提取 taskUUID 的值。
我正在为几个 api 端点重新使用 set_fact 任务 - 其中一些给出 'taskUuid',一些给出 'taskuuid',有些甚至 [=30] =] - 我正在寻找一种使用通用过滤器从这些端点获取 UUID 的方法
无论标识符是否为驼峰式大小写,我都会这样做以确保捕捉到任何一种情况:
- set_fact:
task_uuid : "{{ task_status.json.taskUuid | default(task_status.json.taskuuid | default('')) }}"
嵌套的 default
只是为了确保在两个标识符都不存在的情况下任务不会失败。适应你自己的需要。