This is because when you pass the json from postman to runbook, the runbook will take the whole json string as one parameter, you can use print(sys.argv[1])
to check this behavior. The output like below:

In your case, there is a workaround. When you get the input parameter, get this section after RequestBody:
, this one: {"resource_group_name":"vv1","vm_name":"vv2"},which is a json string Then you can parse the json string, get the value you want.
Sample code as below:
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"])
Test result as below:
