azure - 删除 Azure 资源组中使用时间超过 x 天的所有资源
问题描述
我试图在资源组(python api)中的资源上“扩展”creationTime,所以我可以找到它的年龄,如果 > max_age_days 我会删除资源组中的资源。
但是creationTime 似乎在资源上不可用。
是否有另一种方法可以根据年龄删除资源组中的资源?
创建日期和创建者可能是资源管理最基本的要求。
解决方案
Azure 将 createdTime 和 changedTime 属性存储在您可以通过将 $expand 参数添加到 URL 来查询的所有资源上。
expand 参数未记录在资源组 API 文档中,但记录在 List Resources API 文档 ( https://docs.microsoft.com/en-us/rest/api/resources/resources/list ) 和它的工作方式相同。
我不知道如何使用 Python API 添加此参数,但这里是 REST API 本身的一个示例(使用https://docs.microsoft.com/en-us/文档中的 Try It 按钮休息/api/resources/resourcegroups/list#code-try-0)。
GET https://management.azure.com/subscriptions/1237f4d2-3dce-4b96-ad95-677f764e7123/resourcegroups?api-version=2019-08-01&%24expand=createdTime
{
"value": [
{
"id": "/subscriptions/1237f4d2-3dce-4b96-ad95-677f764e7123/resourceGroups/test2rg-3-backup",
"name": "test2rg-3-backup",
"type": "Microsoft.Resources/resourceGroups",
"location": "eastus",
"createdTime": "2018-11-12T18:08:38.667582Z",
"properties": {
"provisioningState": "Succeeded"
}
},
{
"id": "/subscriptions/1237f4d2-3dce-4b96-ad95-677f764e7123/resourceGroups/proddeploy",
"name": "proddeploy",
"type": "Microsoft.Resources/resourceGroups",
"location": "eastus",
"createdTime": "2019-01-10T21:28:48.8057057Z",
"tags": {
"a": "b"
},
"properties": {
"provisioningState": "Succeeded"
}
},
...
推荐阅读
- mysql - 如何在 Node js 中承诺一个 mysql 池连接?
- node.js - 无法从 ubuntu 卸载 nodejs
- meshlab - 如何在 MeshLab 中将 3d 模型垂直于其表面展开?
- node.js - 如何解决 Adonis 应用程序启动时的崩溃?
- swift - WKWebView 保留自己
- node.js - 为什么我的 AWS Lambda 节点 JS 应用程序无法访问我的 MongoDB Atlas 集群?
- node.js - Nodemailer,服务器上的 sendMail 方法 - 无响应,无错误
- javascript - 是否可以使用 React JS 将 AdminLTE 的悬停子菜单功能更改为 onClick 功能
- java - 根据环境变量处理 Maven 中不同版本的依赖项
- jsonschema - 使用 OpenAPI 和 JSON-Schema 根据查询参数创建所需的属性