Azure Blob Depolama bir Event Grid olarak

Bu makale blob depolama olayları için özellikleri ve şemayı sağlar. Olay şemaları hakkında bilgi için bkz. Azure Event Grid şemaları. Ayrıca olay kaynağı olarak Azure Blob depolamayı kullanmaya başlamanız için hızlı başlangıçların Depolama öğreticilerin bir listesini sağlar.

Not

Yalnızca StorageV2 (genel amaçlı v2), BlockBlobStorage ve BlobStorage tür depolama hesapları olay tümleştirmeyi destekler. Depolama (genel amaçlı v1) sanal verilerle tümleştirmeyi Event Grid.

Kullanılabilir olay türleri

Blob REST API'leri için olay listesi

Bu olaylar, bir istemci Blob REST API'leri çağrılarak blobu oluşturduğunda, değiştirerek veya silerek tetiklenir.

Not

ve $logs $blobchangefeed kapsayıcıları, kapsayıcılarla Event Grid, dolayısıyla bu kapsayıcılarda etkinlik olay oluşturmaz. Ayrıca, hiyerarşik olmayan ad alanı etkin hesaplar için dfs uç noktasının kullanımı olay (abfss://URI) oluşturmaz, ancak blob uç noktası olayları (wasb:// URI) üretir.

Olay adı Description
Microsoft. Depolama. BlobCreated Blob oluşturulduğunda veya değiştirlendiğinde tetiklenir.
Özellikle bu olay, istemciler Blob depolama alanında kullanılabilen , veya işlemlerini REST API Blok Blobu tamamen işlendiğinde PutBlob PutBlockList CopyBlob tetiklenir.
İstemciler, hiyerarşik ad alanı özelliği etkinleştirilmiş hesaplarda işlemi CopyBlob kullanıyorsa, işlem biraz farklı CopyBlob çalışır. Bu durumda Microsoft.Depolama. BlobCreated olayı, blok blobu CopyBlob tamamen işlendiğinde değil, işlem başlatıldığı zaman tetiklenir.
Microsoft. Depolama. BlobDeleted Blob silindiğinde tetiklenir.
Özellikle bu olay, istemciler Blob depolama alanında DeleteBlob kullanılabilen işlemi çağıran REST API.
Microsoft. Depolama. BlobTierChanged Blob erişim katmanı değiştirlendiğinde tetiklenir. Özellikle, istemciler Blob depolama alanında kullanılabilen işlemi REST API, katman değişikliği Set Blob Tier tamamlandıktan sonra bu olay tetiklenir.
Microsoft. Depolama. AsyncOperationInitiated Verilerin arşivden sıcak veya soğutılmış katmanlara taşınmasını veya kopyalarını içeren bir işlem başlatıldığı zaman tetiklenir. Özellikle bu olay, istemciler bir blobu arşiv katmanından etkin veya cool katmanına taşımak için API'yi çağırarak veya istemciler arşiv katmanında bir blobdan, etkin veya cool katmanında bir bloba veri kopyalamak için API'yi çağırarak Set Blob Tier Copy Blob tetiklenir.

2. Nesil REST API'leri için Azure Data Lake Depolama olaylarının listesi

Bu olaylar, depolama hesabında hiyerarşik bir ad alanını etkinleştirir ve istemciler Azure Data Lake Depolama 2. Nesil REST API'lerini kullanır. Azure Data Lake Depolama 2. Nesil hakkında daha fazla bilgi için bkz. Azure Data Lake Depolama 2. Nesil'e giriş.

Olay adı Description
Microsoft. Depolama. BlobCreated Blob oluşturulduğunda veya değiştirlendiğinde tetiklenir.
Özellikle, istemciler Azure Data Lake 2. Nesil'de kullanılabilen ve işlemlerini CreateFile FlushWithClose Depolama tetiklenir REST API.
Microsoft. Depolama. BlobDeleted Blob silindiğinde tetiklenir.
Bu olay özellikle, istemciler Azure Data Lake 2. Nesil hizmet hizmet Depolama DeleteFile işlemi REST API.
Microsoft. Depolama. BlobRenamed Blob yeniden adlandırıldıkları zaman tetiklenir.
Özellikle bu olay, istemciler Azure Data Lake 2. Nesil'de kullanılabilen işlemi RenameFile Depolama REST API.
Microsoft. Depolama. DizinCreated Bir dizin oluşturulduğunda tetiklenir.
Özellikle bu olay, istemciler Azure Data Lake 2. Nesil'de kullanılabilen işlemi CreateDirectory Depolama REST API.
Microsoft. Depolama. DirectoryRenamed Bir dizin yeniden adlandırıldı olduğunda tetiklenir.
Özellikle bu olay, istemciler Azure Data Lake 2. Nesil'de kullanılabilen işlemi RenameDirectory Depolama REST API.
Microsoft. Depolama. DirectoryDeleted Bir dizin silindiğinde tetiklenir.
Özellikle bu olay, istemciler Azure Data Lake 2. Nesil'de kullanılabilen işlemi DeleteDirectory Depolama REST API.

Not

Azure Data Lake Depolama 2. Nesil için, Microsoft.Depolama. BlobCreated olayı yalnızca blok blobu tamamen işlendiğinde tetiklenir, olay için filtre REST API FlushWithClose çağrısını içerir. Bu API çağrısı Microsoft.Depolama. BlobCreated olayı yalnızca veriler blok blobu için tamamen işlendikten sonra. Filtre oluşturma hakkında bilgi edinmek için bkz. Filtre olayları Event Grid.

Örnek olay

Bir olay tetiklendiğinde, Event Grid hizmeti bu olayla ilgili verileri abone olan uç noktasına gönderir. Bu bölüm, her blob depolama olayı için bu verilerin nasıl bir görünüme sahip olacağının bir örneğini 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 Depolama 2. Nesil)

