Хранилище BLOB-объектов Azure в качестве источника Сетки событий

В этой статье описаны свойства и схема событий хранилища BLOB-объектов. Общие сведения о схемах событий см. в статье Схема событий службы "Сетка событий Azure". Здесь также приводится список кратких руководств и учебников по использованию Хранилища BLOB-объектов Azure в качестве источника событий.

Примечание

Интеграцию событий поддерживают только учетные записи хранения типа StorageV2 (general purpose v2) , BlockBlobStorage и BlobStorage. Учетные записи хранения типа Storage (general purpose v1) не поддерживают интеграцию с Сеткой событий.

Доступные типы событий

Список событий для REST API BLOB-объектов

Эти события активируются, когда клиент создает, заменяет или удаляет BLOB-объект, вызывая REST API BLOB-объектов.

Примечание

Контейнеры $logs и $blobchangefeed не интегрированы с Сеткой событий, поэтому действия в этих контейнерах не будут создавать события. Кроме того, использование конечной точки DFS (abfss://URI) для учетных записей с включенными неиерархическими пространствами имен не приведет к созданию событий, а конечная точка BLOB-объекта (wasb:// URI) будет создавать события.

Имя события Описание
Microsoft.Storage.BlobCreated Активируется при создании или замене BLOB-объекта.
В частности, это событие активируется, когда клиенты используют операции PutBlob, PutBlockList или CopyBlob, доступные в REST API больших двоичных объектов, а также когда блочный большой двоичный объект полностью фиксируется.
Если клиенты используют операцию CopyBlob для учетных записей, для которых включена функция иерархического пространства имен, операция CopyBlob производится немного иначе. В этом случае событие Microsoft.Storage.BlobCreated активируется при инициации операции CopyBlob, а не при полной фиксации блочного BLOB-объекта.
Microsoft.Storage.BlobDeleted Активируется при удалении BLOB-объекта.
В частности, это событие активируется, когда клиенты вызывают операцию DeleteBlob, доступную в REST API BLOB-объектов.
Microsoft.Storage.BlobTierChanged Активируется при изменении уровня доступа к большому двоичному объекту. В частности, когда клиенты вызывают операцию Set Blob Tier, доступную в REST API BLOB-объектов, это событие активируется после изменения уровня.
NNTP. служба хранилища. асинкоператионинитиатед Активируется, когда инициируется операция, включающая перемещение или копирование данных из архива на горячий или холодной уровень. В частности, это событие активируется, когда клиенты вызывают Set Blob Tier API для перемещения большого двоичного объекта из уровня архива на горячий или холодный уровень или когда клиенты вызывают Copy Blob API для копирования данных из большого двоичного объекта на уровне архива в большой двоичный объект на активном или холодном уровне.

Список событий для REST API Azure Data Lake Storage поколения 2

Эти события активируются, если для учетной записи хранения включено иерархическое пространство имен и клиенты используют REST API Azure Data Lake Storage 2-го поколения. Дополнительные сведения об Azure Data Lake Storage 2-го поколения см. в статье Общие сведения о хранилище Azure Data Lake Storage 2-го поколения.

Имя события Описание
Microsoft.Storage.BlobCreated Активируется при создании или замене BLOB-объекта.
В частности, это событие активируется, когда клиенты используют операции CreateFile и FlushWithClose, доступные в REST API Azure Data Lake Storage 2-го поколения.
Microsoft.Storage.BlobDeleted Активируется при удалении BLOB-объекта.
В частности, это событие активируется, когда клиенты вызывают операцию DeleteFile, доступную в REST API Azure Data Lake Storage 2-го поколения.
Microsoft.Storage.BlobRenamed Активируется при переименовании BLOB-объекта.
В частности, это событие активируется, когда клиенты используют операцию RenameFile, доступную в REST API Azure Data Lake Storage 2-го поколения.
Microsoft.Storage.DirectoryCreated Активируется при создании каталога.
В частности, это событие активируется, когда клиенты используют операцию CreateDirectory, доступную в REST API Azure Data Lake Storage 2-го поколения.
Microsoft.Storage.DirectoryRenamed Активируется при переименовании каталога.
В частности, это событие активируется, когда клиенты используют операцию RenameDirectory, доступную в REST API Azure Data Lake Storage 2-го поколения.
Microsoft.Storage.DirectoryDeleted Активируется при удалении каталога.
В частности, это событие активируется, когда клиенты используют операцию DeleteDirectory, доступную в REST API Azure Data Lake Storage 2-го поколения.

Примечание

Для Azure Data Lake Storage 2-го поколения, если необходимо, чтобы событие Microsoft.Storage.BlobCreated активировалось только при полной фиксации блочного BLOB-объекта, отфильтруйте это событие по вызову REST APIFlushWithClose. Этот вызов API активирует событие Microsoft.Storage.BlobCreated только после полной фиксации данных в блочном BLOB-объекте. Сведения о том, как создать фильтр, см. в статье Фильтрация событий для Сетки событий.

Пример события

При активации события служба Сетки событий отправляет данные о нем на подписанную конечную точку. Этот раздел содержит пример того, как эти данные будут выглядеть для каждого события хранилища BLOB-объектов.

Событие Microsoft.Storage.BlobCreated

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/test-container/blobs/new-file.txt",
  "eventType": "Microsoft.Storage.BlobCreated",
  "eventTime": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "PutBlockList",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "eTag": "\"0x8D4BCC2E4835CD0\"",
    "contentType": "text/plain",
    "contentLength": 524288,
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.blob.core.windows.net/testcontainer/new-file.txt",
    "sequencer": "00000000000004420000000000028963",
    "storageDiagnostics": {
      "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "dataVersion": "",
  "metadataVersion": "1"
}]

Событие Microsoft.Storage.BlobCreated (Data Lake Storage 2-го поколения)

Если учетная запись хранения BLOB-объектов имеет иерархическое пространство имен, данные выглядят примерно так, как в предыдущем примере, за исключением следующих изменений:

  • Ключу dataVersion присвоено значение 2.

  • Ключу data.api присвоена строка CreateFile или FlushWithClose.

  • Ключ contentOffset включен в набор данных.

Примечание

Если приложения используют операцию PutBlockList для передачи нового BLOB-объекта в учетную запись, данные не будут содержать эти изменения.

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/new-file.txt",
  "eventType": "Microsoft.Storage.BlobCreated",
  "eventTime": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "CreateFile",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "eTag": "\"0x8D4BCC2E4835CD0\"",
    "contentType": "text/plain",
    "contentLength": 0,
    "contentOffset": 0,
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.dfs.core.windows.net/my-file-system/new-file.txt",
    "sequencer": "00000000000004420000000000028963",  
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "dataVersion": "2",
  "metadataVersion": "1"
}]

Событие Microsoft.Storage.BlobDeleted

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/testcontainer/blobs/file-to-delete.txt",
  "eventType": "Microsoft.Storage.BlobDeleted",
  "eventTime": "2017-11-07T20:09:22.5674003Z",
  "id": "4c2359fe-001e-00ba-0e04-58586806d298",
  "data": {
    "api": "DeleteBlob",
    "requestId": "4c2359fe-001e-00ba-0e04-585868000000",
    "contentType": "text/plain",
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.blob.core.windows.net/testcontainer/file-to-delete.txt",
    "sequencer": "0000000000000281000000000002F5CA",
    "storageDiagnostics": {
      "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "dataVersion": "",
  "metadataVersion": "1"
}]

Событие Microsoft.Storage.BlobDeleted (Data Lake Storage 2-го поколения)

Если учетная запись хранения BLOB-объектов имеет иерархическое пространство имен, данные выглядят примерно так, как в предыдущем примере, за исключением следующих изменений:

  • Ключу dataVersion присвоено значение 2.

  • Ключу data.api присвоена строка DeleteFile.

  • Ключ url содержит путь dfs.core.windows.net.

Примечание

Если приложения используют операцию DeleteBlob для удаления BLOB-объекта из учетной записи, данные не будут содержать эти изменения.

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/file-to-delete.txt",
  "eventType": "Microsoft.Storage.BlobDeleted",
  "eventTime": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
    "data": {
    "api": "DeleteFile",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "contentType": "text/plain",
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.dfs.core.windows.net/my-file-system/file-to-delete.txt",
    "sequencer": "00000000000004420000000000028963",  
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "dataVersion": "2",
  "metadataVersion": "1"
}]

Событие Microsoft.Storage.BlobTierChanged

