我將資料庫中的作業配置作為字串傳遞并在.Net Web API中作為字串存盤為
var result = _context.Output.FromSqlRaw(StoredJson).ToList().FirstOrDefault().Details;
現在我使用 RestSharp 庫在 .Net 中創建請求
var client = new RestClient(".....");
var request = new RestRequest("/api/2.0/jobs/create", Method.Post);
string Auth = "......";
request.AddParameter("application/json", result, ParameterType.RequestBody);
request.AddParameter("Authorization", "Bearer " Auth, ParameterType.HttpHeader);
var response = await client.ExecuteAsync(request);
return(response.content)
我的 Json 看起來像這樣
{
"name": "LoadData_test",
"new_cluster": {
"spark_version": "7.6.x-scala2.12",
"init_scripts": [
{
"dbfs": {
"destination": "....."
}
}
],
"instance_pool_id": ".......",
"azure_attributes": {
"spot_bid_max_price": -1
},
"autoscale": {
"min_workers": 2,
"max_workers": 5
}
},
"libraries": [
{
"maven": {
"coordinates": "......"
}
}
],
"timeout_seconds": 0,
"notebook_task": {
"notebook_path": "......",
"revision_timestamp": 0
},
"max_concurrent_runs": 1
}
而且我認為當我將這個 JSON 傳遞給 request.AddParameters 時,它被當作文本/純文本。但我希望它是 JSON。
我想,我做的一切都是正確的,但是在發送請求時仍然出錯
{"error_code":"INVALID_PARAMETER_VALUE","message":"Job settings must be specified."}
有人可以幫我嗎?
而且我使用了“...”,因為有有效的內容。
uj5u.com熱心網友回復:
我猜你得到了一些 codeegen 生成的代碼,比如 Postman。它不適用于最新的 RestSharp,因為構建請求的方式被破壞了。
該檔案對用于構建正確請求的 RestSharp API 進行了完整概述,我強烈建議您查看它。
具體來說,您需要替換此行:
request.AddParameter("application/json", result, ParameterType.RequestBody);
和
request.AddStringBody(result, DataFormat.Json);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/448256.html
標籤:api asp.net-web-api 数据块 工作
