概要
REST API 経由でデータをやり取りするときに、リクエスト文等をdata部に渡したりしますが、この文をDict型で作成したのち、String型への変更が必要となります。この変更プログラムとなります(備忘録として)。
ちなみに、以下のPythonプログラムの確認対象リクエスト文は Azureの請求データを REST API で取得するためのクエリ・リクエスト文となります。
実行環境
macOS Monterey 12.3.1
python 3.8.12
実行プログラム
payload_json.py
import json
# 確認対象リクエスト文
payload = {
"type": "Usage",
"timeframe": "MonthToDate",
"dataset": {
"granularity": "Daily",
"aggregation": {
"totalCost": {"name": "PreTaxCost", "function": "Sum"}
},
"grouping": [
{"type": "Dimension", "name": "SubscriptionName"}
]
}
}
# データ型の確認
print(payload)
print(type(payload), "\n")
# dict型 から string型への変更
json_payload = json.dumps(payload)
# データ型の再確認
print(json_payload)
print(type(json_payload), "\n")
プログラムの実行
$ python payload_json.py
{'type': 'Usage', 'timeframe': 'MonthToDate', 'dataset': {'granularity': 'Daily', 'aggregation': {'totalCost': {'name': 'PreTaxCost', 'function': 'Sum'}}, 'grouping': [{'type': 'Dimension', 'name': 'SubscriptionName'}]}}
<class 'dict'>
{"type": "Usage", "timeframe": "MonthToDate", "dataset": {"granularity": "Daily", "aggregation": {"totalCost": {"name": "PreTaxCost", "function": "Sum"}}, "grouping": [{"type": "Dimension", "name": "SubscriptionName"}]}}
<class 'str'>
まとめ
これでAzureの請求データを取得するためのクエリ・リクエスト文の変換準備の完了です。