Armazenamento de Blobs do Azure como fonte de Grade de Eventos

Este artigo fornece as propriedades e esquema para eventos de armazenamento de bolhas. Para uma introdução aos esquemas de eventos, consulte Azure Event Grid esquema do evento. Também lhe dá uma lista de partidas rápidas e tutoriais para usar Armazenamento de Blobs do Azure como fonte de evento.

Nota

Apenas contas de armazenamento do tipo StorageV2 (finalidade geral v2), BlockBlobStorage e BlobStorage suportam a integração do evento. Armazenamento (propósito geral v1)não suporta a integração com a Grade de Eventos.

Tipos de eventos disponíveis

Lista de eventos para BLOB REST APIs

Estes eventos são desencadeados quando um cliente cria, substitui ou elimina uma bolha chamando APIs blob REST.

Nota

Os $logs contentores e contentores não estão $blobchangefeed integrados com a Grade de Eventos, pelo que a atividade nestes contentores não gerará eventos. Além disso, a utilização do ponto (abfss://URI) final do dfs para contas não hierárquicas ativadas não gerará eventos, mas o ponto (wasb:// URI) final blob gerará eventos.

Nome do evento Description
A Microsoft. Armazenamento. BlobCreated Acionado quando uma bolha é criada ou substituída.
Especificamente, este evento é desencadeado quando os clientes utilizam o PutBlob, PutBlockListou CopyBlob operações que estão disponíveis na API Blob REST e quando o Block Blob está completamente comprometido.
Se os clientes utilizarem a CopyBlob operação em contas que tenham a funcionalidade hierárquica do espaço de identificação ativada, a CopyBlob operação funciona de forma um pouco diferente. Nesse caso, o Microsoft.Armazenamento. O evento BlobCreated é desencadeado quando a CopyBlob operação é iniciada e não quando a Blob de Bloco está completamente comprometida.
A Microsoft. Armazenamento. BlobDeleted Acionado quando uma bolha é apagada.
Especificamente, este evento é desencadeado quando os clientes ligam para a DeleteBlob operação que está disponível na API Blob REST.
A Microsoft. Armazenamento. BlobTierChanged Acionado quando o nível de acesso blob é alterado. Especificamente, quando os clientes ligam para a Set Blob Tier operação que está disponível na API Blob REST, este evento é desencadeado após a conclusão da mudança de nível.
A Microsoft. Armazenamento. AsyncOperationInitiated Desencadeado quando é iniciada uma operação que envolva a deslocação ou a cópia de dados do arquivo para níveis quentes ou frescos. Especificamente, este evento é desencadeado quer quando os clientes ligam para a Set Blob Tier API para mover uma bolha do nível de arquivo para nível quente ou fresco, ou quando os clientes ligam para a Copy Blob API para copiar dados de uma bolha no nível de arquivo para uma bolha no nível quente ou fresco.

Lista dos eventos para Azure Data Lake Storage Gen 2 REST APIs

Estes eventos são desencadeados se ativar um espaço hierárquico na conta de armazenamento, e os clientes usam Azure Data Lake Storage Gen2 REST APIs. Para obter mais informações Azure Data Lake Storage Gen2, consulte Introdução à Azure Data Lake Storage Gen2.

Nome do evento Description
A Microsoft. Armazenamento. BlobCreated Acionado quando uma bolha é criada ou substituída.
Especificamente, este evento é desencadeado quando os clientes usam o CreateFile e operações que estão FlushWithClose disponíveis no Azure Data Lake Storage Gen2 REST API.
A Microsoft. Armazenamento. BlobDeleted Acionado quando uma bolha é apagada.
Especificamente, este evento também é desencadeado quando os clientes ligam para a DeleteFile operação que está disponível na Azure Data Lake Storage Gen2 REST API.
A Microsoft. Armazenamento. BlobRenamed Desencadeado quando uma bolha é renomeada.
Especificamente, este evento é desencadeado quando os clientes usam a RenameFile operação que está disponível no Azure Data Lake Storage Gen2 REST API.
A Microsoft. Armazenamento. Diretório Desencadeado quando um diretório é criado.
Especificamente, este evento é desencadeado quando os clientes usam a CreateDirectory operação que está disponível no Azure Data Lake Storage Gen2 REST API.
A Microsoft. Armazenamento. DiretórioRenamed Desencadeado quando um diretório é renomeado.
Especificamente, este evento é desencadeado quando os clientes usam a RenameDirectory operação que está disponível no Azure Data Lake Storage Gen2 REST API.
A Microsoft. Armazenamento. DiretórioDeletado Desencadeado quando um diretório é apagado.
Especificamente, este evento é desencadeado quando os clientes usam a DeleteDirectory operação que está disponível no Azure Data Lake Storage Gen2 REST API.

Nota

Para Azure Data Lake Storage Gen2, se quiser garantir que o Microsoft.Armazenamento. O evento BlobCreated só é desencadeado quando uma Blob de Bloco está completamente comprometida, filtrar o evento para a FlushWithClose chamada REST API. Esta chamada API ativa o Microsoft.Armazenamento. Evento blobcreated apenas depois de os dados estiverem totalmente comprometidos com uma Blob Block. Para aprender a criar um filtro, consulte eventos de filtro para a Grelha de Eventos.

Exemplo evento

Quando um evento é acionado, o serviço Event Grid envia dados sobre esse evento para o ponto final do subscritor. Esta secção contém um exemplo de como seriam esses dados para cada evento de armazenamento de bolhas.

A Microsoft. Armazenamento. Evento BlobCreated

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/test-container/blobs/new-file.txt",
  "eventType": "Microsoft.Storage.BlobCreated",
  "eventTime": "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"
    }
  },
  "dataVersion": "",
  "metadataVersion": "1"
}]

