Удаление всех ресурсов в группе ресурсов 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 (при появлении нового ресурса) и сохранить ее где-нибудь извне.

Другие вопросы по тегам