Ich schreibe Azure Queue Auslöser Funktion App, die Daten aus einer Nachrichtenwarteschlange und lädt sie auf einen Speicher, der REST-Service bietet, mit PUT-Anfrage. Zu Testzwecken stelle ich Testdaten im Feld "Anfragetext" auf der Azure-Benutzeroberfläche bereit, anstatt Daten aus der Warteschlange zu übernehmen. Ich verwende PutAsJsonAsync, um REST zu konsumieren. Das Problem ist, dass ich einen Bad Request error bekomme. Ich validierte JSON-Struktur mit Validierungs-Tool und es ist gültig. Und ich habe die gleichen Daten auch erfolgreich mit Postman hochgeladen. Ich vermute es ist vielleicht das Problem in meinem Code. Hier ist mein Code:bekomme 'Schlechte Anfrage' von PutAsJsonAsync
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
public static void Run(string myQueueItem, TraceWriter log)
{
string URL = "<url>";
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(URL);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("token","<token value>");
HttpResponseMessage response = client.PutAsJsonAsync("xxx/xx/xxx",myQueueItem).Result;
if (response.IsSuccessStatusCode)
{
string responseString = response.Content.ReadAsStringAsync().Result;
log.Info($"This is result: {responseString}");
}
else
{
log.Info($"Response Status Code: {response.Headers} | Reason : {response.ReasonPhrase}");
}
}
Wie sieht Ihr myQueueItem aussieht? – Forlani
Nur eine JSON-Struktur – user30646
Versuchen Sie Folgendes: client.PutAsJsonAsync ("xxx/xx/xxx", neuer StringContent (myQueueItem, UnicodeEncoding.UTF8, "application/json")). Ergebnis; – Forlani