Azure Blob Event Grid kaynak olarak Depolama

Bu makalede, BLOB depolama olaylarına yönelik özellikler ve şema sağlanmaktadır. Olay şemalarına giriş için bkz. Azure Event Grid olay şeması. ayrıca, Azure Blob Depolama bir olay kaynağı olarak kullanmak için hızlı başlayan ve öğreticilerin bir listesini de sağlar.

Not

Yalnızca StorageV2 (genel amaçlı v2), blok Blobstorageve blobstorage türündeki depolama hesapları olay tümleştirmesini destekler. Depolama (genel amaçlı v1) Event Grid tümleştirmeyi desteklemez.

Kullanılabilir olay türleri

Blob REST API 'Lerinin olay listesi

Bu olaylar, bir istemci blob REST API 'Lerini çağırarak bir blobu oluşturduğunda, değiştirdiği veya sildiği zaman tetiklenir.

Not

$logsVe $blobchangefeed kapsayıcıları Event Grid ile tümleştirmemişse, bu kapsayıcılardaki etkinlik olay oluşturmaz. Ayrıca, (abfss://URI) hiyerarşik olmayan ad alanı etkin hesaplar için DFS uç noktası kullanılması olay oluşturmaz, ancak blob uç noktası (wasb:// URI) olaylar oluşturur.

Olay adı Açıklama
MICROSOFT. Depolama. BlobCreated Bir blob oluşturulduğunda veya değiştirildiğinde tetiklenir.
Özellikle, bu olay, istemcileri PutBlobPutBlockListCopyBlob BLOB REST API kullanılabilir olan, veya Blok Blobu tamamen yürütüldüğü PutBlob zaman, veya kullanan işlemleri kullandıklarında tetiklenir.
İstemciler CopyBlobCopyBlob özelliği etkinleştirilmiş hesaplarda işlemi kullanıyorsa, CopyBlob işlem biraz farklı çalışır. bu durumda, Microsoft. Depolama. BlobCreated olayı, işlem başlatıldığında tetiklenir ve blok blobu tamamen yürütüldüğü zaman değildir.
MICROSOFT. Depolama. BlobDeleted Blob silindiğinde tetiklenir.
Özellikle, bu olay, istemci DeleteBlob Blob REST API kullanılabilir olan işlemi çağırdığında tetiklenir.
MICROSOFT. Depolama. BlobTierChanged Blob erişim katmanı değiştirildiğinde tetiklenir. Özellikle, istemcileri Set Blob Tier Blob REST API kullanılabilir olan işlemi çağırdığında, bu olay katman değişikliği tamamlandıktan sonra tetiklenir.
MICROSOFT. Depolama. Asyncoperationbaşlatıldı Arşivden sık veya seyrek katmanlara veri taşımayı veya kopyalamayı içeren bir işlem başlatıldığında tetiklenir. Özellikle, bu olay, istemciler Set Blob Tier bir blob 'u arşiv katmanından sık erişimli veya seyrek erişimli katmana taşımak için API 'yi çağırdığında veya istemciler, Copy Blob Arşiv katmanındaki bir bloba sık erişimli veya seyrek erişimli katmanda blob 'a veri kopyalamak için API 'yi çağırdığında tetiklenir.

Azure Data Lake Storage Gen 2 REST apı 'lerinin olayları listesi

bu olaylar, depolama hesabında hiyerarşik bir ad alanı etkinleştirirseniz ve istemciler Azure Data Lake Storage 2. REST apı 'leri kullanıyorsa tetiklenir. Azure Data Lake Storage 2. hakkında daha fazla bilgi için bkz. Azure Data Lake Storage 2. giriş.

Olay adı Açıklama
MICROSOFT. Depolama. BlobCreated Bir blob oluşturulduğunda veya değiştirildiğinde tetiklenir.
özellikle, istemciler CreateFileFlushWithClose Azure Data Lake Storage 2. REST API kullanılabilir olan ve işlemlerini kullandıklarında bu olay tetiklenir.
MICROSOFT. Depolama. BlobDeleted Blob silindiğinde tetiklenir.
özellikle, bu olay ayrıca istemciler DeleteFile Azure Data Lake Storage 2. REST API kullanılabilir olan işlemi çağırdığında tetiklenir.
MICROSOFT. Depolama. Blobyeniden adlandırıldı Bir blob yeniden adlandırıldığında tetiklenir.
özellikle, istemciler RenameFile Azure Data Lake Storage 2. REST API kullanılabilir olan işlemi kullandıklarında bu olay tetiklenir.
MICROSOFT. Depolama. DirectoryCreated Bir dizin oluşturulduğunda tetiklenir.
özellikle, istemciler CreateDirectory Azure Data Lake Storage 2. REST API kullanılabilir olan işlemi kullandıklarında bu olay tetiklenir.
MICROSOFT. Depolama. Directoryyeniden adlandırıldı Bir dizin yeniden adlandırıldığında tetiklenir.
özellikle, istemciler RenameDirectory Azure Data Lake Storage 2. REST API kullanılabilir olan işlemi kullandıklarında bu olay tetiklenir.
MICROSOFT. Depolama. DirectoryDeleted Bir dizin silindiğinde tetiklenir.
özellikle, istemciler DeleteDirectory Azure Data Lake Storage 2. REST API kullanılabilir olan işlemi kullandıklarında bu olay tetiklenir.

Not

Azure Data Lake Storage 2.için, Microsoft. Depolama olduğundan emin olmak istiyorsanız . BlobCreated olayı yalnızca bir Blok Blobu tamamen yürütüldüğü zaman tetiklenir, REST API çağrısı için olayı filtreleyin . bu apı çağrısı Microsoft. Depolama tetikler. BlobCreated olayı yalnızca veriler bir blok blobuna tam olarak kaydedildikten sonra. Filtre oluşturmayı öğrenmek için bkz. Event Grid olayları filtreleme.

Örnek olay

Bir olay tetiklendiğinde Event Grid hizmeti bu olayla ilgili verileri abone olan uç noktaya gönderir. Bu bölüm, her BLOB depolama etkinliği için verilerin nasıl görüneceğine ilişkin bir örnek içerir.

MICROSOFT. Depolama. BlobCreated olayı

[{
  "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"
}]

MICROSOFT. Depolama. blobcreated olayı (Data Lake Storage 2.)

BLOB depolama hesabının hiyerarşik bir ad alanı varsa, veriler önceki örneğe benzer ve bu değişiklikler özel durumuyla benzerdir:

  • dataVersionAnahtar değerine ayarlanır 2 .

  • data.apiAnahtar dize veya olarak ayarlanır CreateFileFlushWithClose .

  • contentOffsetAnahtar, veri kümesine dahil edilir.

Not

Uygulamalar PutBlockList hesaba yeni bir blob yükleme işlemini kullanıyorsa, veriler bu değişiklikleri içermez.

[{
  "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"
}]

MICROSOFT. Depolama. BlobDeleted olayı

[{
  "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"
}]

MICROSOFT. Depolama. blobdeleted olayı (Data Lake Storage 2.)

BLOB depolama hesabının hiyerarşik bir ad alanı varsa, veriler önceki örneğe benzer ve bu değişiklikler özel durumuyla benzerdir:

  • dataVersionAnahtar değerine ayarlanır 2 .

  • data.apiAnahtar dizeye ayarlanır DeleteFile .

  • urlAnahtar yolu içerir dfs.core.windows.net .

Not

Uygulamalar DeleteBlob hesaptan bir blobu silmek için işlemi kullanıyorsa, veriler bu değişiklikleri içermez.

[{
  "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"
}]

MICROSOFT. Depolama. BlobTierChanged olayı

{
	"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"
}

MICROSOFT. Depolama. Asyncoperationbaşlatılan olay

{
	"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"
}

MICROSOFT. Depolama. Blobyeniden adlandırılmış olay

[{
  "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"
}]

MICROSOFT. Depolama. DirectoryCreated olayı

[{
  "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"
}]

MICROSOFT. Depolama. Directoryyeniden adlandırılmış olay

[{
  "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"
}]

MICROSOFT. Depolama. DirectoryDeleted olayı

[{
  "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"
}]

Olay özellikleri

Bir olay aşağıdaki en üst düzey verilere sahiptir:

Özellik Tür Description
topic dize Olay kaynağının tam kaynak yolu. Bu alan yazılabilir değil. Event Grid bu değeri sağlar.
subject string Olay konusunun yayımcı tarafından tanımlanan yolu.
eventType string Bu olay kaynağı için kayıtlı olay türlerinden biri.
eventTime string Etkinliğin UTC saatine göre oluşturulduğu zaman.
id string Etkinliğin benzersiz tanımlayıcısı.
data object BLOB depolama olay verileri.
dataVersion string Veri nesnesinin şema sürümü. Şema sürümünü yayımcı tanımlar.
metadataVersion string Olay meta verilerinin şema sürümü. Event Grid en üst düzey özelliklerin şemasını tanımlar. Event Grid bu değeri sağlar.

Veri nesnesi aşağıdaki özelliklere sahiptir:

Özellik Tür Description
api dize Olayı tetikleyen işlem.
clientRequestId string depolama API 'SI işlemi için istemci tarafından sağlanmış bir istek KIMLIĞI. bu kimlik, günlüklerdeki "istemci-istek-kimliği" alanı kullanılarak Azure Depolama tanılama günlükleri ile ilişkilendirmek için kullanılabilir ve "x-ms-client-request-ıd" üst bilgisi kullanılarak istemci isteklerinde sağlanabilirler. Günlük biçiminebakın.
requestId string Depolama API 'SI işlemi için hizmet tarafından oluşturulan istek KIMLIĞI. günlüklerde "istek-kimliği-üst bilgi" alanı kullanılarak Azure Depolama tanılama günlükleriyle ilişkilendirmek için kullanılabilir ve ' x-ms-request-id ' üstbilgisindeki apı çağrısını başlatma işleminden döndürülür. Günlük biçiminebakın.
eTag string İşlemleri koşullu olarak çalıştırmak için kullanabileceğiniz değer.
contentType string Blob için belirtilen içerik türü.
contentLength tamsayı Blobun bayt cinsinden boyutu.
blobType string Blob türü. Geçerli değerler "BlockBlob" ya da "PageBlob".
contentOffset sayı Olay tetikleme uygulamasının dosyaya yazmayı tamamladığı noktada gerçekleştirilen bir yazma işleminin bayt cinsinden değeri.
Yalnızca hiyerarşik bir ad alanına sahip BLOB depolama hesaplarında tetiklenen olaylar için görüntülenir.
destinationUrl string İşlem tamamlandıktan sonra var olacak dosyanın URL 'si. Örneğin, bir dosya yeniden adlandırılırsa, destinationUrl özelliği yeni dosya adının URL 'sini içerir.
Yalnızca hiyerarşik bir ad alanına sahip BLOB depolama hesaplarında tetiklenen olaylar için görüntülenir.
sourceUrl string İşlem tamamlanmadan önce var olan dosyanın URL 'si. Örneğin, bir dosya yeniden adlandırılırsa, sourceUrl yeniden adlandırma işleminden önce özgün dosya adının URL 'sini içerir.
Yalnızca hiyerarşik bir ad alanına sahip BLOB depolama hesaplarında tetiklenen olaylar için görüntülenir.
url string Blobun yolu.
İstemci bir blob REST API kullanıyorsa, URL bu yapıya sahiptir: <storage-account-name>.blob.core.windows.net\<container-name>\<file-name> .
istemci bir Data Lake Storage REST API kullanıyorsa, url bu yapıya sahiptir: <storage-account-name>.dfs.core.windows.net/<file-system-name>/<file-name> .
recursive string True işlemi tüm alt dizinlerde çalıştırmak için; Aksi takdirde False .
Yalnızca hiyerarşik bir ad alanına sahip BLOB depolama hesaplarında tetiklenen olaylar için görüntülenir.
sequencer string Belirli bir blob adı için olayların mantıksal dizisini temsil eden donuk bir dize değeri. Kullanıcılar, aynı blob adında iki olayın göreli sırasını anlamak için standart dize karşılaştırması kullanabilir.
storageDiagnostics object Azure Depolama hizmeti tarafından zaman içinde tanılama verileri dahildir. Varsa, olay tüketicileri tarafından yok sayılacak.

Öğreticiler ve nasıl yapılır kılavuzları

Başlık Açıklama
Hızlı Başlangıç: Azure CLI ile Blob depolama olaylarını özel bir web uç noktasına yönlendirme Bir Web Kancası'ne blob depolama olayları göndermek için Azure CLI'nın nasıl kullanılası gösterir.
Hızlı Başlangıç: PowerShell ile Blob depolama olaylarını özel bir web uç noktasına yönlendirme Web Kancası'Azure PowerShell blob depolama olaylarını göndermek için depolama alanı kullanımını gösterir.
Hızlı Başlangıç: Blob depolama olaylarını oluşturma ve Azure portal Bir Web Kancası'ne blob depolama olayları göndermek için portalın nasıl kullanılası gösterir.
Azure CLI: Blob depolama hesabı için olaylara abone olma Blob depolama hesabı için olayına abone olan örnek betik. Olayı bir Web Kancası'ne gönderir.
PowerShell: Blob depolama hesabı için olaylara abone olma Blob depolama hesabı için olayına abone olan örnek betik. Olayı bir Web Kancası'ne gönderir.
Resource Manager şablonu: Blob depolama ve abonelik oluşturma Bir Azure Blob depolama hesabı dağıtır ve o depolama hesabı için olaylara abone olur. Web Kancası'nın olaylarını gönderir.
Genel bakış: Blob depolama olaylarına tepki verme Blob depolamayı verilerle tümleştirmeye genel Event Grid.

Sonraki adımlar