我一直在尝试使用DeleteById,但是从我所看到的所有示例中,似乎都需要知道要删除哪种类型的资源才能使用此方法。
这就是我一直在尝试的方式,但是我收到错误信息“ IResourcesOperations”不包含“ DeleteById”的定义,并且最佳扩展方法重载了“ PolicyAssignmentsOperationsExtensions.DeleteById(IPolicyAssignmentsOperations,string)”需要接收者类型为“ IPolicyAssignmentsOperations”。
var resourceManagementClient = new
ResourceManagementClient(TokenCredentials){
SubscriptionId = AzureSubscriptionId
};
resourceManagementClient.Resources.DeleteById("idhere");
尝试使用Delete方法时,我遇到了同样的错误。
是否可以在不知道资源类型的情况下删除单个资源?例如,您是否可以通过了解ID和资源组或类似内容来删除资源?
答案 0 :(得分:0)
您可以通过了解ID和资源组或类似内容来删除资源吗?
是的,我们可以删除具有已知ID的单个资源。
请尝试使用以下代码。
resourceManagementClient.Resources.DeleteById("resourceId", "Apiversion");
将WebApp用作实例-resourceId格式:
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Web/sites/{name}
Api vesrion:2018-02-01
我们可以从delete resource API那里获得Api版本
DELETE https://management.azure.com/{resourceId}?api-version=2018-02-01
Packages.config
<packages>
<package id="Microsoft.Azure.Management.ResourceManager" version="1.9.0-preview" targetFramework="net471" />
<package id="Microsoft.Rest.ClientRuntime" version="2.3.11" targetFramework="net471" />
<package id="Microsoft.Rest.ClientRuntime.Azure" version="3.3.12" targetFramework="net471" />
<package id="Newtonsoft.Json" version="6.0.8" targetFramework="net471" />
</packages>
答案 1 :(得分:0)
您的资源名称应包括资源的完全限定ID,包括资源名称和资源类型。使用以下格式,/ subscriptions / {guid} / resourceGroups / {resource-group-name} / {resource-provider-namespace} / {resource-type} / {resource-name}