Azure Logic Apps 和 Power Automate 中工作流程表達式函式的參考指南
適用於:Azure Logic Apps (使用量 + 標準)
針對 Azure Logic Apps 和 Power Automate 中的工作流程定義,某些運算式會從工作流程開始執行時可能還不存在的運行時間動作取得其值。 若要參考或處理這些運算式中的值,您可以使用工作流程定義語言所提供的表示式函數。
注意
此參考頁面同時適用於 Azure Logic Apps 和 Power Automate,但會出現在 Azure Logic Apps 檔中。 雖然此頁面特別參考邏輯應用程式工作流程,但這些函式適用於流程和邏輯應用程式工作流程。 如需Power Automate 中函式和表達式的詳細資訊,請檢閱 在條件中使用表達式。
例如,當您想要整數或浮點數的總和時,您可以使用數學函數來計算值,例如 add() 函式。 以下是您可以使用函式執行的其他範例工作:
Task | 函數語法 | 結果 |
---|---|---|
傳回小寫格式的字串。 | toLower('<text>') 例如:toLower('Hello') |
"hello" |
傳回全域唯一標識碼 (GUID)。 | guid() | “c2ecc88d-88c8-4096-912c-d6f2e2b138ce” |
若要根據其一般用途尋找函式,請檢閱下表。 或者,如需每個函式的詳細資訊,請參閱 依字母順序排列的清單。
表達式中的函式
為了示範如何在表達式中使用函式,此範例示範如何在表達式中使用parameters() 函式,從 customerName
參數取得值,並將該值指派給 accountName
屬性:
"accountName": "@parameters('customerName')"
以下是您可以在表示式中使用函式的一些其他一般方式:
Task | 表達式中的函式語法 |
---|---|
將該專案傳遞至函式,以使用專案。 | “@<functionName>(<item>)” |
1.使用巢狀parameters() 函式取得parameterName的值。 2.將該值傳遞至 functionName,以使用結果執行工作。 |
“@<functionName>(parameters('<parameterName>'))” |
1.從巢狀內部函 式 functionName 取得結果。 2.將結果傳遞至外部函式 functionName2。 |
“@<functionName2>(<functionName>(<item>))” |
1.從 functionName 取得結果。 2.假設結果是屬性 propertyName 的物件,請取得該屬性的值。 |
“@<functionName>(<item)。<>propertyName>” |
例如,函 concat()
式可以接受兩個或多個字串值做為參數。 此函式會將這些字串合併成一個字元串。 您可以傳入字串常值,例如 “Sophia” 和 “Owen”,以便取得合併的字串 “SophiaOwen”:
"customerName": "@concat('Sophia', 'Owen')"
或者,您可以從參數取得字串值。 此範例會在每個parameters()
concat()
參數和 firstName
和 lastName
參數中使用 函式。 接著,您會將產生的字串傳遞至 concat()
函式,以便取得合併的字串,例如 “SophiaOwen”:
"customerName": "@concat(parameters('firstName'), parameters('lastName'))"
無論哪種方式,這兩個範例都會將結果指派給 customerName
屬性。
使用函式的考慮
設計工具不會評估設計時間做為函式參數的運行時間表達式。 設計工具要求所有表達式都可以在設計時間完整評估。
函式參數會從左至右進行評估。
在參數定義的語法中,在參數後面出現的問號 (?) 表示參數是選擇性的。 例如,請參閱 getFutureTime()。
以純文本內嵌顯示的函式表達式需要括住大括弧 ({}) 來改用表達式的插補格式。 此格式有助於避免剖析問題。 如果您的函式表達式未以純文本內嵌顯示,則不需要大括弧。
下列範例顯示正確且不正確的語法:
正確:
"<text>/@{<function-name>('<parameter-name>')}/<text>"
不正確:
"<text>/@<function-name>('<parameter-name>')/<text>"
確定:
"@<function-name>('<parameter-name>')"
下列各節會根據其一般用途來組織函式,或者您可以依 字母順序瀏覽這些函式。
字串函數
若要處理字串,您可以使用這些字串函式以及一些集合函式。 字串函式只能用於字串。
字串函數 | Task |
---|---|
chunk | 將字串或集合分割成長度相等的區塊。 |
concat | 結合兩個或多個字串,並傳回合併的字串。 |
endsWith | 檢查字串是否以指定的子字串結束。 |
formatNumber | 根據指定的格式傳回數位做為字串 |
guid | 以字串形式產生全域唯一識別碼 (GUID)。 |
indexOf | 傳回子字串的起始位置。 |
isFloat | 傳回布爾值,指出字串是否為浮點數。 |
isInt | 傳回布爾值,指出字串是否為整數。 |
lastIndexOf | 傳回子字串最後一次出現的起始位置。 |
length | 傳回字串或陣列中的項目數目。 |
nthIndexOf | 傳回開始位置或索引值, 其中第 n次出現子字串出現在字串中。 |
replace | 使用指定字串取代子字串,並傳回已更新的字串。 |
slice | 藉由指定開始和結束位置或值,傳回子字串。 另 請參閱子字串。 |
split | 根據原始字串中指定的分隔符號字元,從較大型字串傳回包含以逗號分隔之子字串的陣列。 |
startsWith | 檢查字串是否以特定的子字串開始。 |
substring | 傳回字串中的字元 (從指定的位置起始)。 另 請參閱配量。 |
toLower | 傳回小寫格式的字串。 |
toUpper | 傳回大寫格式的字串。 |
修剪 | 移除字串的開頭和尾端空白字元,並傳回更新後的字串。 |
集合函數
若要處理集合 (通常為陣列、字串,而有時候為字典),您可以使用這些集合函式。
集合函式 | Task |
---|---|
chunk | 將字串或集合分割成長度相等的區塊。 |
contains | 檢查集合是否具有特定項目。 |
empty | 檢查集合是否是空的。 |
first | 傳回集合中的第一個項目。 |
intersection | 在指定的多個集合中,傳回「只有」共同項目的集合。 |
專案 | 如果此函式出現在陣列的重複動作內,請在動作的目前反覆專案期間傳回數位列中的目前專案。 |
join | 傳回具有陣列中「所有」項目 (以指定的字元隔開) 的字串。 |
last | 傳回集合中的最後一個項目。 |
length | 傳回字串或陣列中的項目數目。 |
reverse | 反轉數位列中的項目順序。 |
skip | 移除集合前端的項目,並傳回「其他所有」項目。 |
sort | 排序集合中的專案。 |
take | 傳回集合中的前端項目。 |
union | 傳回具有指定集合中「所有」項目的集合。 |
邏輯比較函數
若要使用條件、比較值和表達式結果,或評估各種邏輯,您可以使用這些邏輯比較函式。 如需每個函式的完整參考,請參閱 依字母順序排列的清單。
注意
如果您使用邏輯函式或條件來比較值,Null 值會轉換成空字串 (""
) 值。 當您與空字串比較,而不是 Null 值時,條件的行為會有所不同。 如需詳細資訊,請參閱 string() 函式。
邏輯比較函式 | Task |
---|---|
and | 檢查是否所有運算式都是 True。 |
equals | 檢查兩個值是否相等。 |
greater | 檢查第一個值是否大於第二個值。 |
greaterOrEquals | 檢查第一個值是否大於或等於第二個值。 |
if | 檢查運算式是 True 或 False。 根據結果,傳回指定的值。 |
isFloat | 傳回布爾值,指出字串是否為浮點數。 |
isInt | 傳回布爾值,指出字串是否為整數。 |
less | 檢查第一個值是否小於第二個值。 |
lessOrEquals | 檢查第一個值是否小於或等於第二個值。 |
not | 檢查運算式是否為 False。 |
or | 檢查是否至少有一個運算式是 True。 |
轉換函數
若要變更值的型別或格式,您可以使用這些轉換函式。 例如,您可以將值從布爾值變更為整數。 如需 Azure Logic Apps 在轉換期間如何處理內容類型的詳細資訊,請參閱 處理內容類型。 如需每個函式的完整參考,請參閱 依字母順序排列的清單。
注意
Azure Logic Apps 會自動或隱含地執行 base64 編碼和譯碼,因此您不需要使用編碼和譯碼函式手動執行這些轉換。 不過,如果您在設計工具中無論如何都使用這些函式,您可能會在設計工具中遇到非預期的轉譯行為。 除非您編輯函式的參數值,否則這些行為只會影響函式的可見度,而不會影響其效果,這會從程式碼中移除函式及其效果。 如需詳細資訊,請參閱 隱含數據類型轉換。
轉換函式 | Task |
---|---|
array | 從單一指定輸入傳回的陣列。 關於多個輸入的資訊,請參閱 createArray。 |
base64 | 傳回字串的 base64 編碼版本。 |
base64ToBinary | 傳回 base64 編碼字串的二進位版本。 |
base64ToString | 傳回 base64 編碼字串的字串版本。 |
binary | 傳回輸入值的二進位版本。 |
bool | 傳回輸入值的布林值版本。 |
createArray | 從多個輸入傳回陣列。 |
dataUri | 傳回輸入值的資料 URI。 |
dataUriToBinary | 傳回資料 URI 的二進位版本。 |
dataUriToString | 傳回資料 URI 的字串版本。 |
decimal | 傳回十進位字串的十進位數。 |
decodeBase64 | 傳回 base64 編碼字串的字串版本。 |
decodeDataUri | 傳回資料 URI 的二進位版本。 |
decodeUriComponent | 傳回以已解碼版本取代逸出字元的字串。 |
encodeUriComponent | 傳回以逸出字元取代 URL 中 Unsafe 字元的字串。 |
float | 傳回輸入值的浮點數。 |
int | 傳回字串的整數版本。 |
json | 傳回字串或 XML 的 JavaScript 物件標記法 (JSON) 類型值或物件。 |
string | 傳回輸入值的字串版本。 |
uriComponent | 藉由以逸出字元取代 URL 中的 Unsafe 字元,傳回輸入值的 URI 編碼版本。 |
uriComponentToBinary | 傳回 URI 編碼字串的二進位版本。 |
uriComponentToString | 傳回 URI 編碼字串的字串版本。 |
xml | 傳回字串的 SML 版本。 |
隱含資料類型轉換
Azure Logic Apps 會自動或隱含地轉換某些數據類型,因此您不需要手動執行這些轉換。 例如,如果您使用預期字串做為輸入的非字串值,Azure Logic Apps 會自動將非字串值轉換成字串。
例如,假設觸發程式傳回數值作為輸出:
triggerBody()?['123']
如果您使用此預期輸入字串的數值輸出,例如 URL,Azure Logic Apps 會使用大括號 ({}
) 表示法自動將值轉換成字串:
@{triggerBody()?['123']}
Base64 編碼和譯碼
Azure Logic Apps 會自動或隱含地執行 base64 編碼或譯碼,因此您不需要使用對應的函式手動執行這些轉換:
base64(<value>)
base64ToBinary(<value>)
base64ToString(<value>)
base64(decodeDataUri(<value>))
concat('data:;base64,',<value>)
concat('data:,',encodeUriComponent(<value>))
decodeDataUri(<value>)
注意
如果您在使用設計工具時手動新增上述任何函式,直接加入觸發程式或動作,或是使用表達式編輯器,請離開設計工具,然後返回設計工具,函式會從設計工具消失,只留下參數值。 如果您選取使用此函式的觸發程式或動作,而不需編輯函式的參數值,也會發生此行為。 此結果只會影響函式的可見度,而不會影響效果。 在程式代碼檢視中,函式不會受到影響。 不過,如果您編輯函式的參數值,函式及其效果都會從程式代碼檢視中移除,只留下函式的參數值。
數學函數
若要使用整數和浮點數,您可以使用這些數學函式。 如需每個函式的完整參考,請參閱 依字母順序排列的清單。
數學函式 | Task |
---|---|
add | 傳回兩個數字相加的結果。 |
div | 傳回兩個數字相除的結果。 |
max | 從數字集合或陣列中傳回最大值。 |
min | 從數字集合或陣列中傳回最小值。 |
mod | 傳回兩數相除的餘數。 |
mul | 傳回將兩數相乘的乘積。 |
rand | 從指定範圍傳回隨機整數。 |
range | 傳回從指定整數開始的整數陣列。 |
sub | 傳回第一個數字減去第二個數字的結果。 |
日期和時間函式
若要使用日期和時間,您可以使用這些日期和時間函式。 如需每個函式的完整參考,請參閱 依字母順序排列的清單。
日期或時間函式 | Task |
---|---|
addDays | 將天數新增至時間戳。 |
addHours | 將小時新增至時間戳。 |
addMinutes | 將分鐘新增至時間戳。 |
addSeconds | 將秒數新增至時間戳。 |
addToTime | 將指定的時間單位新增至時間戳。 另請參閱 getFutureTime。 |
convertFromUtc | 將時間戳記從國際標準時間 (UTC) 轉換為目標時區。 |
convertTimeZone | 將時間戳記從來源時區轉換為目標時區。 |
convertToUtc | 將時間戳記從來源時區轉換為國際標準時間 (UTC)。 |
dateDifference | 以時間範圍傳回兩個日期之間的差異。 |
dayOfMonth | 傳回時間戳記中的當月日期元件。 |
dayOfWeek | 傳回時間戳記中的星期幾元件。 |
dayOfYear | 傳回時間戳記中一年的第幾天元件。 |
formatDateTime | 從時間戳傳回日期。 |
getFutureTime | 傳回目前時間戳記加上指定時間單位的結果。 另請參閱 addToTime。 |
getPastTime | 傳回目前時間戳記減去指定時間單位的結果。 另請參閱 subtractFromTime。 |
parseDateTime | 從包含時間戳的字串傳回時間戳。 |
startOfDay | 傳回時間戳記中當天的起始點。 |
startOfHour | 傳回時間戳記中小時的起始點。 |
startOfMonth | 傳回時間戳記中月份的起始點。 |
subtractFromTime | 從時間戳記減去時間單位數字。 另請參閱 getPastTime。 |
ticks | 傳回指定時間戳記的 ticks 屬性值。 |
utcNow | 傳回目前的時間戳記作為字串。 |
工作流程函數
這些工作流程函式可協助您:
- 取得運行時間工作流程實例的詳細數據。
- 使用用於具現化邏輯應用程式或流程的輸入。
- 參考觸發程式和動作的輸出。
例如,您可以參考一個動作的輸出,並在稍後的動作中使用該數據。 如需每個函式的完整參考,請參閱 依字母順序排列的清單。
工作流程函式 | Task |
---|---|
action | 傳回目前動作在運行時間的輸出,或來自其他 JSON 名稱和值組的值。 另 請參閱動作。 |
actions | 在運行時間傳回動作的輸出,或來自其他 JSON 名稱和值組的值。 另 請參閱動作。 |
身體 | 在運行時間傳回動作的 body 輸出。 |
formDataMultiValues | 使用符合表單資料或表單編碼動作輸出中索引鍵名稱的值,建立陣列。 |
formDataValue | 傳回符合動作表單資料或表單碼輸出中索引鍵名稱的單一值。 |
專案 | 如果此函式出現在陣列的重複動作內,請在動作的目前反覆專案期間傳回數位列中的目前專案。 |
items | 如果此函式出現在 Foreach 或 Until 循環內,請從指定的循環傳回目前的專案。 |
iterationIndexes | 如果此函式出現在 Until 迴圈內,則傳回目前反覆專案的索引值。 您可以在巢狀 Until 迴圈內使用此函式。 |
listCallbackUrl | 傳回呼叫觸發程式或動作的「回呼 URL」。 |
multipartBody | 傳回動作輸出中具有多個部分之特定元件的主體。 |
輸出 | 在運行時間傳回動作的輸出。 |
parameters | 傳回工作流程定義中所描述之參數的值。 |
result | 傳回指定範圍動作內最上層動作的輸入和輸出,例如 For_each 、 Until 和 Scope 。 |
觸發 | 在運行時間或從其他 JSON 名稱和值組傳回觸發程式的輸出。 另 請參閱 triggerOutputs 和 triggerBody。 |
triggerBody | 在運行時間傳回觸發程序的 body 輸出。 請參閱 觸發程式。 |
triggerFormDataValue | 傳回符合表單資料或表單編碼觸發程式輸出中索引鍵名稱的單一值。 |
triggerMultipartBody | 傳回觸發程式多部分輸出中特定元件的主體。 |
triggerFormDataMultiValues | 建立陣列,其值符合表單資料或表單編碼觸發程序輸出中的索引鍵名稱。 |
triggerOutputs | 在運行時間傳回觸發程序的輸出,或來自其他 JSON 名稱和值組的值。 請參閱 觸發程式。 |
variables | 傳回指定變數的值。 |
工作流程 | 傳回運行時間期間工作流程本身的所有詳細數據。 |
URI 剖析函數
若要使用統一的資源識別碼(URI),並取得這些 URI 的各種屬性值,您可以使用這些 URI 剖析函式。 如需每個函式的完整參考,請參閱 依字母順序排列的清單。
URI 剖析函式 | Task |
---|---|
uriHost | host 傳回統一資源標識碼的值(URI)。 |
uriPath | path 傳回統一資源標識碼的值(URI)。 |
uriPathAndQuery | path 傳回統一資源標識碼 (URI) 的和 query 值。 |
uriPort | port 傳回統一資源標識碼的值(URI)。 |
uriQuery | query 傳回統一資源標識碼的值(URI)。 |
uriScheme | scheme 傳回統一資源標識碼的值(URI)。 |
操作函式:JSON 和 XML
若要使用 JSON 物件和 XML 節點,您可以使用這些操作函式。 如需每個函式的完整參考,請參閱 依字母順序排列的清單。
操作函式 | Task |
---|---|
addProperty | 將屬性及其值或名稱/值組新增至 JSON 物件,並傳回更新的物件。 |
coalesce | 從一個或多個參數中傳回第一個非 Null 值。 |
removeProperty | 從 JSON 物件移除屬性,並傳回更新的物件。 |
setProperty | 設定 JSON 物件的 屬性值,並傳回更新的物件。 |
xpath | 檢查 XML 中是否有符合 XPath (XML 路徑語言) 運算式的節點或值,並傳回符合的節點或值。 |
---------------------------------
所有函式 - 依字母順序排列的清單
本節依字母順序列出所有可用的函式。
A
action
傳 回目前 動作在運行時間的輸出,或其他 JSON 名稱和值組的值,您可以指派給表達式。 根據預設,此函式會參考整個動作物件,但您可以選擇性地指定其值的屬性。 另 請參閱 actions()。
您只能在下列位置使用 函 action()
式:
unsubscribe
Webhook 動作的 屬性,讓您可以從原始subscribe
要求存取結果trackedProperties
動作的屬性do-until
動作的循環條件
action()
action().outputs.body.<property>
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<property> | No | String | 動作物件屬性的名稱,其值如下:name、startTime、endTime、inputs、outputs、status、code、trackingId 和 clientTrackingId。 在 Azure 入口網站 中,您可以檢閱特定執行歷程記錄的詳細數據來尋找這些屬性。 如需詳細資訊,請參閱 REST API - 工作流程執行動作。 |
傳回值 | 類型 | 描述 |
---|---|---|
<action-output> | String | 目前動作或屬性的輸出 |
動作
在運行時間傳回動作的輸出,或來自其他 JSON 名稱和值組的值,您可以指派給表示式。 根據預設,函式會參考整個動作物件,但您可以選擇性地指定其值的屬性。 如需速記版本,請參閱 body()。 如需目前的動作,請參閱 action()。
提示
函式會 actions()
以字串的形式傳回輸出。 如果您需要將傳回的值當做 JSON 物件使用,您必須先轉換字串值。 您可以使用剖析 JSON 動作,將字串值轉換成 JSON 物件。
注意
先前,您可以在指定根據另一個動作的輸出執行動作時,使用 actions()
函式或 conditions
專案。 不過,若要在動作之間明確宣告相依性,您現在必須使用相依動作的 runAfter
屬性。
若要深入瞭解 runAfter
屬性,請參閱 使用 runAfter 屬性攔截和處理失敗。
actions('<actionName>')
actions('<actionName>').outputs.body.<property>
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<actionName> | Yes | String | 您要輸出的動作物件名稱 |
<property> | No | String | 動作物件屬性的名稱,其值如下:name、startTime、endTime、inputs、outputs、status、code、trackingId 和 clientTrackingId。 在 Azure 入口網站 中,您可以檢閱特定執行歷程記錄的詳細數據,以尋找這些屬性。 如需詳細資訊,請參閱 REST API - 工作流程執行動作。 |
傳回值 | 類型 | 描述 |
---|---|---|
<action-output> | String | 指定動作或屬性的輸出 |
範例
此範例會 status
從執行時間的 X 動作 Get user
取得屬性值:
actions('Get_user').outputs.body.status
並傳回此結果:"Succeeded"
add
傳回兩個數字相加的結果。
add(<summand_1>, <summand_2>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<summand_1>, <summand_2> | Yes | 整數、浮點數或混合 | 要相加的數字 |
傳回值 | 類型 | 描述 |
---|---|---|
<result-sum> | 整數或浮點數 | 指定數字相加的結果 |
範例
此範例會相加指定的數字:
add(1, 1.5)
並傳回此結果:2.5
addDays
將天數新增至時間戳。
addDays('<timestamp>', <days>, '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳記的字串 |
<days> | Yes | 整數 | 要加入的天數 (正數或負數) |
<format> | No | String | 數值格式字串,可以是單一 格式規範 或 自定義格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 如果格式不是有效的值,就會產生錯誤。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 時間戳記加上指定的天數 |
範例 1
此範例會在指定的時間戳記中加上 10 天:
addDays('2018-03-15T00:00:00Z', 10)
並傳回此結果:"2018-03-25T00:00:00.0000000Z"
範例 2
此範例會從指定的時間戳記中減去五天:
addDays('2018-03-15T00:00:00Z', -5)
並傳回此結果:"2018-03-10T00:00:00.0000000Z"
addHours
將小時新增至時間戳。
addHours('<timestamp>', <hours>, '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳記的字串 |
<hours> | Yes | 整數 | 要加入的時數 (正數或負數) |
<format> | No | String | 數值格式字串,可以是單一 格式規範 或 自定義格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 如果格式不是有效的值,就會產生錯誤。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 時間戳記加上指定的時數 |
範例 1
此範例會在指定的時間戳記中加上 10 小時:
addHours('2018-03-15T00:00:00Z', 10)
並傳回此結果:"2018-03-15T10:00:00.0000000Z"
範例 2
此範例會從指定的時間戳記中減去五小時:
addHours('2018-03-15T15:00:00Z', -5)
並傳回此結果:"2018-03-15T10:00:00.0000000Z"
addMinutes
將分鐘新增至時間戳。
addMinutes('<timestamp>', <minutes>, '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳記的字串 |
<分鐘> | Yes | 整數 | 要加入的分鐘數 (正數或負數) |
<format> | No | String | 數值格式字串,可以是單一 格式規範 或 自定義格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 如果格式不是有效的值,就會產生錯誤。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 時間戳記加上指定的分鐘數 |
範例 1
此範例會在指定的時間戳記中加上 10 分鐘:
addMinutes('2018-03-15T00:10:00Z', 10)
並傳回此結果:"2018-03-15T00:20:00.0000000Z"
範例 2
此範例會從指定的時間戳記中減去五分鐘:
addMinutes('2018-03-15T00:20:00Z', -5)
並傳回此結果:"2018-03-15T00:15:00.0000000Z"
addProperty
將屬性及其值或名稱/值組新增至 JSON 物件,並傳回更新的物件。 如果屬性已存在於運行時間,函式會失敗並擲回錯誤。
addProperty(<object>, '<property>', <value>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<object> | Yes | Object | 您要在其中新增屬性的 JSON 物件 |
<property> | Yes | String | 要加入之屬性的名稱 |
<value> | Yes | 任意 | 屬性的值 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-object> | Object | 具有指定屬性的更新 JSON 物件 |
若要將父屬性新增至現有的屬性,請使用 函 setProperty()
式,而不是函 addProperty()
式。 否則,函式只會傳回子物件做為輸出。
setProperty(<object>, '<parent-property>', addProperty(<object>['<parent-property>'], '<child-property>', <value>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<object> | Yes | Object | 您要在其中新增屬性的 JSON 物件 |
<parent-property> | Yes | String | 您要在其中新增子屬性的父屬性名稱 |
<child-property> | Yes | String | 要加入之子屬性的名稱 |
<value> | Yes | 任意 | 要為指定之屬性設定的值 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-object> | Object | 您所設定屬性的已更新 JSON 物件 |
範例 1
這個範例會將 middleName
屬性新增至 JSON 物件,該物件會使用 JSON() 函式,從字串轉換成 JSON。 對象已經包含 firstName
和 surName
屬性。 函式會將指定的值指派給新的 屬性,並傳回更新的物件:
addProperty(json('{ "firstName": "Sophia", "lastName": "Owen" }'), 'middleName', 'Anne')
以下是目前的 JSON 物件:
{
"firstName": "Sophia",
"surName": "Owen"
}
以下是更新的 JSON 物件:
{
"firstName": "Sophia",
"middleName": "Anne",
"surName": "Owen"
}
範例 2
這個範例會將 middleName
子屬性新增至 JSON 物件中的現有 customerName
屬性,該物件會使用 JSON() 函式,從字串轉換成 JSON。 函式會將指定的值指派給新的 屬性,並傳回更新的物件:
setProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }'), 'customerName', addProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }')['customerName'], 'middleName', 'Anne'))
以下是目前的 JSON 物件:
{
"customerName": {
"firstName": "Sophia",
"surName": "Owen"
}
}
以下是更新的 JSON 物件:
{
"customerName": {
"firstName": "Sophia",
"middleName": "Anne",
"surName": "Owen"
}
}
addSeconds
將秒數新增至時間戳。
addSeconds('<timestamp>', <seconds>, '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳記的字串 |
<seconds> | Yes | 整數 | 要加入的秒數 (正數或負數) |
<format> | No | String | 數值格式字串,可以是單一 格式規範 或 自定義格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 如果格式不是有效的值,就會產生錯誤。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 時間戳記加上指定的秒數 |
範例 1
此範例會在指定的時間戳記中加上 10 秒鐘:
addSeconds('2018-03-15T00:00:00Z', 10)
並傳回此結果:"2018-03-15T00:00:10.0000000Z"
範例 2
此範例會在指定的時間戳記中減去 5 秒鐘:
addSeconds('2018-03-15T00:00:30Z', -5)
並傳回此結果:"2018-03-15T00:00:25.0000000Z"
addToTime
將指定的時間單位新增至時間戳。 另請參閱 getFutureTime()。
addToTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳記的字串 |
<interval> | Yes | 整數 | 要加入的指定時間單位數字 |
<timeUnit> | Yes | String | 與 interval 搭配使用的時間單位:"Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"、"Year" |
<format> | No | String | 數值格式字串,可以是單一 格式規範 或 自定義格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 如果格式不是有效的值,就會產生錯誤。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 時間戳記加上指定的時間單位數字 |
範例 1
此範例會在指定的時間戳記中加上 1 天:
addToTime('2018-01-01T00:00:00Z', 1, 'Day')
並傳回此結果:"2018-01-02T00:00:00.0000000Z"
範例 2
此範例會在指定的時間戳記中加上 1 天:
addToTime('2018-01-01T00:00:00Z', 1, 'Day', 'D')
並傳回選用 "D" 格式的結果:"Tuesday, January 2, 2018"
及
檢查是否所有運算式都是 True。 當所有表達式都為 true 時傳回 true,或至少有一個運算式為 false 時傳回 false。
and(<expression1>, <expression2>, ...)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<expression1>, <expression2>, ... | Yes | 布林值 | 要檢查的運算式 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 當所有表達式都為 true 時,傳回 true。 至少一個運算式為 False 時,則傳回 False。 |
範例 1
這些範例會檢查指定的布爾值是否全部為 true:
and(true, true)
and(false, true)
and(false, false)
並傳回下列結果:
- 第一個範例:兩個運算式都是 True,所以會傳回
true
。 - 第二個範例:一個運算式為 False,所以會傳回
false
。 - 第一個範例:兩個運算式都是 False,所以會傳回
false
。
範例 2
這些範例會檢查指定的運算式是否全部為 true:
and(equals(1, 1), equals(2, 2))
and(equals(1, 1), equals(1, 2))
and(equals(1, 2), equals(1, 3))
並傳回下列結果:
- 第一個範例:兩個運算式都是 True,所以會傳回
true
。 - 第二個範例:一個運算式為 False,所以會傳回
false
。 - 第一個範例:兩個運算式都是 False,所以會傳回
false
。
陣列
從單一指定輸入傳回的陣列。 關於多個輸入的資訊,請參閱 createArray()。
array('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 建立陣列的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
[<值>] | 陣列 | 包含單一指定輸入的陣列 |
範例
此範例會從 "hello" 字串建立陣列:
array('hello')
並傳回此結果:["hello"]
B
base64
傳回字串的 base64 編碼版本。
注意
Azure Logic Apps 會自動或隱含地執行 base64 編碼和譯碼,因此您不需要使用編碼和譯碼函式手動執行這些轉換。 不過,如果您無論如何都使用這些函式,您可能會在設計工具中遇到非預期的轉譯行為。 除非您編輯函式的參數值,否則這些行為只會影響函式的可見度,而不會影響其效果,這會從程式碼中移除函式及其效果。 如需詳細資訊,請參閱 Base64編碼和譯碼。
base64('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 輸入字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<base64-string> | String | 輸入字串的 base64 編碼版本 |
範例
此範例會將 "hello" 字串轉換為 base64 編碼的字串:
base64('hello')
並傳回此結果:"aGVsbG8="
base64ToBinary
傳回 base64 編碼字串的二進位版本。
注意
Azure Logic Apps 會自動或隱含地執行 base64 編碼和譯碼,因此您不需要使用編碼和譯碼函式手動執行這些轉換。 不過,如果您在設計工具中無論如何都使用這些函式,您可能會在設計工具中遇到非預期的轉譯行為。 除非您編輯函式的參數值,否則這些行為只會影響函式的可見度,而不會影響其效果,這會從程式碼中移除函式及其效果。 如需詳細資訊,請參閱 Base64編碼和譯碼。
base64ToBinary('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換的 base64 編碼字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<binary-for-base64-string> | String | base64 編碼字串的二進位版本 |
範例
此範例會將 "aGVsbG8=" base64 編碼的字串轉換為二進位字串:
base64ToBinary('aGVsbG8=')
例如,假設您使用 HTTP 動作來傳送要求。 您可以使用 base64ToBinary()
將base64編碼的字串轉換成二進位數據,並使用要求中的內容類型傳送該數據 application/octet-stream
。
base64ToString
傳回 base64 編碼字串的字串版本,也就是有效地解碼 base64 字串。 使用此函式,而不是譯碼已淘汰的Base64()。
注意
Azure Logic Apps 會自動或隱含地執行 base64 編碼和譯碼,因此您不需要使用編碼和譯碼函式手動執行這些轉換。 不過,如果您在設計工具中無論如何都使用這些函式,您可能會在設計工具中遇到非預期的轉譯行為。 除非您編輯函式的參數值,否則這些行為只會影響函式的可見度,而不會影響其效果,這會從程式碼中移除函式及其效果。 如需詳細資訊,請參閱 Base64編碼和譯碼。
base64ToString('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要解碼的 base64 編碼字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<decoded-base64-string> | String | 傳回 base64 編碼字串的字串版本 |
範例
此範例會將 "aGVsbG8=" base64 編碼的字串轉換為單純字串:
base64ToString('aGVsbG8=')
並傳回此結果:"hello"
binary
傳回字串的base64編碼二進位版本。
binary('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<binary-for-input-value> | String | 指定字串的base64編碼二進位版本 |
範例
例如,您使用的是傳回影像或視訊檔案的 HTTP 動作。 您可以使用 binary()
將值轉換成base-64編碼的內容信封模型。 然後,您可以在其他動作中重複使用內容信封,例如 Compose
。
您可以使用此函式表示式,在要求中傳送 application/octet-stream
具有內容類型的字串位元組。
本文
在運行時間傳回動作的 body
輸出。 的 actions('<actionName>').outputs.body
速記。 請參閱 actions() 。
body('<actionName>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<actionName> | Yes | String | 您要之 body 動作輸出的名稱 |
傳回值 | 類型 | 描述 |
---|---|---|
<action-body-output> | String | body 指定動作的輸出 |
範例
這個範例會從 Get user
X 動作取得body
輸出:
body('Get_user')
並傳回此結果:
"body": {
"FullName": "Contoso Corporation",
"Location": "Generic Town, USA",
"Id": 283541717,
"UserName": "ContosoInc",
"FollowersCount": 172,
"Description": "Leading the way in transforming the digital workplace.",
"StatusesCount": 93,
"FriendsCount": 126,
"FavouritesCount": 46,
"ProfileImageUrl": "https://pbs.twimg.com/profile_images/908820389907722240/gG9zaHcd_400x400.jpg"
}
bool
傳回值的布爾值版本。
bool(<value>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | 任意 | 要轉換成布爾值的值。 |
如果您使用 bool()
物件,物件的值必須是可轉換成布爾值的字串或整數。
傳回值 | 類型 | 描述 |
---|---|---|
true 或 false |
布林值 | 指定值的布爾值版本。 |
輸出
這些範例顯示的不同支援的輸入 bool()
類型:
輸入值 | 類型 | 傳回值 |
---|---|---|
bool(1) |
整數 | true |
bool(0) |
整數 | false |
bool(-1) |
整數 | true |
bool('true') |
String | true |
bool('false') |
String | false |
C
chunk
將字串或陣列分割成長度相等的區塊。
chunk('<collection>', '<length>')
chunk([<collection>], '<length>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 字串或陣列 | 要分割的集合 |
<length> | Yes | 每個區塊的長度 |
傳回值 | 類型 | 描述 |
---|---|---|
<collection> | 陣列 | 具有指定長度的區塊陣列 |
範例 1
此範例會將字串分割成長度為 10 的區塊:
chunk('abcdefghijklmnopqrstuvwxyz', 10)
並傳回此結果:['abcdefghij', 'klmnopqrst', 'uvwxyz']
範例 2
本範例會將陣列分割成長度為5的區塊。
chunk(createArray(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), 5)
並傳回此結果:[ [1,2,3,4,5], [6,7,8,9,10], [11,12] ]
coalesce
從一個或多個參數中傳回第一個非 Null 值。 空白字串、空白陣列和空白物件不是 null。
coalesce(<object_1>, <object_2>, ...)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<object_1>, <object_2>, ... | Yes | 任何類型,可以是混合類型 | 要檢查是否有 Null 的一個或多個項目 |
傳回值 | 類型 | 描述 |
---|---|---|
<first-non-null-item> | 任意 | 第一個不是 Null 的項目或值。 如果所有參數都是 Null,則此函式會傳回 Null。 |
範例
這些範例會從指定值傳回第一個非 Null 的值,或是,如果所有值都是 Null,則傳回 Null:
coalesce(null, true, false)
coalesce(null, 'hello', 'world')
coalesce(null, null, null)
並傳回下列結果:
- 第一個範例:
true
- 第二個範例:
"hello"
- 第三個範例:
null
concat
結合兩個或多個字串,並傳回合併的字串。
concat('<text1>', '<text2>', ...)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text1>, <text2>, ... | Yes | String | 要結合的至少兩個字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<text1text2...> | String | 從合併的輸入字串建立的字串。 注意:結果的長度不得超過 104,857,600 個字元。 |
注意
Azure Logic Apps 會自動或隱含地執行 base64 編碼和譯碼,因此當您搭配需要編碼或譯碼的數據使用 concat()
函式時,不需要手動執行這些轉換:
concat('data:;base64,',<value>)
concat('data:,',encodeUriComponent(<value>))
不過,如果您在設計工具中還是使用此函式,您可能會在設計工具中遇到非預期的轉譯行為。 這些行為只會影響函式的可見度,而不會影響效果,除非您編輯函式的參數值,這會從程式代碼中移除函式和效果。 如需詳細資訊,請參閱 Base64編碼和譯碼。
範例
此範例會合併 "Hello" 和 "World" 字串:
concat('Hello', 'World')
並傳回此結果:"HelloWorld"
contains
檢查集合是否具有特定項目。 找到項目時,傳回 True,或找不到項目時,傳回 False。 此函式會區分大小寫。
contains('<collection>', '<value>')
contains([<collection>], '<value>')
具體而言,此函數會用在這些集合類型上:
- 要尋找「子字串」的「字串」
- 要尋找「值」的「陣列」
- 要尋找「索引碼」的「字典」
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 字串、陣列或字典 | 要檢查的集合 |
<value> | Yes | 個別的字串、陣列或字典 | 要尋找的項目 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 找到項目時,傳回 True。 找不到項目時,傳回 False。 |
範例 1
此範例會檢查字串 "hello world" 是否有子字串 "world",並傳回 True:
contains('hello world', 'world')
範例 2
此範例會檢查字串 "hello world" 是否有子字串 "universe",並傳回 False:
contains('hello world', 'universe')
convertFromUtc
將時間戳記從國際標準時間 (UTC) 轉換為目標時區。
convertFromUtc('<timestamp>', '<destinationTimeZone>', '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳記的字串 |
<destinationTimeZone> | Yes | String | 目標時區的名稱。 如需時區名稱,請檢閱 Microsoft Windows 默認時區。 |
<format> | No | String | 數值格式字串,可以是單一 格式規範 或 自定義格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 如果格式不是有效的值,就會產生錯誤。 |
傳回值 | 類型 | 描述 |
---|---|---|
<converted-timestamp> | String | 時間戳會轉換成目標時區,而沒有時區 UTC 位移。 |
範例 1
此範例會將時間戳記轉換為指定的時區:
convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time')
並傳回此結果:"2018-01-01T00:00:00.0000000"
範例 2
此範例會將時間戳記轉換為指定的時區和格式:
convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time', 'D')
並傳回此結果:"Monday, January 1, 2018"
convertTimeZone
將時間戳記從來源時區轉換為目標時區。
convertTimeZone('<timestamp>', '<sourceTimeZone>', '<destinationTimeZone>', '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳記的字串 |
<sourceTimeZone> | Yes | String | 來源時區的名稱。 如需時區名稱,請參閱 Microsoft Windows 預設時區,但您可能必須從時區名稱中移除任何標點符號。 |
<destinationTimeZone> | Yes | String | 目標時區的名稱。 如需時區名稱,請參閱 Microsoft Windows 預設時區,但您可能必須從時區名稱中移除任何標點符號。 |
<format> | No | String | 數值格式字串,可以是單一 格式規範 或 自定義格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 如果格式不是有效的值,就會產生錯誤。 |
傳回值 | 類型 | 描述 |
---|---|---|
<converted-timestamp> | String | 轉換為目標時區的時間戳記 |
範例 1
此範例會將來源時區轉換為目標時區:
convertTimeZone('2018-01-01T08:00:00.0000000Z', 'UTC', 'Pacific Standard Time')
並傳回此結果:"2018-01-01T00:00:00.0000000"
範例 2
此範例會將時區轉換為指定的時區和格式:
convertTimeZone('2018-01-01T80:00:00.0000000Z', 'UTC', 'Pacific Standard Time', 'D')
並傳回此結果:"Monday, January 1, 2018"
convertToUtc
將時間戳記從來源時區轉換為國際標準時間 (UTC)。
convertToUtc('<timestamp>', '<sourceTimeZone>', '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳記的字串 |
<sourceTimeZone> | Yes | String | 來源時區的名稱。 如需時區名稱,請參閱 Microsoft Windows 預設時區,但您可能必須從時區名稱中移除任何標點符號。 |
<format> | No | String | 數值格式字串,可以是單一 格式規範 或 自定義格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 如果格式不是有效的值,就會產生錯誤。 |
傳回值 | 類型 | 描述 |
---|---|---|
<converted-timestamp> | String | 轉換為 UTC 的時間戳記 |
範例 1
此範例會將時間戳記轉換為 UTC:
convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time')
並傳回此結果:"2018-01-01T08:00:00.0000000Z"
範例 2
此範例會將時間戳記轉換為 UTC:
convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time', 'D')
並傳回此結果:"Monday, January 1, 2018"
createArray
從多個輸入傳回陣列。 如需單一輸入陣列的資訊,請參閱 array()。
createArray('<object1>', '<object2>', ...)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<object1>, <object2>, ... | Yes | 任何類型,但不能是混合 | 用來建立陣列的至少兩個項目 |
傳回值 | 類型 | 描述 |
---|---|---|
[<object1>, <object2>, ...] | 陣列 | 從所有輸入項目建立的陣列 |
範例
此範例會從以下輸入建立陣列:
createArray('h', 'e', 'l', 'l', 'o')
並傳回此結果:["h", "e", "l", "l", "o"]
D
dataUri
傳回字串的資料統一資源識別項 (URI)。
dataUri('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<data-uri> | String | 輸入字串的資料 URI |
範例
此範例會針對 "hello" 字串建立資料 URI:
dataUri('hello')
並傳回此結果:"data:text/plain;charset=utf-8;base64,aGVsbG8="
dataUriToBinary
傳回資料統一資源識別項 (URI) 的二進位版本。
使用此函式而非 decodeDataUri()。
雖然這兩個函數的運作方式相同,但是較常使用 dataUriBinary()
。
dataUriToBinary('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換的資料 URI |
傳回值 | 類型 | 描述 |
---|---|---|
<binary-for-data-uri> | String | 資料 URI 的二進位版本 |
範例
此範例會建立此資料 URI 的二進位版本:
dataUriToBinary('data:text/plain;charset=utf-8;base64,aGVsbG8=')
並傳回此結果:
"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"
dataUriToString
傳回資料統一資源識別項 (URI) 的字串版本。
dataUriToString('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換的資料 URI |
傳回值 | 類型 | 描述 |
---|---|---|
<string-for-data-uri> | String | 資料 URI 的字串版本 |
範例
此範例會建立此資料 URI 的字串:
dataUriToString('data:text/plain;charset=utf-8;base64,aGVsbG8=')
並傳回此結果:"hello"
dateDifference
以時間範圍傳回兩個時間戳之間的差異。 此函式會 startDate
從 endDate
減去 ,並以字串格式傳回時間戳的結果。
dateDifference('<startDate>', '<endDate>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<startDate> | Yes | String | 包含時間戳的字串 |
<endDate> | Yes | String | 包含時間戳的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<timespan> | String | 兩個時間戳之間的差異,也就是字串格式的時間戳。 如果 startDate 比 最近 endDate ,則結果為負值。 |
範例
此範例會從第二個值減去第一個值:
dateDifference('2015-02-08', '2018-07-30')
並傳回此結果:"1268.00:00:00"
dayOfMonth
傳回時間戳記中的當月日期。
dayOfMonth('<timestamp>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳記的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<day-of-month> | 整數 | 在指定時間戳記中的當月日期 |
範例
此範例會傳回此時間戳記中的當月日期數字:
dayOfMonth('2018-03-15T13:27:36Z')
並傳回此結果:15
dayOfWeek
從時間戳記傳回當週的第幾天。
dayOfWeek('<timestamp>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳記的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<day-of-week> | 整數 | 在指定時間戳記上那一週的第幾天,其中星期日是 0、星期一是 1,依此類推 |
範例
此範例會從此時間戳記傳回當週的第幾天:
dayOfWeek('2018-03-15T13:27:36Z')
並傳回此結果:4
dayOfYear
從時間戳記傳回一年的第幾天。
dayOfYear('<timestamp>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳記的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<day-of-year> | 整數 | 在指定時間戳記上那一年的第幾天 |
範例
此範例會從此時間戳記傳回一年的第幾天:
dayOfYear('2018-03-15T13:27:36Z')
並傳回此結果:74
decimal
以十進位數傳回字串中的十進位數。 當您使用需要小數精確度的數據,以及做為邏輯比較函式和數學函式的輸入時,可以使用此函式。 若要在使用 decimal() 函式的結果時擷取並保留有效位數,請使用字串函式包裝任何十進位輸出。 下列範例顯示此用法,如果您使用十進制結果做為數位,則可能會失去有效位數。
注意
此函式和 Azure Logic Apps 執行時間內容中所討論的十進位有效位數與 .NET 十進位精確度相同。
decimal('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 字串中的十進位數 |
傳回值 | 類型 | 描述 |
---|---|---|
<decimal> | 十進位數字 | 輸入字串的十進位數 |
範例 1
此範例會建立用來作為數位的十進位:
decimal('1.2345678912312131') // Returns 1.234567891231213.
範例 2
此範例會建立十進位,然後將結果轉換成字串,以保留有效位數:
string(decimal('1.2345678912312131')) // Returns "1.2345678912312131".
範例 3
此範例會在兩個十進位數上使用數學函式,並使用結果做為數位:
add(decimal('1.2345678912312131'), decimal('1.2345678912312131')) // Returns 2.469135782462426.
範例 4
此範例會在兩個十進位數上使用數學函式,並將結果轉換成字元串,以便保留有效位數:
string(add(decimal('1.2345678912312131'), decimal('1.2345678912312131'))) // Returns "2.4691357824624262".
decodeBase64 (已淘汰)
此函式已被取代,因此請改用base64ToString()。
decodeDataUri
傳回資料統一資源識別項 (URI) 的二進位版本。 請考慮使用 dataUriToBinary(),而非 decodeDataUri()
。 雖然這兩個函數的運作方式相同,但是較常使用 dataUriToBinary()
。
注意
Azure Logic Apps 會自動或隱含地執行 base64 編碼和譯碼,因此您不需要使用編碼和譯碼函式手動執行這些轉換。 不過,如果您在設計工具中無論如何都使用這些函式,您可能會在設計工具中遇到非預期的轉譯行為。 除非您編輯函式的參數值,否則這些行為只會影響函式的可見度,而不會影響其效果,這會從程式碼中移除函式及其效果。 如需詳細資訊,請參閱 Base64編碼和譯碼。
decodeDataUri('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要解碼的資料 URI 字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<binary-for-data-uri> | String | 資料 URI 字串的二進位版本 |
範例
此範例會傳回此資料 URI 的二進位版本:
decodeDataUri('data:text/plain;charset=utf-8;base64,aGVsbG8=')
並傳回此結果:
"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"
decodeUriComponent
傳回以已解碼版本取代逸出字元的字串。
decodeUriComponent('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 其逸出字元需要解碼的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<decoded-uri> | String | 更新後的字串,其中逸出字元已解碼 |
範例
此範例會以已解碼的版本取代此字串中的逸出字元:
decodeUriComponent('https%3A%2F%2Fcontoso.com')
並傳回此結果:"https://contoso.com"
div
傳回兩個數字相除的結果。 若要取得餘數,請參閱 mod()。
div(<dividend>, <divisor>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<dividend> | Yes | 整數或浮點數 | 要除以「除數」的數字 |
<divisor> | Yes | 整數或浮點數 | 除 除股息但不能為零的數位 |
傳回值 | 類型 | 描述 |
---|---|---|
<quotient-result> | 整數或浮點數 | 將第一個數位除以第二個數字的結果。 如果除數或除數具有 Float 類型,結果就會有 Float 類型。 注意:若要將 float 結果轉換成整數,請嘗試 從邏輯應用程式在 Azure 中建立和呼叫函式。 |
範例 1
這兩個範例都會傳回具有整數類型的此值: 2
div(10,5)
div(11,5)
範例 2
這兩個範例都會傳回具有 Float 類型的此值: 2.2
div(11,5.0)
div(11.0,5)
E
encodeUriComponent
傳回字串的統一資源識別項 (URI) 編碼版本,以逸出字元取代 URL 中的 Unsafe 字元。 請考慮使用 uriComponent(),而非 encodeUriComponent()
。 雖然這兩個函數的運作方式相同,但是較常使用 uriComponent()
。
注意
Azure Logic Apps 會自動或隱含地執行 base64 編碼和譯碼,因此您不需要使用編碼和譯碼函式手動執行這些轉換。 不過,如果您在設計工具中無論如何都使用這些函式,您可能會在設計工具中遇到非預期的轉譯行為。 除非您編輯函式的參數值,否則這些行為只會影響函式的可見度,而不會影響其效果,這會從程式碼中移除函式及其效果。 如需詳細資訊,請參閱 Base64編碼和譯碼。
encodeUriComponent('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換成 URI 編碼格式的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<encoded-uri> | String | 具有逸出字元的 URI 編碼字串 |
範例
此範例會建立此字串的 URI 編碼版本:
encodeUriComponent('https://contoso.com')
並傳回此結果:"https%3A%2F%2Fcontoso.com"
empty
檢查集合是否是空的。 集合若是空的,傳回 True,或集合若不是空的,則傳回 False。
empty('<collection>')
empty([<collection>])
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 字串、陣列或物件 | 要檢查的集合 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 若集合是空的,傳回 True。 若不是空的,傳回 False。 |
範例
這些範例會檢查指定的集合是否是空的:
empty('')
empty('abc')
並傳回下列結果:
- 第一個範例:傳遞空字串,所以函數傳回
true
。 - 第二個範例:傳遞 "abc" 字串,所以函數傳回
false
。
endsWith
檢查字串是否以特定的子字串結束。 找到子字串時,傳回 True,或找不到子字串時,傳回 False。 此函式會區分大小寫。
endsWith('<text>', '<searchText>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 要檢查的字串 |
<searchText> | Yes | String | 要尋找的結尾子字串 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 找到結尾子字串時,傳回 True。 找不到項目時,傳回 False。 |
範例 1
此範例會檢查 "hello world" 字串是否以 "world" 字串結尾:
endsWith('hello world', 'world')
並傳回此結果:true
範例 2
此範例會檢查 "hello world" 字串是否以 "universe" 字串結尾:
endsWith('hello world', 'universe')
並傳回此結果:false
等於
檢查兩個值、運算式或物件是否相等。 兩個項目相等時,傳回 True,或兩個項目不相等時,傳回 False。
equals('<object1>', '<object2>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<object1>, <object2> | Yes | 各種 | 要比較的值、運算式或物件 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 當兩個項目相等時,傳回 True。 當兩個項目不相等時,傳回 False。 |
範例
這些範例會檢查指定的輸入是否相等。
equals(true, 1)
equals('abc', 'abcd')
並傳回下列結果:
- 第一個範例:兩個值相等,所以函數傳回
true
。 - 第二個範例:兩個值不相等,所以函式傳回
false
。
F
第一
傳回字串或陣列中的第一個項目。
first('<collection>')
first([<collection>])
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 字串或陣列 | 要從中尋找第一個項目的集合 |
傳回值 | 類型 | 描述 |
---|---|---|
<first-collection-item> | 任意 | 集合中的第一個項目 |
範例
這些範例會尋找以下集合中第一個項目:
first('hello')
first(createArray(0, 1, 2))
並傳回下列結果:
- 第一個範例:
"h"
- 第二個範例:
0
float
將浮點數的字串版本轉換為實際浮點數。 只有在將自定義參數傳遞至應用程式時,您才可以使用此函式,例如邏輯應用程式工作流程或 Power Automate 流程。 若要轉換以地區設定特定格式表示的浮點字串,您可以選擇性地指定 RFC 4646 地區設定程式代碼。
float('<value>', '<locale>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 字串,具有要轉換的有效浮點數。 最小值和最大值與 float 數據類型的限制相同。 |
<地區設定> | No | String | 要使用的 RFC 4646 地區設定程式代碼。 如果未指定,則會使用預設地區設定。 如果 地區設定 不是有效的值,就會產生錯誤,指出所提供的地區設定無效或沒有相關聯的地區設定。 |
傳回值 | 類型 | 描述 |
---|---|---|
<float-value> | Float | 指定字串的浮點數。 最小值和最大值與 float 數據類型的限制相同。 |
範例 1
此範例會建立此浮點數的字串版本:
float('10,000.333')
並傳回此結果:10000.333
範例 2
此範例會為此德文樣式浮點數建立字串版本:
float('10.000,333', 'de-DE')
並傳回此結果:10000.333
formatDateTime
傳回指定格式的時間戳記。
formatDateTime('<timestamp>', '<format>'?, '<locale>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳記的字串 |
<format> | No | String | 數值格式字串,可以是單一 格式規範 或 自定義格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 |
<地區設定> | No | String | 要使用的地區設定。 如果未指定,則值為 en-us 。 如果 地區設定 不是有效的值,就會產生錯誤。 |
傳回值 | 類型 | 描述 |
---|---|---|
<reformatted-timestamp> | String | 如果指定,則為指定格式和地區設定的更新時間戳。 |
範例
formatDateTime('03/15/2018') // Returns '2018-03-15T00:00:00.0000000'.
formatDateTime('03/15/2018 12:00:00', 'yyyy-MM-ddTHH:mm:ss') // Returns '2018-03-15T12:00:00'.
formatDateTime('01/31/2016', 'dddd MMMM d') // Returns 'Sunday January 31'.
formatDateTime('01/31/2016', 'dddd MMMM d', 'fr-fr') // Returns 'dimanche janvier 31'.
formatDateTime('01/31/2016', 'dddd MMMM d', 'fr-FR') // Returns 'dimanche janvier 31'.
formatDateTime('01/31/2016', 'dddd MMMM d', 'es-es') // Returns 'domingo enero 31'.
formDataMultiValues
傳回數位,其值符合動作表單資料或表單編碼輸出中的索引鍵名稱。
formDataMultiValues('<actionName>', '<key>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<actionName> | Yes | String | 輸出具有您想要之索引鍵值的動作 |
<key> | Yes | String | 您想要其值之索引鍵的名稱 |
傳回值 | 類型 | 描述 |
---|---|---|
[<array-with-key-values>] | 陣列 | 數位,其中包含符合指定索引鍵的所有值 |
範例
這個範例會從指定動作的表單資料或表單編碼輸出中的 「Subject」 索引鍵值建立陣列:
formDataMultiValues('Send_an_email', 'Subject')
並傳回陣列中的主旨文字,例如: ["Hello world"]
formDataValue
傳回符合動作表單資料或表單碼輸出中索引鍵名稱的單一值。 如果函式找到一個以上的相符專案,函式會擲回錯誤。
formDataValue('<actionName>', '<key>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<actionName> | Yes | String | 輸出具有您想要之索引鍵值的動作 |
<key> | Yes | String | 您想要其值之索引鍵的名稱 |
傳回值 | 類型 | 描述 |
---|---|---|
<key-value> | String | 指定索引鍵中的值 |
範例
此範例會從指定動作的表單資料或表單編碼輸出中的 「Subject」 索引鍵值建立字串:
formDataValue('Send_an_email', 'Subject')
並傳回主旨文字做為字串,例如: "Hello world"
formatNumber
以以指定格式為基礎的字串傳回數位。
formatNumber(<number>, <format>, <locale>?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<number> | Yes | 整數或雙精度浮點數 | 您想要格式化的值。 |
<format> | Yes | String | 複合格式字串,指定您想要使用的格式。 如需支持的數值格式字串,請參閱 標準數值格式字串,這些字串受到number.ToString(<format>, <locale>) 支援。 |
<地區設定> | No | String | 要使用的地區設定,如 所 number.ToString(<format>, <locale>) 支援。 如果未指定,則值為 en-us 。 如果 地區設定 不是有效的值,就會產生錯誤。 |
傳回值 | 類型 | 描述 |
---|---|---|
<formatted-number> | String | 以您指定之格式的字串表示指定的數位。 您可以將這個傳回值 int 轉換成 或 float 。 |
範例 1
假設您要格式化數位 1234567890
。 本範例會將該數位格式化為字串 「1,234,567,890.00」。。
formatNumber(1234567890, '0,0.00', 'en-us')
*範例 2”
假設您要格式化數位 1234567890
。 本範例會將數位格式化為字串 “1.234.567.890,00”。
formatNumber(1234567890, '0,0.00', 'is-is')
範例 3
假設您要格式化數位 17.35
。 本範例會將數位格式化為字串 「$17.35」。。
formatNumber(17.35, 'C2')
範例 4
假設您要格式化數位 17.35
。 本範例會將數位格式化為字串 「17,35 kr」。。
formatNumber(17.35, 'C2', 'is-is')
G
getFutureTime
傳回目前時間戳記加上指定時間單位的結果。
getFutureTime(<interval>, <timeUnit>, <format>?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<interval> | Yes | 整數 | 要新增的時間單位數目 |
<timeUnit> | Yes | String | 與 interval 搭配使用的時間單位:"Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"、"Year" |
<format> | No | String | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 如果格式不是有效的值,則會產生錯誤,指出所提供的格式無效,而且必須是數值格式字串。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 目前時間戳記加上指定的時間單位數字 |
範例 1
假設目前的時間戳記是 "2018-03-01T00:00:00.0000000Z"。 此範例會在時間戳記中加上 5 天:
getFutureTime(5, 'Day')
並傳回此結果:"2018-03-06T00:00:00.0000000Z"
範例 2
假設目前的時間戳記是 "2018-03-01T00:00:00.0000000Z"。 此範例會加上五天,並將結果轉換為 "D" 格式:
getFutureTime(5, 'Day', 'D')
並傳回此結果:"Tuesday, March 6, 2018"
getPastTime
傳回目前時間戳記減去指定時間單位的結果。
getPastTime(<interval>, <timeUnit>, <format>?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<interval> | Yes | 整數 | 要減去的指定時間單位數字 |
<timeUnit> | Yes | String | 與 interval 搭配使用的時間單位:"Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"、"Year" |
<format> | No | String | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 如果格式不是有效的值,則會產生錯誤,指出所提供的格式無效,而且必須是數值格式字串。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 目前時間戳記減去指定的時間單位數字 |
範例 1
假設目前的時間戳記是 "2018-02-01T00:00:00.0000000Z"。 此範例會從此時間戳記中減去五天:
getPastTime(5, 'Day')
並傳回此結果:"2018-01-27T00:00:00.0000000Z"
範例 2
假設目前的時間戳記是 "2018-02-01T00:00:00.0000000Z"。 此範例會減去五天,並將結果轉換為 "D" 格式:
getPastTime(5, 'Day', 'D')
並傳回此結果:"Saturday, January 27, 2018"
greater
檢查第一個值是否大於第二個值。 當第一個值比較大時,傳回 True,或當第一個值比較小時,傳回 False。
greater(<value>, <compareTo>)
greater('<value>', '<compareTo>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | 整數、浮點數或字串 | 要檢查其是否大於第二個值的第一個值 |
<compareTo> | Yes | 個別的整數、浮點數或字串 | 比較值 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 當第一個值大於第二個值時,傳回 True。 當第一個值等於或小於第二個值時,傳回 False。 |
範例
以下範例會檢查第一個值是否大於第二個值:
greater(10, 5)
greater('apple', 'banana')
並傳回下列結果:
- 第一個範例:
true
- 第二個範例:
false
greaterOrEquals
檢查第一個值是否大於或等於第二個值。 當第一個值較大或相等時,傳回 True,或當第一個值較小時,傳回 False。
greaterOrEquals(<value>, <compareTo>)
greaterOrEquals('<value>', '<compareTo>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | 整數、浮點數或字串 | 要檢查其是否大於或等於第二個值的第一個值 |
<compareTo> | Yes | 個別的整數、浮點數或字串 | 比較值 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 當第一個值大於或等於第二個值時,傳回 True。 當第一個值小於第二個值時,傳回 False。 |
範例
以下範例會檢查第一個值是否大於或等於第二個值:
greaterOrEquals(5, 5)
greaterOrEquals('apple', 'banana')
並傳回下列結果:
- 第一個範例:
true
- 第二個範例:
false
guid
以字串形式產生唯一識別碼 (GUID),例如 "c2ecc88d-88c8-4096-912c-d6f2e2b138ce":
guid()
此外,除了預設格式 "D" (以連字號分隔的 32 個數字),您可以指定不同格式的 GUID。
guid('<format>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<format> | No | String | 所傳回 GUID 的單一格式規範。 預設格式為 "D",但您可以使用 "N"、"D"、"B"、"P" 或 "X"。 |
傳回值 | 類型 | 描述 |
---|---|---|
<GUID-value> | String | 隨機產生的 GUID |
範例
此範例會產生相同 GUID,不過格式是 32 個以連字號分隔的數字,並以括號括住:
guid('P')
並傳回此結果:"(c2ecc88d-88c8-4096-912c-d6f2e2b138ce)"
I
if
檢查運算式是 True 或 False。 根據結果,傳回指定的值。 參數會從左至右進行評估。
if(<expression>, <valueIfTrue>, <valueIfFalse>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<expression> | Yes | 布林值 | 要檢查的運算式 |
<valueIfTrue> | Yes | 任意 | 運算式為 True 時要傳回的值 |
<valueIfFalse> | Yes | 任意 | 運算式為 False 時要傳回的值 |
傳回值 | 類型 | 描述 |
---|---|---|
<specified-return-value> | 任意 | 根據運算式為 True 或 False,傳回的指定值 |
範例
此範例會傳回 "yes"
,因為指定的運算式傳回 True。
否則,此範例會傳回 "no"
:
if(equals(1, 1), 'yes', 'no')
indexOf
傳回子字串的起始位置或索引值。 此函式不區分大小寫,而且索引以數字 0 開頭。
indexOf('<text>', '<searchText>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 具有子字串要尋找的字串 |
<searchText> | Yes | String | 要尋找的子字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<index-value> | 整數 | 所指定子字串的起始位置或索引值。 如果找不到該字串,傳回數字 -1。 |
範例
此範例會在 "hello world" 字串中,尋找 "world" 子字串的起始索引值:
indexOf('hello world', 'world')
並傳回此結果:6
int
將整數的字串版本轉換為實際的整數。
int('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換之整數的字串版本。 最小值和最大值與整數數據類型的限制相同。 |
傳回值 | 類型 | 描述 |
---|---|---|
<integer-result> | 整數 | 指定字串的整數版本。 最小值和最大值與整數數據類型的限制相同。 |
範例
此範例會建立字串 "10" 的整數版本:
int('10')
並傳回此結果:10
isFloat
傳回布爾值,指出字串是否為浮點數。 根據預設,此函式會針對浮點格式使用不因文化特性而異。 若要識別以其他地區設定特定格式表示的浮點數,您可以選擇性地指定 RFC 4646 地區設定程式代碼。
isFloat('<string>', '<locale>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要檢查的字串 |
<地區設定> | No | String | 要使用的 RFC 4646 地區設定程式代碼 |
傳回值 | 類型 | 描述 |
---|---|---|
<boolean-result> | 布林值 | 布爾值,指出字串是否為浮點數 |
範例 1
此範例會檢查字串是否為不因文化特性而異的浮點數:
isFloat('10,000.00')
並傳回此結果:true
範例 2
這個範例會檢查字串是否為德文地區設定中的浮點數:
isFloat('10.000,00', 'de-DE')
並傳回此結果:true
isInt
傳回布爾值,指出字串是否為整數。
isInt('<string>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<string> | Yes | String | 要檢查的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<boolean-result> | 布林值 | 布爾值,指出字串是否為整數 |
範例
這個範例會檢查字串是否為整數:
isInt('10')
並傳回此結果:true
項目
在陣列的重複動作內使用時,在動作的目前反覆運算期間傳回陣列中的目前專案。 您也可以從該項目的屬性取得值。
item()
傳回值 | 類型 | 描述 |
---|---|---|
<current-array-item> | 任意 | 動作目前反覆運算陣列中的目前專案 |
範例
這個範例會從 for-each 循環目前反復專案內 “Send_an_email” 動作的目前訊息中取得 body
元素:
item().body
項目
從 for-each 循環中的每個週期傳回目前的專案。 在 for-each 循環內使用此函式。
items('<loopName>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<loopName> | Yes | String | for-each 循環的名稱 |
傳回值 | 類型 | 描述 |
---|---|---|
<專案> | 任意 | 指定 for-each 迴圈中目前迴圈中的專案 |
範例
這個範例會從指定的 for-each 迴圈取得目前的專案:
items('myForEachLoopName')
iterationIndexes
傳回 Until 迴圈內目前反覆專案的索引值。 您可以在巢狀 Until 迴圈內使用此函式。
iterationIndexes('<loopName>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<loopName> | Yes | String | Until 循環的名稱 |
傳回值 | 類型 | 描述 |
---|---|---|
<index> | 整數 | 指定 Until 迴圈內目前反覆專案的索引值 |
範例
此範例會建立計數器變數,並在 Until 迴圈中的每個反覆項目期間,將該變數遞增一個,直到計數器值達到五個為止。 此範例也會建立變數,以追蹤每個反覆專案的目前索引。 在 Until 迴圈的每個反覆項目期間,此範例會遞增計數器值,然後將計數器值指派給目前的索引值,然後遞增計數器值。 在迴圈中,此範例會使用 iterationIndexes
函式參考目前的反覆專案索引:
iterationIndexes('Until_Max_Increment')
{
"actions": {
"Create_counter_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myCounter",
"type": "Integer",
"value": 0
}
]
},
"runAfter": {}
},
"Create_current_index_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myCurrentLoopIndex",
"type": "Integer",
"value": 0
}
]
},
"runAfter": {
"Create_counter_variable": [ "Succeeded" ]
}
},
"Until_Max_Increment": {
"type": "Until",
"actions": {
"Assign_current_index_to_counter": {
"type": "SetVariable",
"inputs": {
"name": "myCurrentLoopIndex",
"value": "@variables('myCounter')"
},
"runAfter": {
"Increment_variable": [ "Succeeded" ]
}
},
"Compose": {
"inputs": "'Current index: ' @{iterationIndexes('Until_Max_Increment')}",
"runAfter": {
"Assign_current_index_to_counter": [
"Succeeded"
]
},
"type": "Compose"
},
"Increment_variable": {
"type": "IncrementVariable",
"inputs": {
"name": "myCounter",
"value": 1
},
"runAfter": {}
}
},
"expression": "@equals(variables('myCounter'), 5)",
"limit": {
"count": 60,
"timeout": "PT1H"
},
"runAfter": {
"Create_current_index_variable": [ "Succeeded" ]
}
}
}
}
J
json
傳回字串或 XML 之物件的 JavaScript 物件表示法(JSON) 類型值、物件或陣列。
json('<value>')
json(xml('value'))
重要
如果沒有定義輸出結構的 XML 架構,函式可能會根據輸入傳回結構與預期格式大相徑庭的結果。
此行為讓此函式不適合輸出必須符合定義完善的合約的案例,例如,在重要的商務系統或解決方案中。
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | 字串或 XML | 要轉換的字串或 XML |
傳回值 | 類型 | 描述 |
---|---|---|
<JSON-result> | JSON 原生類型、物件或陣列 | 來自輸入字串或 XML 之物件的 JSON 原生類型值、物件或陣列。 - 如果您在根元素中傳入具有單一子元素的 XML,此函式會傳回該子元素的單一 JSON 物件。 - 如果您傳入根元素中有多個子元素的 XML,此函式會傳回包含這些子元素 JSON 物件的陣列。 - 如果字串為 null,函式會傳回空的物件。 |
範例 1
這個範例會將此字串轉換成 JSON 值:
json('[1, 2, 3]')
並傳回此結果:[1, 2, 3]
範例 2
這個範例會將此字串轉換成 JSON:
json('{"fullName": "Sophia Owen"}')
並傳回此結果:
{
"fullName": "Sophia Owen"
}
範例 3
這個範例會使用 json()
和 xml()
函式,將根元素中單一子元素的 XML 轉換成針對該子專案命名 person
的 JSON 物件:
json(xml('<?xml version="1.0"?> <root> <person id="1"> <name>Sophia Owen</name> <occupation>Engineer</occupation> </person> </root>'))
並傳回此結果:
{
"?xml": {
"@version": "1.0"
},
"root": {
"person": {
"@id": "1",
"name": "Sophia Owen",
"occupation": "Engineer"
}
}
}
範例 4
這個範例會使用 json()
和 xml()
函式,將根元素中有多個子元素的 XML 轉換成名為 person
的陣列,其中包含這些子元素的 JSON 物件:
json(xml('<?xml version="1.0"?> <root> <person id="1"> <name>Sophia Owen</name> <occupation>Engineer</occupation> </person> <person id="2"> <name>John Doe</name> <occupation>Engineer</occupation> </person> </root>'))
並傳回此結果:
{
"?xml": {
"@version": "1.0"
},
"root": {
"person": [
{
"@id": "1",
"name": "Sophia Owen",
"occupation": "Engineer"
},
{
"@id": "2",
"name": "John Doe",
"occupation": "Engineer"
}
]
}
}
交集
在指定的多個集合中,傳回「只有」共同項目的集合。 項目若要出現在結果中,必須出現在所有傳遞至此函式的集合中。 如果一個或多個項目有相同的名稱,則具有該名稱的最後一個項目會出現在結果中。
intersection([<collection1>], [<collection2>], ...)
intersection('<collection1>', '<collection2>', ...)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection1>, <collection2>, ... | Yes | 陣列或物件,但不可以兩者並存 | 您想要其中「只有」共同項目的集合 |
傳回值 | 類型 | 描述 |
---|---|---|
<common-items> | 個別的陣列或物件 | 在指定的多個集合中,「只有」共同項目的集合 |
範例
此範例會從以下陣列中找出共同項目:
intersection(createArray(1, 2, 3), createArray(101, 2, 1, 10), createArray(6, 8, 1, 2))
並傳回的「只有」這些項目的陣列:[1, 2]
join
傳回具有陣列中所有項目的字串,並以「分隔符號」將每個字元隔開。
join([<collection>], '<delimiter>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 陣列 | 要將其項目聯結的陣列 |
<delimiter> | Yes | String | 在結果字串中,要出現在每個字元之間的分隔符號 |
傳回值 | 類型 | 描述 |
---|---|---|
<char1><delimiter><char2><delimiter>... | String | 從指定數位中所有專案建立的結果字串。 注意:結果的長度不得超過 104,857,600 個字元。 |
範例
此範例會從此陣列中所有項目建立字串,並以指定字元作為分隔符號:
join(createArray('a', 'b', 'c'), '.')
並傳回此結果:"a.b.c"
L
最後一
傳回集合中的最後一個項目。
last('<collection>')
last([<collection>])
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 字串或陣列 | 要從中尋找最後一個項目的集合 |
傳回值 | 類型 | 描述 |
---|---|---|
<last-collection-item> | 個別的字串或陣列 | 集合中的最後一個項目 |
範例
這些範例會尋找以下集合中最後一個項目:
last('abcd')
last(createArray(0, 1, 2, 3))
並傳回下列結果:
- 第一個範例:
"d"
- 第二個範例:
3
lastIndexOf
傳回子字串最後一次出現的起始位置或索引值。 此函式不區分大小寫,而且索引以數字 0 開頭。
lastIndexOf('<text>', '<searchText>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 具有子字串要尋找的字串 |
<searchText> | Yes | String | 要尋找的子字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<ending-index-value> | 整數 | 指定的子字串最後一次出現的起始位置或索引值。 |
如果字串或子字串值是空的,就會發生下列行為:
如果只有字串值是空的,函式會傳
-1
回 。如果字串與子字串值都是空的,則函式會傳
0
回 。如果只有子字串值是空的,函式會傳回字串長度減 1。
範例
這個範例會尋找字串 hello world hello world
中最後一個出現子字串子字串world
的起始索引值。 傳回的結果為 18
:
lastIndexOf('hello world hello world', 'world')
這個範例遺漏子字串參數,並傳回的值 22
,因為輸入字串的值減23
1 大於 0。
lastIndexOf('hello world hello world', '')
length
傳回集合中的項目數目。
length('<collection>')
length([<collection>])
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 字串或陣列 | 要計算其項目數的集合 |
傳回值 | 類型 | 描述 |
---|---|---|
<length-or-count> | 整數 | 集合中的項目數目 |
範例
這些範例會計算以下集合中的項目數:
length('abcd')
length(createArray(0, 1, 2, 3))
並傳回此結果:4
less
檢查第一個值是否小於第二個值。 當第一個值較小時,傳回 True,或當第一個值較大時,傳回 False。
less(<value>, <compareTo>)
less('<value>', '<compareTo>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | 整數、浮點數或字串 | 要檢查其是否小於第二個值的第一個值 |
<compareTo> | Yes | 個別的整數、浮點數或字串 | 比較項目 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 當第一個值小於第二個值時,傳回 True。 當第一個值等於或大於第二個值時,傳回 False。 |
範例
以下範例會檢查第一個值是否小於第二個值。
less(5, 10)
less('banana', 'apple')
並傳回下列結果:
- 第一個範例:
true
- 第二個範例:
false
lessOrEquals
檢查第一個值是否小於或等於第二個值。 當第一個值較小或相等時,傳回 True,或當第一個值較大時,傳回 False。
lessOrEquals(<value>, <compareTo>)
lessOrEquals('<value>', '<compareTo>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | 整數、浮點數或字串 | 要檢查其是否小於或等於第二個值的第一個值 |
<compareTo> | Yes | 個別的整數、浮點數或字串 | 比較項目 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 當第一個值小於或等於第二個值時,傳回 True。 當第一個值大於第二個值時,傳回 False。 |
範例
以下範例會檢查第一個值是否小於或等於第二個值。
lessOrEquals(10, 10)
lessOrEquals('apply', 'apple')
並傳回下列結果:
- 第一個範例:
true
- 第二個範例:
false
listCallbackUrl
傳回呼叫觸發程式或動作的「回呼 URL」。 此函式僅適用於 HttpWebhook 和 ApiConnectionWebhook 連接器類型的觸發程式和動作,但不適用於手動、週期、HTTP 和 APIConnection 類型。
listCallbackUrl()
傳回值 | 類型 | 描述 |
---|---|---|
<callback-URL> | String | 觸發程式或動作的回呼 URL |
範例
這個範例顯示此函式可能會傳回的範例回呼 URL:
"https://prod-01.westus.logic.azure.com:443/workflows/<*workflow-ID*>/triggers/manual/run?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<*signature-ID*>"
月
max
從具有數字的清單或陣列中傳回最大值 (包含首尾兩端的值)。
max(<number1>, <number2>, ...)
max([<number1>, <number2>, ...])
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<number1>, <number2>, ... | Yes | 整數、浮點數或兩者並存 | 您需要其中最大值的數字集合 |
[<number1>, <number2>, ...] | Yes | 陣列 - 整數、浮點數或兩者並存 | 您需要其中最大值的數字陣列 |
傳回值 | 類型 | 描述 |
---|---|---|
<max-value> | 整數或浮點數 | 所指定陣列或數字集合中的最大值 |
範例
這些範例會從數字集合和陣列中取得最大值:
max(1, 2, 3)
max(createArray(1, 2, 3))
並傳回此結果:3
分鐘
從數字集合或陣列中傳回最小值。
min(<number1>, <number2>, ...)
min([<number1>, <number2>, ...])
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<number1>, <number2>, ... | Yes | 整數、浮點數或兩者並存 | 您需要其中最小值的數字集合 |
[<number1>, <number2>, ...] | Yes | 陣列 - 整數、浮點數或兩者並存 | 您需要其中最小值的數字陣列 |
傳回值 | 類型 | 描述 |
---|---|---|
<min-value> | 整數或浮點數 | 所指定數字集合或陣列中的最小值 |
範例
這些範例會取得數字集合和陣列中的最小值:
min(1, 2, 3)
min(createArray(1, 2, 3))
並傳回此結果:1
mod
傳回兩數相除的餘數。 若要取得整數結果,請參閱 div()。
mod(<dividend>, <divisor>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<dividend> | Yes | 整數或浮點數 | 要除以「除數」的數字 |
<divisor> | Yes | 整數或浮點數 | 除 除股息但不能為零的數位 |
傳回值 | 類型 | 描述 |
---|---|---|
<modulo-result> | 整數或浮點數 | 第一個數字除以第二個數字的餘數 |
範例 1
此範例會將第一個數字除以第二個數字:
mod(3, 2)
並傳回此結果:1
範例 2
此範例顯示,如果一或兩個值都是負值,結果會符合股息的正負號:
mod(-5, 2)
mod(4, -3)
此範例會傳回下列結果:
- 第一個範例:
-1
- 第二個範例:
1
mul
傳回將兩數相乘的乘積。
mul(<multiplicand1>, <multiplicand2>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<multiplicand1> | Yes | 整數或浮點數 | 要與「被乘數 2」 相乘的數字 |
<multiplicand2> | Yes | 整數或浮點數 | 要與「被乘數 1」 相乘的數字 |
傳回值 | 類型 | 描述 |
---|---|---|
<product-result> | 整數或浮點數 | 第一個數字與第二個數字相乘的乘積 |
範例
這些範例會將第一個數字與第二個數字相乘:
mul(1, 2)
mul(1.5, 2)
並傳回下列結果:
- 第一個範例:
2
- 第二個範例:
3
multipartBody
傳回動作輸出中具有多個部分之特定元件的主體。
multipartBody('<actionName>', <index>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<actionName> | Yes | String | 具有多個部分輸出之動作的名稱 |
<index> | Yes | 整數 | 您想要之元件的索引值 |
傳回值 | 類型 | 描述 |
---|---|---|
<身體> | String | 指定元件的本文 |
否
not
檢查運算式是否為 False。 運算式為 False 時,傳回 True,或運算式為 True 時,傳回 False。
not(<expression>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<expression> | Yes | 布林值 | 要檢查的運算式 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 運算式為 False 時,傳回 True。 運算式為 True 時,傳回 False。 |
範例 1
這些範例會檢查指定的運算式是否為 False:
not(false)
not(true)
並傳回下列結果:
- 第一個範例:運算式為 False,所以函數傳回
true
。 - 第一個範例:運算式為 True,所以函數傳回
false
。
範例 2
這些範例會檢查指定的運算式是否為 False:
not(equals(1, 2))
not(equals(1, 1))
並傳回下列結果:
- 第一個範例:運算式為 False,所以函數傳回
true
。 - 第一個範例:運算式為 True,所以函數傳回
false
。
nthIndexOf
傳回開始位置或索引值, 其中第 n次出現子字串出現在字串中。
nthIndexOf('<text>', '<searchText>', <occurrence>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 包含要尋找之子字串的字串 |
<searchText> | Yes | String | 要尋找的子字串 |
<occurrence> | Yes | 整數 | 數位,指定要 尋找之子字串的第 n個出現次數。 如果 出現是負數 ,請從結尾開始搜尋。 |
傳回值 | 類型 | 描述 |
---|---|---|
<index-value> | 整數 | 第 n次出現指定子字串的起始位置或索引值。 如果找不到子字串或少於 n 個出現的子字串存在,則傳回 -1 。 |
範例
nthIndexOf('123456789123465789', '1', 1) // Returns `0`.
nthIndexOf('123456789123465789', '1', 2) // Returns `9`.
nthIndexOf('123456789123465789', '12', 2) // Returns `9`.
nthIndexOf('123456789123465789', '6', 4) // Returns `-1`.
O
或
檢查是否至少有一個運算式是 True。 當至少有一個表達式為 true 時傳回 true,或當全部為 false 時傳回 false。
or(<expression1>, <expression2>, ...)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<expression1>, <expression2>, ... | Yes | 布林值 | 要檢查的運算式 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 至少有一個運算式是 True 時,傳回 True。 當所有表達式都是 false 時,傳回 false。 |
範例 1
這些範例會檢查是否至少有一個運算式是 True:
or(true, false)
or(false, false)
並傳回下列結果:
- 第一個範例:至少有一個運算式為 True,所以函數傳回
true
。 - 第二個範例:兩個運算式都是 False,所以函式傳回
false
。
範例 2
這些範例會檢查是否至少有一個運算式是 True:
or(equals(1, 1), equals(1, 2))
or(equals(1, 2), equals(1, 3))
並傳回下列結果:
- 第一個範例:至少有一個運算式為 True,所以函數傳回
true
。 - 第二個範例:兩個運算式都是 False,所以函式傳回
false
。
輸出
傳回動作在運行時間的輸出。
outputs('<actionName>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<actionName> | Yes | String | 您要之動作輸出的名稱 |
傳回值 | 類型 | 描述 |
---|---|---|
<output> | String | 指定動作的輸出 |
範例
這個範例會從 X 巨集指令 Get user
取得輸出:
outputs('Get_user')
並傳回此結果:
{
"statusCode": 200,
"headers": {
"Pragma": "no-cache",
"Vary": "Accept-Encoding",
"x-ms-request-id": "a916ec8f52211265d98159adde2efe0b",
"X-Content-Type-Options": "nosniff",
"Timing-Allow-Origin": "*",
"Cache-Control": "no-cache",
"Date": "Mon, 09 Apr 2018 18:47:12 GMT",
"Set-Cookie": "ARRAffinity=b9400932367ab5e3b6802e3d6158afffb12fcde8666715f5a5fbd4142d0f0b7d;Path=/;HttpOnly;Domain=twitter-wus.azconn-wus.p.azurewebsites.net",
"X-AspNet-Version": "4.0.30319",
"X-Powered-By": "ASP.NET",
"Content-Type": "application/json; charset=utf-8",
"Expires": "-1",
"Content-Length": "339"
},
"body": {
"FullName": "Contoso Corporation",
"Location": "Generic Town, USA",
"Id": 283541717,
"UserName": "ContosoInc",
"FollowersCount": 172,
"Description": "Leading the way in transforming the digital workplace.",
"StatusesCount": 93,
"FriendsCount": 126,
"FavouritesCount": 46,
"ProfileImageUrl": "https://pbs.twimg.com/profile_images/908820389907722240/gG9zaHcd_400x400.jpg"
}
}
P
parameters
傳回工作流程定義中所描述之參數的值。
parameters('<parameterName>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<parameterName> | Yes | String | 您想要其值的參數名稱 |
傳回值 | 類型 | 描述 |
---|---|---|
<parameter-value> | 任意 | 指定參數的值 |
範例
假設您有此 JSON 值:
{
"fullName": "Sophia Owen"
}
這個範例會取得指定參數的值:
parameters('fullName')
並傳回此結果:"Sophia Owen"
parseDateTime
從包含時間戳的字串傳回時間戳。
parseDateTime('<timestamp>', '<locale>'?, '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳記的字串 |
<地區設定> | No | String | 要使用的地區設定。 如果未指定,則預設地區設定為 en-us 。 如果 地區設定 不是有效的值,就會產生錯誤。 |
<format> | No | String | 數值格式字串,可以是單一 格式規範 或 自定義格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 如果未指定格式,請嘗試使用與所提供地區設定相容的多種格式進行剖析。 如果格式不是有效的值,就會產生錯誤。 |
傳回值 | 類型 | 描述 |
---|---|---|
<parsed-timestamp> | String | “o” (yyyy-MM-ddTHH:mm:ss.fffffffK) 格式的剖析時間戳,符合 ISO 8601 並保留時區資訊。 |
範例
parseDateTime('20/10/2014', 'fr-fr') // Returns '2014-10-20T00:00:00.0000000'.
parseDateTime('20 octobre 2010', 'fr-FR') // Returns '2010-10-20T00:00:00.0000000'.
parseDateTime('martes 20 octubre 2020', 'es-es') // Returns '2020-10-20T00:00:00.0000000'.
parseDateTime('21052019', 'fr-fr', 'ddMMyyyy') // Returns '2019-05-21T00:00:00.0000000'.
parseDateTime('10/20/2014 15h', 'en-US', 'MM/dd/yyyy HH\h') // Returns '2014-10-20T15:00:00.0000000'.
R
rand
從指定範圍傳回隨機整數 (不包含範圍中的末端數字)。
rand(<minValue>, <maxValue>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<minValue> | Yes | 整數 | 範圍中的最小整數 |
<maxValue> | Yes | 整數 | 在範圍中,在函式所能傳回最大整數後面的整數 |
傳回值 | 類型 | 描述 |
---|---|---|
<random-result> | 整數 | 從指定範圍傳回的隨機整數 |
範例
此範例會從指定範圍取得隨機整數,但不包含最大值:
rand(1, 5)
並傳回這些數字的其中一個作為結果:1
、2
、3
或 4
range
傳回從指定整數開始的整數陣列。
range(<startIndex>, <count>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<startIndex> | Yes | 整數 | 作為第一個項目起始陣列的整數值 |
<計數> | Yes | 整數 | 陣列中的整數數目。 參數 count 值必須是不超過 100,000 的正整數。 注意:和 值的總 startIndex 和 count 不得超過 2,147,483,647。 |
傳回值 | 類型 | 描述 |
---|---|---|
[<range-result>] | 陣列 | 從指定索引開始的整數陣列 |
範例
此範例會建立從指定索引開始的整數陣列,且其中有指定數量的整數:
range(1, 4)
並傳回此結果:[1, 2, 3, 4]
removeProperty
從物件中移除屬性,並傳回更新的物件。 如果您嘗試移除的屬性不存在,函式會傳回原始物件。
removeProperty(<object>, '<property>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<object> | Yes | Object | 您要從中移除屬性的 JSON 物件 |
<property> | Yes | String | 要移除之屬性的名稱 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-object> | Object | 未指定屬性的更新 JSON 物件 |
若要從現有屬性移除子屬性,請使用下列語法:
removeProperty(<object>['<parent-property>'], '<child-property>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<object> | Yes | Object | 您要移除其屬性的 JSON 物件 |
<parent-property> | Yes | String | 具有您想要移除之子屬性的父屬性名稱 |
<child-property> | Yes | String | 要移除之子屬性的名稱 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-object> | Object | 已更新的 JSON 物件,其子屬性已移除 |
範例 1
這個範例會 middleName
從 JSON 物件中移除 屬性,該物件會使用 JSON() 函式從字串轉換成 JSON,並傳回更新的物件:
removeProperty(json('{ "firstName": "Sophia", "middleName": "Anne", "surName": "Owen" }'), 'middleName')
以下是目前的 JSON 物件:
{
"firstName": "Sophia",
"middleName": "Anne",
"surName": "Owen"
}
以下是更新的 JSON 物件:
{
"firstName": "Sophia",
"surName": "Owen"
}
範例 2
這個範例會 middleName
從 JSON 物件的父屬性中移除子屬性,該屬性 customerName
會使用 JSON() 函式從字串轉換成 JSON,並傳回更新的物件:
removeProperty(json('{ "customerName": { "firstName": "Sophia", "middleName": "Anne", "surName": "Owen" } }')['customerName'], 'middleName')
以下是目前的 JSON 物件:
{
"customerName": {
"firstName": "Sophia",
"middleName": "Anne",
"surName": "Owen"
}
}
以下是更新的 JSON 物件:
{
"customerName": {
"firstName": "Sophia",
"surName": "Owen"
}
}
replace
使用指定字串取代子字串,並傳回結果字串。 此函式會區分大小寫。
replace('<text>', '<oldText>', '<newText>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 有子字串要取代的字串 |
<oldText> | Yes | String | 要取代的子字串 |
<newText> | Yes | String | 取代字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-text> | String | 取代子字串後的更新字串 如果找不到子字串,則傳回原始字串。 |
範例
此範例會尋找 "the old string" 中的 "old" 字串,然後以"new" 取代 "old":
replace('the old string', 'old', 'new')
並傳回此結果:"the new string"
result
傳回指定範圍動作中最上層動作的結果,例如 For_each
、 Until
或 Scope
動作。 函 result()
式會接受單一參數,這是範圍的名稱,並傳回數位列,其中包含該範圍中第一層動作的資訊。 這些動作物件包含與函式所 actions()
傳回屬性相同的屬性,例如動作的開始時間、結束時間、狀態、輸入、相互關聯標識元和輸出。
注意
此函式只會從範圍動作中的第一層動作傳回資訊,而不是從更深層的巢狀動作傳回資訊,例如切換或條件動作。
例如,您可以使用此函式從失敗的動作取得結果,以便診斷和處理例外狀況。 如需詳細資訊,請參閱 取得失敗的內容和結果。
result('<scopedActionName>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<scopedActionName> | Yes | String | 您想要在該範圍內最上層動作輸入與輸出的範圍動作名稱 |
傳回值 | 類型 | 描述 |
---|---|---|
<array-object> | Array 物件 | 陣列,包含指定範圍內每個最上層動作的輸入和輸出陣列 |
範例
此範例會使用 result()
動作中的 For_each
Compose
函式,從循環中 HTTP 動作的每個反覆項目傳回輸入和輸出:
{
"actions": {
"Compose": {
"inputs": "@result('For_each')",
"runAfter": {
"For_each": [
"Succeeded"
]
},
"type": "compose"
},
"For_each": {
"actions": {
"HTTP": {
"inputs": {
"method": "GET",
"uri": "https://httpstat.us/200"
},
"runAfter": {},
"type": "Http"
}
},
"foreach": "@triggerBody()",
"runAfter": {},
"type": "Foreach"
}
}
}
以下是範例傳回數位的外觀,其中外部 outputs
物件包含動作內 For_each
每個動作反覆專案的輸入和輸出。
[
{
"name": "HTTP",
"outputs": [
{
"name": "HTTP",
"inputs": {
"uri": "https://httpstat.us/200",
"method": "GET"
},
"outputs": {
"statusCode": 200,
"headers": {
"X-AspNetMvc-Version": "5.1",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "private",
"Date": "Tue, 20 Aug 2019 22:15:37 GMT",
"Set-Cookie": "ARRAffinity=0285cfbea9f2ee7",
"Server": "Microsoft-IIS/10.0",
"X-AspNet-Version": "4.0.30319",
"X-Powered-By": "ASP.NET",
"Content-Length": "0"
},
"startTime": "2019-08-20T22:15:37.6919631Z",
"endTime": "2019-08-20T22:15:37.95762Z",
"trackingId": "6bad3015-0444-4ccd-a971-cbb0c99a7.....",
"clientTrackingId": "085863526764.....",
"code": "OK",
"status": "Succeeded"
}
},
{
"name": "HTTP",
"inputs": {
"uri": "https://httpstat.us/200",
"method": "GET"
},
"outputs": {
"statusCode": 200,
"headers": {
"X-AspNetMvc-Version": "5.1",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "private",
"Date": "Tue, 20 Aug 2019 22:15:37 GMT",
"Set-Cookie": "ARRAffinity=0285cfbea9f2ee7",
"Server": "Microsoft-IIS/10.0",
"X-AspNet-Version": "4.0.30319",
"X-Powered-By": "ASP.NET",
"Content-Length": "0"
},
"startTime": "2019-08-20T22:15:37.6919631Z",
"endTime": "2019-08-20T22:15:37.95762Z",
"trackingId": "9987e889-981b-41c5-aa27-f3e0e59bf69.....",
"clientTrackingId": "085863526764.....",
"code": "OK",
"status": "Succeeded"
}
}
]
}
]
reverse
反轉集合中的項目順序。 當您搭配 sort()使用此函式時,可以依遞減順序排序集合。
reverse([<collection>])
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 陣列 | 要反轉的集合 |
傳回值 | 類型 | 描述 |
---|---|---|
[<updated-collection>] | 陣列 | 反轉集合 |
範例
此範例會反轉整數數位:
reverse(createArray(0, 1, 2, 3))
並傳回此陣列: [3,2,1,0]
S
setProperty
設定 JSON 物件的 屬性值,並傳回更新的物件。 如果您嘗試設定的屬性不存在,屬性就會新增至 物件。 若要新增屬性,請使用 addProperty() 函式。
setProperty(<object>, '<property>', <value>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<object> | Yes | Object | 您要設定其屬性的 JSON 物件 |
<property> | Yes | String | 要設定之現有或新屬性的名稱 |
<value> | Yes | 任意 | 要為指定之屬性設定的值 |
若要在子物件中設定子屬性,請改用巢狀 setProperty()
呼叫。 否則,函式只會傳回子物件做為輸出。
setProperty(<object>, '<parent-property>', setProperty(<object>['parentProperty'], '<child-property>', <value>))
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<object> | Yes | Object | 您要設定其屬性的 JSON 物件 |
<parent-property> | Yes | String | 具有您想要設定之子屬性之父屬性的名稱 |
<child-property> | Yes | String | 要設定之子屬性的名稱 |
<value> | Yes | 任意 | 要為指定之屬性設定的值 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-object> | Object | 您所設定屬性的已更新 JSON 物件 |
範例 1
這個範例會 surName
設定 JSON 物件中的 屬性,這個物件會使用 JSON() 函式,從字串轉換成 JSON。 函式會將指定的值指派給 屬性,並傳回更新的物件:
setProperty(json('{ "firstName": "Sophia", "surName": "Owen" }'), 'surName', 'Hartnett')
以下是目前的 JSON 物件:
{
"firstName": "Sophia",
"surName": "Owen"
}
以下是更新的 JSON 物件:
{
"firstName": "Sophia",
"surName": "Hartnett"
}
範例 2
本範例會surName
使用 JSON() 函式,設定 JSON 物件中父屬性的customerName
子屬性,這個屬性會從字串轉換成 JSON。 函式會將指定的值指派給 屬性,並傳回更新的物件:
setProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }'), 'customerName', setProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }')['customerName'], 'surName', 'Hartnett'))
以下是目前的 JSON 物件:
{
"customerName": {
"firstName": "Sophie",
"surName": "Owen"
}
}
以下是更新的 JSON 物件:
{
"customerName": {
"firstName": "Sophie",
"surName": "Hartnett"
}
}
skip
移除集合前端的項目,並傳回「其他所有」項目。
skip([<collection>], <count>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 陣列 | 您想要從中移除項目的集合 |
<計數> | Yes | 整數 | 正整數,表示要移除的前端項目數量 |
傳回值 | 類型 | 描述 |
---|---|---|
[<updated-collection>] | 陣列 | 移除指定項目之後的更新集合 |
範例
此範例會從指定陣列的前端移除一個項目,也就是數字 0:
skip(createArray(0, 1, 2, 3), 1)
並傳回具有剩餘項目的此陣列:[1,2,3]
slice
藉由指定開始和結束位置或值,傳回子字串。 另 請參閱 substring()。
slice('<text>', <startIndex>, <endIndex>?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 包含要尋找之子字串的字串 |
<startIndex> | Yes | 整數 | 以零起始的起始位置或值,用於開始搜尋子字串的位置 - 如果 startIndex 大於字串長度,則傳回空字串。 - 如果 startIndex 為負數,請開始搜尋字串長度和 startIndex 總和的索引值。 |
<endIndex> | No | 整數 | 以零起始的結束位置或值,用於結束搜尋子字串的位置。 位於結束索引值的字元不會包含在搜尋中。 - 如果未 指定 endIndex 或大於字串長度,則最多搜尋字串結尾。 - 如果 endIndex 為負數,請結束搜尋字串長度和 endIndex 總和的索引值。 |
傳回值 | 類型 | 描述 |
---|---|---|
<slice-result> | String | 包含找到子字串的新字串 |
範例
slice('Hello World', 2) // Returns 'llo World'.
slice('Hello World', 30) // Returns ''.
slice('Hello World', 10, 2) // Returns ''.
slice('Hello World', 0) // Returns 'Hello World'.
slice('Hello World', 2, 5) // Returns 'llo'.
slice('Hello World', 6, 20) // Returns 'World'.
slice('Hello World', -2) // Returns 'ld'.
slice('Hello World', 3, -1) // Returns 'lo Worl'.
slice('Hello World', 3, 3) // Returns ''.
sort
排序集合中的專案。 您可以使用任何包含簡單類型的索引鍵來排序集合物件。
sort([<collection>], <sortBy>?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 陣列 | 包含要排序之專案的集合 |
<sortBy> | No | String | 用於排序集合物件的索引鍵 |
傳回值 | 類型 | 描述 |
---|---|---|
[<updated-collection>] | 陣列 | 已排序的集合 |
範例 1
此範例會排序整數陣列:
sort(createArray(2, 1, 0, 3))
並傳回此陣列: [0,1,2,3]
範例 2
此範例會依索引鍵排序物件的陣列:
sort(createArray(json('{ "first": "Amalie", "last": "Rose" }'), json('{ "first": "Elise", "last": "Renee" }')), 'last')
並傳回此陣列: [{ "first": "Elise", "last": "Renee" }, {"first": "Amalie", "last": "Rose" }')]
split
根據原始字串中指定的分隔符號字元,傳回包含以逗號分隔之子字串的陣列。
split('<text>', '<delimiter>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 根據原始字串中指定的分隔符號來分隔成子字串的字串 |
<delimiter> | Yes | String | 做為分隔符號的原始字串中的字元 |
傳回值 | 類型 | 描述 |
---|---|---|
[<substring1>,<substring2>,...] | 陣列 | 包含原始字串中子字串的陣列,以逗號分隔 |
範例 1
此範例建立陣列時,會以指定的字元作為分隔符號,使用來自指定字串的子字串:
split('a_b_c', '_')
並傳回此陣列作為結果:["a","b","c"]
範例 2
當字串中沒有分隔符時,此範例會建立具有單一元素的陣列:
split('a_b_c', ' ')
並傳回此陣列作為結果:["a_b_c"]
startOfDay
傳回時間戳記中當天的起始點。
startOfDay('<timestamp>', '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳記的字串 |
<format> | No | String | 數值格式字串,可以是單一 格式規範 或 自定義格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 如果格式不是有效的值,就會產生錯誤。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 指定的時間戳記,但以當天的零小時標記開始 |
範例
此範例會尋找此時間戳記中當天的起始點:
startOfDay('2018-03-15T13:30:30Z')
並傳回此結果:"2018-03-15T00:00:00.0000000Z"
startOfHour
傳回時間戳記中小時的起始點。
startOfHour('<timestamp>', '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳記的字串 |
<format> | No | String | 數值格式字串,可以是單一 格式規範 或 自定義格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 如果格式不是有效的值,就會產生錯誤。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 指定的時間戳記,但以小時的零分鐘標記開始 |
範例
此範例會尋找此時間戳記中小時的起始點:
startOfHour('2018-03-15T13:30:30Z')
並傳回此結果:"2018-03-15T13:00:00.0000000Z"
startOfMonth
傳回時間戳記中月份的起始點。
startOfMonth('<timestamp>', '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳記的字串 |
<format> | No | String | 數值格式字串,可以是單一 格式規範 或 自定義格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 如果格式不是有效的值,就會產生錯誤。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 指定的時間戳記,但以當月第一天的零小時標記開始 |
範例 1
此範例會傳回此時間戳記中月份的起始點:
startOfMonth('2018-03-15T13:30:30Z')
並傳回此結果:"2018-03-01T00:00:00.0000000Z"
範例 2
此範例會以這個時間戳的指定格式傳回月份的開頭:
startOfMonth('2018-03-15T13:30:30Z', 'yyyy-MM-dd')
並傳回此結果:"2018-03-01"
startsWith
檢查字串是否以特定的子字串開始。 找到子字串時,傳回 True,或找不到子字串時,傳回 False。 此函式會區分大小寫。
startsWith('<text>', '<searchText>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 要檢查的字串 |
<searchText> | Yes | String | 要尋找的起始字串 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 找到起始子字串時,傳回 True。 找不到項目時,傳回 False。 |
範例 1
此範例會檢查 "hello world" 字串是否以 "hello" 子字串開始:
startsWith('hello world', 'hello')
並傳回此結果:true
範例 2
此範例會檢查 "hello world" 字串是否以 "greetings" 子字串開始:
startsWith('hello world', 'greetings')
並傳回此結果:false
string
傳回值的字串版本。
string(<value>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | 任意 | 要進行轉換的 值。 如果此值為 null 或評估為 null,則值會轉換成空字串 ("" ) 值。 例如,如果您將字串變數指派給不存在的屬性,您可以使用 運算符存取 ? 該屬性,Null 值會轉換成空字串。 不過,比較 Null 值與比較空字串不同。 |
傳回值 | 類型 | 描述 |
---|---|---|
<string-value> | String | 指定值的字串版本。 如果 value 參數為 null 或評估為 null,這個值會以空字串 ("" ) 值傳回。 |
範例 1
此範例會建立此數字的字串版本:
string(10)
並傳回此結果:"10"
範例 2
此範例會為指定的 JSON 物件建立字串,並使用反斜線字元 (\) 做為雙引號 (") 的逸出字元。
string( { "name": "Sophie Owen" } )
並傳回此結果:"{ \\"name\\": \\"Sophie Owen\\" }"
sub
傳回第一個數字減去第二個數字的結果。
sub(<minuend>, <subtrahend>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<minuend> | Yes | 整數或浮點數 | 要從中減去「減數」的數字 |
<subtrahend> | Yes | 整數或浮點數 | 從「被減數」中減去的數字 |
傳回值 | 類型 | 描述 |
---|---|---|
<result> | 整數或浮點數 | 從第一個數字減去第二個數字的結果 |
範例
此範例會從第一個數字減去第二個數字:
sub(10.3, .3)
並傳回此結果:10
substring
從字串中傳回從指定位置或索引起始的字元。 索引值會以數字 0 開頭。 另 請參閱 slice()。
substring('<text>', <startIndex>, <length>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 您需要其中字元的字串 |
<startIndex> | Yes | 整數 | 等於或大於 0 的正數,作為起始位置或索引值 |
<length> | No | 整數 | 子字串中您需要的字元數正數 |
注意
請確定新增 startIndex 和 length 參數值的總和小於您為 text 參數提供的字串長度。 否則,您會收到錯誤,不同於其他語言中的類似函式,其中結果是從 startIndex 到字串結尾的子字串。 length 參數是選擇性的,如果未提供,substring() 函式會採用從 startIndex 到字串結尾的所有字元。
傳回值 | 類型 | 描述 |
---|---|---|
<substring-result> | String | 具有指定字元數目的子字串,並以來源字串中的指定索引位置起始 |
範例
此範例會從指定字串建立 5 個字元的子字串,並且從索引值 6 起始:
substring('hello world', 6, 5)
並傳回此結果:"world"
subtractFromTime
從時間戳記減去時間單位數字。 另請參閱 getPastTime。
subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳記的字串 |
<interval> | Yes | 整數 | 要減去的指定時間單位數字 |
<timeUnit> | Yes | String | 與 interval 搭配使用的時間單位:"Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"、"Year" |
<format> | No | String | 數值格式字串,可以是單一 格式規範 或 自定義格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 如果格式不是有效的值,就會產生錯誤。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 時間戳記減去指定的時間單位數字 |
範例 1
此範例會從此時間戳記中減去一天:
subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day')
並傳回此結果:"2018-01-01T00:00:00.0000000Z"
範例 2
此範例會從此時間戳記中減去一天:
subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day', 'D')
並傳回選用 "D" 格式的此結果:"Monday, January, 1, 2018"
T
take
傳回集合中的前端項目。
take('<collection>', <count>)
take([<collection>], <count>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 字串或陣列 | 您需要其中項目的集合 |
<計數> | Yes | 整數 | 正整數,表示您需要的前端項目數量 |
傳回值 | 類型 | 描述 |
---|---|---|
<子集>或 [<子集>] | 個別的字串或陣列 | 從原始集合前端取得指定項目數量的字串或陣列 |
範例
此範例會從這些集合的前端取得指定數目的項目:
take('abcde', 3)
take(createArray(0, 1, 2, 3, 4), 3)
並傳回下列結果:
- 第一個範例:
"abc"
- 第二個範例:
[0, 1, 2]
刻度
傳回自 10001 年 1 月 1 日 12:00:00:00 午夜(或 C# 中的 DateTime.Ticks)以來的刻度數,最多到指定的時間戳。 如需詳細資訊,請參閱本主題: DateTime.Ticks 屬性 (System)。
ticks('<timestamp>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 時間戳記的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<ticks-number> | 整數 | 自指定時間戳之後的刻度數目 |
toLower
傳回小寫格式的字串。 如果字串中的字元沒有小寫版本,則該字元在傳回的字串中會保持不變。
toLower('<text>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 要以小寫格式傳回的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<lowercase-text> | String | 小寫格式的原始字串 |
範例
此範例會將此字串轉換為小寫:
toLower('Hello World')
並傳回此結果:"hello world"
toUpper
傳回大寫格式的字串。 如果字串中的字元沒有大寫版本,則該字元在傳回的字串中會保持不變。
toUpper('<text>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 要以大寫格式傳回的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<uppercase-text> | String | 大寫格式的原始字串 |
範例
此範例會將此字串轉換為大寫:
toUpper('Hello World')
並傳回此結果:"HELLO WORLD"
觸發程序 (trigger)
在運行時間傳回觸發程式的輸出,或來自其他 JSON 名稱和值組的值,您可以指派給表示式。
在觸發程式的輸入內,此函式會傳回先前執行的輸出。
在觸發程式的條件內,此函式會傳回目前執行的輸出。
根據預設,函式會參考整個觸發程序物件,但您可以選擇性地指定其值的屬性。 此外,此函式有可用的速記版本,請參閱 triggerOutputs() 和 triggerBody() 。
trigger()
傳回值 | 類型 | 描述 |
---|---|---|
<trigger-output> | String | 運行時間觸發程序的輸出 |
triggerBody
在運行時間傳回觸發程序的 body
輸出。 的 trigger().outputs.body
速記。 請參閱 trigger()。
triggerBody()
傳回值 | 類型 | 描述 |
---|---|---|
<trigger-body-output> | String | body 觸發程序的輸出 |
triggerFormDataMultiValues
傳回數位,其值符合觸發程式表單資料或表單編碼輸出中的索引鍵名稱。
triggerFormDataMultiValues('<key>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<key> | Yes | String | 您想要其值之索引鍵的名稱 |
傳回值 | 類型 | 描述 |
---|---|---|
[<array-with-key-values>] | 陣列 | 數位,其中包含符合指定索引鍵的所有值 |
範例
此範例會從 RSS 觸發程式的表單資料或表單編碼輸出中的 「feedUrl」 索引鍵值建立陣列:
triggerFormDataMultiValues('feedUrl')
並傳回此陣列作為範例結果: ["https://feeds.a.dj.com/rss/RSSMarketsMain.xml"]
triggerFormDataValue
傳回字串,其中包含符合觸發程式表單資料或表單碼輸出中索引鍵名稱的單一值。 如果函式找到一個以上的相符專案,函式會擲回錯誤。
triggerFormDataValue('<key>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<key> | Yes | String | 您想要其值之索引鍵的名稱 |
傳回值 | 類型 | 描述 |
---|---|---|
<key-value> | String | 指定索引鍵中的值 |
範例
此範例會從 RSS 觸發程式的表單資料或表單編碼輸出中的 「feedUrl」 索引鍵值建立字串:
triggerFormDataValue('feedUrl')
並傳回此字串作為範例結果: "https://feeds.a.dj.com/rss/RSSMarketsMain.xml"
triggerMultipartBody
傳回觸發程序輸出中具有多個部分之特定元件的主體。
triggerMultipartBody(<index>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<index> | Yes | 整數 | 您想要之元件的索引值 |
傳回值 | 類型 | 描述 |
---|---|---|
<身體> | String | 觸發程式多部分輸出中指定元件的主體 |
triggerOutputs
在運行時間傳回觸發程序的輸出,或來自其他 JSON 名稱和值組的值。 的 trigger().outputs
速記。 請參閱 trigger()。
triggerOutputs()
傳回值 | 類型 | 描述 |
---|---|---|
<trigger-output> | String | 運行時間觸發程序的輸出 |
修剪
移除字串的開頭和尾端空白字元,並傳回更新後的字串。
trim('<text>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 要為其移除開頭和尾端空白字元的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<updatedText> | String | 不含開頭或尾端空白字元的原始字串更新版本 |
範例
此範例會從「Hello World」字串中移除開頭與結尾空白字元:
trim(' Hello World ')
並傳回此結果:"Hello World"
U
union
傳回具有指定集合中「所有」項目的集合。 出現在結果中的項目,可以出現在任何傳遞至此函式的集合中。 如果一個或多個項目有相同的名稱,則具有該名稱的最後一個項目會出現在結果中。
union('<collection1>', '<collection2>', ...)
union([<collection1>], [<collection2>], ...)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection1>, <collection2>, ... | Yes | 陣列或物件,但不可以兩者並存 | 您想要其中「所有」項目的集合 |
傳回值 | 類型 | 描述 |
---|---|---|
<updatedCollection> | 個別的陣列或物件 | 具有指定集合中所有項目的集合 - 不含重複值 |
範例
此範例會從以下集合取得「所有」項目:
union(createArray(1, 2, 3), createArray(1, 2, 10, 101))
並傳回此結果:[1, 2, 3, 10, 101]
uriComponent
傳回字串的統一資源識別項 (URI) 編碼版本,以逸出字元取代 URL 中的 Unsafe 字元。 使用此函式而非 encodeUriComponent()。 雖然這兩個函數的運作方式相同,但是較常使用 uriComponent()
。
uriComponent('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換成 URI 編碼格式的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<encoded-uri> | String | 具有逸出字元的 URI 編碼字串 |
範例
此範例會建立此字串的 URI 編碼版本:
uriComponent('https://contoso.com')
並傳回此結果:"https%3A%2F%2Fcontoso.com"
uriComponentToBinary
傳回統一資源識別項 (URI) 元件的二進位版本。
uriComponentToBinary('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換的 URI 編碼字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<binary-for-encoded-uri> | String | URI 編碼字串的二進位版本。 二進位內容是以 base64 編碼,而且由 $content 表示。 |
範例
此範例會建立此 URI 編碼字串的二進位版本:
uriComponentToBinary('https%3A%2F%2Fcontoso.com')
並傳回此結果:
"001000100110100001110100011101000111000000100101001100 11010000010010010100110010010001100010010100110010010001 10011000110110111101101110011101000110111101110011011011 110010111001100011011011110110110100100010"
uriComponentToString
傳回統一資源識別項 (URI) 編碼字串的字串版本,也就是有效地解碼 URI 編碼字串。
uriComponentToString('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要解碼的 URI 編碼字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<decoded-uri> | String | URI 編碼字串的已解碼版本 |
範例
此範例會建立此 URI 編碼字串的已解碼字串版本:
uriComponentToString('https%3A%2F%2Fcontoso.com')
並傳回此結果:"https://contoso.com"
uriHost
host
傳回統一資源標識碼的值(URI)。
uriHost('<uri>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<uri> | Yes | String | 您想要其 host 值的 URI |
傳回值 | 類型 | 描述 |
---|---|---|
<host-value> | String | host 指定 URI 的值 |
範例
此範例會 host
尋找此 URI 的值:
uriHost('https://www.localhost.com:8080')
並傳回此結果:"www.localhost.com"
uriPath
path
傳回統一資源標識碼的值(URI)。
uriPath('<uri>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<uri> | Yes | String | 您想要其 path 值的 URI |
傳回值 | 類型 | 描述 |
---|---|---|
<path-value> | String | path 指定 URI 的值。 如果沒有 path 值,則傳回 「/」 字元。 |
範例
此範例會 path
尋找此 URI 的值:
uriPath('https://www.contoso.com/catalog/shownew.htm?date=today')
並傳回此結果:"/catalog/shownew.htm"
uriPathAndQuery
path
傳回統一資源標識碼 (URI) 的和 query
值。
uriPathAndQuery('<uri>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<uri> | Yes | String | 您想要其 path 和 query 值的 URI |
傳回值 | 類型 | 描述 |
---|---|---|
<path-query-value> | String | 指定 path URI 的 和 query 值。 如果未 path 指定值,則傳回 「/」 字元。 |
範例
此範例會尋找此 URI 的 path
與 query
值:
uriPathAndQuery('https://www.contoso.com/catalog/shownew.htm?date=today')
並傳回此結果:"/catalog/shownew.htm?date=today"
uriPort
port
傳回統一資源標識碼的值(URI)。
uriPort('<uri>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<uri> | Yes | String | 您想要其 port 值的 URI |
傳回值 | 類型 | 描述 |
---|---|---|
<port-value> | 整數 | port 指定 URI 的值。 如果未 port 指定值,請傳回通訊協議的預設埠。 |
範例
此範例會 port
傳回此 URI 的值:
uriPort('https://www.localhost:8080')
並傳回此結果:8080
uriQuery
query
傳回統一資源標識碼的值(URI)。
uriQuery('<uri>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<uri> | Yes | String | 您想要其 query 值的 URI |
傳回值 | 類型 | 描述 |
---|---|---|
<query-value> | String | query 指定 URI 的值 |
範例
此範例會 query
傳回此 URI 的值:
uriQuery('https://www.contoso.com/catalog/shownew.htm?date=today')
並傳回此結果:"?date=today"
uriScheme
scheme
傳回統一資源標識碼的值(URI)。
uriScheme('<uri>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<uri> | Yes | String | 您想要其 scheme 值的 URI |
傳回值 | 類型 | 描述 |
---|---|---|
<scheme-value> | String | scheme 指定 URI 的值 |
範例
此範例會 scheme
傳回此 URI 的值:
uriScheme('https://www.contoso.com/catalog/shownew.htm?date=today')
並傳回此結果:"http"
utcNow
傳回目前的時間戳記。
utcNow('<format>')
您可以選擇性地以 <format> 參數指定不同格式。
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<format> | No | String | 數值格式字串,可以是單一 格式規範 或 自定義格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 如果格式不是有效的值,就會產生錯誤。 |
傳回值 | 類型 | 描述 |
---|---|---|
<current-timestamp> | String | 目前的日期和時間 |
範例 1
假設今天是 2018 年 4 月 15 日下午 1:00:00。 此範例會取得目前的時間戳記:
utcNow()
並傳回此結果:"2018-04-15T13:00:00.0000000Z"
範例 2
假設今天是 2018 年 4 月 15 日下午 1:00:00。 此範例會使用選擇性的 "D" 格式取得目前時間戳記:
utcNow('D')
並傳回此結果:"Sunday, April 15, 2018"
V
variables
傳回指定變數的值。
variables('<variableName>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<variableName> | Yes | String | 您想要其值之變數的名稱 |
傳回值 | 類型 | 描述 |
---|---|---|
<variable-value> | 任意 | 指定變數的值 |
範例
假設 「numItems」 變數目前的值為 20。 此範例會取得此變數的整數值:
variables('numItems')
並傳回此結果:20
星期三
工作流程
傳回運行時間期間工作流程本身的所有詳細數據。
workflow().<property>
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<property> | No | String | 您想要其值之工作流程屬性的名稱 根據預設,工作流程物件具有下列屬性: name 、 type 、 id 、、 location 、 run 和 tags 。 run - 屬性值是包含下列屬性的 JSON 物件:name 、 type 和 id 。 - 屬性 tags 是 JSON 物件,其中包含 與 Azure Logic Apps 中邏輯應用程式相關聯的標記,或 Power Automate 中的流程,以及這些標籤的值。 如需 Azure 資源中標籤的詳細資訊,請檢閱 Azure 中邏輯組織的標記資源、資源群組和訂用帳戶。 注意:根據預設,邏輯應用程式沒有標籤,但 Power Automate 流程具有 flowDisplayName 和 environmentName 標籤。 |
範例 1
此範例會傳回工作流程目前執行的名稱:
workflow().run.name
範例 2
如果您使用 Power Automate,您可以建立使用 @workflow()
輸出屬性的運算式 tags
,從流程的 flowDisplayName
或 environmentName
屬性取得值。
例如,您可以從連結回流程的流程本身傳送自定義電子郵件通知。 這些通知可以包含 HTML 連結,其中包含電子郵件標題中的流程顯示名稱,並遵循下列語法:
<a href=https://flow.microsoft.com/manage/environments/@{workflow()['tags']['environmentName']}/flows/@{workflow()['name']}/details>Open flow @{workflow()['tags']['flowDisplayName']}</a>
X
xml
傳回包含 JSON 物件的 XML 版字串。
xml('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 其中有 JSON 物件要轉換的字串 JSON 物件必須只能有一個根屬性,且不可以是陣列。 使用反斜線字元 (\) 做為雙引號 (") 的逸出字元。 |
傳回值 | 類型 | 描述 |
---|---|---|
<xml-version> | Object | 所指定字串或 JSON 物件的編碼 XML |
範例 1
這個範例會將字串轉換成 XML:
xml('<name>Sophia Owen</name>')
並傳回此結果 XML:
<name>Sophia Owen</name>
範例 2
此範例會為包含 JSON 物件的此字串建立 XML 版本:
xml(json('{ "name": "Sophia Owen" }'))
並傳回此結果 XML:
<name>Sophia Owen</name>
範例 3
假設您有此 JSON 物件:
{
"person": {
"name": "Sophia Owen",
"city": "Seattle"
}
}
此範例會為包含此 JSON 物件的字串建立 XML:
xml(json('{"person": {"name": "Sophia Owen", "city": "Seattle"}}'))
並傳回此結果 XML:
<person>
<name>Sophia Owen</name>
<city>Seattle</city>
<person>
xpath
檢查 XML 中是否有符合 XPath (XML 路徑語言) 運算式的節點或值,並傳回符合的節點或值。 XPath 運算式 (或 "XPath") 可協助您瀏覽 XML 文件結構,讓您可以在 XML 內容中選取節點或計算值。
注意
在取用和標準邏輯應用程式中,所有函式運算式都會使用 .NET XPath 連結庫。 XPath 表達式與基礎 .NET 連結庫相容,且只支援基礎 .NET 連結庫支援的運算式。
xpath('<xml>', '<xpath>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<xml> | Yes | 任意 | XML 字串,將對其搜尋是否有符合 XPath 運算式的值或節點 |
<xpath> | Yes | 任意 | 用來尋找相符 XML 節點或值的 XPath 運算式 |
傳回值 | 類型 | 描述 |
---|---|---|
<xml-node> | XML | 只有單一節點符合指定的 XPath 運算式時會傳回 XML 節點 |
<value> | 任意 | 只有單一值符合指定的 XPath 運算式時,會傳回 XML 節點的值 |
[<xml-node1>, <xml-node2>, ...] -or- [<value1>, <value2>, ...] | 陣列 | 陣列,其中有符合指定 XPath 運算式的 XML 節點或值 |
範例 1
假設您有這個 'items'
XML 字串:
<?xml version="1.0"?>
<produce>
<item>
<name>Gala</name>
<type>apple</type>
<count>20</count>
</item>
<item>
<name>Honeycrisp</name>
<type>apple</type>
<count>10</count>
</item>
</produce>
這個範例會傳入 XPath 運算式 , '/produce/item/name/text()'
以尋找符合 <name></name>
XML 字串中節點的 'items'
節點,並傳回具有這些節點值的陣列:
xpath(xml(parameters('items')), '/produce/item/name/text()')
此範例也會使用 parameters() 函式從 取得 XML 字串 'items'
,並使用 xml() 函式將字串轉換成 XML 格式。
以下是填入符合 <name></name>
之節點值的結果陣列:
[ Gala, Honeycrisp ]
範例 2
在範例 1 上,此範例會傳入 XPath 表達式 ,'/produce/item/name[1]'
以尋找專案子系item
的第一個專案name
。
xpath(xml(parameters('items')), '/produce/item/name[1]')
以下是結果: Gala
範例 3
在範例 1 上,此範例會傳入 XPath 表達式 , '/produce/item/name[last()]'
以尋找最後 name
一個元素是專案子 item
系。
xpath(xml(parameters('items')), '/produce/item/name[last()]')
以下是結果: Honeycrisp
範例 4
在這裡範例中,假設您的 items
XML 字串也包含 屬性和 expired='true'
expired='false'
:
<?xml version="1.0"?>
<produce>
<item>
<name expired='true'>Gala</name>
<type>apple</type>
<count>20</count>
</item>
<item>
<name expired='false'>Honeycrisp</name>
<type>apple</type>
<count>10</count>
</item>
</produce>
此範例會傳入 XPath 運算式 ,'//name[@expired]'
以尋找具有 expired
屬性的所有name
元素:
xpath(xml(parameters('items')), '//name[@expired]')
以下是結果: [ Gala, Honeycrisp ]
範例 5
在這裡範例中,假設您的 items
XML 字串只包含此屬性: expired = 'true'
<?xml version="1.0"?>
<produce>
<item>
<name expired='true'>Gala</name>
<type>apple</type>
<count>20</count>
</item>
<item>
<name>Honeycrisp</name>
<type>apple</type>
<count>10</count>
</item>
</produce>
這個範例會傳入 XPath 運算式 ,'//name[@expired = 'true']'
以尋找具有 屬性的所有name
專案: expired = 'true'
xpath(xml(parameters('items')), '//name[@expired = 'true']')
以下是結果: [ Gala ]
範例 6
在此範例中,假設您的 items
XML 字串也包含下列屬性:
expired='true' price='12'
expired='false' price='40'
<?xml version="1.0"?>
<produce>
<item>
<name expired='true' price='12'>Gala</name>
<type>apple</type>
<count>20</count>
</item>
<item>
<name expired='false' price='40'>Honeycrisp</name>
<type>apple</type>
<count>10</count>
</item>
</produce>
此範例會傳入 XPath 運算式 ,'//name[@price>35]'
以尋找具有 price > 35
的所有name
元素:
xpath(xml(parameters('items')), '//name[@price>35]')
以下是結果: Honeycrisp
範例 7
在此範例中,假設您的 items
XML 字串與範例 1 相同:
<?xml version="1.0"?>
<produce>
<item>
<name>Gala</name>
<type>apple</type>
<count>20</count>
</item>
<item>
<name>Honeycrisp</name>
<type>apple</type>
<count>10</count>
</item>
</produce>
此範例會尋找符合節點的 <count></count>
節點,並使用 函式新增這些節點值 sum()
:
xpath(xml(parameters('items')), 'sum(/produce/item/count)')
以下是結果: 30
範例 8
在這裡範例中,假設您有這個 XML 字串,其中包含 XML 檔案命名空間: xmlns="https://contoso.com"
<?xml version="1.0"?><file xmlns="https://contoso.com"><location>Paris</location></file>
這些運算式會使用 XPath 運算式或 /*[local-name()="file" and namespace-uri()="https://contoso.com"]/*[local-name()="location"]
,/*[name()="file"]/*[name()="location"]
來尋找符合節點的<location></location>
節點。 這些範例顯示您在設計工具或表示式編輯器中使用的語法:
xpath(xml(body('Http')), '/*[name()="file"]/*[name()="location"]')
xpath(xml(body('Http')), '/*[local-name()="file" and namespace-uri()="https://contoso.com"]/*[local-name()="location"]')
以下是符合 <location></location>
節點的結果節點:
<location xmlns="https://contoso.com">Paris</location>
重要
如果您在程式代碼檢視中工作,請使用反斜杠字元 (\) 逸出雙引號 (“)。 例如,當您將表達式串行化為 JSON 字串時,必須使用逸出字元。 不過,如果您在設計工具或表達式編輯器中工作,則不需要逸出雙引號,因為反斜杠字元會自動新增至基礎定義,例如:
程式代碼檢視:
xpath(xml(body('Http')), '/*[name()=\"file\"]/*[name()=\"location\"]')
表示式編輯器:
xpath(xml(body('Http')), '/*[name()="file"]/*[name()="location"]')
範例 9
在範例 8 上,此範例會使用 XPath 運算式 'string(/*[name()="file"]/*[name()="location"])'
來尋找節點中的 <location></location>
值:
xpath(xml(body('Http')), 'string(/*[name()="file"]/*[name()="location"])')
以下是結果: Paris
下一步
瞭解 工作流程定義語言