Azure REST APIを使用して Azure Web App スロットを交換するローカル コンソール アプリケーションを作成しようとしています。次のコードを使用すると、401 (Unauthorized) 応答が返されます。
public async Task Swap(string subscription, string resourceGroup, string site, string slot)
{
var client = new HttpClient();
var url =
$"https://management.azure.com/subscriptions/{subscription}/resourceGroups/{resourceGroup}/providers/Microsoft.Web/sites/{site}/applySlotConfig?api-version=2016-08-01";
var data = new {preserveVnet = true, targetSlot = slot};
var message = new HttpRequestMessage
{
RequestUri = new Uri(url),
Method = HttpMethod.Post,
Content = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json")
};
var response = await client.SendAsync(message);
Console.WriteLine(response.StatusCode);
}
ある種の資格情報を入力する必要があることはわかっていますが、私が見つけたものは、認証に Azure AD を使用するアプリに適用されるようです。これは、匿名認証を使用してパブリックにアクセスできる Web アプリになります。