externaldata işleci
İşleçexternaldata
, şeması sorgunun kendisinde tanımlanan ve verileri Azure Blob Depolama blob veya Azure Data Lake Storage dosyası gibi bir dış depolama yapıtından okunan bir tablo döndürür.
Not
operatör, externaldata
Depolama bağlantı dizeleri altında listelendiği gibi belirli bir depolama hizmetleri kümesini destekler.
Not
operatör Paylaşılan externaldata
Erişim İmzası (SAS) anahtarını, Erişim anahtarını ve Microsoft Entra Belirteci kimlik doğrulama yöntemlerini destekler. Daha fazla bilgi için bkz . Depolama kimlik doğrulama yöntemleri.
Not
externaldata
Bir dış depolama yapıtından 100 MB'a kadar olan küçük başvuru tablolarını almak için işlecini kullanın. işleci büyük veri hacimleri için tasarlanmamıştır. Büyük hacimli dış verileri almak için dış verilerin Log Analytics'e özel günlükler olarak alınmasını öneririz.
Depolama yapıtı genel uç noktası bir güvenlik duvarının arkasında olduğunda bu işleç desteklenmez.
Syntax
externaldata
(
Columnname:
columnType [,
...] )
[
storageConnectionString [,
...] ]
[with
(
propertyName=
propertyValue [,
...])
]
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Gerekli | Açıklama |
---|---|---|---|
columnName, columnType | string |
✔️ | Sütun adlarının ve türlerinin listesi. Bu liste, tablonun şemasını tanımlar. |
storageConnectionString | string |
✔️ | Sorgu için depolama yapıtı depolama bağlantı dizesi. |
propertyName, propertyValue | string |
Depolama alanından alınan verilerin nasıl yorumlandığını belirleyen isteğe bağlı desteklenen özelliklerin listesi. |
Desteklenen özellikler
Özellik | Tür | Description |
---|---|---|
biçim | string |
Veri biçimi. Belirtilmemişse, dosya uzantısından veri biçimini algılamaya çalışılır. Varsayılan değer: CSV . Tüm veri alma biçimleri desteklenir. |
ignoreFirstRecord | bool |
olarak ayarlanırsa true , her dosyadaki ilk kayıt yoksayılır. Bu özellik, csv dosyalarını üst bilgilerle sorgularken kullanışlıdır. |
ingestionMapping | string |
Kaynak dosyadaki verilerin işleç sonuç kümesindeki gerçek sütunlara nasıl eşlendiğini gösterir. Bkz. veri eşlemeleri. |
Not
Bu işleç herhangi bir işlem hattı girişini kabul etmez.
Standart sorgu sınırları dış veri sorgularına da uygulanır.
Döndürülenler
işleci, externaldata
verileri depolama bağlantı dizesi tarafından belirtilen depolama yapıtından ayrıştırılan verilen şemanın veri tablosunu döndürür.
Örnekler
Azure Blob Depolama'de depolanan kullanıcı kimliklerinin listesini getirme
Aşağıdaki örnekte, sütunu bir dış depolama dosyasında tutulan (satır başına bir adet) bilinen bir kimlik kümesine denk gelen bir tablodaki UserID
tüm kayıtların nasıl bulunamı gösterilmektedir. Veri biçimi belirtilmediğinden, algılanan veri biçimi şeklindedir TXT
.
Users
| where UserID in ((externaldata (UserID:string) [
@"https://storageaccount.blob.core.windows.net/storagecontainer/users.txt"
h@"?...SAS..." // Secret token needed to access the blob
]))
| ...
Birden çok veri dosyasını sorgulama
Aşağıdaki örnek, dış depolamada depolanan birden çok veri dosyasını sorgular.
externaldata(Timestamp:datetime, ProductId:string, ProductDescription:string)
[
h@"https://mycompanystorage.blob.core.windows.net/archivedproducts/2019/01/01/part-00000-7e967c99-cf2b-4dbb-8c53-ce388389470d.csv.gz?...SAS...",
h@"https://mycompanystorage.blob.core.windows.net/archivedproducts/2019/01/02/part-00000-ba356fa4-f85f-430a-8b5a-afd64f128ca4.csv.gz?...SAS...",
h@"https://mycompanystorage.blob.core.windows.net/archivedproducts/2019/01/03/part-00000-acb644dc-2fc6-467c-ab80-d1590b23fc31.csv.gz?...SAS..."
]
with(format="csv")
| summarize count() by ProductId
Yukarıdaki örnek, dış tablo tanımlamadan birden çok veri dosyasını sorgulamanın hızlı bir yolu olarak düşünülebilir.
Not
Veri bölümleme işleci tarafından externaldata
tanınmaz.
Hiyerarşik veri biçimlerini sorgulama
Sorgulamak için , Parquet
, Avro
veya ingestionMapping
ORC
gibi JSON
hiyerarşik veri biçiminin işleç özelliklerinde belirtilmesi gerekir.
Bu örnekte, Azure Blob Depolama'da aşağıdaki içeriklere sahip bir JSON dosyası depolanır:
{
"timestamp": "2019-01-01 10:00:00.238521",
"data": {
"tenant": "e1ef54a6-c6f2-4389-836e-d289b37bcfe0",
"method": "RefreshTableMetadata"
}
}
{
"timestamp": "2019-01-01 10:00:01.845423",
"data": {
"tenant": "9b49d0d7-b3e6-4467-bb35-fa420a25d324",
"method": "GetFileList"
}
}
...
işlecini kullanarak bu dosyayı sorgulamak externaldata
için bir veri eşlemesi belirtilmelidir. Eşleme, JSON alanlarının işleç sonuç kümesi sütunlarına nasıl eş olacağını belirler:
externaldata(Timestamp: datetime, TenantId: guid, MethodName: string)
[
h@'https://mycompanystorage.blob.core.windows.net/events/2020/09/01/part-0000046c049c1-86e2-4e74-8583-506bda10cca8.json?...SAS...'
]
with(format='multijson', ingestionMapping='[{"Column":"Timestamp","Properties":{"Path":"$.timestamp"}},{"Column":"TenantId","Properties":{"Path":"$.data.tenant"}},{"Column":"MethodName","Properties":{"Path":"$.data.method"}}]')
Tek MultiJSON
JSON kayıtları birden çok satıra yayıldığından biçim burada kullanılır.
Eşleme söz dizimi hakkında daha fazla bilgi için bkz. veri eşlemeleri.
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