指定 Azure Blob 虚拟文件夹,而不是用于引入到 Kusto 的文件



参考.ingest into table <tablename>功能,根据文档,我们需要指定直接文件名(blob(。但更常见的是,我们可能在给定的 blob 路径中有一堆文本文件,所有这些都需要导入。有没有办法指定路径?我尝试指定,但 Kusto 不喜欢文件夹路径。

Kusto 不会循环访问文件夹或容器。

将所有文件压缩到一个文件中。放在斑点上。这个[摄取到]命令对我有用:

.ingest into table Blah ( 
h@'https://YOURACCOUNT.blob.core.windows.net/somefolder/FileFullofCsvs.zip;YOURKEY'
) 
with (
format = "csv",
ignoreFirstRecord = true,
zipPattern="*.csv"
)

可以通过创建引用 Blob 存储文件夹的外部表来实现此目的。

  1. 生成 SAS 令牌。

为 Blob 存储文件夹生成 SAS 令牌。(确保适当地选择读取和列出权限以及任何其他权限(

  1. 创建外部表

下面是库斯托查询

.create external table myExternalTable(ProductID:string, Name:string ,Description:string, ExpiryDate:datetime)
kind=blob
dataformat=csv
(
h@'https://{storageaccount}.blob.core.windows.net/{file system}/{folder name}?{SAS token url generated from step1}
)
  1. 在 Azure 数据资源管理器数据库中创建表

将数据设置或追加到 Azure 数据资源管理器数据库表。

.set-or-append myProductTable (extend_schema=true) <|external_table("myExternalTable")
  1. >查询表

这将列出表中的所有数据行

myProductTable

最新更新