Это потому, что когда вы передаете json от почтальона в runbook, runbook примет всю строку json в качестве одного параметра, вы можете использовать print(sys.argv[1])
для проверки этого поведения.Вывод как показано ниже:
В вашем случае есть обходной путь.Когда вы получите входной параметр, получите этот раздел после RequestBody:
, этот: {"resource_group_name": "vv1", "vm_name": "vv2"}, который является строкой json Затем вы можете проанализировать строку json, получитьтребуемое значение.
Пример кода, как показано ниже:
import sys
import json
#view the input parameter
print(sys.argv[1])
input_str = sys.argv[1]
# use "1" in index() method, to ignore the first { symbol in the input parameter
start_str = input_str.index("{",1)
end_str = input_str.index("}",1)
str = input_str[start_str:end_str+1]
text = json.loads(str)#parse the json string
#check the value
print("resource_group_name: "+text["resource_group_name"])
print("vm_name: "+text["vm_name"])
Результат теста, как показано ниже: