Поделиться через


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

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

Примечание.

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

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

События хранилища BLOB-объектов

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

Примечание.

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

Имя события Description
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-объектов, это событие активируется после изменения уровня.
Microsoft.Storage.AsyncOperationInitiated Активируется в момент инициации операции, включая перемещение или копирование данных из архива на горячий или холодный уровень хранилища. В частности, это событие активируется, когда клиенты вызывают API Set Blob Tier для перемещения BLOB-объекта c уровня архива на горячий или холодный уровень хранилища или когда клиенты вызывают API Copy Blob для копирования данных из BLOB-объекта на уровне архива в BLOB-объект на горячем или холодном уровне хранилища.

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

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

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/test-container/blobs/new-file.txt",
  "type": "Microsoft.Storage.BlobCreated",
  "time": "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"
    }
  },
  "specversion": "1.0"
}]

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

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/testcontainer/blobs/file-to-delete.txt",
  "type": "Microsoft.Storage.BlobDeleted",
  "time": "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"
    }
  },
  "specversion": "1.0"
}]

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

{
	"source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
	"subject": "/blobServices/default/containers/testcontainer/blobs/Auto.jpg",
	"type": "Microsoft.Storage.BlobTierChanged",
	"time": "2021-05-04T15:00:00.8350154Z",  
	"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",
		"accessTier": "Archive",
		"previousTier": "Cool",
		"url": "https://my-storage-account.blob.core.windows.net/testcontainer/Auto.jpg",
		"sequencer": "000000000000000000000000000089A4000000000018d6ea",
		"storageDiagnostics": {
			"batchId": "3418f7a9-7006-0014-00f6-406dc6000000"
		}
	},
  "specversion": "1.0"
}

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

{
	"source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
	"subject": "/blobServices/default/containers/testcontainer/blobs/00000.avro",
	"type": "Microsoft.Storage.AsyncOperationInitiated",
	"time": "2021-05-04T14:44:59.3204652Z",
	"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"
		}
	},
	"specversion": "1.0"
}

События Data Lake Storage 2-го поколения

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

Имя события Description
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-объекте. Сведения о том, как создать фильтр, см. в статье Фильтрация событий для Сетки событий.

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

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

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

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

Примечание.

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

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/new-file.txt",
  "type": "Microsoft.Storage.BlobCreated",
  "time": "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"
    }
  },
  "specversion": "1.0"
}]

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

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

  • Ключу data.api присвоена строка DeleteFile.
  • Ключ url содержит путь dfs.core.windows.net.

Примечание.

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

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/file-to-delete.txt",
  "type": "Microsoft.Storage.BlobDeleted",
  "time": "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"
    }
  },
  "specversion": "1.0"
}]

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

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/my-renamed-file.txt",
  "type": "Microsoft.Storage.BlobRenamed",
  "time": "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"
    }
  },
  "specversion": "1.0"
}]

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

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/my-new-directory",
  "type": "Microsoft.Storage.DirectoryCreated",
  "time": "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"
    }
  },
  "specversion": "1.0"
}]

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

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/my-renamed-directory",
  "type": "Microsoft.Storage.DirectoryRenamed",
  "time": "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"
    }
  },
  "specversion": "1.0"
}]

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

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/directory-to-delete",
  "type": "Microsoft.Storage.DirectoryDeleted",
  "time": "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"
    }
  },
  "specversion": "1.0"
}]

События SFTP

Эти события активируются, если для учетной записи хранения включено иерархическое пространство имен и клиенты используют API-интерфейсы SFTP. Дополнительные сведения о поддержке SFTP в Хранилище BLOB-объектов Azure см. в разделе Протокол SFTP в Хранилище BLOB-объектов Azure.

Имя события Description
Microsoft.Storage.BlobCreated Активируется при создании или перезаписи BLOB-объекта.
В частности, это событие активируется, когда клиенты используют операцию put, которая соответствует API-интерфейсам SftpCreate и SftpCommit. При открытии файла создается пустой BLOB-объект, а при закрытии файла отправленное содержимое фиксируется. Если функция предварительного SFTP Resumable Uploads просмотра включена, некоторые SftpWrite события также будут активированы во время отправки.
Microsoft.Storage.BlobDeleted Активируется при удалении BLOB-объекта.
В частности, это событие также активируется, когда клиенты вызывают операцию rm, которая соответствует API SftpRemove.
Microsoft.Storage.BlobRenamed Активируется при переименовании BLOB-объекта.
В частности, это событие также активируется, когда клиенты используют операцию rename для файлов, которая соответствует API SftpRename.
Microsoft.Storage.DirectoryCreated Активируется при создании каталога.
В частности, это событие активируется, когда клиенты используют операцию mkdir, которая соответствует API SftpMakeDir.
Microsoft.Storage.DirectoryRenamed Активируется при переименовании каталога.
В частности, это событие также активируется, когда клиенты используют операцию rename для каталога, которая соответствует API SftpRename.
Microsoft.Storage.DirectoryDeleted Активируется при удалении каталога.
В частности, это событие активируется, когда клиенты используют операцию rmdir, которая соответствует API SftpRemoveDir.

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

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

