我正在嘗試Azure功能應用程序。如何解決片狀Azure功能應用程序行爲?
以下與打開天氣地圖教程的例子中的第一個,停止我用log.WriteLine()
,其正確地扔一個編譯錯誤後工作。我改爲log.Info()
,並一直抱怨TraceWriter
不包含WriteLine
的定義。
一個冗長的排查會議結束後,我創建了一個新的功能,在複製一個破碎的所有內容,並立即工作。
創建一個新的功能,像以前一樣,並開始在更改Run()
方法,並運行此功能可得:
「您正在尋找已被刪除的資源,有其名稱 改變,或者暫時不可用。「
銘記,功能網址是基於默認密鑰創建功能時Azure的生成:創建//.azurewebsites.net/api/WeatherWhereYouAre碼= my1really2RAndom3defauLT4Key5from6Azure ==
:HTTPS?另一個功能,從默認的「Hello天青」的樣品,沒有變化和它產生一個500錯誤有:
「異常而執行功能:Functions.HttpTriggerCSharp2 - >發生 一個或多個錯誤 - >異常綁定參數'req' - > 輸入字符串的格式不正確。「
這是project.json文件的內容:
{
"frameworks": {
"net46": {
"dependencies": {
"Microsoft.IdentityModel.Clients.ActiveDirectory": "3.16.0",
"Microsoft.Azure.KeyVault": "2.3.2",
"Microsoft.AspNet.WebApi.Client": "5.2.3"
}
}
}
}
而run.csx:
using System.Net;
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");
// parse query parameter
string name = req.GetQueryNameValuePairs()
.FirstOrDefault(q => string.Compare(q.Key, "name", true) == 0)
.Value;
// Get request body
dynamic data = await req.Content.ReadAsAsync<object>();
// Set name to query string or body data
name = name ?? data?.name;
return name == null
? req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a name on the query string or in the request body")
: req.CreateResponse(HttpStatusCode.OK, "Hello " + name);
}
EDIT
在上述圖像請注意,這是httpTriggerFSharp1,但例外是Ht tpTriggerCSharp2(這是唯一可行的!)
有沒有一種方法,我可以適當地解決這些?
有時,您必須在部署後手動重新啓動功能應用程序,才能正確地重新加載新的二進制文件。這真的很煩人,看起來你可能正在經歷同樣的事情。 –