{
    "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
    "subject": "/blobServices/default/containers/testcontainer/blobs/Auto.jpg",
    "eventType": "Microsoft.Storage.BlobTierChanged",
    "id": "0fdefc06-b01e-0034-39f6-4016610696f6",
    "data": {
        "api": "SetBlobTier",
        "clientRequestId": "68be434c-1a0d-432f-9cd7-1db90bff83d7",
        "requestId": "0fdefc06-b01e-0034-39f6-401661000000",
        "contentType": "image/jpeg",
        "contentLength": 105891,
        "blobType": "BlockBlob",
        "url": "https://my-storage-account.blob.core.windows.net/testcontainer/Auto.jpg",
        "sequencer": "000000000000000000000000000089A4000000000018d6ea",
        "storageDiagnostics": {
            "batchId": "3418f7a9-7006-0014-00f6-406dc6000000"
        }
    },
    "dataVersion": "",
    "metadataVersion": "1",
    "eventTime": "2021-05-04T15:00:00.8350154Z"
}

NNTP. служба хранилища. Событие Асинкоператионинитиатед

{
    "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
    "subject": "/blobServices/default/containers/testcontainer/blobs/00000.avro",
    "eventType": "Microsoft.Storage.AsyncOperationInitiated",
    "id": "8ea4e3f2-101e-003d-5ff4-4053b2061016",
    "data": {
        "api": "SetBlobTier",
        "clientRequestId": "777fb4cd-f890-4c5b-b024-fb47300bae62",
        "requestId": "8ea4e3f2-101e-003d-5ff4-4053b2000000",
        "contentType": "application/octet-stream",
        "contentLength": 3660,
        "blobType": "BlockBlob",
        "url": "https://my-storage-account.blob.core.windows.net/testcontainer/00000.avro",
        "sequencer": "000000000000000000000000000089A4000000000018c6d7",
        "storageDiagnostics": {
            "batchId": "34128c8a-7006-0014-00f4-406dc6000000"
        }
    },
    "dataVersion": "",
    "metadataVersion": "1",
    "eventTime": "2021-05-04T14:44:59.3204652Z"
}

Событие Microsoft.Storage.BlobRenamed

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/my-renamed-file.txt",
  "eventType": "Microsoft.Storage.BlobRenamed",
  "eventTime": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "RenameFile",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "destinationUrl": "https://my-storage-account.dfs.core.windows.net/my-file-system/my-renamed-file.txt",
    "sourceUrl": "https://my-storage-account.dfs.core.windows.net/my-file-system/my-original-file.txt",
    "sequencer": "00000000000004420000000000028963",  
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Событие Microsoft.Storage.DirectoryCreated

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/my-new-directory",
  "eventType": "Microsoft.Storage.DirectoryCreated",
  "eventTime": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "CreateDirectory",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "url": "https://my-storage-account.dfs.core.windows.net/my-file-system/my-new-directory",
    "sequencer": "00000000000004420000000000028963",  
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Событие Microsoft.Storage.DirectoryRenamed

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/my-renamed-directory",
  "eventType": "Microsoft.Storage.DirectoryRenamed",
  "eventTime": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "RenameDirectory",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "destinationUrl": "https://my-storage-account.dfs.core.windows.net/my-file-system/my-renamed-directory",
    "sourceUrl": "https://my-storage-account.dfs.core.windows.net/my-file-system/my-original-directory",
    "sequencer": "00000000000004420000000000028963",  
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Событие Microsoft.Storage.DirectoryDeleted

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/directory-to-delete",
  "eventType": "Microsoft.Storage.DirectoryDeleted",
  "eventTime": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "DeleteDirectory",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "url": "https://my-storage-account.dfs.core.windows.net/my-file-system/directory-to-delete",
    "recursive": "true", 
    "sequencer": "00000000000004420000000000028963",  
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Свойства события

Событие содержит следующие высокоуровневые данные:

Свойство Тип Описание
topic строка Полный путь к ресурсу для источника событий. Это поле защищено от записи. Это значение предоставляет служба "Сетка событий".
subject строка Определенный издателем путь к субъекту событий.
eventType строка Один из зарегистрированных типов событий для этого источника событий.
eventTime строка Время создания события с учетом времени поставщика в формате UTC.
id строка Уникальный идентификатор события.
data объект Данные события хранилища BLOB-объектов.
dataVersion строка Версия схемы для объекта данных. Версию схемы определяет издатель.
metadataVersion строка Версия схемы для метаданных события. Служба "Сетка событий" определяет схему свойств верхнего уровня. Это значение предоставляет служба "Сетка событий".

Объект данных имеет следующие свойства:

