Powershell-如何解析响应

时间:2019-07-02 04:59:10

标签: azure powershell api

所有,我是Powershell的新手,尝试使用一个简单的Powershell脚本来调用REST API并获取值。

情况是,使用powershell将触发POST请求并获取响应值,并将该值用作另一个GET API请求中的参数。

POST:

$Params = @{"id"=38}
$headers = @{
Authorization="Bearer XXXXXX"



$getrunid=Invoke-RestMethod -Method Post -Uri https://abctech.com/api/2.0/run 
-Body ($Params|ConvertTo-Json) -ContentType application/json -Headers 
$headers

响应将为2值。例如,id = 10,queue = 15

我现在只接受id响应。

获取:

$getrunidvalue=$getrunid.id

$getcheck=Invoke-RestMethod -Method Get -Uri 
https://abctect.com/api/2.0/jobs/runs/get?id=$getrunidvalue -ContentType 
application/json -Headers $headers

echo $getcheck

结果如下。

id1                  : 38
run_id                  : 1
number_in_job           : 6
original_attempt_run_id : 217
state                   : @{life_cycle_state=TERMINATED; 
result_state=SUCCESS; state_message=}
task                    : @{notebook_task=}

从此结果中,我需要获取result_state的值。

我没有找到有关此操作的想法,有人可以帮忙吗。

谢谢

预期结果将为result_state成功或失败。

1 个答案:

答案 0 :(得分:1)

看起来R.java是一个哈希表,其中包含要检索的条目state。您可以使用:

result_state