c# - 即使在 C# 中使用 REST API 获取成功状态代码后,图像也不会在 Azure 中删除

标签 c# azure rest

我正在使用 API:https://management.azure.com/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/images/{imageName}?api-version= 2019-03-01 删除图像。这是代码(该代码在图像列表的循环中执行):

using (var client = new HttpClient())
{
    client.DefaultRequestHeaders.Add("Authorization", "Bearer " + accessToken); //obtained from https://management.azure.com/
    client.BaseAddress = new Uri(BaseManagementUri); //https://management.azure.com/
    using (var responseGet = client.DeleteAsync(api).Result)
    {
        if (responseGet.IsSuccessStatusCode) //returns true and status code is 202
        {
            log.LogInformation($"Deleted {resourceUri}");
        }
        else
        {
            log.LogWarning($"Failed to deleted {resourceUri}\n{responseGet.Content.ReadAsByteArrayAsync().Result}");
        }
    }
}

responseGet 包含:StatusCode:202、ReasonPhrase:“已接受”、版本:1.1、内容:System.Net.Http.HttpConnection+HttpConnectionResponseContentStatusCode:已接受 .

当我检查 Azure 门户或 GET list of images using REST API 时,我可以看到图像仍然存在。 但是,当我运行相同的代码来删除快照时,它会成功删除。我对快照使用相同的 API,如下所示:https://management.azure.com/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/snapshots/{snapshotName}?api -version=2019-03-01.
删除图片该怎么办?

最佳答案

不同的REST API会返回不同的结果,当您收到202(已接受)时,操作不会立即完成,您需要调用另一个API(如下所示)来检查进度。

GET https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.Compute/locations/{region}/operations/{operation-id}?api-version=2016-03-30

请检查此文档 - Track asynchronous Azure operations还有这个sample ,也是 similar issue here .

关于c# - 即使在 C# 中使用 REST API 获取成功状态代码后,图像也不会在 Azure 中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59243084/

相关文章:

c# - 对于 ModelState 无效的项目,不会显示验证消息

c# - 如何使用内置的 .NET 功能检测输入的字符串字符语言?

c# - 忽略复杂类型的一个属性

c# - 使用 ProcessStartInfo 为 UAC 重定向标准输出和提示

azure - 如何自动更改工作项状态

c# - 如何删除所有表并重置 Azure SQL 数据库

jquery - 将 JSON 数据发布到 .asmx Web 服务

azure - 如何使用 ADF 删除 Azure Gen 2 数据湖中的文件夹

node.js - 当在nodejs中运行http请求来测试我的rest api时,它停止了,为什么?

angularjs - WP REST API v2 和 Angular $http POST 请求