Armazenamento de Blobs do Azure como uma origem de Grade de Eventos
Este artigo fornece as propriedades e o esquema para eventos de armazenamento de blob. Para obter uma introdução aos esquemas de eventos, consulte Esquema de eventos da Grade de Eventos do Azure. Ele também fornece uma lista de inícios rápidos e tutoriais para usar o Armazenamento de Blobs do Azure como uma fonte de eventos.
Nota
Somente contas de armazenamento do tipo StorageV2 (uso geral v2), BlockBlobStorage e BlobStorage suportam a integração de eventos. O armazenamento (finalidade geral v1) não suporta a integração com a Grade de Eventos.
Tipos de eventos disponíveis
Eventos de armazenamento de Blob
Esses eventos são acionados quando um cliente cria, substitui ou exclui um blob chamando APIs REST de Blob.
Nota
Os $logs
contêineres e $blobchangefeed
não são integrados à Grade de Eventos, portanto, a atividade nesses contêineres não gerará eventos. Além disso, usar o ponto de extremidade (abfss://URI)
dfs para contas habilitadas para namespace não hierárquico não gerará eventos, mas o ponto de extremidade (wasb:// URI)
de blob gerará eventos.
Nome do evento | Description |
---|---|
Microsoft.Storage.BlobCreated | Acionado quando um blob é criado ou substituído. Especificamente, esse evento é acionado quando os clientes usam as PutBlob operações , PutBlockList ou CopyBlob que estão disponíveis na API REST de Blob e quando o Blob de Bloco é completamente confirmado. Se os clientes usarem a CopyBlob operação em contas que têm o recurso de namespace hierárquico habilitado neles, a operação funcionará CopyBlob de forma um pouco diferente. Nesse caso, o evento Microsoft.Storage.BlobCreated é acionado quando a CopyBlob operação é iniciada e não quando o Blob de Bloco é completamente confirmado. |
Microsoft.Storage.BlobDeleted | Acionado quando um blob é excluído. Especificamente, esse evento é acionado quando os clientes chamam a DeleteBlob operação disponível na API REST de Blob. |
Microsoft.Storage.BlobTierChanged | Acionado quando a camada de acesso de blob é alterada. Especificamente, quando os clientes chamam a Set Blob Tier operação disponível na API REST de Blob, esse evento é acionado após a conclusão da alteração de camada. |
Microsoft.Storage.AsyncOperationInitiated | Acionado quando uma operação que envolve mover ou copiar dados do arquivo para camadas quentes ou frias é iniciada. Especificamente, esse evento é acionado quando os clientes chamam a Set Blob Tier API para mover um blob da camada de arquivo para a camada quente ou fria, ou quando os clientes chamam a Copy Blob API para copiar dados de um blob na camada de arquivo morto para um blob na camada quente ou fria. |
Exemplos de eventos
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 do Data Lake Storage Gen 2
Esses eventos são acionados se você habilitar um namespace hierárquico na conta de armazenamento e os clientes usarem APIs REST do Azure Data Lake Storage Gen2. Para obter mais informações sobre o Azure Data Lake Storage Gen2, consulte Introdução ao Azure Data Lake Storage Gen2.
Nome do evento | Description |
---|---|
Microsoft.Storage.BlobCreated | Acionado quando um blob é criado ou substituído. Especificamente, esse evento é acionado quando os clientes usam as CreateFile operações e FlushWithClose que estão disponíveis na API REST do Azure Data Lake Storage Gen2. |
Microsoft.Storage.BlobDeleted | Acionado quando um blob é excluído. Especificamente, esse evento também é acionado quando os clientes chamam a DeleteFile operação disponível na API REST do Azure Data Lake Storage Gen2. |
Microsoft.Storage.BlobRenomeado | Acionado quando um blob é renomeado. Especificamente, esse evento é acionado quando os clientes usam a RenameFile operação disponível na API REST do Azure Data Lake Storage Gen2. |
Microsoft.Storage.DirectoryCreated | Acionado quando um diretório é criado. Especificamente, esse evento é acionado quando os clientes usam a CreateDirectory operação disponível na API REST do Azure Data Lake Storage Gen2. |
Microsoft.Storage.DirectoryRenomeado | Acionado quando um diretório é renomeado. Especificamente, esse evento é acionado quando os clientes usam a RenameDirectory operação disponível na API REST do Azure Data Lake Storage Gen2. |
Microsoft.Storage.DirectoryDeleted | Acionado quando um diretório é excluído. Especificamente, esse evento é acionado quando os clientes usam a DeleteDirectory operação disponível na API REST do Azure Data Lake Storage Gen2. |
Nota
Para o Azure Data Lake Storage Gen2, se você quiser garantir que o evento Microsoft.Storage.BlobCreated seja acionado somente quando um Blob de Bloco estiver completamente confirmado, filtre o evento para a chamada da FlushWithClose
API REST. Esta chamada de API dispara o evento Microsoft.Storage.BlobCreated somente depois que os dados são totalmente confirmados em um Blob de Bloco. Para saber como criar um filtro, consulte Filtrar eventos para Grade de Eventos.
Exemplos de eventos
Evento Microsoft.Storage.BlobCreated (Data Lake Storage Gen2)
Se a conta de armazenamento de blob tiver um namespace hierárquico, os dados serão semelhantes ao exemplo anterior, com exceção destas alterações:
- A
data.api
chave é definida como a cadeia de caracteresCreateFile
ouFlushWithClose
. - A
contentOffset
chave está incluída no conjunto de dados.
Nota
Se os aplicativos usarem a PutBlockList
operação para carregar um novo blob para a conta, os dados não conterão essas alterações.
[{
"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)
Se a conta de armazenamento de blob tiver um namespace hierárquico, os dados serão semelhantes ao exemplo anterior, com exceção destas alterações:
- A
data.api
chave é definida como a cadeia de caracteresDeleteFile
. - A
url
chave contém o caminhodfs.core.windows.net
.
Nota
Se os aplicativos usarem a DeleteBlob
operação para excluir um blob da conta, os dados não conterão essas alterações.
[{
"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 SFTP
Esses eventos são acionados se você habilitar um namespace hierárquico na conta de armazenamento e os clientes usarem APIs SFTP. Para obter mais informações sobre o suporte SFTP para o Armazenamento de Blobs do Azure, consulte Protocolo de transferência de arquivos SSH (SFTP) no Armazenamento de Blobs do Azure.
Nome do evento | Description |
---|---|
Microsoft.Storage.BlobCreated | Acionado quando um blob é criado ou substituído. Especificamente, esse evento é acionado quando os clientes usam a put operação, que corresponde às SftpCreate APIs e SftpCommit . Um blob vazio é criado quando o arquivo é aberto e o conteúdo carregado é confirmado quando o arquivo é fechado. Se o recurso de SFTP Resumable Uploads visualização estiver ativado, alguns SftpWrite eventos também serão acionados durante o upload. |
Microsoft.Storage.BlobDeleted | Acionado quando um blob é excluído. Especificamente, esse evento também é acionado quando os clientes chamam a rm operação, que corresponde à SftpRemove API. |
Microsoft.Storage.BlobRenomeado | Acionado quando um blob é renomeado. Especificamente, esse evento é acionado quando os clientes usam a rename operação em arquivos, que corresponde à SftpRename API. |
Microsoft.Storage.DirectoryCreated | Acionado quando um diretório é criado. Especificamente, esse evento é acionado quando os clientes usam a mkdir operação, que corresponde à SftpMakeDir API. |
Microsoft.Storage.DirectoryRenomeado | Acionado quando um diretório é renomeado. Especificamente, esse evento é acionado quando os clientes usam a rename operação em um diretório, que corresponde à SftpRename API. |
Microsoft.Storage.DirectoryDeleted | Acionado quando um diretório é excluído. Especificamente, esse evento é acionado quando os clientes usam a rmdir operação, que corresponde à SftpRemoveDir API. |
Exemplos de eventos
Quando um evento é acionado, o serviço Event Grid envia dados sobre esse evento para o ponto final do subscritor. Esta seção contém um exemplo da aparência desses dados para cada evento de armazenamento de blob.
Evento Microsoft.Storage.BlobCreated (SFTP)
Se a conta de armazenamento de blob usar SFTP para criar ou substituir um blob, os dados serão semelhantes ao exemplo anterior, com exceção destas alterações:
A
dataVersion
chave é definida como um valor de3
.A
data.api
chave é definida como a cadeia de caracteresSftpCreate
,SftpWrite
ouSftpCommit
.A
clientRequestId
chave não está incluída.A
contentType
chave está definida comoapplication/octet-stream
.A
contentOffset
chave está incluída no conjunto de dados.A
identity
chave está incluída no conjunto de dados. Isso corresponde ao usuário local usado para autenticação SFTP.
Nota
Os uploads SFTP gerarão 2 eventos. Um SftpCreate
para um blob vazio inicial criado ao abrir o arquivo e outro SftpCommit
quando o conteúdo do arquivo é confirmado no final do upload. Se o recurso de SFTP Resumable Uploads
visualização estiver ativado, alguns SftpWrite
eventos também serão acionados durante o upload.
[{
"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)
Se a conta de armazenamento de blob usar SFTP para excluir um blob, os dados serão semelhantes ao exemplo anterior, com exceção destas alterações:
A
dataVersion
chave é definida como um valor de2
.A
data.api
chave é definida como a cadeia de caracteresSftpRemove
.A
clientRequestId
chave não está incluída.A
contentType
chave está definida comoapplication/octet-stream
.A
identity
chave está incluída no conjunto de dados. Isso corresponde ao usuário local usado para autenticação 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)
Se a conta de armazenamento de blob usar SFTP para renomear um blob, os dados serão semelhantes ao exemplo anterior, com exceção destas alterações:
A
data.api
chave é definida como a cadeia de caracteresSftpRename
.A
clientRequestId
chave não está incluída.A
identity
chave está incluída no conjunto de dados. Isso corresponde ao usuário local usado para autenticação 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)
Se a conta de armazenamento de blob usar SFTP para criar um diretório, os dados serão semelhantes ao exemplo anterior, com exceção destas alterações:
A
dataVersion
chave é definida como um valor de2
.A
data.api
chave é definida como a cadeia de caracteresSftpMakeDir
.A
clientRequestId
chave não está incluída.A
identity
chave está incluída no conjunto de dados. Isso corresponde ao usuário local usado para autenticação 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)
Se a conta de armazenamento de blob usar SFTP para renomear um diretório, os dados serão semelhantes ao exemplo anterior, com exceção destas alterações:
A
data.api
chave é definida como a cadeia de caracteresSftpRename
.A
clientRequestId
chave não está incluída.A
identity
chave está incluída no conjunto de dados. Isso corresponde ao usuário local usado para autenticação 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)
Se a conta de armazenamento de blob usar SFTP para excluir um diretório, os dados serão semelhantes ao exemplo anterior, com exceção destas alterações:
A
data.api
chave é definida como a cadeia de caracteresSftpRemoveDir
.A
clientRequestId
chave não está incluída.A
identity
chave está incluída no conjunto de dados. Isso corresponde ao usuário local usado para autenticação 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 com políticas
Esses eventos são acionados quando as ações definidas por uma política são executadas.
Nome do evento | Description |
---|---|
Microsoft.Storage.BlobInventoryPolicyCompleted | Acionado quando a execução do inventário é concluída para uma regra que é definida como uma política de inventário. Esse evento também ocorre se a execução do inventário falhar com um erro do usuário antes de começar a ser executada. Por exemplo, uma política inválida ou um erro que ocorre quando um contêiner de destino não está presente acionará o evento. |
Microsoft.Storage.LifecyclePolicyConcluído | Acionado quando as ações definidas por uma política de gerenciamento de ciclo de vida são executadas. |
Exemplos de eventos
Quando um evento é acionado, o serviço Event Grid envia dados sobre esse evento para o ponto final do subscritor. Esta seção contém um exemplo da aparência desses dados para cada evento de armazenamento de blob.
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"
}
Propriedades do evento
Um evento tem os seguintes dados de nível superior:
Propriedade | Type | Description |
---|---|---|
source |
string | Caminho completo do recurso para a origem do evento. Este campo não pode ser gravado. O Event Grid fornece este valor. |
subject |
string | Caminho definido pelo publicador para o assunto do evento. |
type |
string | Um dos tipos de eventos registados para esta origem de evento. |
time |
string | A hora em que o evento é gerado com base na hora UTC do provedor. |
id |
string | Identificador exclusivo do evento. |
data |
objeto | Dados de eventos de armazenamento de Blob. |
specversion |
string | Versão da especificação do esquema CloudEvents. |
O objeto de dados tem as seguintes propriedades:
Propriedade | Type | Description |
---|---|---|
api |
string | A operação que desencadeou o evento. |
clientRequestId |
string | um ID de solicitação fornecido pelo cliente para a operação da API de armazenamento. Essa ID pode ser usada para correlacionar aos logs de diagnóstico do Armazenamento do Azure usando o campo "client-request-id" nos logs e pode ser fornecida em solicitações de cliente usando o cabeçalho "x-ms-client-request-id". Consulte Formato de log. |
requestId |
string | ID de solicitação gerada pelo serviço para a operação da API de armazenamento. Pode ser usado para correlacionar aos logs de diagnóstico do Armazenamento do Azure usando o campo "request-id-header" nos logs e é retornado ao iniciar a chamada de API no cabeçalho 'x-ms-request-id'. Consulte Formato de log. |
eTag |
string | O valor que você pode usar para executar operações condicionalmente. |
contentType |
string | O tipo de conteúdo especificado para o blob. |
contentLength |
integer | O tamanho do blob em bytes. |
blobType |
string | O tipo de blob. Os valores válidos são "BlockBlob" ou "PageBlob". |
accessTier |
string | A camada de destino do blob. Aparece apenas para o evento BlobTierChanged. |
previousTier |
string | A camada de origem do blob. Aparece apenas para o evento BlobTierChanged. Se o blob estiver inferindo a camada da conta de armazenamento, esse campo não aparecerá. |
contentOffset |
Número | O deslocamento em bytes de uma operação de gravação feita no ponto em que o aplicativo que aciona eventos concluiu a gravação no arquivo. Aparece apenas para eventos acionados em contas de armazenamento de blob que têm um namespace hierárquico. |
destinationUrl |
string | A url do arquivo que existirá após a conclusão da operação. Por exemplo, se um arquivo for renomeado, a destinationUrl propriedade conterá a url do novo nome de arquivo. Aparece apenas para eventos acionados em contas de armazenamento de blob que têm um namespace hierárquico. |
sourceUrl |
string | A url do arquivo que existe antes da operação ser feita. Por exemplo, se um arquivo for renomeado, o sourceUrl contém a url do nome do arquivo original antes da operação de renomeação. Aparece apenas para eventos acionados em contas de armazenamento de blob que têm um namespace hierárquico. |
url |
string | O caminho para o blob. Se o cliente usa uma API REST de Blob, a url tem esta estrutura: <storage-account-name>.blob.core.windows.net\<container-name>\<file-name> . Se o cliente usar uma API REST de armazenamento Data Lake, a url terá esta estrutura: <storage-account-name>.dfs.core.windows.net/<file-system-name>/<file-name> . |
recursive |
string | True para executar a operação em todos os diretórios filho; caso contrário False . Aparece apenas para eventos acionados em contas de armazenamento de blob que têm um namespace hierárquico. |
sequencer |
string | Um valor de cadeia de caracteres opaco que representa a sequência lógica de eventos para qualquer nome de blob específico. Os usuários podem usar a comparação de cadeia de caracteres padrão para entender a sequência relativa de dois eventos no mesmo nome de blob. |
identity |
string | Um valor de cadeia de caracteres que representa a identidade associada ao evento. Para SFTP, este é o nome de usuário local. |
storageDiagnostics |
objeto | Dados de diagnóstico ocasionalmente incluídos pelo serviço de Armazenamento do Azure. Quando presente, deve ser ignorado pelos consumidores do evento. |
Tutorials and how-tos (Tutoriais e procedimentos)
Title | Description |
---|---|
Guia de início rápido: rotear eventos de armazenamento de Blob para um ponto de extremidade da Web personalizado com a CLI do Azure | Mostra como usar a CLI do Azure para enviar eventos de armazenamento de blob para um WebHook. |
Guia de início rápido: rotear eventos de armazenamento de Blob para um ponto de extremidade da Web personalizado com o PowerShell | Mostra como usar o Azure PowerShell para enviar eventos de armazenamento de blob para um WebHook. |
Guia de início rápido: criar e rotear eventos de armazenamento de Blob com o portal do Azure | Mostra como usar o portal para enviar eventos de armazenamento de blob para um WebHook. |
CLI do Azure: inscrever-se em eventos para uma conta de armazenamento de Blob | Script de exemplo que assina um evento para uma conta de armazenamento de Blob. Ele envia o evento para um WebHook. |
PowerShell: inscrever-se em eventos para uma conta de armazenamento de Blob | Script de exemplo que assina um evento para uma conta de armazenamento de Blob. Ele envia o evento para um WebHook. |
Modelo do Gerenciador de Recursos: Criar armazenamento de Blob e assinatura | Implementa uma conta de armazenamento de Blobs do Azure e subscreve eventos para essa conta de armazenamento. Ele envia eventos para um WebHook. |
Visão geral: reagindo a eventos de armazenamento de Blob | Visão geral da integração do armazenamento de Blob com a Grade de Eventos. |
Próximos passos
- Para obter uma introdução à Grade de Eventos do Azure, consulte O que é a Grade de Eventos?
- Para obter mais informações sobre como criar uma assinatura da Grade de Eventos do Azure, consulte Esquema de assinatura da Grade de Eventos.
- Para obter uma introdução ao trabalho com eventos de armazenamento de blob, consulte Eventos de armazenamento de Blob de rota - CLI do Azure.