Azure は初めてで、内部アドレスhttp://internal-server:182/api/policiesに内部 Web API があります。ハイブリッド接続 internal-service.servicebus.windows.net をセットアップしました。これは接続され、機能しています。
私の苦労は、データを接続して取得するために C# コードを動作させることです。数日後、さまざまな記事やビデオなどを確認しましたが、Web API を呼び出して JSON を読み取るだけで、私がやろうとしていることよりもすべてが高度に見えます。コードを単純化しようとしましたが、次のエラーが表示されます。
401 MalformedToken: Invalid authorization header: The request is missing WRAP authorization credentials.
現在、次のコードがあります。
using (var client = new HttpClient())
{
var url = "http://internal-service.servicebus.windows.net";
var tp = TokenProvider.CreateSharedAccessSignatureTokenProvider("RootManageSharedAccessKey", "<key goes here>");
var token = tp.GetWebTokenAsync(url, string.Empty, true, TimeSpan.FromHours(1))
.GetAwaiter()
.GetResult();
client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("ServiceBusAuthorization", token);
var response = client.GetAsync("/api/policies").Result;
string res = "";
using (HttpContent content = response.Content)
{
// ... Read the string.
Task<string> result = content.ReadAsStringAsync();
res = result.Result;
Label1.Text = res;
}
}
どんな助けや指示も大歓迎ですか?このコードが機能すると、Web アプリは Azure Web アプリとして発行されます。