简体   繁体   English

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

[英]Images not getting deleted in Azure even after getting success status code using REST API in C#

I am using the API: https://management.azure.com/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/images/{imageName}?api-version=2019-03-01 to delete the Images.我正在使用 API: https://management.azure.com/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/images/{imageName}?api-version=2019-03-01 : https://management.azure.com/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/images/{imageName}?api-version=2019-03-01 resourceGroups/ https://management.azure.com/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/images/{imageName}?api-version=2019-03-01 api- https://management.azure.com/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/images/{imageName}?api-version=2019-03-01删除图像。 Here's the code (the code is executed in a loop of list of Images):这是代码(代码在图像列表的循环中执行):

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}");
        }
    }
}

The responseGet contains: StatusCode: 202, ReasonPhrase: 'Accepted', Version: 1.1, Content: System.Net.Http.HttpConnection+HttpConnectionResponseContent , StatusCode: Accepted . responseGet 包含: StatusCode: 202, ReasonPhrase: 'Accepted', Version: 1.1, Content: System.Net.Http.HttpConnection+HttpConnectionResponseContent , StatusCode: Accepted

When I check the Azure Portal or GET list of images using REST API , I can see the Image is still present.当我 使用 REST API检查 Azure 门户或GET 图像列表时,我可以看到图像仍然存在。 But when I run the same code for deleting the snapshot it gets deleted successfully.但是当我运行相同的代码删除快照时,它会被成功删除。 I use the same API for snapshot and looks like this: https://management.azure.com/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/snapshots/{snapshotName}?api-version=2019-03-01 .我对快照使用相同的 API,如下所示: https://management.azure.com/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/snapshots/{snapshotName}?api-version=2019-03-01 : https://management.azure.com/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/snapshots/{snapshotName}?api-version=2019-03-01 snapshotName}?api-version https://management.azure.com/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/snapshots/{snapshotName}?api-version=2019-03-01
What should I do for deleting the Image?删除图像应该怎么做?

Different REST APIs will return different results, when you get the 202 (Accepted) , the operation will not be completed immediately, you need to call another API like below to check the progress.不同的 REST API 会返回不同的结果,当你得到202 (Accepted) ,操作不会立即完成,你需要调用另一个类似下面的 API 来检查进度。

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

Please check this doc - Track asynchronous Azure operations and this sample , also a similar issue here .请检查此文档 - Track asynchronous Azure operations和此示例此处也有类似问题

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Bot Framework C#Luis Getting>异常:响应状态代码未指示成功:400(错误请求) - Bot Framework C# Luis Getting > Exception: Response status code does not indicate success: 400 (Bad Request) 即使在线程中使用Join()后也得到不同的答案-C# - Getting different answer even after using Join() in threads - C# C#使用Azure资源管理器(ARM)删除Azure虚拟机时获取结果状态 - C# Getting result status when deploing Azure Virtual Machine using Azure Resource Manager(ARM) .Net 核心:Rest API 正在获取超时 504 状态代码 - .Net core: Rest API is getting Time out 504 status code 使用C#的Azure REST Api身份验证 - Azure REST Api Authentication using C# 使用C#在Windows Active Directory中通过Lastknownparent获取已删除的用户 - Getting deleted users by lastknownparent in windows active directory using c# Facebook API / C#:获取朋友的登录状态 - Facebook API / C#: getting a friend's login status 通过Selenium WebDriver C#获取HTTP状态代码 - Getting HTTP Status Code by Selenium WebDriver C# C#:即使在使用 httpclient 发送 CSRF 令牌后也得到 403 - C#: Getting 403 even after sending CSRF token using httpclient Need help getting PayPal transactions using PayPal REST API or any other method in C# - Need help getting PayPal transactions using PayPal REST API or any other method in C#
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM