要从Ansible Tower的API中访问作业的有效载荷,可以使用以下代码示例:
import requests
import json
# 定义Ansible Tower的API URL
url = 'https://your-ansible-tower/api/v2/job_templates/{job_template_id}/launch/'
# 定义有效载荷数据
payload = {
"extra_vars": {
"key1": "value1",
"key2": "value2"
}
}
# 定义身份验证令牌
headers = {
'Authorization': 'Bearer your_token',
'Content-Type': 'application/json'
}
# 发送POST请求
response = requests.post(url, headers=headers, data=json.dumps(payload))
# 检查响应状态码
if response.status_code == 201:
# 获取响应中的有效载荷数据
payload_response = response.json()
# 提取有效载荷数据中的任务ID
task_id = payload_response['id']
# 打印任务ID
print("任务ID:", task_id)
else:
print("请求失败。状态码:", response.status_code)
上述代码示例中,我们首先定义了Ansible Tower的API URL,其中{job_template_id}
是作业模板的ID。然后,我们定义了有效载荷数据,可以根据具体需求自定义。接下来,我们定义了身份验证令牌和请求头。然后,我们使用requests.post()
方法发送POST请求,并将响应存储在response
变量中。如果响应状态码为201,则表示请求成功,并从响应中提取有效载荷数据,其中包括任务ID。最后,我们打印任务ID。
请注意,您需要将代码示例中的URL、身份验证令牌和有效载荷数据替换为您自己的值。此外,还需要安装requests
库,您可以使用pip install requests
命令进行安装。