Событие Microsoft.Storage.BlobCreated (SFTP)

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

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

  • Для data.api ключа задана строка SftpCreate, SftpWriteили SftpCommit.

  • Ключ clientRequestId не включен.

  • Ключу contentType присвоено значение application/octet-stream.

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

  • Ключ identity включен в набор данных. Это соответствует локальному пользователю, используемому для проверки подлинности SFTP.

Примечание.

При отправке данных по протоколу SFTP создается 2 события. Один SftpCreate для исходного пустого большого двоичного объекта, созданного при открытии файла, и один SftpCommit , когда содержимое файла фиксируются в конце отправки. Если функция предварительного SFTP Resumable Uploads просмотра включена, некоторые SftpWrite события также будут активированы во время отправки.

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/testcontainer/blobs/new-file.txt",
  "type": "Microsoft.Storage.BlobCreated",
  "time": "2022-04-25T19:13:00.1522383Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "SftpCommit",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "eTag": "\"0x8D4BCC2E4835CD0\"",
    "contentType": "application/octet-stream",
    "contentLength": 0,
    "contentOffset": 0,
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.blob.core.windows.net/testcontainer/new-file.txt",
    "sequencer": "00000000000004420000000000028963",
    "identity":"localuser",
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Событие Microsoft.Storage.BlobDeleted (SFTP)

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

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

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

  • Ключ clientRequestId не включен.

  • Ключу contentType присвоено значение application/octet-stream.

  • Ключ identity включен в набор данных. Это соответствует локальному пользователю, используемому для проверки подлинности SFTP.

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/testcontainer/blobs/new-file.txt",
  "type": "Microsoft.Storage.BlobDeleted",
  "time": "2022-04-25T19:13:00.1522383Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "SftpRemove",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "contentType": "text/plain",
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.blob.core.windows.net/testcontainer/new-file.txt",
    "sequencer": "00000000000004420000000000028963",  
    "identity":"localuser",
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Событие Microsoft.Storage.BlobRenamed (SFTP)

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

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

  • Ключ clientRequestId не включен.

  • Ключ identity включен в набор данных. Это соответствует локальному пользователю, используемому для проверки подлинности SFTP.

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/testcontainer/blobs/my-renamed-file.txt",
  "type": "Microsoft.Storage.BlobRenamed",
  "time": "2022-04-25T19:13:00.1522383Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "SftpRename",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "destinationUrl": "https://my-storage-account.blob.core.windows.net/testcontainer/my-renamed-file.txt",
    "sourceUrl": "https://my-storage-account.blob.core.windows.net/testcontainer/my-original-file.txt",
    "sequencer": "00000000000004420000000000028963",  
    "identity":"localuser",
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Событие Microsoft.Storage.DirectoryCreated (SFTP)

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

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

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

  • Ключ clientRequestId не включен.

  • Ключ identity включен в набор данных. Это соответствует локальному пользователю, используемому для проверки подлинности SFTP.

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/testcontainer/blobs/my-new-directory",
  "type": "Microsoft.Storage.DirectoryCreated",
  "time": "2022-04-25T19:13:00.1522383Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "SftpMakeDir",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "url": "https://my-storage-account.blob.core.windows.net/testcontainer/my-new-directory",
    "sequencer": "00000000000004420000000000028963",  
    "identity":"localuser",
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Событие Microsoft.Storage.DirectoryRenamed (SFTP)

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

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

  • Ключ clientRequestId не включен.

  • Ключ identity включен в набор данных. Это соответствует локальному пользователю, используемому для проверки подлинности SFTP.

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/testcontainer/blobs/my-renamed-directory",
  "type": "Microsoft.Storage.DirectoryRenamed",
  "time": "2022-04-25T19:13:00.1522383Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "SftpRename",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "destinationUrl": "https://my-storage-account.blob.core.windows.net/testcontainer/my-renamed-directory",
    "sourceUrl": "https://my-storage-account.blob.core.windows.net/testcontainer/my-original-directory",
    "sequencer": "00000000000004420000000000028963",  
    "identity":"localuser",
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Событие Microsoft.Storage.DirectoryDeleted (SFTP)

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

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

  • Ключ clientRequestId не включен.

  • Ключ identity включен в набор данных. Это соответствует локальному пользователю, используемому для проверки подлинности SFTP.

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/testcontainer/blobs/directory-to-delete",
  "type": "Microsoft.Storage.DirectoryDeleted",
  "time": "2022-04-25T19:13:00.1522383Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "SftpRemoveDir",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "url": "https://my-storage-account.blob.core.windows.net/testcontainer/directory-to-delete",
    "recursive": "false", 
    "sequencer": "00000000000004420000000000028963",  
    "identity":"localuser",
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Эти события активируются при выполнении действий, определенных политикой.

