2016-07-15 96 views
1

我想在Azure邏輯應用程序中使用Azure SQL存儲過程對條件塊的輸出。目前爲止似乎沒有任何文檔,或者我正在使用錯誤的關鍵字進行搜索?在Azure Logic應用程序條件下訪問Azure SQL存儲過程

我有一個SQL Azure的存儲過程我執行,並返回下面的輸出:

{ 
    "statusCode": 200, 
    "headers": { 
     "Pragma": "no-cache", 
     "x-ms-request-id": "xxx", 
     "Cache-Control": "no-cache", 
     "Date": "Fri, 15 Jul 2016 08:40:23 GMT", 
     "Server": "Microsoft-IIS/8.0,Microsoft-HTTPAPI/2.0", 
     "X-AspNet-Version": "4.0.30319", 
     "X-Powered-By": "ASP.NET", 
     "Content-Length": "78", 
     "Content-Type": "application/json; charset=utf-8", 
     "Expires": "-1" 
    }, 
    "body": { 
     "OutputParameters": {}, 
     "ReturnCode": 0, 
     "ResultSets": { 
      "Table1": [ 
       { 
        "Column1": 0 
       } 
      ] 
     } 
    } 
} 

我感興趣的列1值(在這種情況下爲0)。如何在條件中引用此值?

我見過一些使用Xpath的人(它看起來像是Azure Logic應用程序的早期迭代版本)或某些JSON風格的引用結果集內的節點,但似乎沒有任何效果。

回答

1

由於結果集是一個數組,你想用「的foreach」表達來裝飾你的行動,以列舉的所有項目,即

"foreach": "@body('storedProcedureActionName').ResultSets.Table1"

現在,您可以參考列1字段的值裏面的動作輸入使用@item().Column1

+0

嗨Szymon Wylezol,謝謝你的迴應。我猜想上面的代碼意味着要通過「代碼視圖」完成/添加?我現在只是使用圖形設計器來完成它。我想我可以使用「@body ...」。謝謝 – Daenous

+0

是的,您需要通過'代碼視圖'編輯您的邏輯應用程序。設計師在許多情況下隱式添加foreach結構,但由於存儲過程輸出的形狀不可預測,因此您需要僅使用@body,或者直接編輯邏輯應用程序json定義。 –

+0

嗨Szymon,最後我決定通過不同的路線,但感謝你對此的幫助。我相信我將來需要再次瞭解這些東西。 – Daenous

相關問題