操作管理

Kusto 会维护一个内部日志,用于记录它所处理的正在运行的操作和历史操作,例如引入操作和数据管理操作。 在操作开始时,以及在操作的状态发生变化时(包括在操作达到其最终状态时),该日志中都会追加条目。 用户可以通过使用 .show operations 控制命令来查看由他们启动的操作,包括正在进行的和已经过去的。 数据库管理员可以查看所有应用于他们管理的数据库的操作。

用户还可以通过使用 .show operation details 命令来查看操作的结果。 通常情况下,这些结果会作为 .show operations 命令本身的一部分返回。 对于异步控制命令而言,.show operation details 命令是查看该命令的结果的唯一方法。

.show operations

.show operations 命令会返回一个表,表中包含近两周内执行的所有管理操作,包括正在运行的和已经完成的。 该命令可以在两种“模式”下运行:

  • 日志模式:在此模式下,会返回该用户有权访问的日志中的所有条目。 单个操作可能会返回多个记录。 最多由一个记录来指示最终状态 CompletedFailed。 在该命令未指示操作 ID 时,使用此模式。

  • 最新更新模式:在此模式下,会为用户提供的每个操作 ID 返回更新后的最新记录。 在该命令指示要检查哪个(些)操作 ID 时,使用此模式。

语法

语法选项 说明
.show operations 返回集群正在处理的所有操作或集群已处理的操作
.showoperationsOperationId 返回特定 ID 的操作状态
.showoperations(OperationId1,OperationId2, ...) 返回特定 ID 的操作状态

结果

输出参数 类型 说明
OperationId String 操作标识符
操作 String 管理员命令别名
NodeId String 如果命令具有远程执行(例如,DataIngestPull)- NodeId 将包含正在执行的远程节点的 ID
StartedOn DateTime 操作开始的日期/时间(以 UTC 为单位)
LastUpdatedOn DateTime 上次更新操作的日期/时间(以 UTC 为单位)(可以是操作中的步骤,也可以是完成步骤)
持续时间 DateTime LastUpdateOn 和 StartedOn 之间的 TimeSpan
状态 String 命令状态,如“状态表”中所列
状态 String 包含失败操作错误的其他帮助字符串

状态表

下表描述了结果表的“状态”列的可能值:

描述
正在进行 操作仍在运行
已完成 操作已完成(成功)
失败 操作已完成(失败)
PartiallySucceeded 操作已完成(部分成功,部分失败)
已放弃 操作在完成之前已放弃
BadInput 由于输入错误,因此操作未开始执行
计划 操作已计划执行
已中止 由于限制,操作已中止
已取消 操作已被用户取消
已跳过 操作被跳过(由于某个逻辑条件作为操作输入提供)

示例

ID 操作 节点 ID 开始日期 上次更新日期 持续时间 状态 状态
3827def6-0773-4f2a-859e-c02cf395deaf SchemaShow 2015-01-06 08:47:01.0000000 2015-01-06 08:47:01.0000000 0001-01-01 00:00:00.0000000 已完成
841fafa4-076a-4cba-9300-4836da0d9c75 DataIngestPull Kusto.Azure.Svc_IN_1 2015-01-06 08:47:02.0000000 2015-01-06 08:48:19.0000000 0001-01-01 00:01:17.0000000 已完成
e198c519-5263-4629-a158-8d68f7a1022f OperationsShow 2015-01-06 08:47:18.0000000 2015-01-06 08:47:18.0000000 0001-01-01 00:00:00.0000000 已完成
a9f287a1-f3e6-4154-ad18-b86438da0929 ExtentsDrop 2015-01-11 08:41:01.0000000 0001-01-01 00:00:00.0000000 0001-01-01 00:00:00.0000000 正在进行
9edb3ecc-f4b4-4738-87e1-648eed2bd998 DataIngestPull 2015-01-10 14:57:41.0000000 2015-01-10 14:57:41.0000000 0001-01-01 00:00:00.0000000 已失败 集合已修改。 枚举操作可能不会执行。

.show operation details

操作可以(可选)长期保留其结果,并且可以在操作完成时使用 .showoperationdetails 来检索结果。

注意

并非所有控制命令都能长期保留其结果。 这些命令仅在默认情况下针对异步执行时才通过使用 async 关键字来这样做。 请参阅有关特定命令的文档,然后检查命令是否执行此操作。 例如,请参阅数据导出)。 .showoperationsdetails 命令的输出架构与从同步执行命令返回的架构相同。 仅在成功完成操作后才能调用 .showoperationdetails 命令。 运行此命令前,请使用 show operations 命令)检查操作的状态。

语法

.showoperationOperationIddetails

结果

每种操作的结果都不同,并且在同步执行时,与操作结果的架构匹配。

示例

该示例中的 OperationId 从其中一个数据导出命令的异步执行返回。

.export 
  async 
  to csv ( 
    h@"https://storage1.blob.core.chinacloudapi.cn/containerName;secretKey", 
    h@"https://storage1.blob.core.chinacloudapi.cn/containerName2;secretKey" 
  ) 
  <| myLogs 

async export 命令返回了以下操作 ID:

OperationId
56e51622-eb49-4d1a-b896-06a03178efcd

命令完成后,可以使用此操作 ID 查询导出的 blob。

.show operation 56e51622-eb49-4d1a-b896-06a03178efcd details 
`Path` NumRecords
http://storage1.blob.core.chinacloudapi.cn/containerName/1_d08afcae2f044c1092b279412dcb571b.csv 10
http://storage1.blob.core.chinacloudapi.cn/containerName/2_454c0f1359e24795b6529da8a0101330.csv 15