Свойство Тип Описание
api строка Операция, вызвавшая событие.
clientRequestId строка Предоставляемый клиентом идентификатор запроса для операции API хранилища. Этот идентификатор может использоваться для корреляции журналов диагностики службы хранилища Azure с помощью поля client-request-id в журналах, а также может предоставляться в запросах клиента с помощью заголовка x-ms-client-request-id. Ознакомьтесь со статьей Storage Analytics Log Format (Формат журналов Аналитики Службы хранилища).
requestId строка Создаваемый службой идентификатор запроса для операции API хранилища. Может использоваться для корреляции журналов диагностики службы хранилища Azure с помощью поля request-id-header в журналах. Возвращается при инициации вызова API в заголовке x-ms-request-id. Ознакомьтесь со статьей Storage Analytics Log Format (Формат журналов Аналитики Службы хранилища).
eTag строка Значение, которое позволяет выполнять операции условно.
contentType строка Тип содержимого, указанный для BLOB-объекта.
contentLength Целое число Размер большого двоичного объекта в байтах.
blobType строка Тип большого двоичного объекта. Допустимые значения: BlockBlob или PageBlob.
contentOffset number Смещение в байтах для операции записи, выполненной в тот момент, когда приложение, активирующее событие, завершило запись в файл.
Отображается только для событий, активированных для учетных записей хранения BLOB-объектов с иерархическим пространством имен.
destinationUrl строка URL-адрес файла, который будет существовать после завершения операции. Например, если файл переименован, свойство destinationUrl содержит URL-адрес нового имени файла.
Отображается только для событий, активированных для учетных записей хранения BLOB-объектов с иерархическим пространством имен.
sourceUrl строка URL-адрес файла, который существует до завершения операции. Например, если файл переименован, свойство sourceUrl содержит URL-адрес исходного имени файла, которое использовалось до операции переименования.
Отображается только для событий, активированных для учетных записей хранения BLOB-объектов с иерархическим пространством имен.
url строка Путь к BLOB-объекту.
Если клиент использует REST API BLOB-объектов, URL-адрес имеет следующую структуру: <storage-account-name>.blob.core.windows.net\<container-name>\<file-name>.
Если клиент использует REST API Data Lake Storage, URL-адрес имеет следующую структуру: <storage-account-name>.dfs.core.windows.net/<file-system-name>/<file-name>.
recursive строка Значение True для выполнения операции со всеми дочерними каталогами; в противном случае значение False.
Отображается только для событий, активированных для учетных записей хранения BLOB-объектов с иерархическим пространством имен.
sequencer строка Значение непрозрачной строки, представляющее логическую последовательность событий для любого отдельного имени большого двоичного объекта. Пользователи могут использовать стандартное сравнение строк для понимания относительной последовательности двух событий в одном имени большого двоичного объекта.
storageDiagnostics объект Диагностические данные, которые иногда включаются службой хранилища Azure. Если они присутствуют, то должны игнорироваться потребителями события.

Руководства и учебные материалы

Заголовок Описание
Перенаправление событий хранилища BLOB-объектов в пользовательскую конечную веб-точку с помощью Azure CLI Содержит сведения об отправке событий хранилища BLOB-объектов в веб-перехватчик с помощью Azure CLI.
Перенаправление событий хранилища BLOB-объектов в пользовательскую конечную веб-точку с помощью PowerShell Содержит сведения об отправке событий хранилища BLOB-объектов в веб-перехватчик с помощью Azure PowerShell.
Создание и перенаправление событий хранилища BLOB-объектов с помощью службы "Сетка событий Azure" и портала Azure Содержит сведения об отправке событий хранилища BLOB-объектов в веб-перехватчик с помощью портала.
Создание подписки на события, связанные с учетной записью хранения больших двоичных объектов, с использованием Azure CLI Пример сценария, позволяющий подписаться на события, связанные с учетной записью хранения больших двоичных объектов. Он отправляет событие в веб-перехватчик.
Создание подписки на события, связанные с учетной записью хранения больших двоичных объектов, с помощью PowerShell Пример сценария, позволяющий подписаться на события, связанные с учетной записью хранения больших двоичных объектов. Он отправляет событие в веб-перехватчик.
Шаблон Resource Manager для создания хранилища BLOB-объектов и подписки Развертывает учетную запись службы хранилища больших двоичных объектов Azure и создает подписку на события для этой учетной записи хранения. Он отправляет события в веб-перехватчик.
Реагирование на события хранилища BLOB-объектов Общие сведения об интеграции хранилища BLOB-объектов со службой "Сетка событий".

Дальнейшие действия