Хранилище Azure: возвращаются только большие двоичные объекты в хранилище Azure, которые имеют уровень BlobTier Cold - PullRequest
0 голосов
/ 11 января 2019

У меня есть следующая команда Azure Cli, которая выводит список файлов в заданной учетной записи хранения и контейнере:

az storage blob list --container-name $web  --account-name mystorageaccount

При этом он корректно возвращает все результаты в формате JSON.

Я бы хотел ограничить результаты, возвращаемые теми элементами, которые в настоящее время используют хранилище Cold Tier.

например. Где properties.BlobTier имеет значение Cold.

например. Один из полученных ответов выглядит следующим образом:

{
    "content": null,
    "deleted": false,
    "metadata": null,
    "name": "index.html",
    "properties": {
      "appendBlobCommittedBlockCount": null,
      "blobTier": "Cold",
      "blobTierChangeTime": "2019-01-11T16:50:59+00:00",
      "blobTierInferred": false,
      "blobType": "BlockBlob",
      "contentLength": 564,
      "contentRange": null,
      "contentSettings": {
        "cacheControl": null,
        "contentDisposition": null,
        "contentEncoding": null,
        "contentLanguage": null,
        "contentMd5": "J46oaHVXow+85uEF58la/w==",
        "contentType": "text/html"
      },
      "copy": {
        "completionTime": null,
        "id": null,
        "progress": null,
        "source": null,
        "status": null,
        "statusDescription": null
      },
      "creationTime": "2019-01-11T15:03:18+00:00",
      "deletedTime": null,
      "etag": "0x8D677E4F6791B3D",
      "lastModified": "2019-01-11T16:50:59+00:00",
      "lease": {
        "duration": null,
        "state": "available",
        "status": "unlocked"
      },
      "pageBlobSequenceNumber": null,
      "remainingRetentionDays": null,
      "serverEncrypted": true
    },
    "snapshot": null
  },

В документации для списка больших двоичных объектов хранилища Azure CLI указано, что он поддерживает глобальный параметр --query.

Судя по тому, что я прочитал этот документ, похоже, что я должен быть в состоянии выполнить следующий запрос, но тогда он не дает результатов (и я знаю, что некоторые элементы холодные):

az storage blob list --container-name $web  --account-name mystorageaccount --query 'properties[?blobTier == 'Cold']'

Кто-нибудь знает, что я делаю не так?

1 Ответ

0 голосов
/ 11 января 2019

Я разобрался с ответом на мой вопрос. В следующей статье приведено множество примеров правильного выбора и фильтрации данных.

В результате я смог придумать следующее, что вызывает ожидаемое поведение.

az storage blob list --container-name $web  --account-name mystorageaccount --query "[?properties.blobTier=='Cold'].{name:name}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...