我是新的KQL上的Azure资源图资源管理器的KQL查询,我有一个要求,以获得与关联磁盘的SQLVM。我写了这个查询,并得到下面的错误。
任何帮助都将不胜感激。
查询:
资源|其中类型==“Microsoft. sql虚拟机/sql虚拟机”|项目ID,vmid=属性.虚拟机资源ID,名称,img=属性.sqlImageOffer,sqlImgOffered=属性.sqlImageSku,sqlLicense=属性.sqlServerLicenseType|加入(资源|其中类型==“微软计算机/磁盘”|项目管理者,磁盘大小GB =属性。磁盘大小GB,层=属性。层,磁盘IOPSRW =属性。磁盘IOPSReadWrite,磁盘MBpsReadWrite =属性。磁盘MBpsReadWrite,磁盘状态=属性。磁盘状态)位于$left.vmid == $right.管理者
输出:
详情:
查询无效。请参阅Azure资源图服务的文档并修复错误,然后重试。(代码:InvalidQuery)联接键“vmid”属于“dynamic”类型。请在联接分支中使用扩展运算符进行显式强制转换(例如...“”|扩展vmid =到字符串(vmid)|加入(...|extend vmid = tostring(vmid))on vmid“),因为不支持”dynamic“类型上的联接。(代码:默认)
请帮助解决此错误。
1条答案
按热度按时间0md85ypi1#
发布的有问题查询的 * 属性存在问题。virtualMachineResourceId* 因为 * 属性 * 包含Json数据。从 * 属性**属性获取 virtualMachineResourceId 时。virtualMachineResourceId* 的计算结果为对象。
我已经使用
tostring()
将返回值转换为字符串,它对我很有效。以下是修改后的查询:-