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ı
- Yönetilen Kimlik tabanlı veri bağlantısı (önerilir): Yönetilen kimlik tabanlı veri bağlantısı kullanmak, veri kaynaklarına bağlanmanın en güvenli yoludur. Bir veri kaynağından veri getirme özelliği üzerinde tam denetim sağlar.
Yönetilen kimlik kullanılarak veri bağlantısı kurulumu aşağıdaki adımları gerektirir:
- Kümenize yönetilen kimlik ekleyin.
- Veri kaynağında yönetilen kimliğe izinler verin.
- Hedef veritabanlarında bir yönetilen kimlik ilkesi ayarlayın.
- Verileri getirmek için yönetilen kimlik kimlik doğrulamasını kullanarak bir veri bağlantısı oluşturun.
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.
- MI'nin Azure Depolama'dan veri getirebilmesi için en azından aşağıdakilere sahip olması gerekir:
- Azure Event Hubs Veri Alıcısı'nı Azure Event Hubs.
- Azure Depolama hesabında Depolama Blob Veri Okuyucusu.
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 , StorageV2
veya Data Lake Storage 2. Nesil için BlobStorage
Azure 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 Table Data Connection geçersiz kılar. |
kustoDataFormat |
Veri biçimi. Bölmedeki kümeyi Data format Data Connection geçersiz kılar. |
kustoIngestionMappingReference |
Kullanılacak mevcut alım eşlemesinin adı. Bölmedeki kümeyi Column mapping Data Connection geçersiz kılar. |
kustoIgnoreFirstRecord |
olarak ayarlanırsa true Kusto 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 veFlush
sonunda close parametresinin olaraktrue
ayarlanması 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.
- 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,
İlgili içerik
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin