Event Grid veri bağlantısı

Event Grid alımı, Azure depolama alanını dinleyen ve abone olunan olaylar gerçekleştiğinde bilgileri çekmek için Azure Veri Gezgini’ni güncelleştiren bir işlem hattıdır. Azure Veri Gezgini, oluşturulan veya blob olarak yeniden adlandırılan bildirimler için Azure Event Grid aboneliğiyle Azure Depolama'dan (Blob depolama ve ADLSv2) sürekli alma ve bu bildirimlerin bir Azure Event Hubs aracılığıyla Azure Veri Gezgini akışla aktarılmasını sağlar.

Event Grid alım işlem hattı birkaç adımdan geçer. Azure Veri Gezgini'da belirli bir biçimdeki verilerin alınacağı bir hedef tablo oluşturursunuz. Ardından Azure Veri Gezgini'de bir Event Grid veri bağlantısı oluşturursunuz. Event Grid veri bağlantısının, verilerin hangi tabloya gönderilip tablo eşlemesi gibi olay yönlendirme bilgilerini bilmesi gerekir. Ayrıca, alınacak verileri, hedef tabloyu ve eşlemeyi açıklayan alma özelliklerini de belirtirsiniz. Bağlantınızı test etmek için örnek veriler oluşturabilir ve blobları karşıya yükleyebilir veya blobları yeniden adlandırabilirsiniz . Alma sonrasında blobları silin.

Event Grid alımı Azure portal aracılığıyla, alım sihirbazı kullanılarak, C# veya Python ile program aracılığıyla ya da Azure Resource Manager şablonuyla yönetilebilir.

Azure Veri Gezgini'da veri alımı hakkında genel bilgi için bkz. Azure Veri Gezgini veri alımına genel bakış.

Azure Veri Gezgini veri bağlantısı kimlik doğrulama mekanizmaları

Dikkat

Yönetilen kimlik izinleri veri kaynağından kaldırılırsa, veri bağlantısı devre dışı bırakılır ve veri kaynağından veri getiremez.

  • Anahtar tabanlı veri bağlantısı: Veri bağlantısında yönetilen kimlik belirtilmezse, bağlantı otomatik olarak anahtar tabanlı kimlik doğrulamasına ayarlanır. Anahtar tabanlı bağlantılar, Azure Event Hubs bağlantı dizesi gibi bir kaynak bağlantı dizesi kullanarak verileri getirir. Azure Veri Gezgini, belirtilen kaynak için kaynak bağlantı dizesi oluşturur ve veri bağlantısına güvenli bir şekilde kaydeder. Bağlantı dizesi daha sonra veri kaynağından veri getirmek için kullanılır.

Dikkat

Anahtar döndürülürse, veri bağlantısı devre dışı bırakılır ve veri kaynağından veri getiremez. Sorunu düzeltmek için veri bağlantısını güncelleştirin veya yeniden oluşturun.

Veri biçimi

  • Desteklenen biçimlere bakın.
  • Bkz. desteklenen sıkıştırmalar.
    • Sıkıştırılmamış özgün veri boyutu blob meta verilerinin bir parçası olmalıdır, aksi takdirde Azure Veri Gezgini bunu tahmin eder. Dosya başına sıkıştırılmamış alma boyutu sınırı 6 GB'tır.

Not

Event Grid bildirim aboneliği , StorageV2veya Data Lake Storage 2. Nesil için BlobStorageAzure Depolama hesaplarında ayarlanabilir.

Alma özellikleri

Blob alımının alma özelliklerini blob meta verileri aracılığıyla belirtebilirsiniz. Aşağıdaki özellikleri ayarlayabilirsiniz:

