Azure Blob Storage als Event Grid-Quelle
In diesem Artikel werden die Eigenschaften und das Schema für Blob Storage-Ereignisse beschrieben. Eine Einführung in Ereignisschemas finden Sie unter Azure Event Grid-Ereignisschema. Außerdem erhalten Sie eine Liste mit Schnellstarts und Tutorials, die Azure Blob Storage als Ereignisquelle verwenden.
Hinweis
Nur Speicherkonten vom Typ StorageV2 (universell, Version 2) , BlockBlobStorage und BlobStorage unterstützen die Ereignisintegration. Storage (Universell V1) unterstützt nicht die Integration in Event Grid.
Verfügbare Ereignistypen
Blob Storage-Ereignisse
Die folgenden Ereignisse werden ausgelöst, wenn ein Client durch Aufrufen von Blob-REST-APIs ein Blob erstellt, ersetzt oder löscht:
Hinweis
Die Container $logs
und $blobchangefeed
sind nicht in Event Grid integriert, sodass die Aktivität in diesen Containern keine Ereignisse generiert. Außerdem werden bei Verwendung des DFS-Endpunkts (abfss://URI)
für Konten, die nicht hierarchische Namespaces verarbeiten können, werden keine Ereignisse generiert, aber der Blob-Endpunkt (wasb:// URI)
generiert Ereignisse.
Ereignisname | BESCHREIBUNG |
---|---|
Microsoft.Storage.BlobCreated | Wird ausgelöst, wenn ein Blob erstellt oder ersetzt wird. Dieses Ereignis wird insbesondere ausgelöst, wenn Clients die Vorgänge PutBlob , PutBlockList oder CopyBlob verwenden, die in der Blob-REST-API verfügbar sind, und wenn das Blockblob vollständig committet wird. Wenn Clients den CopyBlob -Vorgang für Konten verwenden, für die die Funktion hierarchischer Namespace aktiviert ist, funktioniert der CopyBlob -Vorgang etwas anders. In diesem Fall wird das Ereignis Microsoft.Storage.BlobCreated ausgelöst, wenn der CopyBlob -Vorgang initiiert wird und nicht, wenn das Blockblob vollständig committet wird. |
Microsoft.Storage.BlobDeleted | Wird ausgelöst, wenn ein Blob gelöscht wird. Dieses Ereignis wird insbesondere ausgelöst, wenn Clients den Vorgang DeleteBlob aufrufen, der in der Blob-REST-API zur Verfügung steht. |
Microsoft.Storage.BlobTierChanged | Wird ausgelöst, wenn die Blobzugriffsebene geändert wird. Dieses Ereignis wird insbesondere ausgelöst, nachdem die Ebenenänderung abgeschlossen wurde, wenn Clients den Set Blob Tier -Vorgang aufrufen, der in der Blob-REST-API zur Verfügung steht. |
Microsoft.Storage.AsyncOperationInitiated | Wird ausgelöst, wenn ein Vorgang zum Verschieben oder Kopieren von Daten aus dem Archiv in die heißen oder kalten Ebenen initiiert wird. Insbesondere wird dieses Ereignis ausgelöst, wenn Clients die API Set Blob Tier aufrufen, um ein Blob von der Archivebene in die heiße oder kalte Ebene zu verschieben, oder wenn Clients die API Copy Blob aufrufen, um Daten aus einem Blob in der Archivebene in ein Blob auf der heißen oder kalten Ebene zu kopieren. |
Beispielereignisse
Ereignis „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",
"accessTier": "Default",
"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"
}]
Ereignis „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",
"accessTier": "Default",
"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 event
{
"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 event
{
"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 Gen2-Ereignisse
Die folgenden Ereignisse werden ausgelöst, wenn Sie einen hierarchischen Namespace für das Speicherkonto aktivieren und Clients REST-APIs von Azure Data Lake Storage Gen2 verwenden. Weitere Informationen zu Data Lake Storage Gen2 finden Sie in der Einführung in Azure Data Lake Storage Gen2.
Ereignisname | BESCHREIBUNG |
---|---|
Microsoft.Storage.BlobCreated | Wird ausgelöst, wenn ein Blob erstellt oder ersetzt wird. Dieses Ereignis wird insbesondere ausgelöst, wenn Clients die Vorgänge CreateFile und FlushWithClose verwenden, die in der REST-API von Azure Data Lake Storage Gen2 zur Verfügung stehen. |
Microsoft.Storage.BlobDeleted | Wird ausgelöst, wenn ein Blob gelöscht wird. Dieses Ereignis wird insbesondere auch ausgelöst, wenn Clients den Vorgang DeleteFile aufrufen, der in der REST-API von Azure Data Lake Storage Gen2 zur Verfügung steht. |
Microsoft.Storage.BlobRenamed | Wird ausgelöst, wenn ein Blob umbenannt wird. Dieses Ereignis wird insbesondere ausgelöst, wenn Clients den Vorgang RenameFile verwenden, der in der REST-API von Azure Data Lake Storage Gen2 zur Verfügung steht. |
Microsoft.Storage.DirectoryCreated | Wird ausgelöst, wenn ein Verzeichnis erstellt wird. Dieses Ereignis wird insbesondere ausgelöst, wenn Clients den Vorgang CreateDirectory verwenden, der in der REST-API von Azure Data Lake Storage Gen2 zur Verfügung steht. |
Microsoft.Storage.DirectoryRenamed | Wird ausgelöst, wenn ein Verzeichnis umbenannt wird. Dieses Ereignis wird insbesondere ausgelöst, wenn Clients den Vorgang RenameDirectory verwenden, der in der REST-API von Azure Data Lake Storage Gen2 zur Verfügung steht. |
Microsoft.Storage.DirectoryDeleted | Wird ausgelöst, wenn ein Verzeichnis gelöscht wird. Dieses Ereignis wird insbesondere ausgelöst, wenn Clients den Vorgang DeleteDirectory verwenden, der in der REST-API von Azure Data Lake Storage Gen2 zur Verfügung steht. |
Hinweis
Wenn Sie für Azure Blob Azure Data Lake Storage Gen2 sicherstellen möchten, dass das Ereignis Microsoft.Storage.BlobCreated erst ausgelöst wird, nachdem ein Blockblob vollständig committet wurde, filtern Sie das Ereignis nach Aufrufen der REST-API FlushWithClose
. Bei diesem API-Aufruf wird das Ereignis Microsoft.Storage.BlobCreated erst ausgelöst, nachdem Daten vollständig in einem Blockblob committet wurden. Informationen zum Erstellen eines Filters finden Sie unter Filtern von Ereignissen für Event Grid.
Beispielereignisse
Ereignis „Microsoft.Storage.BlobCreated“ (Data Lake Storage Gen2)
Wenn das Blob Storage-Konto über einen hierarchischen Namespace verfügt, sehen die Daten, mit Ausnahme dieser Änderungen, in etwa wie im vorherigen Beispiel aus:
- Der Schlüssel
data.api
wird auf die ZeichenfolgeCreateFile
oderFlushWithClose
festgelegt. - Der Schlüssel
contentOffset
wird in das Dataset eingeschlossen.
Hinweis
Wenn Anwendungen den Vorgang PutBlockList
verwenden, um ein neues Blob in das Konto hochzuladen, sind diese Änderungen nicht in den Daten enthalten.
[{
"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"
}]
Ereignis „Microsoft.Storage.BlobDeleted“ (Data Lake Storage Gen2)
Wenn das Blob Storage-Konto über einen hierarchischen Namespace verfügt, sehen die Daten, mit Ausnahme dieser Änderungen, in etwa wie im vorherigen Beispiel aus:
- Der Schlüssel
data.api
wird auf die ZeichenfolgeDeleteFile
festgelegt. - Die Schlüssel
url
enthält den Pfaddfs.core.windows.net
.
Hinweis
Wenn Anwendungen den Vorgang DeleteBlob
verwenden, um ein Blob aus dem Konto zu löschen, sind diese Änderungen nicht in den Daten enthalten.
[{
"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"
}]
Ereignis „Microsoft.Storage.BlobRenamed“ (Data Lake Storage Gen2)
[{
"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"
}]
Ereignis „Microsoft.Storage.DirectoryCreated“ (Data Lake Storage Gen2)
[{
"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"
}]
Ereignis „Microsoft.Storage.DirectoryRenamed“ (Data Lake Storage Gen2)
[{
"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"
}]
Ereignis „Microsoft.Storage.DirectoryDeleted“ (Data Lake Storage Gen2)
[{
"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-Ereignisse
Diese Ereignisse werden ausgelöst, wenn Sie einen hierarchischen Namensraum für das Speicherkonto aktivieren und Clients SFTP-APIs verwenden. Weitere Informationen zu SFTP-Support für Azure Blob Storage finden Sie unter SSH File Transfer Protocol (SFTP, Dateiübertragungsprotokoll) in Azure Blob Storage.
Ereignisname | BESCHREIBUNG |
---|---|
Microsoft.Storage.BlobCreated | Wird ausgelöst, wenn ein BLOB (Binary Large Object) erstellt oder ersetzt wird. Konkret wird dieses Ereignis ausgelöst, wenn Clients die put Operation verwenden, die den SftpCreate und SftpCommit APIs entspricht. Ein leeres BLOB wird erstellt, wenn die Datei geöffnet wird, und der hochgeladene Inhalt wird übertragen, wenn die Datei geschlossen wird. Wenn die SFTP Resumable Uploads -Previewfunktion aktiviert ist, werden auch einige SftpWrite -Ereignisse beim Upload ausgelöst. |
Microsoft.Storage.BlobDeleted | Wird ausgelöst, wenn ein Blob gelöscht wird. Konkret wird dieses Ereignis auch ausgelöst, wenn Clients die rm Operation aufrufen, was der SftpRemove API entspricht. |
Microsoft.Storage.BlobRenamed | Wird ausgelöst, wenn ein Blob umbenannt wird. Konkret wird dieses Ereignis ausgelöst, wenn Clients die rename Operation für Dateien verwenden, was der SftpRename API entspricht. |
Microsoft.Storage.DirectoryCreated | Wird ausgelöst, wenn ein Verzeichnis erstellt wird. Konkret wird dieses Ereignis ausgelöst, wenn Clients die mkdir Operation verwenden, was der SftpMakeDir API entspricht. |
Microsoft.Storage.DirectoryRenamed | Wird ausgelöst, wenn ein Verzeichnis umbenannt wird. Konkret wird dieses Ereignis ausgelöst, wenn Clients die rename Operation in einem Verzeichnis verwenden, was der SftpRename API entspricht. |
Microsoft.Storage.DirectoryDeleted | Wird ausgelöst, wenn ein Verzeichnis gelöscht wird. Konkret wird dieses Ereignis ausgelöst, wenn Clients die rmdir Operation verwenden, was der SftpRemoveDir API entspricht. |
Beispielereignisse
Wenn ein Ereignis ausgelöst wird, sendet der Event Grid-Dienst Daten zum Ereignis an den Endpunkt, der über ein entsprechendes Abonnement verfügt. In diesem Abschnitt wird anhand eines Beispiels gezeigt, wie diese Daten für ein Blob Storage-Ereignis aussehen.
Ereignis Microsoft.Storage.BlobCreated (SFTP)
Wenn das BLOB-Speicherkonto SFTP verwendet, um ein BLOB zu erstellen oder zu überschreiben, dann sehen die Daten ähnlich aus wie im vorherigen Beispiel, mit Ausnahme dieser Änderungen:
Der Schlüssel
dataVersion
wird auf den Wert3
festgelegt.Der
data.api
-Schlüssel wird auf die ZeichenfolgeSftpCreate
,SftpWrite
oderSftpCommit
festgelegt.Der
clientRequestId
-Schlüssel ist nicht enthalten.Der
contentType
Schlüssel wird aufapplication/octet-stream
festgelegt.Der Schlüssel
contentOffset
wird in das Dataset eingeschlossen.Der Schlüssel
identity
wird in das Dataset eingeschlossen. Dies entspricht dem lokalen Benutzer, der für die SFTP-Authentifizierung verwendet wird.
Hinweis
SFTP-Uploads generieren 2 Ereignisse. Ein SftpCreate
für ein anfänglich leeres Blob, das beim Öffnen der Datei erstellt wird, und ein SftpCommit
, wenn der Inhalt der Datei am Ende des Uploads committet wird. Wenn die SFTP Resumable Uploads
-Previewfunktion aktiviert ist, werden auch einige SftpWrite
-Ereignisse beim Upload ausgelöst.
[{
"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"
}]
Ereignis Microsoft.Storage.BlobDeleted (SFTP)
Wenn das BLOB-Speicherkonto SFTP verwendet, um ein BLOB zu löschen, dann sehen die Daten ähnlich aus wie im vorherigen Beispiel, mit Ausnahme dieser Änderungen:
Der Schlüssel
dataVersion
wird auf den Wert2
festgelegt.Der Schlüssel
data.api
wird auf die ZeichenfolgeSftpRemove
festgelegt.Der
clientRequestId
-Schlüssel ist nicht enthalten.Der
contentType
Schlüssel wird aufapplication/octet-stream
festgelegt.Der Schlüssel
identity
wird in das Dataset eingeschlossen. Dies entspricht dem lokalen Benutzer, der für die SFTP-Authentifizierung verwendet wird.
[{
"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"
}]
Ereignis Microsoft.Storage.BlobRenamed (SFTP)
Wenn das BLOB-Speicherkonto SFTP verwendet, um ein BLOB umzubenennen, dann sehen die Daten ähnlich aus wie im vorherigen Beispiel, mit Ausnahme dieser Änderungen:
Der Schlüssel
data.api
wird auf die ZeichenfolgeSftpRename
festgelegt.Der
clientRequestId
-Schlüssel ist nicht enthalten.Der Schlüssel
identity
wird in das Dataset eingeschlossen. Dies entspricht dem lokalen Benutzer, der für die SFTP-Authentifizierung verwendet wird.
[{
"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"
}]
Ereignis Microsoft.Storage.DirectoryCreated (SFTP)
Wenn das BLOB-Speicherkonto SFTP verwendet, um ein Verzeichnis zu erstellen, dann sehen die Daten ähnlich aus wie im vorherigen Beispiel, mit Ausnahme dieser Änderungen:
Der Schlüssel
dataVersion
wird auf den Wert2
festgelegt.Der Schlüssel
data.api
wird auf die ZeichenfolgeSftpMakeDir
festgelegt.Der
clientRequestId
-Schlüssel ist nicht enthalten.Der Schlüssel
identity
wird in das Dataset eingeschlossen. Dies entspricht dem lokalen Benutzer, der für die SFTP-Authentifizierung verwendet wird.
[{
"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"
}]
Ereignis Microsoft.Storage.DirectoryRenamed (SFTP)
Wenn das BLOB-Speicherkonto SFTP verwendet, um ein Verzeichnis umzubenennen, dann sehen die Daten ähnlich aus wie im vorherigen Beispiel, mit Ausnahme dieser Änderungen:
Der Schlüssel
data.api
wird auf die ZeichenfolgeSftpRename
festgelegt.Der
clientRequestId
-Schlüssel ist nicht enthalten.Der Schlüssel
identity
wird in das Dataset eingeschlossen. Dies entspricht dem lokalen Benutzer, der für die SFTP-Authentifizierung verwendet wird.
[{
"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"
}]
Ereignis Microsoft.Storage.DirectoryDeleted (SFTP)
Wenn das BLOB-Speicherkonto SFTP verwendet, um ein Verzeichnis zu löschen, dann sehen die Daten ähnlich aus wie im vorherigen Beispiel, mit Ausnahme dieser Änderungen:
Der Schlüssel
data.api
wird auf die ZeichenfolgeSftpRemoveDir
festgelegt.Der
clientRequestId
-Schlüssel ist nicht enthalten.Der Schlüssel
identity
wird in das Dataset eingeschlossen. Dies entspricht dem lokalen Benutzer, der für die SFTP-Authentifizierung verwendet wird.
[{
"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"
}]
Richtlinienbezogene Ereignisse
Diese Ereignisse werden ausgelöst, wenn die von einer Richtlinie definierten Aktionen durchgeführt werden.
Ereignisname | BESCHREIBUNG |
---|---|
Microsoft.Storage.BlobInventoryPolicyCompleted | Wird ausgelöst, wenn die Bestandsaufnahme für eine Regel abgeschlossen ist, für die eine Bestandsprüfungsrichtlinie definiert ist. Dieses Ereignis tritt auch ein, wenn vor dem Start der Inventur ein Benutzerfehler auftritt. Beispielsweise wird dieses Ereignis durch eine ungültige Richtlinie oder durch einen Fehler aufgrund eines fehlenden Zielcontainers ausgelöst. |
Microsoft.Storage.LifecyclePolicyCompleted | Wird ausgelöst, wenn die von einer Lebenszyklusverwaltungsrichtlinie definierten Aktionen durchgeführt werden. |
Beispielereignisse
Wenn ein Ereignis ausgelöst wird, sendet der Event Grid-Dienst Daten zum Ereignis an den Endpunkt, der über ein entsprechendes Abonnement verfügt. In diesem Abschnitt wird anhand eines Beispiels gezeigt, wie diese Daten für ein Blob Storage-Ereignis aussehen.
Ereignis „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"
}
Ereignis „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"
}
Ereigniseigenschaften
Ein Ereignis weist die folgenden Daten auf oberster Ebene aus:
Eigenschaft | Typ | Beschreibung |
---|---|---|
source |
Zeichenfolge | Vollständiger Ressourcenpfaf zur Ereignisquelle. Dieses Feld ist nicht beschreibbar. Dieser Wert wird von Event Grid bereitgestellt. |
subject |
Zeichenfolge | Vom Herausgeber definierter Pfad zum Ereignisbetreff |
type |
Zeichenfolge | Einer der registrierten Ereignistypen für die Ereignisquelle. |
time |
Zeichenfolge | Die Zeit, in der das Ereignis generiert wird, basierend auf der UTC-Zeit des Anbieters. |
id |
Zeichenfolge | Eindeutiger Bezeichner für das Ereignis. |
data |
Objekt (object) | Ereignisdaten für Blob Storage. |
specversion |
Zeichenfolge | Version der CloudEvents-Schemaspezifikation. |
Das Datenobjekt weist die folgenden Eigenschaften auf:
Eigenschaft | Typ | Beschreibung |
---|---|---|
api |
Zeichenfolge | Der Vorgang, durch den das Ereignis ausgelöst wurde. |
clientRequestId |
Zeichenfolge | Vom Client bereitgestellte Anforderungs-ID für den Speicher-API-Vorgang. Diese ID kann zur Korrelation mit Azure Storage-Diagnoseprotokollen anhand des Felds „client-request-id“ in den Protokollen verwendet und in Clientanforderungen mit dem Header „x-ms-client-request-id“ bereitgestellt werden. Informationen finden Sie unter Storage Analytics Log Format (Storage Analytics-Protokollformat). |
requestId |
Zeichenfolge | Vom Dienst generierte Anforderungs-ID für den Speicher-API-Vorgang. Kann zum Korrelieren mit Azure Storage-Diagnoseprotokolle mithilfe des Felds „request-id-header“ in den Protokollen verwendet werden, und wird vom einleitenden API-Aufruf im „x-ms-request-id“-Header zurückgegeben. Informationen finden Sie unter Storage Analytics Log Format (Storage Analytics-Protokollformat). |
eTag |
Zeichenfolge | Der Wert, mit dem Sie Vorgänge bedingt ausführen können. |
contentType |
Zeichenfolge | Der für das Blob angegebene Inhaltstyp. |
contentLength |
integer | Die Größe des Blobs in Byte. |
blobType |
Zeichenfolge | Der Blobtyp. Gültige Werte sind „BlockBlob“ oder „PageBlob“. |
accessTier |
Zeichenfolge | Die Zielebene des Blobs. Wird nur für das Ereignis „BlobTierChanged“ angezeigt. |
previousTier |
Zeichenfolge | Die Quellebene des Blobs. Wird nur für das Ereignis „BlobTierChanged“ angezeigt. Wenn das Blob die Ebene vom Speicherkonto ableitet, wird dieses Feld nicht angezeigt. |
contentOffset |
Zahl | Das Offset (in Bytes) eines Schreibvorgangs zu dem Zeitpunkt, zu dem die ereignisauslösende Anwendung das Schreiben in die Datei abgeschlossen hat. Nur relevant für Ereignisse, die für Blob Storage-Konten mit einem hierarchischen Namespace ausgelöst wurden. |
destinationUrl |
Zeichenfolge | Die URL der Datei, die nach Abschluss des Vorgangs vorhanden ist. Wenn also beispielsweise eine Datei umbenannt wird, enthält die Eigenschaft destinationUrl die URL des neuen Dateinamens. Nur relevant für Ereignisse, die für Blob Storage-Konten mit einem hierarchischen Namespace ausgelöst wurden. |
sourceUrl |
Zeichenfolge | Die URL der Datei, die vor dem erfolgten Vorgang vorhanden ist. Wenn also beispielsweise eine Datei umbenannt wird, enthält sourceUrl die URL des ursprünglichen Dateinamens vor dem Umbenennungsvorgang. Nur relevant für Ereignisse, die für Blob Storage-Konten mit einem hierarchischen Namespace ausgelöst wurden. |
url |
Zeichenfolge | Der Pfad des Blobs. Wenn der Client eine Blob-REST-API verwendet, hat die URL die folgende Struktur: <storage-account-name>.blob.core.windows.net\<container-name>\<file-name> . Wenn der Client eine Data Lake Storage-REST-API verwendet, hat die URL die folgende Struktur: <storage-account-name>.dfs.core.windows.net/<file-system-name>/<file-name> . |
recursive |
Zeichenfolge | True , um den Vorgang für alle untergeordneten Verzeichnisse auszuführen; andernfalls False . Nur relevant für Ereignisse, die für Blob Storage-Konten mit einem hierarchischen Namespace ausgelöst wurden. |
sequencer |
Zeichenfolge | Ein nicht transparenter Zeichenfolgenwert, der die logische Reihenfolge von Ereignissen für einen bestimmten Blobnamen darstellt. Benutzer können anhand des standardmäßigen Zeichenfolgenvergleichs die relative Reihenfolge von zwei Ereignissen unter dem gleichen Blobnamen verstehen. |
identity |
Zeichenfolge | Ein Zeichenfolge-Wert, der die mit dem Ereignis verbundene Identität angibt. Für SFTP ist dies der lokale Benutzername. |
storageDiagnostics |
Objekt (object) | Diagnosedaten, die gelegentlich vom Azure Storage-Dienst einbezogen werden. Falls vorhanden, sollten sie vom Ereignisconsumer ignoriert werden. |
Tutorials und Vorgehensweisen
Titel | BESCHREIBUNG |
---|---|
Schnellstart: Weiterleiten von Blob Storage-Ereignissen an einen benutzerdefinierten Webendpunkt mit Azure CLI | Zeigt die Verwendung von Azure CLI zum Senden von Blob Storage-Ereignissen an einen WebHook. |
Schnellstart: Weiterleiten von Blob Storage-Ereignissen an einen benutzerdefinierten Webendpunkt mit PowerShell | Zeigt die Verwendung von Azure PowerShell zum Senden von Blob Storage-Ereignissen an einen WebHook. |
Schnellstart: Erstellen und Weiterleiten von Blob Storage-Ereignissen mit dem Azure-Portal | Zeigt die Verwendung des Portals zum Senden von Blob Storage-Ereignissen an einen WebHook. |
Azure CLI: Abonnieren von Ereignissen für ein Blobspeicherkonto | Beispielskript, mit dem Ereignisse für ein Blobspeicherkonto abonniert werden. Sendet das Ereignis an einen WebHook. |
PowerShell: Abonnieren von Ereignissen für ein Blobspeicherkonto | Beispielskript, mit dem Ereignisse für ein Blobspeicherkonto abonniert werden. Sendet das Ereignis an einen WebHook. |
Resource Manager-Vorlage: Erstellen eines Blobspeichers und Abonnements | Stellt ein Azure Blob Storage-Konto bereit und abonniert Ereignisse für dieses Speicherkonto. Sendet Ereignisse an einen WebHook. |
Übersicht: Reaktion auf Blob Storage-Ereignisse | Übersicht über die Integration von Blob Storage in Event Grid. |
Nächste Schritte
- Eine Einführung zu Azure Event Grid finden Sie unter Einführung in Azure Event Grid.
- Weitere Informationen zum Erstellen eines Azure Event Grid-Abonnements finden Sie unter Event Grid-Abonnementschema.
- Eine Einführung zum Arbeiten mit Blob Storage-Ereignissen finden Sie unter Routen von Blob Storage-Ereignissen -– Azure CLI.