2016-08-03 38 views
0

在我的Logic App工作流程中,我試圖評估前一個動作輸出數組的條件。測試動作輸出長度

我的條件表達式

@less(action('Get_items').outputs.length, 1) 

導致錯誤

動作 'Item_found' 與狀態 '失敗' 和代碼 '錯誤請求' 完成。

同樣的情況,爲

@greater(action('Get_items').outputs.length, 1) 

以及

@empty(action('Get_items').outputs) 

什麼我錯在這裏做什麼?


背景:action('Get_items')是使用過濾器的查詢從SPO網站列表查詢檢索的項目。
操作成功,但App Run Trace並未在輸出上顯示任何細節,在此例中爲預期的空數組。

回答

3

我管理通過正確地訪問陣列相同的方式for-each動作確實以實現期望的條件評估:

@empty(body('Get_items')['value']) 

documentation不給在此暗示。

+1

這將是最好的方式。請注意'body('Get_items')== outputs('Get_items')。body == action('Get_items')。outputs.body'。 –

+0

我嘗試了所有您提到的變體,但贊成簡潔。看起來你也知道SharePoint Online - 你知道是否可以從Azure Biztalk Services中刪除項目嗎?我無法弄清楚[我如何使泛型WCF連接器與基於SPO聲明的身份驗證](http://stackoverflow.com/q/38738344/205233)。 – Filburt

+0

BizTalk API不適用於最新版本的Logic Apps。您可能需要查看Enterprise Integration Pack:https://azure.microsoft.com/en-us/documentation/articles/app-service-logic-enterprise-integration-overview/ –