Özellik Açıklama
rawSizeBytes Ham (sıkıştırılmamış) verilerin boyutu. Avro/ORC/Parquet için, biçime özgü sıkıştırma uygulanmadan önceki boyut. Bu özelliği bayt cinsinden sıkıştırılmamış veri boyutuna ayarlayarak özgün veri boyutunu sağlayın.
kustoDatabase Hedef veritabanının büyük/küçük harfe duyarlı adı. Varsayılan olarak, veriler veri bağlantısıyla ilişkili hedef veritabanına aktarılır. Varsayılan veritabanını geçersiz kılmak ve verileri farklı bir veritabanına göndermek için bu özelliği kullanın. Bunu yapmak için önce bağlantıyı çok veritabanılı bir bağlantı olarak ayarlamanız gerekir.
kustoTable Var olan hedef tablonun büyük/küçük harfe duyarlı adı. Bölmedeki kümeyi TableData Connection geçersiz kılar.
kustoDataFormat Veri biçimi. Bölmedeki kümeyi Data formatData Connection geçersiz kılar.
kustoIngestionMappingReference Kullanılacak mevcut alım eşlemesinin adı. Bölmedeki kümeyi Column mappingData Connection geçersiz kılar.
kustoIgnoreFirstRecord olarak ayarlanırsa trueKusto blobun ilk satırını yoksayar. Üst bilgileri yoksaymak için tablo biçimindeki verileri (CSV, TSV veya benzeri) kullanın.
kustoExtentTags Sonuç kapsamına eklenecek etiketleri temsil eden dize.
kustoCreationTime ISO 8601 dizesi olarak biçimlendirilmiş blob için Kapsam Oluşturma süresini geçersiz kılar. Geri doldurma için kullanın.

Olay yönlendirme

Kümenize bir veri bağlantısı oluşturduğunuzda, alınan verilerin nereye gönderileceğine ilişkin yönlendirmeyi belirtirsiniz. Varsayılan yönlendirme, hedef veritabanıyla ilişkili bağlantı dizesi belirtilen hedef tabloyadır. Verileriniz için varsayılan yönlendirme statik yönlendirme olarak da adlandırılır. Olay verileri özelliklerini kullanarak verileriniz için alternatif bir yönlendirme belirtebilirsiniz.

Olay verilerini alternatif veritabanına yönlendirme

Verileri alternatif bir veritabanına yönlendirme varsayılan olarak kapalıdır. Verileri farklı bir veritabanına göndermek için önce bağlantıyı çok veritabanılı bir bağlantı olarak ayarlamanız gerekir. Bunu Azure portal, C#, Python veya ARM şablonunda yapabilirsiniz. Veritabanı yönlendirmesine izin vermek için kullanılan kullanıcı, grup, hizmet sorumlusu veya yönetilen kimlik, kümede en azından katkıda bulunan rolüne ve yazma izinlerine sahip olmalıdır. Daha fazla bilgi için bkz. Azure Veri Gezgini için Event Grid veri bağlantısı oluşturma.

Alternatif bir veritabanı belirtmek için Veritabanıalımı özelliğini ayarlayın.

Uyarı

Bağlantıyı çok veritabanılı veri bağlantısı olarak ayarlamadan alternatif bir veritabanı belirtmek, alımın başarısız olmasına neden olur.

Olay verilerini alternatif bir tabloya yönlendirme

Azure Veri Gezgini kümesine blob depolama bağlantısı kurarken hedef tablo özelliklerini belirtin:

  • tablo adı
  • veri biçimi
  • eşleme

Ayrıca blob meta verilerini kullanarak her blob için hedef tablo özelliklerini belirtebilirsiniz. Veriler, alım özellikleri tarafından belirtildiği gibi dinamik olarak yönlendirilir.

Aşağıdaki örnekte, blob meta verilerini karşıya yüklemeden önce alım özelliklerini nasıl ayarlayacağınız gösterilmektedir. Bloblar farklı tablolara yönlendirilir.

Buna ek olarak, hedef veritabanını belirtebilirsiniz. Event Grid veri bağlantısı belirli bir veritabanı bağlamında oluşturulur. Bu nedenle bu veritabanı, veri bağlantısının varsayılan veritabanı yönlendirmesidir. Verileri farklı bir veritabanına göndermek için "KustoDatabase" alma özelliğini ayarlayın ve veri bağlantısını Çoklu veritabanı veri bağlantısı olarak ayarlayın. Verileri başka bir veritabanına yönlendirme varsayılan olarak devre dışıdır (izin verilmez). Birden çok veritabanına veri yönlendirmeye izin vermeden (bağlantıyı Çoklu veritabanı veri bağlantısı olarak ayarlama) veri bağlantısının veritabanından farklı bir veritabanı alma özelliğinin ayarlanması, veri alımının başarısız olmasına neden olur.

Daha fazla bilgi için bkz. Blobları karşıya yükleme.

