Compartilhar via


Armazenamento de Blobs do Azure como fonte de dados da Grade Eventos

Este artigo fornece as propriedades e o esquema para eventos de armazenamento de blob. Para obter uma introdução a esquemas de evento, consulte esquema de grade de eventos do Azure. Também fornece uma lista de inícios rápidos e de tutoriais para usar o Armazenamento de Blobs do Azure como uma origem do evento.

Observação

Somente as contas de armazenamento do tipo StorageV2 (v2 de uso geral) , BlockBlobStorage e BlobStoragedão suporte à integração de eventos. O armazenamento (v1 de uso geral)não dá suporte à integração da Grade de Eventos.

Tipos de evento disponíveis

Eventos de Armazenamento de Blobs do Azure

Esses eventos são disparados quando um cliente cria, substitui ou exclui um blob chamando as APIs REST de Blob.

Observação

Os $logs$blobchangefeed contêineres não estão integrados à Grade de Eventos do Azure, portanto, a atividade nesses contêineres não gerará eventos. Além disso, o uso do ponto de extremidade DFS (abfss://URI) para contas habilitadas da namespace não-hierárquica não gerará eventos, mas o ponto de extremidade de blob (wasb:// URI) gerará eventos.

Nome do evento Descrição
Microsoft.Storage.BlobCreated Gerar quando um blob for criado ou substituído.
Especificamente, esse evento é disparado quando os clientes usam as operações PutBlob, PutBlockList ou CopyBlob que estão disponíveis na API REST do Blob e quando o Blob de Blocos é completamente confirmado.
Se os clientes usarem a operação CopyBlob em contas com o recurso de namespace hierárquico habilitado, a operação CopyBlob funcionará de forma um pouco diferente. Nesse caso, o evento Microsoft.Storage.BlobCreated é disparado quando a operação CopyBlob é iniciada, e não quando o Blob de Blocos é completamente confirmado.
Microsoft.Storage.BlobDeleted Gerar quando um blob for excluído.
Especificamente, este evento é disparado quando os clientes usam a DeleteBlob operação que esteja disponível na API REST do blob.
Microsoft.Storage.BlobTierChanged Disparado quando a camada de acesso de blobs é alterada. Especificamente, quando os clientes usam a operaçãoSet Blob Tier que está disponível na API REST do Blob, este evento é disparado após a alteração de camada ser concluída.
Microsoft.Storage.AsyncOperationInitiated Disparado quando uma operação que envolve a movimentação ou cópia de dados dos arquivos para camadas de acesso frequente ou esporádico é iniciada. Especificamente, esse evento é disparado quando os clientes chamam a API do Set Blob Tier para mover um blob da camada de arquivos para a camada de acesso frequente ou esporádico, ou quando os clientes chamam a API do Copy Blob para copiar dados de um blob na camada de arquivo para um blob na camada de acesso frequente ou esporádico.

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 Data Lake Storage Gen2

Esses eventos serão disparados se você habilitar um namespace hierárquico na conta de armazenamento e os clientes usarem o Azure Data Lake Storage Gen2 APIs REST. Para obter mais informações sobre o Azure Data Lake Storage Gen2, consulte Introdução ao Azure Data Lake Storage Gen2.

Nome do evento Descrição
Microsoft.Storage.BlobCreated Gerar quando um blob for criado ou substituído.
Especificamente, esse evento será disparado quando os clientes usarem as CreateFilee FlushWithClose operações e que estão disponíveis na API REST do Azure Data Lake Storage Gen2.
Microsoft.Storage.BlobDeleted Gerar quando um blob for excluído.
Especificamente, esse evento é disparado quando os clientes usam as DeleteFileoperações que estão disponíveis na API REST do Azure Data Lake Storage Gen2.
Microsoft.Storage.BlobRenamed Gerado quando um blob é renomeado.
Especificamente, esse evento é disparado quando os clientes usam a RenameFileoperação que está disponível na API REST do Azure Data Lake Storage Gen2.
Microsoft.Storage.DirectoryCreated Disparado quando um diretório é criado.
Especificamente, esse evento é disparado quando os clientes usam a CreateDirectoryoperação que está disponível na API REST do Azure Data Lake Storage Gen2.
Microsoft.Storage.DirectoryRenamed Disparado quando um diretório é renomeado.
Especificamente, esse evento é disparado quando os clientes usam a RenameDirectoryoperação que está disponível na API REST do Azure Data Lake Storage Gen2.
Microsoft.Storage.DirectoryDeleted Disparado quando um diretório é excluído.
Especificamente, este evento é disparado quando os clientes usam a DeleteDirectoryoperação que está disponível na API REST do Azure Data Lake Storage Gen2.

Observação

Para o Azure Data Lake Storage Gen2, se você quiser garantir que o eventoMicrosoft. Storage. BlobCreated seja disparado apenas quando um blob de blocos for completamente confirmado, filtre o evento dasFlushWithClosechamadas API REST. Esta chamada à API dispara o evento Microsoft. Storage. BlobCreated somente depois que os dados estão totalmente confirmados em um blob de blocos. Para saber como criar um filtro,consulteEventos de filtro da Grade de Eventos.

Exemplos de eventos

Evento da Microsoft. Storage. BlobCreated (Data Lake Storage Gen2)

Se a conta de armazenamento de Blobs tiver um namespace hierárquico, os dados se assemelharão ao exemplo anterior com uma exceção dessas alterações:

  • Adata.api chave é definida como a cadeia de caracteresCreateFile ou FlushWithClose.
  • A contentOffsetchave está incluída no conjunto de dados.

Observação

Se os aplicativos utilizados na PutBlockList operação para carregar um novo BLOB à 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 da Microsoft. Storage. BlobCreated (Data Lake Storage Gen2)

Se a conta de armazenamento de Blobs tiver um namespace hierárquico, os dados se assemelharão ao exemplo anterior com uma exceção dessas alterações:

  • A data.api chave é definida como a cadeia de caracteres DeleteFile.
  • A url chave contém o caminhodfs.core.windows.net.

Observação

Se os aplicativos utilizados na DeleteBlob operação para excluir um novo BLOB à 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 serão disparados se você habilitar um namespace hierárquico na conta de armazenamento e os clientes usarem as APIs do SFTP. Para obter mais informações sobre o suporte ao SFTP para Armazenamento de Blobs do Azure, confira Protocolo SFTP do SSH no Armazenamento de Blobs do Azure.

Nome do evento Descrição
Microsoft.Storage.BlobCreated Disparado quando um blob é criado ou substituído.
Especificamente, esse evento é disparado quando os clientes usam a operação put, que corresponde às APIs SftpCreate e SftpCommit. Um blob vazio é criado quando o arquivo é aberto e o conteúdo carregado é confirmado quando o arquivo é fechado. Se o recurso SFTP Resumable Uploads de visualização estiver habilitado, alguns SftpWrite eventos também serão acionados durante o upload.
Microsoft.Storage.BlobDeleted Gerar quando um blob for excluído.
Especificamente, esse evento também é disparado quando os clientes chamam a operação rm, que corresponde à API SftpRemove.
Microsoft.Storage.BlobRenamed Gerado quando um blob é renomeado.
Especificamente, esse evento é disparado quando os clientes usam a operação rename em arquivos, que corresponde à API SftpRename.
Microsoft.Storage.DirectoryCreated Disparado quando um diretório é criado.
Especificamente, esse evento é disparado quando os clientes usam a operação mkdir, que corresponde à API SftpMakeDir.
Microsoft.Storage.DirectoryRenamed Disparado quando um diretório é renomeado.
Especificamente, esse evento é disparado quando os clientes usam a operação rename em um diretório, que corresponde à API SftpRename.
Microsoft.Storage.DirectoryDeleted Disparado quando um diretório é excluído.
Especificamente, esse evento é disparado quando os clientes usam a operação rmdir, que corresponde à API SftpRemoveDir.

Exemplos de eventos

Quando um evento é disparado, o serviço de Grade de Eventos envia dados sobre esse evento para o ponto de extremidade de assinatura. Esta seção tem um exemplo da aparência dos dados em cada evento do armazenamento do blob.

Evento (SFTP) Microsoft.Storage.BlobCreated

Se a conta de armazenamento de blobs usar o SFTP para criar ou substituir um blob, os dados se assemelharão ao exemplo anterior com uma exceção dessas alterações:

  • A dataVersionchave é definida a um valor de3.

  • A chave data.api está definida para a cadeia de caracteres SftpCreate, SftpWrite, ou SftpCommit.

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

  • A chave contentType está definida como application/octet-stream.

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

  • A identitychave está incluída no conjunto de dados. Isso corresponde ao usuário local usado para autenticação do SFTP.

Observação

Os uploads de SFTP gerarão dois eventos. Um SftpCreate para um blob vazio inicial criado ao abrir o arquivo e um SftpCommit quando o conteúdo do arquivo é confirmado no final do upload. Se o recurso SFTP Resumable Uploads de visualização estiver habilitado, 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 (SFTP) Microsoft.Storage.BlobDeleted

Se a conta de armazenamento de blobs usar o SFTP para excluir um blob, os dados se assemelharão ao exemplo anterior com uma exceção dessas alterações:

  • A dataVersionchave é definida a um valor de2.

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

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

  • A chave contentType está definida como application/octet-stream.

  • A identitychave está incluída no conjunto de dados. Isso corresponde ao usuário local usado para autenticação do 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 (SFTP) Microsoft.Storage.BlobRenamed

Se a conta de armazenamento de blobs usar o SFTP para renomear um blob, os dados se assemelharão ao exemplo anterior com uma exceção dessas alterações:

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

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

  • A identitychave está incluída no conjunto de dados. Isso corresponde ao usuário local usado para autenticação do 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 (SFTP) Microsoft.Storage.DirectoryCreated

Se a conta de armazenamento de blobs usar o SFTP para criar um diretório, os dados se assemelharão ao exemplo anterior com uma exceção dessas alterações:

  • A dataVersionchave é definida a um valor de2.

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

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

  • A identitychave está incluída no conjunto de dados. Isso corresponde ao usuário local usado para autenticação do 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 (SFTP) Microsoft.Storage.DirectoryRenamed

Se a conta de armazenamento de blobs usar o SFTP para renomear um diretório, os dados se assemelharão ao exemplo anterior com uma exceção dessas alterações:

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

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

  • A identitychave está incluída no conjunto de dados. Isso corresponde ao usuário local usado para autenticação do 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 (SFTP) Microsoft.Storage.DirectoryDeleted

Se a conta de armazenamento de blobs usar o SFTP para excluir um diretório, os dados se assemelharão ao exemplo anterior com uma exceção dessas alterações:

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

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

  • A identitychave está incluída no conjunto de dados. Isso corresponde ao usuário local usado para autenticação do 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 disparados quando as ações definidas por uma política são executadas.

Nome do evento Descrição
Microsoft.Storage.BlobInventoryPolicyCompleted Disparado quando a execução do inventário é concluída para uma regra definida como uma política de inventário. Este evento também ocorre se a execução do inventário falha com um erro de usuário antes de começar. Por exemplo, uma política inválida ou um erro ocorrido quando um contêiner de destino não está presente vai disparar o evento.
Microsoft.Storage.LifecyclePolicyCompleted Disparado quando as ações definidas por uma política de gerenciamento de ciclo de vida são executadas.

Exemplos de eventos

Quando um evento é disparado, o serviço de Grade de Eventos envia dados sobre esse evento para o ponto de extremidade de assinatura. Esta seção tem um exemplo da aparência dos dados em cada evento do armazenamento do 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 Descrição
source string Caminho de recurso completo para a origem do evento. Este campo não é gravável. A Grade de Eventos fornece esse valor.
subject string Caminho definido pelo publicador para o assunto do evento.
type string Um dos tipos de evento registrados para a origem do 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 do armazenamento de blob.
specversion string Versão de especificação do esquema CloudEvents.

O objeto de dados tem as seguintes propriedades:

Propriedade Type Descrição
api string A operação que disparou o evento.
clientRequestId string Uma ID da solicitação fornecida pelo cliente para a operação da API de armazenamento. Esta ID pode ser usada para correlacionar com os logs de diagnóstico do Armazenamento do Microsoft 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 da solicitação gerada pelo serviço de operação da API de armazenamento. Pode ser usada para correlacionar com os logs de diagnóstico do Armazenamento do Azure usando o campo "request-id-header" nos logs, e retornada pela inicialização da chamada á API no cabeçalho 'x-ms-request-id'. Consulte Formato de Log.
eTag string O valor que você pode usar para executar as operações condicionalmente.
contentType string O tipo de conteúdo especificado para o blob.
contentLength Número inteiro 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 somente para o evento BlobTierChanged.
previousTier string A camada de origem do blob. Aparece somente para o evento BlobTierChanged. Se o blob estiver inferindo a camada da conta de armazenamento, esse campo não será exibido.
contentOffset número O deslocamento de bytes de uma operação de gravação realizada no ponto em que o aplicativo de gatilho de evento conclui a gravação no arquivo.
Aparece somente durante os eventos disparados nas contas de armazenamento de BLOBs que têm um namespace hierárquico.
destinationUrl string O arquivo com URL existirá após a conclusão da operação. Por exemplo, se um arquivo for renomeado, a destinationUrl Propriedade conterá a URL do nome do novo arquivo.
Aparece somente durante os eventos disparados nas contas de armazenamento de BLOBs que têm um namespace hierárquico.
sourceUrl string O arquivo com URL existirá antes da operação ser concluída. Por exemplo, se um arquivo for renomeado, asourceUrlURL contém o nome do arquivo original antes da operação de renomeação.
Aparece somente durante os eventos disparados nas contas de armazenamento de BLOBs que têm um namespace hierárquico.
url string O caminho para o blob.
Se o cliente usar uma API REST de Blob, a url terá essa estrutura:<storage-account-name>.blob.core.windows.net\<container-name>\<file-name>.
Se o cliente usar uma API REST Data Lake Storage, a url terá essa 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 filhos; de outra maneiraFalse.
Aparece somente durante os eventos disparados nas contas de armazenamento de BLOBs que têm um namespace hierárquico.
sequencer string Um valor de cadeia de caracteres opaca que representa a sequência lógica de eventos para qualquer nome específico de blob. Os usuários podem usar a comparação de cadeia de caracteres padrão para entender a sequência relativa dos dois eventos no mesmo nome de blob.
identity string Um valor de cadeia de caracteres que representa a identidade associada ao evento. Para o SFTP, esse é 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 de evento.

Tutoriais e guias de instruções

Título Descrição
Início Rápido: encaminhar 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.
Início Rápido: encaminhar eventos de armazenamento de Blobs para um ponto de extremidade da Web personalizado com PowerShell Mostra como usar o Azure PowerShell para enviar eventos de armazenamento de blobs para um WebHook.
Início Rápido: criar e rotear eventos personalizados de armazenamento de Blobs com o portal do Azure Mostra como usar o portal para enviar eventos de armazenamento de blob para um WebHook.
CLI do Azure: assinar eventos para uma conta de armazenamento de Blob Script de exemplo que assina evento para uma conta de armazenamento de Blob. Ele envia o evento para um WebHook.
PowerShell: assinar eventos para uma conta de armazenamento de Blob Script de exemplo que assina evento para uma conta de armazenamento de Blob. Ele envia o evento para um WebHook.
Modelo do Gerenciador de Recursos: criar o armazenamento de Blob e assinatura Implanta uma conta de armazenamento de blobs do Azure e assina eventos para essa conta de armazenamento. Envia eventos para um WebHook.
Visão geral: reagir aos eventos de armazenamento de Blobs Visão geral da integração do Armazenamento de Blobs com a Grade de Eventos.

Próximas etapas