Azure Blob Storage como origen de Event Grid
En este artículo se proporcionan las propiedades y los esquemas de los eventos de Blob Storage. Para una introducción a los esquemas de eventos, consulte Esquema de eventos de Azure Event Grid. También proporciona una lista de inicios rápidos y tutoriales para usar Azure Blob Storage como un origen de eventos.
Nota
Solo las cuentas de almacenamiento de tipo StorageV2 (uso general v2) , BlockBlobStorage y BlobStorage admiten la integración de eventos. Storage (uso general v1)no admite la integración con Event Grid.
Tipos de eventos disponibles
Eventos de Blob Storage
Estos eventos se desencadenan cuando un cliente crea, reemplaza o elimina un blob mediante una llamada a las API REST de Blob.
Nota
Los contenedores $logs
y $blobchangefeed
no están integrados con Event Grid, por lo que la actividad en estos contenedores no generará eventos. Además, el uso del punto de conexión DFS (abfss://URI)
para las cuentas habilitadas para el espacio de nombres no jerárquico no generará eventos, pero el punto de conexión de blob (wasb:// URI)
sí que generará eventos.
Nombre del evento | Descripción |
---|---|
Microsoft.Storage.BlobCreated | Se desencadena cuando se crea o se sustituye un blob. En concreto, este evento se desencadena cuando los clientes usan las operaciones PutBlob , PutBlockList o CopyBlob , que están disponibles en la API REST del blob y cuando el blob en bloques se confirma por completo. Si los clientes usan la operación CopyBlob en cuentas que tienen habilitada la característica de espacio de nombres jerárquico, la operación CopyBlob funciona de forma algo distinta. En ese caso, el evento Microsoft.Storage.BlobCreated se desencadena cuando se inicia la operación CopyBlob y no cuando el blob en bloques se confirma por completo. |
Microsoft.Storage.BlobDeleted | Se desencadena cuando se elimina un blob. En concreto, este evento se desencadena cuando los clientes usan la operación DeleteBlob que está disponibles en la API REST de Blob. |
Microsoft.Storage.BlobTierChanged | Se desencadena cuando se cambia el nivel de acceso de blob. En concreto, cuando los clientes llaman a la operación Set Blob Tier que está disponible en la API REST de blob, este evento se desencadena una vez que se completa el cambio de nivel. |
Microsoft.Storage.AsyncOperationInitiated | Se desencadena cuando se inicia una operación que supone mover o copiar datos desde el nivele de acceso de archivo al nivel de acceso frecuente o esporádico. En concreto, este evento se desencadena cuando los clientes llaman a la API Set Blob Tier para mover un blob del nivel de archivo al nivel de acceso frecuente o esporádico, o cuando los clientes llaman a la API Copy Blob para copiar datos de un blob en el nivel de acceso de archivo a un blob en el nivel de acceso frecuente o esporádico. |
Eventos de ejemplo
Evento 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"
}]
Evento 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"
}]
Evento 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"
}
Evento 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"
}
Eventos de Data Lake Storage Gen 2
Estos eventos se desencadenan si habilita un espacio de nombres jerárquico en la cuenta de almacenamiento y los clientes usan las API REST de Azure Data Lake Storage Gen2. Para más información sobre Azure Data Lake Storage Gen2, consulte Introducción a Azure Data Lake Storage Gen2.
Nombre del evento | Descripción |
---|---|
Microsoft.Storage.BlobCreated | Se desencadena cuando se crea o se sustituye un blob. En concreto, este evento se desencadena cuando los clientes usan las operaciones CreateFile y FlushWithClose que están disponibles en la API REST de Azure Data Lake Storage Gen2. |
Microsoft.Storage.BlobDeleted | Se desencadena cuando se elimina un blob. En concreto, este evento también se desencadena cuando los clientes llaman a la operación DeleteFile que está disponible en la API REST de Azure Data Lake Storage Gen2. |
Microsoft.Storage.BlobRenamed | Se desencadena cuando se cambia el nombre de un blob. En concreto, este evento se desencadena cuando los clientes usan la operación RenameFile que está disponible en la API REST de Azure Data Lake Storage Gen2. |
Microsoft.Storage.DirectoryCreated | Se desencadena cuando se crea un directorio. En concreto, este evento se desencadena cuando los clientes usan la operación CreateDirectory que está disponible en la API REST de Azure Data Lake Storage Gen2. |
Microsoft.Storage.DirectoryRenamed | Se desencadena cuando se cambia el nombre de un directorio. En concreto, este evento se desencadena cuando los clientes usan la operación RenameDirectory que está disponible en la API REST de Azure Data Lake Storage Gen2. |
Microsoft.Storage.DirectoryDeleted | Se desencadena cuando se elimina un directorio. En concreto, este evento se desencadena cuando los clientes usan la operación DeleteDirectory que está disponible en la API REST de Azure Data Lake Storage Gen2. |
Nota
En el caso de Azure Data Lake Storage Gen2, si quiere asegurarse de que el evento Microsoft.Storage.BlobCreated se desencadena únicamente cuando un blob en bloques está completamente confirmado, filtre el evento para la llamada de API REST FlushWithClose
. Esta llamada API desencadena el evento Microsoft.Storage.BlobCreated únicamente después de que los datos se hayan confirmado en un blob en bloques. Para información sobre cómo crear un filtro, consulte Filtrado de eventos para Event Grid.
Eventos de ejemplo
Evento Microsoft.Storage.BlobCreated (Data Lake Storage Gen2)
Si la cuenta de almacenamiento de blobs tiene un espacio de nombres jerárquico, los datos tendrán un aspecto similar al ejemplo anterior con la excepción de estos cambios:
- La clave
data.api
está establecida en la cadenaCreateFile
oFlushWithClose
. - La clave
contentOffset
está incluida en el conjunto de datos.
Nota
Si las aplicaciones utilizan la operación PutBlockList
para cargar un blob nuevo a la cuenta, los datos no contendrán estos cambios.
[{
"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"
}]
Evento Microsoft.Storage.BlobDeleted (Data Lake Storage Gen2)
Si la cuenta de almacenamiento de blobs tiene un espacio de nombres jerárquico, los datos tendrán un aspecto similar al ejemplo anterior con la excepción de estos cambios:
- La clave
data.api
está establecida en la cadenaDeleteFile
. - La clave
url
contiene la ruta de accesodfs.core.windows.net
.
Nota
Si las aplicaciones utilizan la operación DeleteBlob
para eliminar un blob de la cuenta, los datos no contendrán estos cambios.
[{
"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"
}]
Evento 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"
}]
Evento 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"
}]
Evento 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"
}]
Evento 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"
}]
Eventos de SFTP
Los siguientes eventos se desencadenarán si se habilita un espacio de nombres jerárquico en la cuenta de almacenamiento y los clientes usan las API de SFTP. Para más información sobre la compatibilidad de SFTP con Azure Blob Storage, consulte Protocolo de transferencia de archivos SSH (SFTP) en Azure Blob Storage.
Nombre del evento | Descripción |
---|---|
Microsoft.Storage.BlobCreated | Este evento se desencadena cuando se crea o se sobrescribe un blob. En concreto, se desencadena cuando los clientes usan la operación put , que corresponde a las API SftpCreate y SftpCommit . Cuando se abre el archivo, se crea un blob vacío y, cuando este se cierra, se confirma el contenido que se ha cargado en el blob. Si la característica de vista previa SFTP Resumable Uploads está habilitada, algunos eventos SftpWrite también se desencadenarán durante la carga. |
Microsoft.Storage.BlobDeleted | Se desencadena cuando se elimina un blob. En concreto, este evento se desencadena cuando los clientes usan la operación rm , que corresponde a la API SftpRemove . |
Microsoft.Storage.BlobRenamed | Se desencadena cuando se cambia el nombre de un blob. En concreto, este evento se desencadena cuando los clientes usan la operación rename , que corresponde a la API SftpRename , sobre cualquier archivo. |
Microsoft.Storage.DirectoryCreated | Se desencadena cuando se crea un directorio. En concreto, este evento se desencadena cuando los clientes usan la operación mkdir , que corresponde a la API SftpMakeDir . |
Microsoft.Storage.DirectoryRenamed | Se desencadena cuando se cambia el nombre de un directorio. En concreto, este evento se desencadena cuando los clientes usan la operación rename , que corresponde a la API SftpRename , sobre cualquier directorio. |
Microsoft.Storage.DirectoryDeleted | Se desencadena cuando se elimina un directorio. En concreto, este evento se desencadena cuando los clientes usan la operación rmdir , que corresponde a la API SftpRemoveDir . |
Eventos de ejemplo
Cuando se desencadena un evento, el servicio Event Grid envía datos sobre ese evento al punto de conexión correspondiente. Esta sección contiene un ejemplo del aspecto que deben tener los datos para cada evento de blob de almacenamiento.
Evento Microsoft.Storage.BlobCreated (SFTP)
Si la cuenta de almacenamiento de blobs usa el protocolo SFTP para crear o sobrescribir un blob, los datos tendrán un aspecto similar al ejemplo anterior con la excepción de los siguientes cambios:
La clave
dataVersion
tiene un valor de3
.La clave
data.api
se establece en la cadenaSftpCreate
,SftpWrite
oSftpCommit
.La clave
clientRequestId
no se incluye.La clave
contentType
se establece con el valorapplication/octet-stream
.La clave
contentOffset
está incluida en el conjunto de datos.La clave
identity
está incluida en el conjunto de datos. Su valor se corresponde con el usuario local que se usa en el proceso de autenticación SFTP.
Nota
Las cargas mediante SFTP generarán 2 eventos. El primero, de tipo SftpCreate
, se generará para el blob vacío inicial que se creará al abrir el archivo, mientras que el segundo, de tipo SftpCommit
, se generará cuando se confirma el contenido del archivo al final de la carga. Si la característica de vista previa SFTP Resumable Uploads
está habilitada, algunos eventos SftpWrite
también se desencadenarán durante la carga.
[{
"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"
}]
Evento Microsoft.Storage.BlobDeleted (SFTP)
Si la cuenta de almacenamiento de blobs usa el protocolo SFTP para eliminar un blob, los datos tendrán un aspecto similar al ejemplo anterior con la excepción de los siguientes cambios:
La clave
dataVersion
tiene un valor de2
.La clave
data.api
está establecida en la cadenaSftpRemove
.La clave
clientRequestId
no se incluye.La clave
contentType
se establece con el valorapplication/octet-stream
.La clave
identity
está incluida en el conjunto de datos. Su valor se corresponde con el usuario local que se usa en el proceso de autenticación 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"
}]
Evento Microsoft.Storage.BlobRenamed (SFTP)
Si la cuenta de almacenamiento de blobs usa el protocolo SFTP para cambiar el nombre de un blob, los datos tendrán un aspecto similar al ejemplo anterior con la excepción de los siguientes cambios:
La clave
data.api
está establecida en la cadenaSftpRename
.La clave
clientRequestId
no se incluye.La clave
identity
está incluida en el conjunto de datos. Su valor se corresponde con el usuario local que se usa en el proceso de autenticación 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"
}]
Evento Microsoft.Storage.DirectoryCreated (SFTP)
Si la cuenta de almacenamiento de blobs usa el protocolo SFTP para crear un directorio, los datos tendrán un aspecto similar al ejemplo anterior con la excepción de los siguientes cambios:
La clave
dataVersion
tiene un valor de2
.La clave
data.api
está establecida en la cadenaSftpMakeDir
.La clave
clientRequestId
no se incluye.La clave
identity
está incluida en el conjunto de datos. Su valor se corresponde con el usuario local que se usa en el proceso de autenticación 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"
}]
Evento Microsoft.Storage.DirectoryRenamed (SFTP)
Si la cuenta de almacenamiento de blobs usa el protocolo SFTP para cambiar el nombre de un directorio, los datos tendrán un aspecto similar al ejemplo anterior con la excepción de los siguientes cambios:
La clave
data.api
está establecida en la cadenaSftpRename
.La clave
clientRequestId
no se incluye.La clave
identity
está incluida en el conjunto de datos. Su valor se corresponde con el usuario local que se usa en el proceso de autenticación 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"
}]
Evento Microsoft.Storage.DirectoryDeleted (SFTP)
Si la cuenta de almacenamiento de blobs usa el protocolo SFTP para eliminar un directorio, los datos tendrán un aspecto similar al ejemplo anterior con la excepción de los siguientes cambios:
La clave
data.api
está establecida en la cadenaSftpRemoveDir
.La clave
clientRequestId
no se incluye.La clave
identity
está incluida en el conjunto de datos. Su valor se corresponde con el usuario local que se usa en el proceso de autenticación 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"
}]
Eventos relacionados con directivas
Estos eventos se desencadenan cuando se realizan las acciones definidas por una directiva.
Nombre del evento | Descripción |
---|---|
Microsoft.Storage.BlobInventoryPolicyCompleted | Se desencadena cuando se completa la ejecución del inventario para una regla que se define una directiva de inventario. Este evento también tiene lugar si se produce un error de usuario en la ejecución del inventario antes de que se inicie el proceso. Por ejemplo, el evento se desencadenará en caso de que la directiva no sea válida o si se produce un error debido a la ausencia de un contenedor de destino. |
Microsoft.Storage.LifecyclePolicyCompleted | Se desencadena cuando se realizan las acciones definidas por una directiva de administración del ciclo de vida. |
Eventos de ejemplo
Cuando se desencadena un evento, el servicio Event Grid envía datos sobre ese evento al punto de conexión correspondiente. Esta sección contiene un ejemplo del aspecto que deben tener los datos para cada evento de blob de almacenamiento.
Evento 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"
}
Evento 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"
}
Propiedades de evento
Un evento tiene los siguientes datos de nivel superior:
Propiedad | Tipo | Description |
---|---|---|
source |
string | Ruta de acceso completa a los recursos del origen del evento. En este campo no se puede escribir. Event Grid proporciona este valor. |
subject |
string | Ruta al asunto del evento definida por el anunciante. |
type |
string | Uno de los tipos de eventos registrados para este origen de eventos. |
time |
string | La hora de generación del evento en función de la hora UTC del proveedor. |
id |
string | Identificador único para el evento |
data |
object | Datos de eventos de Blob Storage. |
specversion |
string | Versión de especificación del esquema CloudEvents. |
El objeto data tiene las siguientes propiedades:
Propiedad | Tipo | Description |
---|---|---|
api |
string | Operación que desencadenó el evento. |
clientRequestId |
string | Id. de solicitud que proporciona el cliente para la operación de la API de Storage. Dicho id. se puede usar para establecer la correlación con los registros de diagnóstico de Azure Storage que usan el campo "client-request-id" en los registros y se puede proporcionar en las solicitudes de los clientes que usan el encabezado "x-ms-client-request-id". Consulte Storage Analytics Log Format (Formato de registro de Storage Analytics). |
requestId |
string | Id. de solicitud generado por el servicio para la operación de la API de Storage. Se puede usar para establecer la correlación con los registros de diagnóstico de Azure Storage que usan el campo "request-id-header" en los registros y se devuelve cuando se inicia la llamada API en el encabezado "x-ms-request-id". Consulte Storage Analytics Log Format (Formato de registro de Storage Analytics). |
eTag |
string | Valor que puede usar para ejecutar operaciones de manera condicional. |
contentType |
string | Tipo de contenido especificado para el blob. |
contentLength |
integer | Tamaño del blob en bytes. |
blobType |
string | El tipo de blob. Los valores válidos son "BlockBlob" o "PageBlob". |
accessTier |
string | El nivel de destino del blob. Solo aparece para el evento BlobTierChanged. |
previousTier |
string | El nivel de origen del blob. Solo aparece para el evento BlobTierChanged. Si el blob infiere el nivel a partir de la cuenta de almacenamiento, este campo no aparecerá. |
contentOffset |
number | Desplazamiento en bytes de una operación de escritura realizada en el punto en el que la aplicación de desencadenamiento de eventos completa la escritura del archivo. Solo aparece para los eventos desencadenados en las cuentas de almacenamiento de blobs que tienen un espacio de nombres jerárquico. |
destinationUrl |
string | Dirección URL del archivo que existirá una vez completada la operación. Por ejemplo, si se cambia el nombre de un archivo, la propiedad destinationUrl contiene la dirección URL del nuevo nombre de archivo. Solo aparece para los eventos desencadenados en las cuentas de almacenamiento de blobs que tienen un espacio de nombres jerárquico. |
sourceUrl |
string | Dirección URL del archivo que existe antes de completarse la operación. Por ejemplo, si se cambia el nombre de un archivo, sourceUrl contiene la dirección URL del nombre de archivo original antes de la operación de cambio de nombre. Solo aparece para los eventos desencadenados en las cuentas de almacenamiento de blobs que tienen un espacio de nombres jerárquico. |
url |
string | Ruta de acceso al blob. Si el cliente usa una API REST de blobs, la dirección URL tiene esta estructura: <storage-account-name>.blob.core.windows.net\<container-name>\<file-name> . Si el cliente usa una API REST de Data Lake Store, la dirección URL tiene esta estructura: <storage-account-name>.dfs.core.windows.net/<file-system-name>/<file-name> . |
recursive |
string | True para ejecutar la operación en todos los directorios secundarios; en caso contrario, False . Solo aparece para los eventos desencadenados en las cuentas de almacenamiento de blobs que tienen un espacio de nombres jerárquico. |
sequencer |
string | Un valor de cadena opaco que representa la secuencia lógica de eventos para cualquier nombre de blob concreto. Los usuarios pueden usar una comparación de cadenas estándar para conocer la secuencia relativa de dos eventos que estén en el mismo nombre de blob. |
identity |
string | El valor de esta cadena representa a la identidad que esté asociada con el evento. En el caso del protocolo SFTP, se trata del nombre de usuario local. |
storageDiagnostics |
object | Datos de diagnóstico que, en ocasiones, incluye el servicio Azure Storage. Cuando están presentes, los consumidores de eventos deben ignorarlos. |
Tutoriales y procedimientos
Título | Descripción |
---|---|
Guía de inicio rápido: enrutamiento de eventos de Blob Storage a un punto de conexión web personalizado con la CLI de Azure | Muestra cómo utilizar la CLI de Azure para enviar eventos de Blob Storage a un webhook. |
Guía de inicio rápido: enrutamiento de eventos de Blob Storage a un punto de conexión web personalizado con PowerShell | Muestra cómo utilizar Azure PowerShell para enviar eventos de Blob Storage a un webhook. |
Guía de inicio rápido: creación y enrutamiento de eventos de Blob Storage con Azure Portal | Muestra cómo utilizar el portal para enviar eventos de Blob Storage a un webhook. |
CLI de Azure: suscripción a eventos de una cuenta de Blob Storage | Script de ejemplo que se suscribe a un evento para una cuenta de Blob Storage. Envía el evento a un webhook. |
PowerShell: suscripción a eventos de una cuenta de Blob Storage | Script de ejemplo que se suscribe a un evento para una cuenta de Blob Storage. Envía el evento a un webhook. |
Plantilla de Resource Manager: Creación de almacenamiento y suscripción de blobs | Implementa una cuenta de Azure Blob Storage y crea una suscripción a eventos de dicha cuenta. Envía eventos a un webhook. |
Introducción: reacción ante eventos de Blob Storage | Información general de la integración de Blob Storage con Event Grid. |
Pasos siguientes
- Para una introducción a Azure Event Grid, consulte Introducción a Azure Event Grid.
- Para más información acerca de la creación de una suscripción de Azure Event Grid, consulte Esquema de suscripción de Event Grid.
- Para obtener una introducción acerca del trabajo con eventos de Blob Storage, consulte Enrutamiento de eventos de Blob Storage: CLI de Azure.