0

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

4

3 回答 3

1

Kusto 不会迭代文件夹或容器。

于 2019-12-17T15:33:52.323 回答
1

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

.ingest into table Blah ( 
h@'https://YOURACCOUNT.blob.core.windows.net/somefolder/FileFullofCsvs.zip;YOURKEY'
) 
with (
format = "csv",
ignoreFirstRecord = true,
zipPattern="*.csv"
)
于 2020-01-11T16:04:09.217 回答
0

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

  1. 生成 SAS 令牌。

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

  1. 创建外部表

这是 Kusto 查询

.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 数据资源管理器 DB 中创建表

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

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

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

myProductTable
于 2021-02-19T11:11:02.127 回答