前提
Lamda(python)でvManageへquery形式のデータをPOSTし結果を受け取りたい
SD-WAN vManage v20.10 - SD-WAN API Docs - Document - Cisco Developer
https://developer.cisco.com/docs/sdwan/#!sd-wan-vmanage-v20-10
Monitoring - BFD
POST
/statistics/bfd
<Stats query string>
{ "query": { "condition": "AND", "rules": [ { "value": [ "2020-05-10T01:00:00 UTC", "2020-05-10T01:30:00 UTC" ], "field": "entry_time", "type": "date", "operator": "between" }, { "value": [ "172.16.255.15" ], "field": "local_system_ip", "type": "string", "operator": "in" }, { "value": [ "172.16.255.16" ], "field": "remote_system_ip", "type": "string", "operator": "in" } ] }, "aggregation": { "field": [ { "property": "name", "sequence": 1 }, { "property": "proto", "sequence": 2 } ], "histogram": { "property": "entry_time", "type": "minute", "interval": 30, "order": "asc" }, "metrics": [ { "property": "latency", "type": "avg" }, { "property": "loss", "type": "avg" }, { "property": "loss_percentage", "type": "avg" }, { "property": "vqoe_score", "type": "avg" } ] } }
上記のようなQuery Stringが膨大なDataをPostする際
どのようなアプローチ方法があるのか相談と助言をいただきたく。
過去には以下のようなアプローチ方法を取っていました。
login_data = {`j_username` : vmanage_username, `j_password` : vmanage_password} login_url = base_url + login_action session = requests.session() login_response = session.post(url=login_url, data=login_data, verify=False) if login_token.status_code = 200: if b`<html>` in login_token.content: print("Login token Failed") exit(1)
Lamda(python)上で、RestAPIの実行結果を取得するプログラムを作成しています。
いくつかのAPIを実行し情報を取得する方法をとってきたが、
Query Stringが膨大なDataをPostする際のアプローチ方法について
知見がないため助言を頂きたい。
実現したいこと
- POST /statistics/bfdで、膨大なData<Stats query string>を実行したい
発生している問題・エラーメッセージ
POST /statistics/bfdを実行する際
以下のようなQuery Stringをどのように読み込ませればよいのか検討がつかない状況
{ "query": { "condition": "AND", "rules": [ { "value": [ "2020-05-10T01:00:00 UTC", "2020-05-10T01:30:00 UTC" ], "field": "entry_time", "type": "date", "operator": "between" }, { "value": [ "172.16.255.15" ], "field": "local_system_ip", "type": "string", "operator": "in" }, { "value": [ "172.16.255.16" ], "field": "remote_system_ip", "type": "string", "operator": "in" } ] }, "aggregation": { "field": [ { "property": "name", "sequence": 1 }, { "property": "proto", "sequence": 2 } ], "histogram": { "property": "entry_time", "type": "minute", "interval": 30, "order": "asc" }, "metrics": [ { "property": "latency", "type": "avg" }, { "property": "loss", "type": "avg" }, { "property": "loss_percentage", "type": "avg" }, { "property": "vqoe_score", "type": "avg" } ] } }
該当のソースコード
過去に利用したPost方法
Lamda(python)
1 login_data = {`j_username` : vmanage_username, `j_password` : vmanage_password} 2 3 login_url = base_url + login_action 4 5 session = requests.session() 6 7 login_response = session.post(url=login_url, data=login_data, verify=False) 8 if login_token.status_code = 200: 9 if b`<html>` in login_token.content: 10 print("Login token Failed") 11 exit(1)
試したこと
POST /statistics/bfdを実行する際
以下のようなQuery Stringをどのように読み込ませればよいのか検討がつかない状況
補足情報(FW/ツールのバージョンなど)
Python3.9
回答1件
あなたの回答
tips
プレビュー