Blob depolama hesabının hiyerarşik bir ad alanı varsa, veriler bu değişiklikler dışında önceki örnektekine benzer:

  • anahtar dataVersion değerine 2 ayarlanır.

  • Anahtar data.api veya dizesine CreateFile FlushWithClose ayarlanır.

  • Anahtar, contentOffset veri kümesine dahil edilir.

Not

Uygulamalar hesaba PutBlockList yeni bir blob yüklemek 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/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 Depolama 2. Nesil)

Blob depolama hesabının hiyerarşik bir ad alanı varsa, veriler bu değişiklikler dışında önceki örnektekine benzer:

  • anahtar dataVersion değerine 2 ayarlanır.

  • anahtar data.api dizesine DeleteFile ayarlanır.

  • anahtarı url yolunu dfs.core.windows.net içerir.

Not

Uygulamalar DeleteBlob hesaptan blob silmek için işlemi kullanırsa, 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. AsyncOperationInitiated 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. BlobRenamed 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. DirectoryRenamed 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 sahip:

Ö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ıç: Blob Depolama olaylarını Azure CLı ile özel bir Web uç noktasına yönlendirme Blob Depolama olaylarını bir Web kancasına göndermek için Azure CLı 'nın nasıl kullanılacağını gösterir.
Hızlı başlangıç: Blob Depolama olaylarını PowerShell ile özel bir Web uç noktasına yönlendirme blob depolama olaylarını bir web kancasına göndermek için Azure PowerShell nasıl kullanacağınızı gösterir.
Hızlı başlangıç: Azure portal Blob Depolama olaylarını oluşturun ve yönlendirin Portal 'ın Blob Depolama olaylarını bir Web kancasına göndermek için nasıl kullanılacağını gösterir.
Azure CLı: bir BLOB depolama hesabı için olaylara abone olma BLOB depolama hesabı için olaya abone olan örnek komut dosyası. Olayı bir Web kancasına gönderir.
PowerShell: bir BLOB depolama hesabı için olaylara abone olma BLOB depolama hesabı için olaya abone olan örnek komut dosyası. Olayı bir Web kancasına gönderir.
Kaynak Yöneticisi şablonu: BLOB depolama ve abonelik oluşturma Bir Azure Blob depolama hesabı dağıtır ve o depolama hesabı için olaylara abone olur. Olayları bir Web kancasına gönderir.
Genel Bakış: BLOB depolama olaylarına yeniden davranıyor Blob depolamayı Event Grid tümleştirmeyle ilgili genel bakış.

Sonraki adımlar