我正在尝试使用Azure ARM REST API。考虑创建资源组的示例,这是azure文档中提到的API
https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{resource-group-name}?api-version={api-version}
我的代码:
import httplib, urllib, base64
headers = {
# Request headers
'Content-Type': 'application/json',
'Ocp-Apim-Subscription-Key': 'xxxxxx',
'Authorization': 'xxxxx',
'Identifier' : 'xxxxx'
}
params = urllib.urlencode({
"location":"Central US"
})
try:
conn = httplib.HTTPSConnection('xxxx.azure-api.net')
conn.request("PUT", "/resourcegroups/resourcename?api-version=2015-01-01%s" % params, "{body}", headers)
response = conn.getresponse()
data = response.read()
print(response.status)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
我收到404错误。能帮我找出错误的地方吗?谢谢。
答案 0 :(得分:0)
根据我的理解,我认为您的代码中存在一些错误,如下所示。
httplib
API reference,REST API网址应分为host
,path
& query string
(或params
)作为函数httplib.HTTPSConnection
&的参数conn.request
,正如@miracledev的评论所说。因此,未找到404响应状态。conn.request
功能headers
的HTTP请求也缺失了。将Authorization
作为map.fitBounds
的{{1}}标题内容来自Common parameters and headers。{/ li>
醇>
希望它有所帮助。最诚挚的问候。
答案 1 :(得分:0)
我认为最好使用msrest库而不是普通的http,因为它将为您完成大部分工作。例如,它将获取适当的访问令牌。 它还可以正确处理轮询。
我在这里有一些自动生成的Python REST示例: