在逻辑应用程序中跟踪属性
Track Properties in Logic Apps
Tracked Properties of Logic Apps
我正在尝试跟踪逻辑应用程序工作流中的属性。我的问题是我需要跟踪来自 HTTP 操作的一些字段。
所以我的 HTTP 操作输出如下所示。
{
"statusCode": 200,
"headers": {
"x-ms-request-id": "asdfsad",
"x-ms-client-request-id": "ASFSDF",
"x-ms-version": "2020-10-02",
"x-ms-creation-time": "Fri, 05 Nov 2021 12:55:54 GMT",
"x-ms-lease-status": "unlocked",
"x-ms-lease-state": "available",
"x-ms-blob-type": "BlockBlob",
"x-ms-server-encrypted": "true",
"Accept-Ranges": "bytes",
"Date": "Wed, 10 Nov 2021 07:52:11 GMT",
"ETag": "\"SDFGSDGF\"",
"Server": "Windows-Azure-Blob/1.0,Microsoft-HTTPAPI/2.0",
"Content-Length": "1996",
"Content-MD5": "co+35ZaNw7Be9sgn6YB7OA==",
"Content-Type": "text/xml",
"Last-Modified": "Wed, 10 Nov 2021 07:52:11 GMT"
},
"body": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Customer xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://company.Schemas\">\r\n <Company xmlns=\"\">\r\n <CompanyCode>dk01</CompanyCode>\r\n <CompanyIdEcom />\r\n <BillTo>\r\n <CustomerNo>4004002</CustomerNo>\r\n <CreditLimit>0</CreditLimit>\r\n <BlockingLevel>0</BlockingLevel>\r\n <CurrencyCode>DKK</CurrencyCode>\r\n <PaymentTerms>N30</PaymentTerms>\r\n <BillToAddress>\r\n <PostalCode>2750</PostalCode>\r\n </BillToAddress>\r\n <SellTo>\r\n <SellToAddress>\r\n <Address>Lautrupbjerg 7 Postbox 99</Address>\r\n <PostalCode>2750</PostalCode>\r\n <CountryCode>DK</CountryCode>\r\n </SellToAddress>\r\n <ShipTo>\r\n <Code>5637147732</Code>\r\n <ShipToAddress>\r\n <Name>Siemens Medical Instr. Pte.Ltd</Name>\r\n <City>Singapore</City>\r\n <PostalCode>139959</PostalCode>\r\n <CountryCode>SG</CountryCode>\r\n </ShipToAddress>\r\n </ShipTo>\r\n <CustomerNo>4004002</CustomerNo>\r\n <Name>GN Audio A/S</Name>\r\n <Searchname>1000-500092,5479</Searchname>\r\n <CurrencyCode>DKK</CurrencyCode>\r\n <PrimaryContactEmail />\r\n <ModeOfDelivery>AIR DHL EX</ModeOfDelivery>\r\n </SellTo>\r\n </BillTo>\r\n </Company>\r\n <IsDelta xmlns=\"\">true</IsDelta>\r\n</Customer>"
}
我无法弄清楚如何从 XML 跟踪客户编号。
outputs('HTTP-GetBlob')?['body']
(..??????.......)
您可以尝试的解决方法之一是将 XML 转换为 JSON,然后对其进行解析,然后相应地使用所需的参数。
以下是截图供大家参考
这是输出
据我所知,跟踪属性只能引用 @triggerBody
、当前 @action()['inputs']
和 @action()['outputs']
- 没有别的。
在您的情况下,您需要像这样在 HTTP-GetBlob 操作上配置跟踪属性:
@xpath(xml(action()['outputs']['body']), '(//CustomerNo/text())[1]')?[0]
- 尝试 xpath 并根据您的喜好进行调整。
Tracked Properties of Logic Apps
我正在尝试跟踪逻辑应用程序工作流中的属性。我的问题是我需要跟踪来自 HTTP 操作的一些字段。
所以我的 HTTP 操作输出如下所示。
{
"statusCode": 200,
"headers": {
"x-ms-request-id": "asdfsad",
"x-ms-client-request-id": "ASFSDF",
"x-ms-version": "2020-10-02",
"x-ms-creation-time": "Fri, 05 Nov 2021 12:55:54 GMT",
"x-ms-lease-status": "unlocked",
"x-ms-lease-state": "available",
"x-ms-blob-type": "BlockBlob",
"x-ms-server-encrypted": "true",
"Accept-Ranges": "bytes",
"Date": "Wed, 10 Nov 2021 07:52:11 GMT",
"ETag": "\"SDFGSDGF\"",
"Server": "Windows-Azure-Blob/1.0,Microsoft-HTTPAPI/2.0",
"Content-Length": "1996",
"Content-MD5": "co+35ZaNw7Be9sgn6YB7OA==",
"Content-Type": "text/xml",
"Last-Modified": "Wed, 10 Nov 2021 07:52:11 GMT"
},
"body": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Customer xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://company.Schemas\">\r\n <Company xmlns=\"\">\r\n <CompanyCode>dk01</CompanyCode>\r\n <CompanyIdEcom />\r\n <BillTo>\r\n <CustomerNo>4004002</CustomerNo>\r\n <CreditLimit>0</CreditLimit>\r\n <BlockingLevel>0</BlockingLevel>\r\n <CurrencyCode>DKK</CurrencyCode>\r\n <PaymentTerms>N30</PaymentTerms>\r\n <BillToAddress>\r\n <PostalCode>2750</PostalCode>\r\n </BillToAddress>\r\n <SellTo>\r\n <SellToAddress>\r\n <Address>Lautrupbjerg 7 Postbox 99</Address>\r\n <PostalCode>2750</PostalCode>\r\n <CountryCode>DK</CountryCode>\r\n </SellToAddress>\r\n <ShipTo>\r\n <Code>5637147732</Code>\r\n <ShipToAddress>\r\n <Name>Siemens Medical Instr. Pte.Ltd</Name>\r\n <City>Singapore</City>\r\n <PostalCode>139959</PostalCode>\r\n <CountryCode>SG</CountryCode>\r\n </ShipToAddress>\r\n </ShipTo>\r\n <CustomerNo>4004002</CustomerNo>\r\n <Name>GN Audio A/S</Name>\r\n <Searchname>1000-500092,5479</Searchname>\r\n <CurrencyCode>DKK</CurrencyCode>\r\n <PrimaryContactEmail />\r\n <ModeOfDelivery>AIR DHL EX</ModeOfDelivery>\r\n </SellTo>\r\n </BillTo>\r\n </Company>\r\n <IsDelta xmlns=\"\">true</IsDelta>\r\n</Customer>"
}
我无法弄清楚如何从 XML 跟踪客户编号。
outputs('HTTP-GetBlob')?['body']
(..??????.......)
您可以尝试的解决方法之一是将 XML 转换为 JSON,然后对其进行解析,然后相应地使用所需的参数。
以下是截图供大家参考
这是输出
据我所知,跟踪属性只能引用 @triggerBody
、当前 @action()['inputs']
和 @action()['outputs']
- 没有别的。
在您的情况下,您需要像这样在 HTTP-GetBlob 操作上配置跟踪属性:
@xpath(xml(action()['outputs']['body']), '(//CustomerNo/text())[1]')?[0]
- 尝试 xpath 并根据您的喜好进行调整。