Удаление всех ресурсов в группе ресурсов Azure с возрастом более x дней
Я попытался "расширить" CreationTime на ресурсе в группе ресурсов (python api), чтобы определить его возраст, и если> max_age_days, я бы удалил ресурс в группе ресурсов.
Но похоже, что createTime недоступен для ресурсов.
Есть ли другой способ удалить ресурсы в группе ресурсов в зависимости от их возраста?
Дата создания и Дата создания - это, вероятно, самые основные требования к управлению ресурсами.
2 ответа
Azure сохраняет свойства createdTime и changedTime для всех ресурсов, которые вы можете запрашивать, добавляя параметр $expand к URL-адресу.
Параметр expand не задокументирован в документации API групп ресурсов, но задокументирован в документации API ресурсов списка (https://docs.microsoft.com/en-us/rest/api/resources/resources/list) и работает так же.
Я не знаю, как добавить этот параметр с помощью Python API, но вот пример самого REST API (с помощью кнопки Try It из документации по адресу https://docs.microsoft.com/en-us/rest/api/resources/resourcegroups/list).
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"
}
},
...
Нет, API группы ресурсов Azure не предлагает createdate
или что-то подобное, вам необходимо сохранить эту информацию в тегах (при создании ресурса) или извлечь ее из Azure API (при появлении нового ресурса) и сохранить ее где-нибудь извне.