在逻辑应用程序中跟踪属性

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 并根据您的喜好进行调整。