A Microsoft. Armazenamento. Evento BlobCreated (Data Lake Storage Gen2)

Se a conta de armazenamento blob tiver um espaço hierárquico de nomes, os dados são semelhantes ao exemplo anterior, com exceção destas alterações:

  • A dataVersion chave está definida para um valor de 2.

  • A data.api chave está definida para a corda CreateFile ou FlushWithClose. .

  • A contentOffset chave está incluída no conjunto de dados.

Nota

Se as aplicações utilizarem a PutBlockList operação para enviar uma nova bolha para a conta, os dados não contêm estas alterações.

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/new-file.txt",
  "eventType": "Microsoft.Storage.BlobCreated",
  "eventTime": "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"
    }
  },
  "dataVersion": "2",
  "metadataVersion": "1"
}]

A Microsoft. Armazenamento. Evento BlobDeleted

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/testcontainer/blobs/file-to-delete.txt",
  "eventType": "Microsoft.Storage.BlobDeleted",
  "eventTime": "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"
    }
  },
  "dataVersion": "",
  "metadataVersion": "1"
}]

A Microsoft. Armazenamento. Evento BlobDeleted (Data Lake Storage Gen2)

Se a conta de armazenamento blob tiver um espaço hierárquico de nomes, os dados são semelhantes ao exemplo anterior, com exceção destas alterações:

  • A dataVersion chave está definida para um valor de 2.

  • A data.api chave está definida para a corda DeleteFile.

  • A url chave contém o caminho dfs.core.windows.net.

Nota

Se as aplicações utilizarem a DeleteBlob operação para eliminar uma bolha da conta, os dados não contêm estas alterações.

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/file-to-delete.txt",
  "eventType": "Microsoft.Storage.BlobDeleted",
  "eventTime": "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"
    }
  },
  "dataVersion": "2",
  "metadataVersion": "1"
}]

A Microsoft. Armazenamento. Evento BlobTierChanged

{
	"topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
	"subject": "/blobServices/default/containers/testcontainer/blobs/Auto.jpg",
	"eventType": "Microsoft.Storage.BlobTierChanged",
	"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"
		}
	},
	"dataVersion": "",
	"metadataVersion": "1",
	"eventTime": "2021-05-04T15:00:00.8350154Z"
}

A Microsoft. Armazenamento. Evento AsyncOperationInitiated

{
	"topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
	"subject": "/blobServices/default/containers/testcontainer/blobs/00000.avro",
	"eventType": "Microsoft.Storage.AsyncOperationInitiated",
	"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"
		}
	},
	"dataVersion": "",
	"metadataVersion": "1",
	"eventTime": "2021-05-04T14:44:59.3204652Z"
}

A Microsoft. Armazenamento. Evento BlobRenamed

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/my-renamed-file.txt",
  "eventType": "Microsoft.Storage.BlobRenamed",
  "eventTime": "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"
    }
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

A Microsoft. Armazenamento. Evento Diretório

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/my-new-directory",
  "eventType": "Microsoft.Storage.DirectoryCreated",
  "eventTime": "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"
    }
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

A Microsoft. Armazenamento. Evento Diretório

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/my-renamed-directory",
  "eventType": "Microsoft.Storage.DirectoryRenamed",
  "eventTime": "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"
    }
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

A Microsoft. Armazenamento. Evento DirectoryDeleted

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/directory-to-delete",
  "eventType": "Microsoft.Storage.DirectoryDeleted",
  "eventTime": "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"
    }
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Propriedades do evento

Um evento tem os seguintes dados de alto nível:

