簡體   English   中英

Azure 自動化運行手冊 Python - webhook 數據

[英]Azure automation runbook Python - webhook data

我正在准備 Azure 自動化,我正在使用 Python SDK 自動化 runbook,runbook 將由 webhook 觸發。 我測試了 webhook,並且能夠使用 webhook 運行 Python runbook。 Automation Runbook Job 狀態為Completed ,我可以看到 output 條數據。

輸入數據

"WebhookName":"webhookname","RequestBody":"{\"name\": \"Mike\", \"Nazwisko\": \"Tyson\"}","RequestHeader":{"Connection":"keep-alive","Accept":"*/*","Accept-Encoding":"gzip","Host":"XXXzzzWWW.webhook.wus2.azure-automation.net","User-Agent":"python-requests/2.27.1","x-ms-request-id":"AAAbbbCCC"}}

output數據

['C:\\Temp\\ce51on0d.0c4\\XXvvBB', '{WebhookName:webhookname,RequestBody:{"name":', '"Mike",', '"Nazwisko":', '"Tyson"},RequestHeader:{Connection:keep-alive,Accept:*/*,Accept-Encoding:gzip,Host:AAAbbbCCC.webhook.wus2.azure-automation.net,User-Agent:python-requests/2.27.1,x-ms-request-id:AAbbCC}}']

Python 用於發送 webhook 的腳本

import requests
import json

url = 'webhookURL'
payload = {'name': 'Mike','Nazwisko': 'Tyson'}
requests.post(url, data=json.dumps(payload), headers={'Content-Type': 'application/json'})

我的問題是如何在我的 Automation Python 運行手冊中從 Webhook 數據中獲取特定值。 喜歡:

var1 = payload.name
var2 = payload.nazwisko

我正在嘗試使用sys模塊,但它沒有按預期工作。

import sys

test = str(sys.argv)
print(test)

最后,我准備了我的 Azure 自動化運行手冊,並按預期工作,下面是 Python 運行手冊代碼。

import sys
import json

jsonStr = str(sys.argv)
split_RequestHeader = jsonStr.split('RequestHeader')
split_RequestBody = split_RequestHeader[0].split('RequestBody')
final_format = split_RequestBody[1]
final_format_2 = final_format.lstrip("':").rstrip(",'")
final_format_3 = final_format_2.replace("'",'')
final_format_4 = final_format_3.replace(":,",':')
final_format_5 = final_format_4.replace(",,", ",")
data_dict = json.loads(final_format_5)
print(data_dict)
print(data_dict["var1"])
print(data_dict["var2"])
print(data_dict["var3"])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM