C# Azure REST API-通过编程在elasticPoll中创建数据库

C# Azure REST API-通过编程在elasticPoll中创建数据库,c#,json,azure,C#,Json,Azure,我需要通过编程在elasticPoll中创建一个数据库 为此,我正在使用API版本2014-04-01,如“Azure REST API>SQL数据库>数据库>”所示 我创建一个新的HttpWebRequest对象并启动.create()方法 并编译属性: request.Headers["Authorization"] = "Bearer" + token; request.ContentType = "application/json; charset = utf-8"; request.M

我需要通过编程在elasticPoll中创建一个数据库

为此,我正在使用API版本2014-04-01,如“Azure REST API>SQL数据库>数据库>”所示

我创建一个新的HttpWebRequest对象并启动.create()方法

并编译属性:

request.Headers["Authorization"] = "Bearer" + token;
request.ContentType = "application/json; charset = utf-8";
request.Method = "PUT"
我创建了一个新的StreamWriter对象

using (var streamWriter = new StreamWriter(request.GetRequestStream()))
        {
            streamWriter.Write(json);
            streamWriter.Flush();
            //streamWriter.Close();
        }
以及.Write()mothod参数,指定“Databases-Create或Update”示例中所示模型的完整Json代码,如下所示

            string json =
            "{" +
   "\"parameters\": {" +
        "\"subscriptionId\": \"" + VariabiliGlobali.SubscriptionID + "\"," +
        "\"resourceGroupName\": \"" + VariabiliGlobali.ResourceGroup + "\"," +
        "\"serverName\": \"" + VariabiliGlobali.SqlServerName + "\"," +
        "\"databaseName\": \"" + databaseName + "\"," +
        "\"api-version\": \"" + VariabiliGlobali.APIVersion + "\"," +
        "\"parameters\": {" +
                    "\"properties\": {" +
                "\"elasticPoolName\": \"" + elasticPoolName + "\"" +

            "}," +
                    "\"location\": \"West Europe\"" +

        "}" +
        "}," +
"\"responses\": {" +
            "\"200\": {" +
                "\"body\": {" +
                    "\"id\": \"/subscriptions/" + VariabiliGlobali.SubscriptionID + "/resourceGroups/" + VariabiliGlobali.ResourceGroup + "/providers/Microsoft.Sql/servers/" + VariabiliGlobali.SqlServerName + "/databases/" + databaseName + "\"," +
            "\"name\": \"" + databaseName + "\"," +
            "\"type\": \"Microsoft.Sql/servers/databases\"," +
            "\"location\": \"West Europe\"," +
            "\"kind\": \"v12.0,user\"," +
            "\"properties\": {" +
                        "\"edition\": \"Standard\"," +
                "\"status\": \"Online\"," +
            "\"serviceLevelObjective\": \"S0\"," +
            "\"collation\": \"SQL_Latin1_General_CP1_CI_AS\"," +
            "\"creationDate\": \"2017-02-24T22:39:46.547Z\"," +
            "\"maxSizeBytes\": \"268435456000\"," +
            "\"currentServiceObjectiveId\": \"f1173c43-91bd-4aaa-973c-54e79e15235b\"," +
            "\"requestedServiceObjectiveId\": \"f1173c43-91bd-4aaa-973c-54e79e15235b\"," +
            "\"requestedServiceObjectiveName\": \"S0\"," +
            "\"sampleName\": null," +
            "\"defaultSecondaryLocation\": \"Japan West\"," +
            "\"earliestRestoreDate\": \"2017-02-10T01:52:52.923Z\"," +
            "\"elasticPoolName\": null," +
            "\"containmentState\": 2," +
            "\"readScale\": \"Disabled\"," +
            "\"failoverGroupId\": null" +

            "}" +
                "}" +
            "}," +
    "\"201\": {" +
                "\"body\": {" +
                    "\"id\": \"/subscriptions/" + VariabiliGlobali.SubscriptionID + "/resourceGroups/" + VariabiliGlobali.ResourceGroup + "/providers/Microsoft.Sql/servers/" + VariabiliGlobali.SqlServerName + "/databases/" + databaseName + "\"," +
            "\"name\": \"" + databaseName + "\"," +
            "\"type\": \"Microsoft.Sql/servers/databases\"," +
            "\"location\": \"West Europe\"," +
            "\"kind\": \"v12.0,user\"," +
            "\"properties\": {" +
                                "\"edition\": \"Standard\"," +
                    "\"status\": \"Online\"," +
                    "\"serviceLevelObjective\": \"S0\"," +
                    "\"collation\": \"SQL_Latin1_General_CP1_CI_AS\"," +
                    "\"creationDate\": \"2017-02-24T22:39:46.547Z\"," +
                    "\"maxSizeBytes\": \"268435456000\"," +
                    "\"currentServiceObjectiveId\": \"f1173c43-91bd-4aaa-973c-54e79e15235b\"," +
                    "\"requestedServiceObjectiveId\": \"f1173c43-91bd-4aaa-973c-54e79e15235b\"," +
                    "\"requestedServiceObjectiveName\": \"S0\"," +
                    "\"sampleName\": null," +
                    "\"defaultSecondaryLocation\": \"Japan West\"," +
                    "\"earliestRestoreDate\": \"2017-02-10T01:52:52.923Z\"," +
                    "\"elasticPoolName\": null," +
                    "\"containmentState\": 2," +
                    "\"readScale\": \"Disabled\"," +
                    "\"failoverGroupId\": null" +

                "}" +
                "}" +
            "}," +
    "\"202\": { }" +
        "}" +
    "}";
启动HttpWebRequest对象的.GetResponse()方法

var httpResponse = (HttpWebResponse)request.GetResponse();
作为响应,我得到以下错误:

{'Error': {"code": "InvalidRequestContent", "message": "The request content was invalid and could not be deserialized: 'Could not find member' parameters on object of type 'ResourceDefinition' , Line 1, position 14. '. "}}
我错在哪里


提前谢谢。

我认为文档不正确。正确的请求有效负载应为:

{"properties": {"elasticPoolName": "XXXXX"},"location": "West Europe"}

您的JSON应该只有
参数
,而不是
响应
。请尝试删除请求JSON中除参数以外的所有内容好吗?@GauravMantri谢谢。我尝试使用这个JSON
{“parameters”:{“subscriptionId”:“XXXXXXXX-XXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX”,“resourceGroupName”:“XXXXXXX”,“serverName”:“XXXXXXX”,“databaseName”:“XXXXXXX”,“api版本”:“2014-04-01”,“parameters”:{“properties”:{“elasticPoolName”:“xxxxxx”},“location”:“West Europe”},}
但我回答了以下错误:
{“error”:{“code”:“InvalidRequestContent”,“message”:“请求内容无效,无法反序列化:'在'ResourceDefinition'类型的对象上找不到成员'parameters'。路径'parameters',第1行,位置14'。}
我认为文档不正确。请尝试使用以下JSON:
{“属性”:{“elasticPoolName”:“XXXXX”},“位置”:“西欧”}
?它可以工作!非常感谢。
{"properties": {"elasticPoolName": "XXXXX"},"location": "West Europe"}