Stockage Blob Azure en tant que source Event Grid
Cet article fournit les propriétés et les schémas des événements de stockage Blob. Pour une présentation des schémas d’événements, consultez Schéma d’événements Azure Event Grid. Cet article fournit également une liste de démarrages rapides et de tutoriels permettant d’utiliser Stockage Blob Azure comme source d’événement.
Notes
Seuls les comptes de stockage de type StorageV2 (v2 universel) , BlockBlobStorage et BlobStorage prennent en charge l’intégration d’événements. Le type Stockage (v1 universel) ne prend pas en charge l’intégration à Event Grid.
Types d’événement disponibles
Événements de stockage Blob
Ces événements sont déclenchés quand un client crée, remplace ou supprime un objet blob en appelant des API REST d’objets blob.
Notes
Les conteneurs $logs
et $blobchangefeed
ne sont pas intégrés à Event Grid, si bien que l’activité dans ces conteneurs ne génère pas d’événements. De plus, l’utilisation du point de terminaison DFS (abfss://URI)
pour des comptes d’espace de noms activé non hiérarchique ne génère pas d’événements, mais le point de terminaison d’objet blob (wasb:// URI)
génère des événements.
Nom d'événement | Description |
---|---|
Microsoft.Storage.BlobCreated | Déclenché quand un objet blob est créé ou remplacé. Plus précisément, cet événement est déclenché lorsque des clients utilisent les opérations PutBlob , PutBlockList ou CopyBlob disponibles dans l’API REST Blob et quand l’objet blob de blocs est entièrement validé. Si des clients utilisent l’opération CopyBlob sur des comptes sur lesquels la fonctionnalité d’espace de noms hiérarchique est activée, l’opération CopyBlob fonctionne un peu différemment. Dans ce cas, l’événement Microsoft.Storage.BlobCreated est déclenché lors du lancement de l’opération CopyBlob , non quand l’objet blob de blocs est entièrement validé. |
Microsoft.Storage.BlobDeleted | Déclenché quand un objet blob est supprimé. Plus précisément, cet événement est déclenché quand des clients appellent l’opération DeleteBlob qui est disponible dans l’API REST d’objet blob. |
Microsoft.Storage.BlobTierChanged | Déclenché lors du changement du niveau d’accès au blob. Plus précisément, quand des clients appellent l’opération Set Blob Tier disponible dans l’API REST Blob, cet événement est déclenché une fois le changement de niveau accompli. |
Microsoft.Storage.AsyncOperationInitiated | Se déclenche quand une opération impliquant le déplacement ou la copie de données de l’archive vers les niveaux chauds ou froids est lancée. Plus précisément, cet événement se déclenche quand les clients appellent l’API Set Blob Tier pour déplacer un objet blob du niveau archive vers le niveau chaud ou froid, ou quand les clients appellent l’API Copy Blob pour copier des données d’un objet blob du niveau archive vers un objet blob du niveau chaud ou froid. |
Exemples d’événement
Événement 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"
}]
Événement 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"
}
Événement 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"
}
Événements Data Lake Storage Gen 2
Ces événements sont déclenchés si vous activez un espace de noms hiérarchique sur le compte de stockage et que des clients utilisent les API REST d'Azure Data Lake Storage Gen2. Pour plus d’informations sur Azure Data Lake Storage Gen2, consultez Présentation d’Azure Data Lake Storage Gen2.
Nom d'événement | Description |
---|---|
Microsoft.Storage.BlobCreated | Déclenché quand un objet blob est créé ou remplacé. Plus précisément, cet événement est déclenché quand des clients utilisent les opérations CreateFile et FlushWithClose qui sont disponibles dans l’API REST Azure Data Lake Storage Gen2. |
Microsoft.Storage.BlobDeleted | Déclenché quand un objet blob est supprimé. Plus précisément, cet événement est également déclenché quand des clients appellent l’opération DeleteFile qui est disponible dans l’API REST Azure Data Lake Storage Gen2. |
Microsoft.Storage.BlobRenamed | Déclenché quand un objet blob est renommé. Plus précisément, cet événement est déclenché quand des clients utilisent l’opération RenameFile qui est disponible dans l’API REST Azure Data Lake Storage Gen2. |
Microsoft.Storage.DirectoryCreated | Déclenché quand un répertoire est créé. Plus précisément, cet événement est déclenché quand des clients utilisent l’opération CreateDirectory qui est disponible dans l’API REST Azure Data Lake Storage Gen2. |
Microsoft.Storage.DirectoryRenamed | Déclenché quand un répertoire est renommé. Plus précisément, cet événement est déclenché quand des clients utilisent l’opération RenameDirectory qui est disponible dans l’API REST Azure Data Lake Storage Gen2. |
Microsoft.Storage.DirectoryDeleted | Déclenché quand un répertoire est supprimé. Plus précisément, cet événement est déclenché quand des clients utilisent l’opération DeleteDirectory qui est disponible dans l’API REST Azure Data Lake Storage Gen2. |
Notes
Concernant Azure Data Lake Storage Gen2, si vous souhaitez que l'événement Microsoft.Storage.BlobCreated ne soit déclenché que lorsqu'un objet blob de blocs est complètement validé, filtrez l'événement pour l'appel d'API REST FlushWithClose
. Cet appel d’API déclenche l’événement Microsoft.Storage.BlobCreated uniquement quand les données sont entièrement validées dans un objet blob de blocs. Pour savoir comment créer un filtre, consultez Filtrer des événements pour Event Grid.
Exemples d’événement
Événement Microsoft.Storage.BlobCreated (Data Lake Storage Gen2)
Si le compte de stockage d'objets blob dispose d'un espace de noms hiérarchique, les données sont semblables à l'exemple précédent, à l'exception des changements suivants :
- La clé
data.api
est définie sur la chaîneCreateFile
ouFlushWithClose
. - La clé
contentOffset
est incluse dans le jeu de données.
Notes
Si des applications utilisent l’opération PutBlockList
pour charger un nouvel objet blob dans le compte, les données ne contiennent pas ces changements.
[{
"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"
}]
Événement Microsoft.Storage.BlobDeleted (Data Lake Storage Gen2)
Si le compte de stockage d'objets blob dispose d'un espace de noms hiérarchique, les données sont semblables à l'exemple précédent, à l'exception des changements suivants :
- La clé
data.api
est définie sur la chaîneDeleteFile
. - La clé
url
contient le chemindfs.core.windows.net
.
Notes
Si des applications utilisent l’opération DeleteBlob
pour supprimer un objet blob du compte, les données ne contiennent pas ces changements.
[{
"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"
}]
Événement 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"
}]
Événement 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"
}]
Événement 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"
}]
Événement 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"
}]
Événements SFTP
Ces événements sont déclenchés si vous activez un espace de noms hiérarchique sur le compte de stockage et que des clients utilisent les API SFTP. Pour en savoir plus sur la prise en charge du protocole SFTP SSH dans Stockage Blob Azure, consultez Protocole SSH SFTP (File Transfer Protocol) dans Stockage Blob Azure.
Nom d'événement | Description |
---|---|
Microsoft.Storage.BlobCreated | Déclenché quand un objet blob est créé ou écrasé. Plus précisément, cet événement est déclenché lorsque les clients utilisent l’opération put , ce qui correspond aux API SftpCreate et SftpCommit . Un objet blob vide est créé lorsque le fichier est ouvert et que le contenu chargé est validé lorsque le fichier est fermé. Si la fonctionnalité en préversion SFTP Resumable Uploads est activée, certains événements SftpWrite seront également déclenchés pendant le chargement. |
Microsoft.Storage.BlobDeleted | Déclenché quand un objet blob est supprimé. Plus précisément, cet événement est également déclenché lorsque les clients appellent l’opération rm , ce qui correspond à l’API SftpRemove . |
Microsoft.Storage.BlobRenamed | Déclenché quand un objet blob est renommé. Plus précisément, cet événement est déclenché lorsque les clients utilisent l’opération rename sur des fichiers, ce qui correspond à l’API SftpRename . |
Microsoft.Storage.DirectoryCreated | Déclenché quand un répertoire est créé. Plus précisément, cet événement est déclenché lorsque les clients utilisent l’opération mkdir , ce qui correspond à l’API SftpMakeDir . |
Microsoft.Storage.DirectoryRenamed | Déclenché quand un répertoire est renommé. Plus précisément, cet événement est déclenché lorsque les clients utilisent l’opération rename sur un répertoire, ce qui correspond à l’API SftpRename . |
Microsoft.Storage.DirectoryDeleted | Déclenché quand un répertoire est supprimé. Plus précisément, cet événement est déclenché lorsque les clients utilisent l’opération rmdir , ce qui correspond à l’API SftpRemoveDir . |
Exemples d’événement
Quand un événement est déclenché, le service Event Grid envoie les données relatives à cet événement au point de terminaison d’abonnement. Cette section contient un exemple de ce à quoi ces données ressembleraient pour chaque événement de stockage d’objet blob.
Événement Microsoft.Storage.BlobCreated (SFTP)
Si le compte de stockage d'objets blob utilise SFTP pour créer ou écraser un objet blob, les données sont alors semblables à l'exemple précédent, à l'exception des changements suivants :
La clé
dataVersion
est définie sur la valeur3
.La clé
data.api
est définie sur la chaîneSftpCreate
,SftpWrite
ouSftpCommit
.La clé
clientRequestId
n’est pas incluse.La clé
contentType
est définie surapplication/octet-stream
.La clé
contentOffset
est incluse dans le jeu de données.La clé
identity
est incluse dans le jeu de données. Cela correspond à l’utilisateur local utilisé pour l’authentification SFTP.
Notes
Les chargements SFTP génèrent 2 événements. Un SftpCreate
pour un objet blob vide initial créé lors de l’ouverture du fichier et un SftpCommit
quand le contenu du fichier est validé à la fin du chargement. Si la fonctionnalité en préversion SFTP Resumable Uploads
est activée, certains événements SftpWrite
seront également déclenchés pendant le chargement.
[{
"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"
}]
Événement Microsoft.Storage.BlobDeleted (SFTP)
Si le compte de stockage d'objets blob utilise SFTP pour supprimer un objet blob, les données sont alors semblables à l'exemple précédent, à l'exception des changements suivants :
La clé
dataVersion
est définie sur la valeur2
.La clé
data.api
est définie sur la chaîneSftpRemove
.La clé
clientRequestId
n’est pas incluse.La clé
contentType
est définie surapplication/octet-stream
.La clé
identity
est incluse dans le jeu de données. Cela correspond à l’utilisateur local utilisé pour l’authentification 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"
}]
Événement Microsoft.Storage.BlobRenamed (SFTP)
Si le compte de stockage d'objets blob utilise SFTP pour renommer un objet blob, les données sont alors semblables à l'exemple précédent, à l'exception des changements suivants :
La clé
data.api
est définie sur la chaîneSftpRename
.La clé
clientRequestId
n’est pas incluse.La clé
identity
est incluse dans le jeu de données. Cela correspond à l’utilisateur local utilisé pour l’authentification 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"
}]
Événement Microsoft.Storage.DirectoryCreated (SFTP)
Si le compte de stockage d'objets blob utilise SFTP pour créer un répertoire, les données sont alors semblables à l'exemple précédent, à l'exception des changements suivants :
La clé
dataVersion
est définie sur la valeur2
.La clé
data.api
est définie sur la chaîneSftpMakeDir
.La clé
clientRequestId
n’est pas incluse.La clé
identity
est incluse dans le jeu de données. Cela correspond à l’utilisateur local utilisé pour l’authentification 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"
}]
Événement Microsoft.Storage.DirectoryRenamed (SFTP)
Si le compte de stockage d'objets blob utilise SFTP pour renommer un répertoire, les données sont alors semblables à l'exemple précédent, à l'exception des changements suivants :
La clé
data.api
est définie sur la chaîneSftpRename
.La clé
clientRequestId
n’est pas incluse.La clé
identity
est incluse dans le jeu de données. Cela correspond à l’utilisateur local utilisé pour l’authentification 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"
}]
Événement Microsoft.Storage.DirectoryDeleted (SFTP)
Si le compte de stockage d'objets blob utilise SFTP pour supprimer un répertoire, les données sont alors semblables à l'exemple précédent, à l'exception des changements suivants :
La clé
data.api
est définie sur la chaîneSftpRemoveDir
.La clé
clientRequestId
n’est pas incluse.La clé
identity
est incluse dans le jeu de données. Cela correspond à l’utilisateur local utilisé pour l’authentification 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"
}]
Événements liés aux stratégies
Ces événements sont déclenchés quand les actions définies par une stratégie sont effectuées.
Nom d'événement | Description |
---|---|
Microsoft.Storage.BlobInventoryPolicyCompleted | Déclenché lorsque l’exécution de l’inventaire est terminée pour une règle définie comme une stratégie d’inventaire. Cet événement se produit également si l’exécution de l’inventaire rencontre une erreur utilisateur avant de commencer. Par exemple, une stratégie non valide ou une erreur qui se produit lorsqu’un conteneur de destination n’est pas présent déclenchera l’événement. |
Microsoft.Storage.LifecyclePolicyCompleted | Déclenché lorsque les actions définies par une stratégie de gestion du cycle de vie sont exécutées. |
Exemples d’événement
Quand un événement est déclenché, le service Event Grid envoie les données relatives à cet événement au point de terminaison d’abonnement. Cette section contient un exemple de ce à quoi ces données ressembleraient pour chaque événement de stockage d’objet blob.
Microsoft.Storage.BlobInventoryPolicyCompleted event
{
"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 event
{
"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"
}
Propriétés d’événement
Un événement contient les données générales suivantes :
Propriété | Type | Description |
---|---|---|
source |
string | Chemin d’accès complet à la source de l’événement. Ce champ n’est pas modifiable. Event Grid fournit cette valeur. |
subject |
string | Chemin de l’objet de l’événement, défini par le serveur de publication. |
type |
string | Un des types d’événements inscrits pour cette source d’événement. |
time |
string | L’heure à quelle l’événement est généré selon l’heure UTC du fournisseur. |
id |
string | Identificateur unique de l’événement. |
data |
object | Données d’événement de stockage Blob. |
specversion |
string | Version de la spécification de schéma CloudEvents. |
L’objet de données comporte les propriétés suivantes :
Propriété | Type | Description |
---|---|---|
api |
string | Opération qui a déclenché l’événement. |
clientRequestId |
string | ID de requête fourni par le client pour l’opération d’API de stockage. Cet ID peut être utilisé pour mettre en corrélation les journaux de diagnostic Stockage Azure en utilisant le champ « client-request-id » dans les journaux, et peut être fourni dans des requêtes du client à l’aide de l’en-tête « x-ms-client-request-id ». Consultez Format de journal. |
requestId |
string | ID de requête généré par le service pour l’opération de l’API de stockage. Peut être utilisé pour mettre en corrélation les journaux de diagnostic de stockage Azure en utilisant le champ « request-id-header » dans les journaux d’activité et est retourné lors de l’initialisation de l’appel d’API dans l’en-tête ’x-ms-request-id’. Consultez Format de journal. |
eTag |
string | Valeur que vous pouvez utiliser pour exécuter des opérations de manière conditionnelle. |
contentType |
string | Type de contenu spécifié pour l’objet blob. |
contentLength |
entier | Taille de l’objet blob en octets. |
blobType |
string | Type d’objet blob. Les valeurs valides sont « BlockBlob » ou « PageBlob ». |
accessTier |
string | Niveau cible de l’objet blob. Apparaît uniquement pour l’événement BlobTierChanged. |
previousTier |
string | Niveau source de l’objet blob. Apparaît uniquement pour l’événement BlobTierChanged. Si l’objet blob déduit le niveau du compte de stockage, ce champ n’apparaît pas. |
contentOffset |
nombre | Décalage, en octets, d’une opération d’écriture effectuée au point où l’application de déclenchement d’événement a effectué l’écriture dans le fichier. Apparaît uniquement pour les événements déclenchés sur les comptes de stockage d’objets blob qui ont un espace de noms hiérarchique. |
destinationUrl |
string | URL du fichier qui existera une fois l’opération terminée. Par exemple, si un fichier est renommé, la propriété destinationUrl contient l’URL du nouveau nom de fichier. Apparaît uniquement pour les événements déclenchés sur les comptes de stockage d’objets blob qui ont un espace de noms hiérarchique. |
sourceUrl |
string | URL du fichier qui existe avant que l'opération ne soit effectuée. Par exemple, si un fichier est renommé, sourceUrl contient l'URL du nom de fichier d'origine avant l'opération de changement de nom. Apparaît uniquement pour les événements déclenchés sur les comptes de stockage d’objets blob qui ont un espace de noms hiérarchique. |
url |
string | Chemin de l’objet blob. Si le client utilise une API REST Blob, la structure de l'URL est la suivante : <storage-account-name>.blob.core.windows.net\<container-name>\<file-name> . Si le client utilise une API REST Data Lake Storage, la structure de l'URL est la suivante : <storage-account-name>.dfs.core.windows.net/<file-system-name>/<file-name> . |
recursive |
string | True pour exécuter l'opération sur tous les répertoires enfants ; sinon, False . Apparaît uniquement pour les événements déclenchés sur les comptes de stockage d’objets blob qui ont un espace de noms hiérarchique. |
sequencer |
string | Une valeur de chaîne opaque représentant l’ordre logique des événements pour n’importe quel nom d’objet Blob particulier. Les utilisateurs peuvent utiliser la comparaison de chaînes standard pour comprendre l’ordre relatif de deux événements sur le même nom d’objet Blob. |
identity |
string | Valeur de chaîne représentant l’identité associée à l'événement. Pour SFTP, il s’agit du nom d’utilisateur local. |
storageDiagnostics |
object | Des données de diagnostic occasionnellement incluses par le service de stockage Azure. Elles doivent, le cas échéant, être ignorées par les consommateurs d’événements. |
Tutoriels et guides pratiques
Intitulé | Description |
---|---|
Démarrage rapide : Acheminer des événements de stockage Blob vers un point de terminaison web avec Azure CLI | Montre comment utiliser Azure CLI pour envoyer des événements de stockage d’objets blob à un webhook. |
Démarrage rapide : Acheminer des événements de stockage Blob vers un point de terminaison web avec PowerShell | Montre comment utiliser Azure PowerShell pour envoyer des événements de stockage d’objets blob à un webhook. |
Démarrage rapide : Créer et acheminer des événements de stockage d’objets blob avec le portail Azure | Montre comment utiliser le portail pour envoyer des événements de stockage d’objets blob à un webhook. |
Azure CLI : S’abonner aux événements d’un compte de stockage Blob | Exemple de script pour s’abonner aux événements d’un compte de stockage Blob. Il envoie l’événement à un webhook. |
PowerShell : S’abonner aux événements d’un compte de stockage Blob | Exemple de script pour s’abonner aux événements d’un compte de stockage Blob. Il envoie l’événement à un webhook. |
Modèle Resource Manager : Créer un abonnement et un stockage d’objets blob | Déploie un compte de stockage blob Azure et s’abonne aux événements pour ce compte de stockage. Il envoie les événements vers un webhook. |
Vue d’ensemble : Réaction aux événements de Stockage Blob | Vue d’ensemble de l’intégration du stockage Blob à Event Grid. |
Étapes suivantes
- Pour une présentation d’Azure Event Grid, consultez Présentation d’Event Grid.
- Pour plus d’informations sur la création d’un abonnement Azure Event Grid, consultez Schéma d’abonnement à Event Grid.
- Pour plus d’informations sur l’utilisation des événements de stockage Blob, consultez Itinéraire d’événements de stockage Blob - Azure CLI.