我目前在Logic应用程序中使用Compose连接器来跟踪从触发器中提取的属性,该值是从Json对象内的xml字符串中提取的Guid。
但出于某种原因,尝试登录Guid进行日志分析并不起作用。但是当我只是写一些随机字符串时,它会以完全相同的方式记录提取的值。
所以这就是我正在做的事情:
在逻辑应用程序中,我将其设置为:
"Log_Validation_Exception": {
"inputs": {
"ErrorInfo": "https://smartportdeviations.blob.core.windows.net@{body('Create_Validation_Exception_Blob')?['Path']}",
"LoggingCode": "ValidationFaliure",
"PayloadID": "@{first(xpath(xml(json(decodeBase64(triggerBody()?['ContentData']))['XmlObject']), '//*[name()=\"passId\"]/text()[1]'))}"
},
"runAfter": {
"Create_Validation_Exception_Blob": [
"Succeeded"
]
},
"trackedProperties": {
"ErrorInfo": "@outputs('Log_Validation_Exception')?['ErrorInfo']",
"LoggingCode": "@outputs('Log_Validation_Exception')?['LoggingCode']",
"PayloadID": "@outputs('Log_Validation_Exception')?['PayloadID']"
},
"type": "Compose"
},
在passID元素中将GUID写为值时:
<passId>6725ca5f-83e1-c097-e053-e600000a4f6c</passId>
我在跟踪的属性中什么都没有...
但是在添加这样的东西时:
<passId>adsgfasdgasdasdf</passId>
然后它记录下来......
以下图片供参考。
我也知道逻辑应用程序成功提取GUID,因为它在逻辑应用程序中运行日志:
那么我在这里缺少什么?
更新 出于某种原因,如果我在GUID后面放置一个字母,那么它会记录GUID。但如果它是值的显式GUID格式,那么它将无法工作。
答案 0 :(得分:0)
被跟踪属性的类型确定其名称。跟踪的属性名称遵循以下模式:
trackedProperties_<property name>_<type char>
因此,PayloadID
变为trackedProperties_Log_Validation_Exception_PayloadID_g
或trackedProperties_PayloadID_s
,具体取决于该值是GUID还是字符串。
我不确定这是否与您的问题有关,因为我不确定您是如何查询跟踪属性的。