var container = new BlobContainerClient("<storageAccountConnectionString>", "<containerName>");
await container.CreateIfNotExistsAsync();
var blob = container.GetBlobClient("<blobName>");
// Blob is dynamically routed to table `Events`, ingested using `EventsMapping` data mapping
await blob.SetMetadataAsync(
    new Dictionary<string, string>
    {
        { "rawSizeBytes", "4096" }, // the uncompressed size is 4096 bytes
        { "kustoTable", "Events" },
        { "kustoDataFormat", "json" },
        { "kustoIngestionMappingReference", "EventsMapping" },
        { "kustoDatabase", "AnotherDB" }
    }
);
await blob.UploadAsync(BinaryData.FromString(File.ReadAllText("<filePath>")));

Blobları karşıya yükleme

Yerel bir dosyadan blob oluşturabilir, alma özelliklerini blob meta verilerine ayarlayabilir ve karşıya yükleyebilirsiniz. Örnekler için bkz. Event Grid veri bağlantısını kullanma.

Not

  • Veri oluşturmak için komutunu kullanmanızı BlockBlob kesinlikle öneririz, bunun kullanılması AppendBlob beklenmeyen davranışlara neden olabilir.
  • Azure Data Lake 2. Nesil depolama SDK'sını kullanmak CreateFile için dosyaların karşıya yüklenmesi ve Flush sonunda close parametresinin olarak trueayarlanması gerekir. Data Lake 2. Nesil SDK'sının doğru kullanımına ilişkin ayrıntılı bir örnek için bkz. Event Grid veri bağlantısını kullanma.
  • Bir CopyBlob işlemden sonra alımı tetikleme, hiyerarşik ad alanı özelliğinin etkinleştirildiği depolama hesapları için desteklenmez.
  • Olay hub'ı uç noktası bir olayın alındıysa Azure Event Grid yeniden deneme mekanizmasını etkinleştirir. Bu yeniden deneme teslimi başarısız olursa, Event Grid teslim edilmemiş olayları teslim edilemeyen postalama işlemini kullanarak bir depolama hesabına teslim edebilir. Daha fazla bilgi için bkz . Event Grid ileti teslimi ve yeniden deneme.

Blobları yeniden adlandırma

ADLSv2 kullanırken, Azure Veri Gezgini blob alımını tetikleme amacıyla blobu yeniden adlandırabilirsiniz. Örneğin bkz. Blobları yeniden adlandırma.

Not

  • ADLSv2'de dizin yeniden adlandırma mümkündür, ancak blob yeniden adlandırılmış olaylarını ve dizin içindeki blobların alımını tetiklemez. Yeniden adlandırma sonrasında blobları almak için, istenen blobları doğrudan yeniden adlandırın.
  • Veri bağlantısını oluştururken veya Event Grid kaynaklarını el ile oluştururken belirli konuları izlemek için filtreler tanımladıysanız, bu filtreler hedef dosya yoluna uygulanır.

Depolama yaşam döngüsünü kullanarak blobları silme

Azure Veri Gezgini alındıktan sonra blobları silmez. Blob silme işleminizi yönetmek için Azure Blob depolama yaşam döngüsünü kullanın. Blobların üç ile beş gün boyunca tutulması önerilir.

Bilinen Event Grid sorunları

  • Event Grid alımı için kullanılan dosyaları dışarı aktarmak için Azure Veri Gezgini kullanırken şunlara dikkat edin:
    • Event Grid bildirimleri, dışarı aktarma komutuna sağlanan bağlantı dizesi veya bir dış tabloya sağlanan bağlantı dizesi ADLS 2. Nesil biçiminde bir bağlantı dizesiyse (örneğin, abfss://filesystem@accountname.dfs.core.windows.net) tetiklenmez, ancak depolama hesabı hiyerarşik ad alanı için etkinleştirilmez.
    • Hesap hiyerarşik ad alanı için etkinleştirilmediyse bağlantı dizesi Blob Depolama biçimini (örneğin, https://accountname.blob.core.windows.net) kullanmalıdır. ADLS 2. Nesil bağlantı dizesi kullanıldığında bile dışarı aktarma beklendiği gibi çalışır, ancak bildirimler tetiklenmez ve Event Grid alımı çalışmaz.