Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Python到Azure的REST API调用出现问题_Python_Json_Azure_Rest_Api - Fatal编程技术网

从Python到Azure的REST API调用出现问题

从Python到Azure的REST API调用出现问题,python,json,azure,rest,api,Python,Json,Azure,Rest,Api,我正在使用HTML表单接收用于Azure REST API调用的参数 我的代码 @app.route('/storageaccountcreate', methods = ['POST', 'PUT']) def storageaccountcreate(): name = request.form['storageaccountname'] resourcegroup = request.form['resourcegroup'] subscriptionId = re

我正在使用HTML表单接收用于Azure REST API调用的参数

我的代码

@app.route('/storageaccountcreate', methods = ['POST', 'PUT'])
def storageaccountcreate():
    name = request.form['storageaccountname']
    resourcegroup = request.form['resourcegroup']
    subscriptionId = request.form['subscriptionId']
    location = request.form['location']
    sku = request.form['sku']
    keys = [name, resourcegroup, subscriptionId, location, sku]
    api_json = {keys: request.form[key] for key in keys}
    url = 'https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}?api-version=2019-06-01'
    r = requests.put((url),data=(api_json))
    print(r.text)
    return r.text
尝试使用此代码时出现以下错误

Bad Request
The browser (or proxy) sent a request that this server could not understand.
VSC中的调试也显示了以下内容


如果你有任何信息,将有助于我将非常感谢

Python不会在常规字符串中插入值:

url='1〕https://management.azure.com/subscriptions/{subscriptionId}/..'
#                                                 ^^^^^^^^^^^^^^^^
假设您使用的是Python 3.6或更高版本,请使用来启用插值:

url=f'https://management.azure.com/subscriptions/{subscriptionId}/..'
#^这里

那个
url
应该是f字串吗?我不确定lol,这就是我问的原因。我不认为它应该是f字符串,因为我没有看到任何将它作为f字符串的示例,但我不确定。如果它是一个字符串,那么我会好奇它如何知道它将变量输入url的位置。那么您希望
{subscriptionId}
在该字符串中做什么?它在调试中显示的问题是这部分
api_json={keys:request.form[key]for key-in-key}
我认为该字符串中的subscriptionId将粘贴
subscriptionId
变量。或者键=值