Aracılığıyla paylaş


externaldata işleci

Şunlar için geçerlidir: ✅Microsoft Fabric

İşleçexternaldata, şeması sorguda tanımlanan ve verileri Azure Blob Depolama blobu veya Azure Data Lake Storage'daki bir dosya gibi bir dış depolama yapıtından okunan bir tablo döndürür.

Not

externaldata işleci aşağıdakileri destekler:

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şleç büyük veri hacimleri için tasarlanmamıştır. Büyük hacimli dış verileri almak için, dış verileri özel günlükler olarak Log Analytics'e almanızı öneririz. Depolama yapıtı genel uç noktası bir güvenlik duvarının arkasında olduğunda bu işleç desteklenmez.

Sözdizimi

externaldata ( columnName:columnType [, ...] )[storageConnectionString [, ...] ] [with(propertyName= propertyValue [, ...])]

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

Ad Tür Zorunlu Açıklama
columnName, columnType string ✔️ Sütun adlarının ve türlerinin listesi. Bu liste, tablonun şemasını tanımlar.
storageConnectionString string ✔️ Sorguya alınacak 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 Açıklama
format string Veri biçimi. Belirtilmezse, 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ılmış olan verilen şemanın veri tablosunu döndürür.

Örnekler

Örnekler, dış depolama dosyasındaki verileri sorgular.

Azure Blob Depolama depolanan kullanıcı kimliklerinin listesini getirme

Aşağıdaki örnek, 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 bulunayacağını gösterir. 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.

Sorgu hiyerarşik veri biçimleri

Hiyerarşik veri biçimini sorgulamak için , JSON, Parquetveya Avrogibi ORCişleç ingestionMapping özelliklerinde belirtilmelidir. 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.