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 PutBloboperações , PutBlockListou 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",
    "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",
    "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",
		"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 caracteres CreateFile ou FlushWithClose.
  • 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 caracteres DeleteFile.
  • A url chave contém o caminho dfs.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.
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 de 3.

  • A data.api chave é definida como a cadeia de caracteres SftpCreate ou SftpCommit.

  • A clientRequestId chave não está incluída.

  • A contentType chave está definida como application/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 é gravado.

[{
  "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 de 2.

  • A data.api chave é definida como a cadeia de caracteres SftpRemove.

  • A clientRequestId chave não está incluída.

  • A contentType chave está definida como application/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 caracteres SftpRename.

  • 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 de 2.

  • A data.api chave é definida como a cadeia de caracteres SftpMakeDir.

  • 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 caracteres SftpRename.

  • 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 caracteres SftpRemoveDir.

  • 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"
}]

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": ""
        },
        "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".
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