Имя события Description
Microsoft.Storage.BlobInventoryPolicyCompleted Активируется после завершения выполнения инвентаризации для правила, определенного политикой инвентаризации. Это событие также возникает, если в ходе инвентаризации возникла ошибка пользователя. Например, недопустимая политика или ошибка, возникающая, когда целевой контейнер не присутствует, активирует событие.
Microsoft.Storage.LifecyclePolicyCompleted Активируется при выполнении действий, определенных политикой управления жизненным циклом.

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

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

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

{
  "source": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/BlobInventory/providers/Microsoft.EventGrid/topics/BlobInventoryTopic",
  "subject": "BlobDataManagement/BlobInventory",
  "type": "Microsoft.Storage.BlobInventoryPolicyCompleted",
  "time": "2021-05-28T15:03:18Z",  
  "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "data": {
    "scheduleDateTime": "2021-05-28T03:50:27Z",
    "accountName": "testaccount",
    "ruleName": "Rule_1",
    "policyRunStatus": "Succeeded",
    "policyRunStatusMessage": "Inventory run succeeded, refer manifest file for inventory details.",
    "policyRunId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "manifestBlobUrl": "https://testaccount.blob.core.windows.net/inventory-destination-container/2021/05/26/13-25-36/Rule_1/Rule_1.csv"
  },
  "specversion": "1.0"
}

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

{
    "source": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/contosoresourcegroup/providers/Microsoft.Storage/storageAccounts/contosostorageaccount",
    "subject": "BlobDataManagement/LifeCycleManagement/SummaryReport",
    "type": "Microsoft.Storage.LifecyclePolicyCompleted",
    "time": "2022-05-26T00:00:40.1880331",    
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "data": {
        "scheduleTime": "2022/05/24 22:57:29.3260160",
        "deleteSummary": {
            "totalObjectsCount": 16,
            "successCount": 14,
            "errorList": ""
        },
        "tierToCoolSummary": {
            "totalObjectsCount": 0,
            "successCount": 0,
            "errorList": ""
        },
        "tierToColdSummary": {
            "totalObjectsCount": 0,
            "successCount": 0,
            "errorList": ""
        },
        "tierToArchiveSummary": {
            "totalObjectsCount": 0,
            "successCount": 0,
            "errorList": ""
        }
    },
    "specversion": "1.0"
}

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

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

Свойство Type Описание:
source строка Полный путь к ресурсу источника событий. Это поле защищено от записи. Это значение предоставляет Сетка событий.
subject строка Определенный издателем путь к субъекту события.
type строка Один из зарегистрированных типов событий для этого источника событий.
time строка Время создания события с учетом времени поставщика в формате UTC.
id строка Уникальный идентификатор события.
data объект Данные события хранилища BLOB-объектов.
specversion строка Версия спецификации схемы CloudEvents.

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

Свойство Type Описание:
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 integer Размер большого двоичного объекта в байтах.
blobType строка Тип большого двоичного объекта. Допустимые значения: BlockBlob или PageBlob.
accessTier строка Целевой уровень большого двоичного объекта. Отображается только для события BlobTierChanged.
previousTier строка Исходный уровень большого двоичного объекта. Отображается только для события BlobTierChanged. Если большой двоичный объект выводит уровень из учетной записи хранения, это поле не появится.
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 строка Значение непрозрачной строки, представляющее логическую последовательность событий для любого отдельного имени большого двоичного объекта. Пользователи могут использовать стандартное сравнение строк для понимания относительной последовательности двух событий в одном имени большого двоичного объекта.
identity строка Строковое значение, представляющее удостоверение, связанное с событием. Для SFTP это имя локального пользователя.
storageDiagnostics объект Диагностические данные, которые иногда включаются службой хранилища Azure. Если они присутствуют, то должны игнорироваться потребителями события.

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

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

Следующие шаги