Propriedade Tipo Description
topic cadeia (de carateres) Caminho completo de recursos para a fonte do evento. Este campo não é escrito. O Event Grid fornece este valor.
subject string Caminho definido pelo publicador para o assunto do evento.
eventType string Um dos tipos de eventos registados para esta origem de evento.
eventTime string O tempo que o evento é gerado com base no tempo UTC do fornecedor.
id string Identificador único para o evento.
data objeto Dados do evento de armazenamento de bolhas.
dataVersion string A versão do esquema do objeto de dados. O publicador define a versão do esquema.
metadataVersion string A versão do esquema dos metadados do evento. O Event Grid define o esquema das propriedades de nível superior. O Event Grid fornece este valor.

O objeto de dados tem as seguintes propriedades:

Propriedade Tipo Description
api cadeia (de carateres) A operação que desencadeou o evento.
clientRequestId string um ID de pedido fornecido pelo cliente para a operação de API de armazenamento. Este ID pode ser usado para correlacionar com a Azure Armazenamento registos de diagnóstico utilizando o campo "cliente-pedido-id" nos registos, e pode ser fornecido em pedidos do cliente usando o cabeçalho "x-ms-cliente-pedido-id". Consulte o Formato de Registo.
requestId string ID de pedido gerado pelo serviço para a operação de API de armazenamento. Pode ser usado para correlacionar com Azure Armazenamento registos de diagnóstico utilizando o campo "solicit-id-header" nos registos e é devolvido do início da chamada API no cabeçalho 'x-ms-request-id'. Consulte o Formato de Registo.
eTag string O valor que pode usar para executar operações condicionalmente.
contentType string O tipo de conteúdo especificado para a bolha.
contentLength número inteiro O tamanho da bolha em bytes.
blobType string O tipo de bolha. Os valores válidos são "BlockBlob" ou "PageBlob".
contentOffset número A compensação em bytes de uma operação de escrita realizada no ponto em que a aplicação de desencadeamento de eventos completou a escrita para o ficheiro.
Aparece apenas para eventos desencadeados em contas de armazenamento blob que têm um espaço hierárquico de nomes.
destinationUrl string O url do ficheiro que existirá após a conclusão da operação. Por exemplo, se um ficheiro for renomeado, a destinationUrl propriedade contém o url do nome do novo ficheiro.
Aparece apenas para eventos desencadeados em contas de armazenamento blob que têm um espaço hierárquico de nomes.
sourceUrl string A url do ficheiro que existe antes da operação ser feita. Por exemplo, se um ficheiro for renomeado, contém o sourceUrl url do nome original do ficheiro antes da operação do rebatizador.
Aparece apenas para eventos desencadeados em contas de armazenamento blob que têm um espaço hierárquico de nomes.
url string O caminho para a bolha.
Se o cliente utilizar uma API Blob REST, então o url tem esta estrutura: <storage-account-name>.blob.core.windows.net\<container-name>\<file-name>.
Se o cliente utilizar uma API rest Data Lake Storage, então o url tem esta estrutura: <storage-account-name>.dfs.core.windows.net/<file-system-name>/<file-name>.
recursive string True executar a operação em todas as diretórios infantis; caso contrário False.
Aparece apenas para eventos desencadeados em contas de armazenamento blob que têm um espaço hierárquico de nomes.
sequencer string Um valor de corda opaco que representa a sequência lógica de eventos para qualquer nome blob em particular. Os utilizadores podem usar a comparação de cordas padrão para entender a sequência relativa de dois eventos no mesmo nome blob.
storageDiagnostics objeto Dados de diagnóstico ocasionalmente incluídos pelo serviço Azure Armazenamento. Quando presente, deve ser ignorado pelos consumidores de eventos.

Tutorials and how-tos (Tutoriais e procedimentos)

Título Descrição
Quickstart: encaminhe os eventos de armazenamento blob para um ponto final personalizado da Web com Azure CLI Mostra como usar o Azure CLI para enviar eventos de armazenamento de bolhas para um WebHook.
Quickstart: encaminhe os eventos de armazenamento blob para um ponto final personalizado da Web com PowerShell Mostra como usar Azure PowerShell para enviar eventos de armazenamento de bolhas para um WebHook.
Quickstart: criar e encaminhar eventos de armazenamento Blob com o portal do Azure Mostra como usar o portal para enviar eventos de armazenamento de bolhas para um WebHook.
Azure CLI: subscreva eventos para uma conta de armazenamento Blob Guião de amostra que subscreve o evento para uma conta de armazenamento Blob. Envia o evento para um WebHook.
PowerShell: subscreva eventos para uma conta de armazenamento Blob Guião de amostra que subscreve o evento para uma conta de armazenamento Blob. Envia o evento para um WebHook.
Resource Manager modelo: Criar armazenamento e subscrição blob Implementa uma conta de armazenamento de Blobs do Azure e subscreve eventos para essa conta de armazenamento. Envia eventos para um WebHook.
Visão geral: reagir a eventos de armazenamento blob Visão geral da integração do armazenamento blob com grade de eventos.

Passos seguintes