مشاركة عبر


دليل مرجعي للوظائف في تعبيرات مهام سير العمل في Azure Logic Apps وPower Automate

ينطبق على: Azure Logic Apps (الاستهلاك + قياسي)

بالنسبة إلى تعريفات سير العمل في Azure Logic Apps وPower Automate، تحصل بعض التعبيرات على قيمها من إجراءات وقت التشغيل التي يمكن ألا تكون موجودة بعد عند بدء تشغيل سير العمل. للإشارة إلى القيم الموجودة في هذه التعبيرات أو معالجتها، يمكنك استخدام دالات التعبير التي توفرها لغة تعريف سير العمل.

Note

ينطبق هذا الدليل المرجعي على كل من Azure Logic Apps وPower Automate، ولكنه موجود في وثائق Azure Logic Apps. على الرغم من أن الدليل يشير بشكل خاص إلى مهام سير عمل التطبيق المنطقي، تعمل هذه الوظائف لكل من التدفقات في Power Automate ومهام سير العمل في Azure Logic Apps. لمزيد من المعلومات حول الوظائف والتعبيرات في Power Automate، راجع استخدام التعبيرات في الشروط.

على سبيل المثال، يمكنك حساب القيم باستخدام دالات رياضية، مثل الدالة add() عندما تريد المجموع من أعداد صحيحة أو حرة. فيما يلي أمثلة أخرى على المهام التي بإمكانك القيام بها باستخدام الدالات:

Task بناء جملة الدالة Result
إرجاع سلسلة بتنسيق أحرف صغيرة. toLower ('<نص>')

على سبيل المثال: toLower('Hello')
"hello"
قم بإرجاع معرّف فريد عمومي (GUID). guid() "c2ecc88d-88c8-4096-912c-d6f2e2b138ce"

للعثور على الدالات استنادًا إلى الغرض العام منها، راجع الجداول الموضحة أدناه. أو، للحصول على معلومات مفصلة حول كل دالة، راجع القائمة الأبجدية.

الدالات في التعبيرات

لإظهار كيفية استخدام دالة في تعبير، يوضح هذا المثال كيف يمكنك الحصول على القيمة من المعلمة customerName وتعيين تلك القيمة إلى accountName الخاصية باستخدام الدالة parameters() في تعبير:

"accountName": "@parameters('customerName')"

فيما يلي بعض الطرق العامة الأخرى التي بإمكانك من خلالها استخدام الدالات في التعبيرات:

Task بناء جملة الدالة في تعبير
تطبيق العمل مع عنصر عن طريق تمرير هذا العنصر إلى دالة. "@<functionName>(<item>)"
1. احصل على قيمة parameterName باستخدام الدالة المتداخلة parameters() .
2. تنفيذ العمل مع النتيجة عن طريق تمرير تلك القيمة إلى functionName.
"@<functionName>(parameters('<parameterName>'))"
1. الحصول على النتيجة من الدالة الداخلية المتداخلة functionName.
2. مرر النتيجة إلى الدالة الخارجية functionName2.
"@<functionName2>(<functionName>(<item>))"
1. الحصول على النتيجة من functionName.
2. نظرا لأن النتيجة هي كائن مع خاصية propertyName، احصل على قيمة هذه الخاصية.
"@<functionName>(<item>).<اسم الخاصية>"

على سبيل المثال، من الممكن أن تأخذ الدالة 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 إرجاع سلسلة بتنسيق أحرف كبيرة.
trim إزالة المسافة البيضاء البادئة والزائدة من سلسلة، ثم إرجاع السلسلة المحدثة.

دالات التحصيل

للعمل مع المجموعات، والصفائف عموماً، والسلاسل، والقواميس أحياناً، يمكنك استخدام دالات الجمع هذه.

دالة المجموعة Task
chunk تقسيم سلسلة أو مجموعة إلى مجموعات متساوية الطول.
contains التحقق مما إذا كانت المجموعة تحتوي على عنصر معين.
empty التحقق مما إذا كانت المجموعة فارغة أم لا.
first إرجاع العنصر الأول من المجموعة.
intersection إرجاع مجموعة تحتوي على العناصر الشائعة فقط عبر المجموعات المحددة.
item في حالة ظهور هذه الدالة داخل إجراء متكرر في صفيف، فأرجع العنصر الحالي في الصفيف أثناء التكرار الحالي للإجراء.
join إرجاع سلسلة تحتوي على كافة العناصر من صفيف، مفصولة بالحرف المحدد.
last إرجاع العنصر الأخير من مجموعة.
length إرجاع عدد العناصر في سلسلة أو مصفوفة.
reverse عكس ترتيب العناصر في صفيف.
skip إزالة العناصر من مقدمة المجموعة، وإعادة جميع العناصر الأخرى.
sort فرز العناصر في مجموعة.
take إرجاع العناصر من مقدمة المجموعة.
union إرجاع مجموعة تحتوي على كافة العناصر من المجموعات المحددة.

دالات المقارنة المنطقية

للعمل مع الشروط، ومقارنة القيم ونتائج التعبير، أو تقييم أنواع مختلفة من المنطق، يمكنك استخدام دالات المقارنة المنطقية هذه. للحصول على المرجع الكامل حول كل دالة، راجع القائمة الأبجدية.

Note

في حالة استخدامك دالات أو شروط منطقية لمقارنة القيم، تحول القيم الخالية إلى قيم سلسلة فارغة (""). يختلف سلوك الشروط عند المقارنة بسلسلة فارغة بدلاً من قيمة خالية. لمزيد من المعلومات، راجع الدالة string().

دالة المقارنة المنطقية Task
and التحقق مما إذا كانت جميع التعبيرات صحيحة.
equals التحقق مما إذا كانت كلتا القيمتين متساويتين.
greater التحقق مما إذا كانت القيمة الأولى أكبر من القيمة الثانية.
greaterOrEquals التحقق مما إذا كانت القيمة الأولى أكبر من أو مساوية للقيمة الثانية.
if التحقق مما إذا كان التعبير صحيحاً أم خطأ. بناءً على النتيجة، قم بإرجاع قيمة محددة.
isFloat إرجاع قيمة منطقية تشير إلى ما إذا كانت السلسلة عبارة عن رقم فاصلة عائمة.
isInt إرجاع قيمة منطقية تشير إلى ما إذا كانت السلسلة عبارة عن عدد صحيح.
less التحقق مما إذا كانت القيمة الأولى أقل من القيمة الثانية.
lessOrEquals التحقق مما إذا كانت القيمة الأولى أقل من أو مساوية للقيمة الثانية.
not التحقق مما إذا كان التعبير غير صحيح.
or التحقق مما إذا كان هناك تعبير واحد على الأقل صحيح.

دالات التحويل

لتغيير نوع القيمة أو تنسيقها، بإمكانك استخدام دالات التحويل هذه. على سبيل المثال، بإمكانك تغيير قيمة من قيمة منطقية إلى عدد صحيح. للمزيد من المعلومات عن كيفية تعامل Azure Logic Apps مع أنواع المحتويات أثناء التحويل، يرجى مراجعة معالجة أنواع المحتوى. للحصول على المرجع الكامل حول كل دالة، راجع القائمة الأبجدية.

Note

ينفذ 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 غير الآمنة بأحرف الإلغاء.
float إرجاع رقم فاصلة عائمة لقيمة إدخال.
int إرجاع إصدار صحيح لسلسلة.
json بإرجاع قيمة نوع JavaScript Object Notation (JSON) أو كائن لسلسلة أو XML.
string إرجاع إصدار السلسلة لقيمة إدخال.
uriComponent إرجاع إصدار URI المرمز لقيمة إدخال عن طريق استبدال أحرف URL غير الآمنة بأحرف إلغاء.
uriComponentToBinary إرجاع الإصدار الثنائي لسلسلة URI المرمزة.
uriComponentToString إرجاع إصدار السلسلة لسلسلة URI المرمزة.
xml إرجاع إصدار XML لسلسلة.

تحويلات نوع البيانات الضمنية

يحول 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>)

Note

في حالة إضافة أي من هذه الدالات يدويًا أثناء استخدام المصمم، إما مباشرة إلى المشغل أو الإجراء أو باستخدام محرر التعبير، انتقل بعيدًا عن المصمم، ثم عد إلى المصمم، تختفي الوظيفة من المصمم، تاركة وراءها فقط قيم المعلمات. يحدث هذا السلوك أيضًا في حالة قيامك بتحديد مشغل أو إجراء يستخدم هذه الدالة دون تحرير قيم معلمات الدالة. تؤثر هذه النتيجة على رؤية الدالة فقط وليس التأثير. في طريقة عرض التعليمة البرمجية، لا تتأثر الدالة. ومع ذلك، إذا قمت بتحرير قيم معلمات الدالة، فستتم إزالة كل من الدالة وتأثيرها من عرض التعليمات البرمجية، تاركة وراءها قيم معلمات الدالة فقط.

دالات رياضيات

للعمل مع الأعداد الصحيحة والعشرية، يمكنك استخدام هذه الدالات الرياضية. للحصول على المرجع الكامل حول كل دالة، راجع القائمة الأبجدية.

دالة رياضية 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 إرجاع الطابع الزمني الحالي مطروحاً منه الوحدات الزمنية المحددة. راجع أيضا طرحFromTime.
parseDateTime استعد الطابع الزمني من سلسلة تحتوي على طابع زمني.
startOfDay إرجاع بداية اليوم للحصول على طابع زمني.
startOfHour إرجاع بداية الساعة للحصول على طابع زمني.
startOfMonth إرجاع بداية الشهر للحصول على طابع زمني.
subtractFromTime طرح عدد من وحدات الوقت من الطابع الزمني. راجع أيضا getPastTime.
ticks إرجاع قيمة الخاصية ticks لطابع زمني محدد.
utcNow إرجاع الطابع الزمني الحالي كسلسلة.

وظائف سير العمل

من الممكن أن تساعدك دالات سير العمل هذه على:

  • الحصول على تفاصيل عن مثيل سير العمل في وقت التشغيل.
  • العمل مع الإدخالات المستخدمة لإنشاء مثيل خاص بتطبيقات المنطق أو التدفقات.
  • الإشارة إلى الإخراجات من المشغلات والإجراءات.

على سبيل المثال، بإمكانك الرجوع إلى إخراجات إجراء واحد واستخدام تلك البيانات في إجراء لاحق. للحصول على المرجع الكامل حول كل دالة، راجع القائمة الأبجدية.

دالة سير العمل Task
action استعد إخراج الإجراء الحالي في وقت التشغيل، أو القيم من أزواج اسم وقيمة JSON الأخرى. راجع أيضا الإجراءات.
actions أرجع إخراج إجراء ما في وقت التشغيل، أو قيم من أزواج اسم وقيمة JSON أخرى. راجع أيضا الإجراء.
body أرجع الإخراج الخاص بالإجراء body في وقت التشغيل.
formDataMultiValues إنشاء صفيف بالقيم التي تطابق اسم مفتاح في بيانات النموذج أو مخرجات الإجراء المشفرة بالنموذج .
formDataValue إرجاع قيمة واحدة تطابق اسم مفتاح في بيانات النموذج أو إخراج ترميز النموذج الخاص بالإجراء.
item في حالة ظهور هذه الدالة داخل إجراء متكرر في صفيف، فأرجع العنصر الحالي في الصفيف أثناء التكرار الحالي للإجراء.
items في حالة ظهور الدالة داخل تكرار Foreach أو Until، فأعد العنصر الحالي من التكرار الحلقي المحدد.
iterationIndexes في حالة ظهور الدالة داخل تكرار Until، فأعد قيمة الفهرس للتكرار الحالي. يمكنك استخدام هذه الدالة داخل تكرار Until المتداخل.
listCallbackUrl أعد «عنوان URL لرد الاتصال» الذي يستدعي مشغلاً أو إجراءً.
multipartBody أعد النص الأساسي لجزء معين في إخراج إجراء يتكون من أجزاء متعددة.
outputs أعد إخراج الإجراء في وقت التشغيل.
parameters أعد قيمة المعلمة الموضحة في تعريف سير العمل الخاص بك.
result أعد الإدخالات والإخراجات من إجراءات المستوى الأعلى داخل الإجراء ضمن النطاق المحدد، مثل For_each، وUntil، وScope.
trigger أعد إخراج المشغل في وقت التشغيل، أو من أزواج اسم وقيمة JSON الأخرى. راجع أيضا triggerOutputs و triggerBody.
triggerBody أعد إخراج المشغل body في وقت التشغيل. راجع المشغل.
triggerFormDataValue إرجاع قيمة واحدة مطابقة لاسم مفتاح في بيانات النموذج أو مخرجات المشغل المشفرة بالنموذج .
triggerMultipartBody أعد النص الأساسي لجزء معين في إخراج المشغل متعدد الأجزاء.
triggerFormDataMultiValues إنشاء صفيف تتطابق قيمه مع اسم مفتاح في بيانات النموذج أو مخرجات المشغل المشفرة بالنموذج .
triggerOutputs أعد إخراج المشغل في وقت التشغيل، أو القيم من أزواج اسم وقيمة JSON الأخرى. راجع المشغل.
variables أعد قيمة متغير محدد.
workflow أعد جميع التفاصيل حول سير العمل نفسه أثناء وقت التشغيل.

دالات تحليل URI

للعمل مع معرفات الموارد المنتظمة (URI) والحصول على قيم خصائص مختلفة لعناوين URI هذه، يمكنك استخدام دالات تحليل URI هذه. للحصول على المرجع الكامل حول كل دالة، راجع القائمة الأبجدية.

دالات تحليل URI Task
uriHost أعد قيمة host لمعرف الموارد المنتظم (URI).
uriPath أعد قيمة path لمعرف الموارد المنتظم (URI).
uriPathAndQuery أعد قيم path وquery لمعرف الموارد المنتظم (URI).
uriPort أعد قيمة port لمعرف الموارد المنتظم (URI).
uriQuery أعد قيمة query لمعرف الموارد المنتظم (URI).
uriScheme أعد قيمة scheme لمعرف الموارد المنتظم (URI).

دوال المعالجة: JSON وXML

للعمل مع عناصر JSON وعقد XML، يمكنك استخدام دالات المعالجة هذه. للحصول على المرجع الكامل حول كل دالة، راجع القائمة الأبجدية.

دالة المعالجة Task
addProperty أضف خاصية وقيمتها، أو زوج الاسم-القيمة، إلى عنصر JSON، وأرجع العنصر المحدث.
coalesce إرجاع القيمة غير الفارغة الأولى من معلمة واحدة أو أكثر.
removeProperty أزل خاصية من عنصر JSON وأعد العنصر المحدث.
setProperty عين قيمة لخاصية عنصر JSON وأعد العنصر المحدث.
xpath التحقق من XML للعقد أو القيم التي تطابق تعبير XPath (لغة مسار XML)، ثم إرجاع العقد أو القيم المتطابقة.

---------------------------------

جميع الدالات - قائمة أبجدية

يسرد هذا القسم جميع الدالات المتوفرة بالترتيب الأبجدي.

A

action

إرجاع إخراج الإجراء الحالي في وقت التشغيل، أو القيم من أزواج اسم وقيمة JSON الأخرى، والتي يمكنك تعيينها إلى تعبير. بشكل افتراضي، تشير هذه الدالة إلى عنصر الإجراء بأكمله، ولكن يمكنك اختياريًا تحديد خاصية تريد قيمتها. راجع أيضا actions().

بإمكانك استخدام الدالة action() فقط في هذه الأماكن:

  • الخاصية unsubscribe لإجراء إخطار على الويب حتى تتمكن من الوصول إلى النتيجة من الطلب الأصلي subscribe
  • الخاصية trackedProperties الخاصة بإجراء
  • شرط التكرار الحلقي do-until الخاص بإجراء
action()
action().outputs.body.<property>
Parameter Required Type Description
< مال> No String اسم خاصية كائن الإجراء التي تريد قيمتها: الاسم و startTimeوendTimeوالمدخلاتوالمخرجاتوالحالةوالرمز و trackingId و clientTrackingId. في مدخل Microsoft Azure، بإمكانك العثور على هذه الخصائص من خلال مراجعة تفاصيل محفوظات تشغيل معينة. للمزيد من المعلومات، يرجى مراجعة واجهة برمجة تطبيقات REST - إجراءات تشغيل سير العمل.
قيمة الإرجاع Type Description
< إخراج الإجراء> Object إخراج كائن JSON من الإجراء الحالي أو الخاصية الحالية

actions

أعد إخراج إجراء ما في وقت التشغيل، أو قيم من أزواج اسم وقيمة JSON أخرى، والتي يمكنك تعيينها إلى تعبير. بشكل افتراضي، تشير الدالة إلى عنصر الإجراء بأكمله، ولكن يمكنك تحديد خاصية تريد قيمتها بشكل اختياري. للحصول على إصدارات مختصرة، راجع body(). للحصول على الإجراء الحالي، راجع action().

Note

في السابق، بإمكانك استخدام الدالة actions() أو العنصر conditions عند تحديد تشغيل إجراء استنادًا إلى الإخراج من إجراء آخر. ومع ذلك، للإعلان صراحة عن التبعيات بين الإجراءات، يلزم عليك الآن استخدام خاصية runAfter للإجراء التابع. لمعرفة المزيد عن الخاصية runAfter، يرجى مراجعة اكتشاف الأخطاء والتعامل معها من خلال خاصية runAfter.

actions('<actionName>')
actions('<actionName>').outputs.body.<property>
Parameter Required Type Description
< اسم الإجراء> Yes String اسم عنصر الإجراء الذي تريد إخراجه
< مال> No String اسم خاصية كائن الإجراء التي تريد قيمتها: الاسم و startTimeوendTimeوالمدخلاتوالمخرجاتوالحالةوالرمز و trackingId و clientTrackingId. في مدخل Microsoft Azure، بإمكانك العثور على هذه الخصائص من خلال مراجعة تفاصيل محفوظات تشغيل معينة. للمزيد من المعلومات، يرجى مراجعة واجهة برمجة تطبيقات REST - إجراءات تشغيل سير العمل.
قيمة الإرجاع Type Description
< إخراج الإجراء> Object إخراج كائن JSON من الإجراء أو الخاصية المحددة

Example

يحصل هذا المثال على قيمة الخاصية status من الإجراء Get user X في وقت التشغيل:

actions('Get_user').outputs.body.status

وإرجاع هذه النتيجة: "Succeeded"

add

إرجاع الناتج من إضافة رقمين.

add(<summand_1>, <summand_2>)
Parameter Required Type Description
< >summand_1، <summand_2> Yes عدد صحيح أو عائم أو مختلط الأرقام التي تجب إضافتها
قيمة الإرجاع Type Description
< مجموع النتائج> عدد صحيح أو عائم نتيجة إضافة الأرقام المحددة

Example

يضيف هذا المثال الأرقام المحددة:

add(1, 1.5)

وإرجاع هذه النتيجة: 2.5

addDays

أضف أيام إلى طابع زمني.

addDays('<timestamp>', <days>, '<format>'?)
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة التي تحتوي على الطابع الزمني
< أيام> Yes Integer العدد الموجب أو السالب للأيام الذي يجب إضافته
< تنسيق> No String سلسلة تنسيق رقمية إما محدد تنسيق واحد أو نمط تنسيق مخصص. التنسيق الافتراضي للطوابع الزمنية هو "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.

في حالة لم يكن التنسيق قيمة صالحة، فسيتم إنشاء خطأ.
قيمة الإرجاع Type Description
< الطابع الزمني المحدث> 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>'?)
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة التي تحتوي على الطابع الزمني
< الساعات> Yes Integer العدد الموجب أو السالب للساعات التي يجب إضافتها
< تنسيق> No String سلسلة تنسيق رقمية إما محدد تنسيق واحد أو نمط تنسيق مخصص. التنسيق الافتراضي للطوابع الزمنية هو "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.

في حالة لم يكن التنسيق قيمة صالحة، فسيتم إنشاء خطأ.
قيمة الإرجاع Type Description
< الطابع الزمني المحدث> 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>'?)
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة التي تحتوي على الطابع الزمني
< محضر> Yes Integer العدد الموجب أو السالب للدقائق التي يجب إضافتها
< تنسيق> No String سلسلة تنسيق رقمية إما محدد تنسيق واحد أو نمط تنسيق مخصص. التنسيق الافتراضي للطوابع الزمنية هو "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.

في حالة لم يكن التنسيق قيمة صالحة، فسيتم إنشاء خطأ.
قيمة الإرجاع Type Description
< الطابع الزمني المحدث> 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>)
Parameter Required Type Description
< كائن> Yes Object عنصر JSON حيث تريد إضافة خاصية
< مال> Yes String اسم الخاصية التي تريد إضافتها
< قيمة> Yes Any قيمة الخاصية
قيمة الإرجاع Type Description
< كائن محدث> Object عنصر JSON المحدث بالخاصية المحددة

لإضافة خاصية أصل إلى خاصية موجودة، استخدم الدالة setProperty()، وليس الدالة addProperty(). خلاف ذلك، ترجع الدالة العنصر التابع فقط كإخراج.

setProperty(<object>, '<parent-property>', addProperty(<object>['<parent-property>'], '<child-property>', <value>)
Parameter Required Type Description
< كائن> Yes Object عنصر JSON حيث تريد إضافة خاصية
< خاصية الأصل> Yes String اسم الخاصية الأصل حيث تريد إضافة الخاصية التابعة
< خاصية تابعة> Yes String اسم الخاصية الفرعية المراد إضافتها
< قيمة> Yes Any القيمة المراد تعيينها للخاصية المحددة
قيمة الإرجاع Type Description
< كائن محدث> 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 إلى الخاصية الموجودة customerName في كائن JSON، والذي يتم تحويله من سلسلة إلى 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>'?)
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة التي تحتوي على الطابع الزمني
< الثواني> Yes Integer العدد الموجب أو السالب للثواني التي يجب إضافتها
< تنسيق> No String سلسلة تنسيق رقمية إما محدد تنسيق واحد أو نمط تنسيق مخصص. التنسيق الافتراضي للطوابع الزمنية هو "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.

في حالة لم يكن التنسيق قيمة صالحة، فسيتم إنشاء خطأ.
قيمة الإرجاع Type Description
< الطابع الزمني المحدث> String الطابع الزمني بالإضافة إلى عدد الثواني المحددة

المثال 1

يضيف هذا المثال 10 ثوانٍ إلى الطابع الزمني المحدد:

addSeconds('2018-03-15T00:00:00Z', 10)

وإرجاع هذه النتيجة: "2018-03-15T00:00:10.0000000Z"

مثال 2

يطرح هذا المثال خمس ثوانٍ من الطابع الزمني المحدد:

addSeconds('2018-03-15T00:00:30Z', -5)

وإرجاع هذه النتيجة: "2018-03-15T00:00:25.0000000Z"

addToTime

أضف الوحدات الزمنية المحددة إلى طابع زمني. راجع أيضا getFutureTime().

addToTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة التي تحتوي على الطابع الزمني
< فترة> Yes Integer عدد الوحدات الزمنية المحددة المطلوب إضافتها
< وحدة زمنية> Yes String وحدة الوقت التي يجب استخدامها مع الفاصل الزمني: "الثانية"، "الدقيقة"، "الساعة"، "اليوم"، "الأسبوع"، "الشهر"، "السنة"
< تنسيق> No String سلسلة تنسيق رقمية إما محدد تنسيق واحد أو نمط تنسيق مخصص. التنسيق الافتراضي للطوابع الزمنية هو "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.

في حالة لم يكن التنسيق قيمة صالحة، فسيتم إنشاء خطأ.
قيمة الإرجاع Type Description
< الطابع الزمني المحدث> String الطابع الزمني بالإضافة إلى عدد الوحدات الزمنية

المثال 1

يضيف هذا المثال يوم واحد إلى الطابع الزمني المحدد:

addToTime('2018-01-01T00:00:00Z', 1, 'Day')

وإرجاع هذه النتيجة: "2018-01-02T00:00:00.0000000Z"

مثال 2

يضيف هذا المثال يوم واحد إلى الطابع الزمني المحدد:

addToTime('2018-01-01T00:00:00Z', 1, 'Day', 'D')

وإرجاع النتيجة باستخدام تنسيق "D" الاختياري: "Tuesday, January 2, 2018"

and

التحقق مما إذا كانت جميع التعبيرات صحيحة. أعد صحيح عندما تكون جميع التعبيرات صحيحة، أو أعد خطأ عندما يكون تعبير واحد على الأقل خطأ.

and(<expression1>, <expression2>, ...)
Parameter Required Type Description
< تعبير1>، <تعبير2>، ... Yes Boolean التعبيرات التي يجب التحقق منها
قيمة الإرجاع Type Description
صواب أو خطأ Boolean أعد صحيح عندما تكون جميع التعبيرات صحيحة. إرجاع false عندما يكون تعبير واحد على الأقل غير صحيح.

المثال 1

تتحقق هذه الأمثلة مما إذا كانت جميع القيم المنطقية المحددة صحيحة أم لا:

and(true, true)
and(false, true)
and(false, false)

وإرجاع هذه النتائج:

  • المثال الأول: كلا التعبيرين صحيحان، لذا يتم إرجاع true.
  • المثال الثاني: أحد التعبيرين خطأ، لذا يتم إرجاع false.
  • المثال الثالث: كلا التعبيرين خطأ، لذا يتم إرجاع false.

مثال 2

تتحقق هذه الأمثلة مما إذا كانت جميع التعبيرات المحددة صحيحة أم لا:

and(equals(1, 1), equals(2, 2))
and(equals(1, 1), equals(1, 2))
and(equals(1, 2), equals(1, 3))

وإرجاع هذه النتائج:

  • المثال الأول: كلا التعبيرين صحيحان، لذا يتم إرجاع true.
  • المثال الثاني: أحد التعبيرين خطأ، لذا يتم إرجاع false.
  • المثال الثالث: كلا التعبيرين خطأ، لذا يتم إرجاع false.

array

إرجاع صفيف من إدخال واحد محدد. للحصول على مدخلات متعددة، راجع createArray().

array('<value>')
Parameter Required Type Description
< قيمة> Yes String السلسلة لإنشاء صفيف
قيمة الإرجاع Type Description
[<قيمة>] Array صفيف يحتوي على إدخال واحد محدد

Example

ينشئ هذا المثال صفيف من سلسلة "hello":

array('hello')

وإرجاع هذه النتيجة: ["hello"]

B

base64

إرجاع الإصدار المرمّز باستخدام base64 لإحدى السلاسل.

Note

ينفذ Azure Logic Apps تلقائيًا أو ضمنيًا ترميز وفك ترميز base64، لذلك لا يتعين عليك إجراء هذه التحويلات يدويًا باستخدام دالات الترميز وفك الترميز. ومع ذلك، إذا كنت تستخدم هذه الدالات على أي حال، يمكن أن تواجه سلوكيات عرض غير متوقعة في المصمم. تؤثر هذه السلوكيات على رؤية الدالات فقط وليس تأثيرها ما لم تقم بتحرير قيم معلمات الدالات، ما يزيل الدالات وتأثيراتها من التعليمات البرمجية الخاصة بك. للمزيد من المعلومات، يرجى مراجعة ترميز Base64 وفك ترميزه.

base64('<value>')
Parameter Required Type Description
< قيمة> Yes String سلسلة الإدخال
قيمة الإرجاع Type Description
< سلسلة base64> String الإصدار المرمّز باستخدام base64 لسلسلة الإدخال

Example

يحول هذا المثال سلسلة "hello" إلى سلسلة مرمزة باستخدام base64:

base64('hello')

وإرجاع هذه النتيجة: "aGVsbG8="

base64ToBinary

إرجاع الإصدار الثنائي لسلسلة مرمّزة باستخدام base64.

Note

ينفذ Azure Logic Apps تلقائيًا أو ضمنيًا ترميز وفك ترميز base64، لذلك لا يتعين عليك إجراء هذه التحويلات يدويًا باستخدام دالات الترميز وفك الترميز. ومع ذلك، إذا كنت تستخدم هذه الدالات على أي حال في المصمم، فيمكن أن تواجه سلوكيات عرض غير متوقعة في المصمم. تؤثر هذه السلوكيات على رؤية الدالات فقط وليس تأثيرها ما لم تقم بتحرير قيم معلمات الدالات، ما يزيل الدالات وتأثيراتها من التعليمات البرمجية الخاصة بك. للمزيد من المعلومات، يرجى مراجعة ترميز Base64 وفك ترميزه.

base64ToBinary('<value>')
Parameter Required Type Description
< قيمة> Yes String السلسلة المرمزة باستخدام base64 لتحويل
قيمة الإرجاع Type Description
< ثنائي لسلسلة base64> String الإصدار الثنائي لسلسلة مرمزة باستخدام base64

Example

يحول هذا المثال السلسلة المرمزة باستخدام "aGVsbG8=" base64 إلى سلسلة ثنائية:

base64ToBinary('aGVsbG8=')

على سبيل المثال، افترض أنك تستخدم إجراء HTTP لكي ترسل طلبًا. بإمكانك استخدام base64ToBinary() لتحويل سلسلة مرمزة بـ base64 إلى بيانات ثنائية وإرسال تلك البيانات باستخدام نوع المحتوى application/octet-stream في الطلب.

base64ToString

إرجاع إصدار السلسلة للسلسلة المرمزة باستخدام base64، وفك ترميز السلسلة المرمزة باستخدام base64 على نحوٍ فعال. استخدم هذه الدالة بدلا من decodeBase64()، التي تم إهمالها.

Note

ينفذ Azure Logic Apps تلقائيًا أو ضمنيًا ترميز وفك ترميز base64، لذلك لا يتعين عليك إجراء هذه التحويلات يدويًا باستخدام دالات الترميز وفك الترميز. ومع ذلك، إذا كنت تستخدم هذه الدالات على أي حال في المصمم، فيمكن أن تواجه سلوكيات عرض غير متوقعة في المصمم. تؤثر هذه السلوكيات على رؤية الدالات فقط وليس تأثيرها ما لم تقم بتحرير قيم معلمات الدالات، ما يزيل الدالات وتأثيراتها من التعليمات البرمجية الخاصة بك. للمزيد من المعلومات، يرجى مراجعة ترميز Base64 وفك ترميزه.

base64ToString('<value>')
Parameter Required Type Description
< قيمة> Yes String السلسلة المرمزة باستخدام base64 لفك الترميز
قيمة الإرجاع Type Description
< سلسلة تم فك ترميزها-base64> String إصدار السلسلة لسلسلة مرمّزة باستخدام base64

Example

يحول هذا المثال السلسلة المرمزة باستخدام "aGVsbG8=" base64 إلى سلسلة واحدة فقط:

base64ToString('aGVsbG8=')

وإرجاع هذه النتيجة: "hello"

binary

أعد الإصدار الثنائي المرمز بـ base64 من سلسلة.

binary('<value>')
Parameter Required Type Description
< قيمة> Yes String السلسلة المطلوب تحويلها
قيمة الإرجاع Type Description
< ثنائي مقابل قيمة الإدخال> String الإصدار الثنائي المرمز بـ base64 للسلسلة المحددة

Example

على سبيل المثال، أنت تستخدم إجراء HTTP يرجع ملف صورة أو ملف فيديو. بإمكانك استخدام binary() لتحويل القيمة إلى نموذج مغلف محتوى مرمز بـ base-64. بعد ذلك، بإمكانك إعادة استخدام مغلف المحتوى في إجراءات أخرى، مثل Compose. يمكنك استخدام تعبير الدالة هذا لإرسال بايت سلسلة مع نوع المحتوى application/octet-stream في الطلب.

body

أرجع الإخراج الخاص بالإجراء body في وقت التشغيل. اختصار لـ actions('<actionName>').outputs.body. راجع actions().

body('<actionName>')
Parameter Required Type Description
< اسم الإجراء> Yes String اسم إخراج الإجراء body الذي تريده
قيمة الإرجاع Type Description
< مخرج الجسم-الفعل> String الإخراج body من الإجراء المحدد

Example

يحصل هذا المثال على body الإخراج من Get user الإجراء X:

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>)
Parameter Required Type Description
< قيمة> Yes Any القيمة المطلوب تحويلها إلى منطقية.

إذا كنت تستخدم bool() مع عنصر، يجب أن تكون قيمة العنصر سلسلة أو عدد صحيح يمكن تحويله إلى قيمة منطقية.

قيمة الإرجاع Type Description
true أو false Boolean إصدار منطقي للقيمة المحددة.

Outputs

توضح هذه الأمثلة الأنواع المختلفة المدعومة من الإدخال من أجل bool():

قيمة الإدخال Type قيمة الإرجاع
bool(1) Integer true
bool(0) Integer false
bool(-1) Integer true
bool('true') String true
bool('false') String false

C

chunk

تقسيم سلسلة أو صفيف إلى أجزاء متساوية الطول.

chunk('<collection>', '<length>')
chunk([<collection>], '<length>')
Parameter Required Type Description
< مجموعة> Yes سلسلة أو صفيف المجموعة المراد تقسيمها
< طول> Yes طول كل جزء
قيمة الإرجاع Type Description
< مجموعة> Array صفيف من المجموعات ذات الطول المحدد

المثال 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

إرجاع القيمة غير الفارغة الأولى من معلمة واحدة أو أكثر. السلاسل، والمصفوفات، والعناصر الفارغة ليست خالية.

coalesce(<object_1>, <object_2>, ...)
Parameter Required Type Description
< >object_1، <object_2>، ... Yes أي، يمكن خلط الأنواع عنصر واحد أو أكثر للتحقق من كونه خالياً
قيمة الإرجاع Type Description
< العنصر الأول غير الفارغ> Any العنصر الأول أو القيمة ليست خالية. إذا كانت جميع المعلمات فارغة، يتم إرجاع هذه الدالة قيمة فارغة.

Example

تُرجع هذه الأمثلة القيمة الأولى غير الفارغة من القيم المحددة، أو القيمة الفارغة عندما تكون جميع القيم فارغة:

coalesce(null, true, false)
coalesce(null, 'hello', 'world')
coalesce(null, null, null)

وإرجاع هذه النتائج:

  • المثال الأول: true
  • المثال الثاني: "hello"
  • المثال الثالث: null

concat

ضم سلسلتين أو أكثر، ثم إرجاع السلسلة المدمجة.

concat('<text1>', '<text2>', ...)
Parameter Required Type Description
< نص1>، <نص2>، ... Yes String على الأقل سلسلتان للجمع
قيمة الإرجاع Type Description
< text1text2...> String السلسلة التي تم إنشاؤها من سلاسل الإدخال المدمجة.



ملاحظة: يجب ألا يتجاوز طول النتيجة 104,857,600 حرف.

Note

ينفذ Azure Logic Apps تلقائيًا أو ضمنيًا ترميز وفك ترميز base64، لذلك لا يتعين عليك إجراء هذه التحويلات يدويًا عند استخدام الدالة concat() مع البيانات التي تحتاج إلى ترميز أو فك ترميز:

  • concat('data:;base64,',<value>)
  • concat('data:,',encodeUriComponent(<value>))

ومع ذلك، إذا كنت تستخدم هذه الدالة على أي حال في المصمم، يمكن أن تواجه سلوكيات عرض غير متوقعة في المصمم. تؤثر هذه السلوكيات على رؤية الدالة فقط وليس التأثير إلا إذا حررت قيم معلمات الدالة، ما يزيل الدالة والتأثير من التعليمات البرمجية الخاصة بك. للمزيد من المعلومات، راجع ترميز Base64 وفك ترميزه.

Example

يجمع هذا المثال بين السلاسل "Hello" و"World":

concat('Hello', 'World')

وإرجاع هذه النتيجة: "HelloWorld"

contains

التحقق مما إذا كانت المجموعة تحتوي على عنصر معين. يتم إرجاع القيمة true عند العثور على العنصر أو إرجاع القيمة false عند عدم العثور عليه. هذه الدالة حساسة لحالة الأحرف.

contains('<collection>', '<value>')
contains([<collection>], '<value>')

وبوجه خاص، تعمل هذه الدالة على أنواع المجموعات هذه:

  • سلسلة للعثور على سلسلة فرعية
  • صفيف للبحث عن قيمة
  • قاموس للبحث عن مفتاح
Parameter Required Type Description
< مجموعة> Yes سلسلة أو صفيف أو قاموس المجموعة التي يجب التحقق منها
< قيمة> Yes سلسلة أو صفيف أو قاموس على التوالي العنصر المطلوب العثور عليه
قيمة الإرجاع Type Description
صواب أو خطأ Boolean إرجاع القيمة 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>'?)
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة التي تحتوي على الطابع الزمني
< الوجهةTimeZone> Yes String اسم المنطقة الزمنية الهدف. للحصول على أسماء المناطق الزمنية، يرجى مراجعة المناطق الزمنية الافتراضية لـ Microsoft Windows.
< تنسيق> No String سلسلة تنسيق رقمية إما محدد تنسيق واحد أو نمط تنسيق مخصص. التنسيق الافتراضي للطوابع الزمنية هو "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.

في حالة لم يكن التنسيق قيمة صالحة، فسيتم إنشاء خطأ.
قيمة الإرجاع Type Description
< الطابع الزمني المحول> String الطابع الزمني المحول إلى المنطقة الزمنية المستهدفة بدون إزاحة المنطقة الزمنية بالتوقيت العالمي المتفق عليه.

المثال 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>'?)
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة التي تحتوي على الطابع الزمني
< مصدرTimeZone> Yes String اسم المنطقة الزمنية المصدر. بالنسبة لأسماء المناطق الزمنية، يرجى مراجعة Microsoft Windows Default Time Zones، ولكن يمكن تضطر إلى إزالة أي علامات ترقيم من اسم المنطقة الزمنية.
< الوجهةTimeZone> Yes String اسم المنطقة الزمنية الهدف. بالنسبة لأسماء المناطق الزمنية، يرجى مراجعة Microsoft Windows Default Time Zones، ولكن يمكن تضطر إلى إزالة أي علامات ترقيم من اسم المنطقة الزمنية.
< تنسيق> No String سلسلة تنسيق رقمية إما محدد تنسيق واحد أو نمط تنسيق مخصص. التنسيق الافتراضي للطوابع الزمنية هو "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.

في حالة لم يكن التنسيق قيمة صالحة، فسيتم إنشاء خطأ.
قيمة الإرجاع Type Description
< الطابع الزمني المحول> 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>'?)
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة التي تحتوي على الطابع الزمني
< مصدرTimeZone> Yes String اسم المنطقة الزمنية المصدر. بالنسبة لأسماء المناطق الزمنية، يرجى مراجعة Microsoft Windows Default Time Zones، ولكن يمكن تضطر إلى إزالة أي علامات ترقيم من اسم المنطقة الزمنية.
< تنسيق> No String سلسلة تنسيق رقمية إما محدد تنسيق واحد أو نمط تنسيق مخصص. التنسيق الافتراضي للطوابع الزمنية هو "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.

في حالة لم يكن التنسيق قيمة صالحة، فسيتم إنشاء خطأ.
قيمة الإرجاع Type Description
< الطابع الزمني المحول> 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>', ...)
Parameter Required Type Description
< الشيء1>، <الشيء2>، ... Yes أي، ولكن ليست مختلطة عنصران على الأقل لإنشاء الصفيف
قيمة الإرجاع Type Description
[<object1>, <object2>, ...] Array الصفيف الذي تم إنشاؤه من جميع عناصر الإدخال

Example

ينشئ هذا المثال صفيف من هذه الإدخالات:

createArray('h', 'e', 'l', 'l', 'o')

وإرجاع هذه النتيجة: ["h", "e", "l", "l", "o"]

D

dataUri

إرجاع معرف موارد منتظم للبيانات (URI) لسلسلة.

dataUri('<value>')
Parameter Required Type Description
< قيمة> Yes String السلسلة المطلوب تحويلها
قيمة الإرجاع Type Description
< data-uri> String عنوان URI للبيانات الخاصة بسلسلة الإدخال

Example

ينشئ هذا المثال عنوان URI للبيانات الخاصة بسلسلة "hello":

dataUri('hello')

وإرجاع هذه النتيجة: "data:text/plain;charset=utf-8;base64,aGVsbG8="

dataUriToBinary

إرجاع الإصدار الثنائي لمعرف موارد منتظم (URI) للبيانات. استخدم هذه الدالة بدلا من فك ترميزDataUri(). على الرغم من أن كلتا الدالتين تعملان بنفس الطريقة، يفضل استخدام dataUriBinary().

dataUriToBinary('<value>')
Parameter Required Type Description
< قيمة> Yes String URI للبيانات من أجل تحويل
قيمة الإرجاع Type Description
< binary-for-data-uri> String الإصدار الثنائي لـ URI للبيانات

Example

ينشئ هذا المثال الإصدار الثنائي لـ URI للبيانات:

dataUriToBinary('data:text/plain;charset=utf-8;base64,aGVsbG8=')

وإرجاع هذه النتيجة:

"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"

dataUriToString

إرجاع إصدار السلسلة لمعرف موارد منتظم (URI) للبيانات.

dataUriToString('<value>')
Parameter Required Type Description
< قيمة> Yes String URI للبيانات من أجل تحويل
قيمة الإرجاع Type Description
< string-for-data-uri> String إصدار السلسلة لـ URI للبيانات

Example

ينشئ هذا المثال سلسلة لـ URI للبيانات:

dataUriToString('data:text/plain;charset=utf-8;base64,aGVsbG8=')

وإرجاع هذه النتيجة: "hello"

dateDifference

إرجاع الفرق بين طابعين زمنيين كمدى زمني. تطرح هذه الدالة startDate من endDate، وترجع النتيجة كطوابع زمنية بتنسيق سلسلة.

dateDifference('<startDate>', '<endDate>')
Parameter Required Type Description
< تاريخ البدء> Yes String سلسلة تحتوي على طابع زمني
< تاريخ الانتهاء> Yes String سلسلة تحتوي على طابع زمني
قيمة الإرجاع Type Description
< الفترة الزمنية> String الفرق بين الطابعين الزمنيين، وهو طابع زمني بتنسيق سلسلة. إذا كان startDate أحدث من endDate، تكون النتيجة قيمة سالبة.

Example

يطرح هذا المثال القيمة الأولى من القيمة الثانية:

dateDifference('2015-02-08', '2018-07-30')

وإرجاع هذه النتيجة: "1268.00:00:00"

dayOfMonth

إرجاع أيام الشهر من الطابع الزمني.

dayOfMonth('<timestamp>')
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة التي تحتوي على الطابع الزمني
قيمة الإرجاع Type Description
< يوم من الشهر> Integer أيام الشهر من الطابع الزمني المحدد

Example

يسترجع هذا المثال عدد أيام الشهر من هذا الطابع الزمني:

dayOfMonth('2018-03-15T13:27:36Z')

وإرجاع هذه النتيجة: 15

dayOfWeek

إرجاع أيام الأسبوع من الطابع الزمني.

dayOfWeek('<timestamp>')
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة التي تحتوي على الطابع الزمني
قيمة الإرجاع Type Description
< يوم من الأسبوع> Integer أيام الأسبوع من الطابع الزمني المحدد حيث الأحد هو 0، الاثنين هو 1، وهكذا

Example

يسترجع هذا المثال عدد أيام الأسبوع من هذا الطابع الزمني:

dayOfWeek('2018-03-15T13:27:36Z')

وإرجاع هذه النتيجة: 4

dayOfYear

إرجاع أيام السنة من الطابع الزمني.

dayOfYear('<timestamp>')
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة التي تحتوي على الطابع الزمني
قيمة الإرجاع Type Description
< يوم من السنة> Integer أيام السنة من الطابع الزمني المحدد

Example

يسترجع هذا المثال عدد أيام السنة من هذا الطابع الزمني:

dayOfYear('2018-03-15T13:27:36Z')

وإرجاع هذه النتيجة: 74

decimal

أعد رقمًا عشريًا في سلسلة كرقم عشري. يمكنك استخدام هذه الدالة عند العمل مع البيانات التي تتطلب دقة عشرية وأيضًا كإدخال لدالات المقارنة المنطقية والدالات الرياضية. لالتقاط الدقة والحفاظ عليها عند استخدام النتيجة من الدالة decimal() ، قم بتضمين أي إخراج عشري مع دالة السلسلة. يظهر هذا الاستخدام في الأمثلة التالية الموضحة أدناه حيث يمكن أن تفقد الدقة إذا استخدمت النتيجة العشرية كرقم.

Note

الدقة العشرية التي تمت مناقشتها في سياق هذه الدالة ووقت تشغيل Azure Logic Apps هي نفسها الدقة العشرية NET.

decimal('<value>')
Parameter Required Type Description
< قيمة> Yes String العدد العشري في سلسلة
قيمة الإرجاع Type Description
< عشري> رقم عشري العدد العشري لسلسلة الإدخال

المثال 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().

Note

ينفذ Azure Logic Apps تلقائيًا أو ضمنيًا ترميز وفك ترميز base64، لذلك لا يتعين عليك إجراء هذه التحويلات يدويًا باستخدام دالات الترميز وفك الترميز. ومع ذلك، إذا كنت تستخدم هذه الدالات على أي حال في المصمم، فيمكن أن تواجه سلوكيات عرض غير متوقعة في المصمم. تؤثر هذه السلوكيات على رؤية الدالات فقط وليس تأثيرها ما لم تقم بتحرير قيم معلمات الدالات، ما يزيل الدالات وتأثيراتها من التعليمات البرمجية الخاصة بك. للمزيد من المعلومات، يرجى مراجعة ترميز Base64 وفك ترميزه.

decodeDataUri('<value>')
Parameter Required Type Description
< قيمة> Yes String سلسلة URI للبيانات التي يجب فك ترميزها
قيمة الإرجاع Type Description
< binary-for-data-uri> String الإصدار الثنائي لسلسلة URI للبيانات

Example

يسترجع هذا المثال الإصدار الثنائي لـ URI للبيانات:

decodeDataUri('data:text/plain;charset=utf-8;base64,aGVsbG8=')

وإرجاع هذه النتيجة: "hello"

decodeUriComponent

إرجاع سلسلة استبدال أحرف الإلغاء بإصدارات غير مرمزة.

decodeUriComponent('<value>')
Parameter Required Type Description
< قيمة> Yes String السلسلة المكونة من أحرف الإلغاء التي يجب فك ترميزها
قيمة الإرجاع Type Description
< فك ترميز uri> String السلسلة المحدثة المكونة من أحرف الإلغاء التي تم فك ترميزها

Example

يستبدل هذا المثال أحرف الإلغاء في هذه السلسلة بإصدارات تم فك ترميزها:

decodeUriComponent('https%3A%2F%2Fcontoso.com')

وإرجاع هذه النتيجة: "https://contoso.com"

div

إرجاع الناتج من قسمة رقمين. للحصول على النتيجة المتبقية، راجع mod().

div(<dividend>, <divisor>)
Parameter Required Type Description
< عائد> Yes عدد صحيح أو عائم الرقم المراد قسمته على القاسم
< القاسم> Yes عدد صحيح أو عائم الرقم الذي يقسم المقسوم، ولكن لا يمكن أن يكون صفرا
قيمة الإرجاع Type Description
< النتيجة المقتبسة> عدد صحيح أو عائم نتيجة قسمة الرقم الأول على الرقم الثاني. إذا كان المقسوم أو المقسوم عليه يحتوي على نوع عدد عشري، فإن النتيجة لها نوع عدد عشري.



ملاحظة: لتحويل النتيجة العائمة إلى عدد صحيح، حاول إنشاء دالة واستدعاءها في Azure من تطبيق المنطق الخاص بك.

المثال 1

كلا المثالين يعيدان هذه القيمة بنوع عدد صحيح: 2

div(10,5)
div(11,5)

مثال 2

كلا المثالين يعيدان هذه القيمة بنوع عدد عشري: 2.2

div(11,5.0)
div(11.0,5)

E

encodeUriComponent

قم بإرجاع إصدار مرمز باستخدام معرّف الموارد المنتظم (URI) لسلسلة من خلال استبدال أحرف URL غير الآمنة بأحرف الإلغاء. ضع في اعتبارك استخدام uriComponent()، بدلا من encodeUriComponent(). على الرغم من أن كلتا الدالتين تعملان بنفس الطريقة، يفضل استخدام uriComponent().

Note

ينفذ Azure Logic Apps تلقائيًا أو ضمنيًا ترميز وفك ترميز base64، لذلك لا يتعين عليك إجراء هذه التحويلات يدويًا باستخدام دالات الترميز وفك الترميز. ومع ذلك، إذا كنت تستخدم هذه الدالات على أي حال في المصمم، فيمكن أن تواجه سلوكيات عرض غير متوقعة في المصمم. تؤثر هذه السلوكيات على رؤية الدالات فقط وليس تأثيرها ما لم تقم بتحرير قيم معلمات الدالات، ما يزيل الدالات وتأثيراتها من التعليمات البرمجية الخاصة بك. للمزيد من المعلومات، يرجى مراجعة ترميز Base64 وفك ترميزه.

encodeUriComponent('<value>')
Parameter Required Type Description
< قيمة> Yes String السلسلة المطلوب تحويلها إلى تنسيق مرمز بـ URI
قيمة الإرجاع Type Description
< encoded-uri> String السلسلة المرمزة باستخدام URI مع أحرف الإلغاء

Example

ينشئ هذا المثال إصدار مرمز باستخدام URI لهذه السلسلة:

encodeUriComponent('https://contoso.com')

وإرجاع هذه النتيجة: "https%3A%2F%2Fcontoso.com"

empty

التحقق مما إذا كانت المجموعة فارغة أم لا. إرجاع القيمة true عندما تكون المجموعة فارغة، أو إرجاع القيمة false عندما لا تكون فارغة.

empty('<collection>')
empty([<collection>])
Parameter Required Type Description
< مجموعة> Yes سلسلة أو صفيف أو كائن المجموعة التي يجب التحقق منها
قيمة الإرجاع Type Description
صواب أو خطأ Boolean إرجاع القيمة true عندما تكون المجموعة فارغة. إرجاع القيمة false عندما لا تكون فارغة.

Example

تحقق هذه الأمثلة ما إذا كانت المجموعات المحددة فارغة:

empty('')
empty('abc')

وإرجاع هذه النتائج:

  • المثال الأول: تمرير سلسلة فارغة، بحيث ترجع قيمة الدالة true.
  • المثال الثاني: تمرير السلسلة "abc"، بحيث ترجع قيمة الدالة false.

endsWith

تحقق ما إذا كانت سلسلة تنتهي بسلسلة فرعية معينة. يتم إرجاع القيمة true عند العثور على سلسلة فرعية أو إرجاع القيمة false عند عدم العثور عليها. هذه الدالة ليست حساسة لحالة الأحرف.

endsWith('<text>', '<searchText>')
Parameter Required Type Description
< نص> Yes String السلسلة التي يجب التحقق منها
< نص البحث> Yes String السلسلة الفرعية النهائية المطلوب البحث عنها
قيمة الإرجاع Type Description
صواب أو خطأ Boolean إرجاع القيمة true عند العثور على السلسلة الفرعية النهائية. إرجاع القيمة false عند عدم العثور عليه.

المثال 1

يتحقق هذا المثال ما إذا كانت سلسلة "hello" تنتهي بسلسلة "world":

endsWith('hello world', 'world')

وإرجاع هذه النتيجة: true

مثال 2

يتحقق هذا المثال ما إذا كانت سلسلة "hello" تنتهي بسلسلة "universe":

endsWith('hello world', 'universe')

وإرجاع هذه النتيجة: false

equals

تحقق مما إذا كانت كل من القيم أو التعبيرات أو العناصر متكافئة. إرجاع القيمة true عندما تكون كلاهما متساويين، أو إرجاع القيمة false عندما لا يكونان متساويين.

equals('<object1>', '<object2>')
Parameter Required Type Description
< object1>, <object2> Yes Various القيم أو التعبيرات أو الكائنات التي يجب مقارنتها
قيمة الإرجاع Type Description
صواب أو خطأ Boolean إرجاع القيمة true عندما يكون كلاهما مساوياً. إرجاع القيمة false عندما لا يكون مساوياً.

Example

تحقق هذه الأمثلة مما إذا كانت الإدخالات المحددة متساوية.

equals(true, 1)
equals('abc', 'abcd')

وإرجاع هذه النتائج:

  • المثال الأول: كلتا القيمتين متساويتان، وبالتالي ترجع الدالة true.
  • المثال الثاني: كلتا القيمتين غير متساويتين، وبالتالي ترجع الدالة false.

F

first

إرجاع العنصر الأول من سلسلة أو صفيف.

first('<collection>')
first([<collection>])
Parameter Required Type Description
< مجموعة> Yes سلسلة أو صفيف المجموعة التي يمكن العثور فيها على العنصر الأول
قيمة الإرجاع Type Description
< عنصر المجموعة الأول> Any العنصر الأول في المجموعة

Example

تبحث هذه الأمثلة عن العنصر الأول في هذه المجموعات:

first('hello')
first(createArray(0, 1, 2))

وإرجاع هذه النتائج:

  • المثال الأول: "h"
  • المثال الثاني: 0

float

تحويل إصدار سلسلة لرقم الفاصلة العائمة إلى رقم فاصلة عائمة فعلية. يمكنك استخدام هذه الوظيفة فقط عند تمرير معلمات مخصصة إلى تطبيق، على سبيل المثال، سير عمل تطبيق منطقي أو تدفق Power Automate. لتحويل سلاسل الفاصلة العائمة الممثلة بتنسيقات خاصة باللغة المحلية، يمكنك اختياريا تحديد رمز إعدادات RFC 4646 المحلية.

float('<value>', '<locale>'?)
Parameter Required Type Description
< قيمة> Yes String السلسلة التي تحتوي على رقم عشري صالح للتحويل. القيم الدنيا والقصوى هي نفس حدود نوع بيانات العدد العشري.
< موقع> No String رمز إعدادات RFC 4646 المحلية المراد استخدامه.

إذا لم يتم تحديدها، يتم استخدام الإعدادات المحلية الافتراضية.

إذا لم تكن اللغة المحلية قيمة صالحة، يتم إنشاء خطأ بأن اللغة المتوفرة غير صالحة أو لا تحتوي على إعدادات محلية مقترنة.
قيمة الإرجاع Type Description
< قيمة عائمة> Float الرقم العشري للسلسلة المحددة. القيم الدنيا والقصوى هي نفس حدود نوع بيانات العدد العشري.

المثال 1

ينشئ هذا المثال إصدار سلسلة لرقم الفاصلة العائمة هذا:

float('10,000.333')

وإرجاع هذه النتيجة: 10000.333

مثال 2

ينشئ هذا المثال إصدار سلسلة لرقم الفاصلة العائمة على النمط الألماني هذا:

float('10.000,333', 'de-DE')

وإرجاع هذه النتيجة: 10000.333

مثال 3

أمثلة على الإدخالات الصالحة بشكل غير متوقع:

float('12,3,4,5678')  //Returns   12345678
float('1234567,8+')   //Returns   12345678
float('12345,6,78,-') //Returns  -12345678
float('-12,345,678,') //Returns  -12345678
float('12345678.-')   //Returns  -12345678
float('.12345678')    //Returns 0.12345678

formatDateTime

إرجاع طابع زمني بالتنسيق المحدد.

formatDateTime('<timestamp>', '<format>'?, '<locale>'?)
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة التي تحتوي على الطابع الزمني
< تنسيق> No String سلسلة تنسيق رقمية إما محدد تنسيق واحد أو نمط تنسيق مخصص. التنسيق الافتراضي للطوابع الزمنية هو "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.
< موقع> No String إعدادات محلية للاستخدام. في حالة عدم تحديدها، فإن القيمة هي en-us. إذا لم تكن القيمة المحلية قيمة صالحة، يتم إنشاء خطأ.
قيمة الإرجاع Type Description
< الطابع الزمني المصلح> String الطابع الزمني المحدث بالتنسيق المحدد والإعدادات المحلية، في حالة تحديده.

Examples

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>')
Parameter Required Type Description
< اسم الإجراء> Yes String الإجراء الذي يحتوي إخراجه على القيمة الأساسية التي تريدها
< مفتاح> Yes String اسم المفتاح الذي ترغب في قيمته
قيمة الإرجاع Type Description
[<قيم الصفيف مع المفتاح>] Array صفيف بكل القيم التي تطابق المفتاح المحدد

Example

ينشئ هذا المثال صفيفًا من قيمة المفتاح «الموضوع» في إخراج بيانات النموذج أو ترميز النموذج الخاص بالإجراء المحدد:

formDataMultiValues('Send_an_email', 'Subject')

ويرجع نص الموضوع في صفيف، على سبيل المثال: ["Hello world"]

formDataValue

إرجاع قيمة واحدة تطابق اسم مفتاح في بيانات النموذج أو إخراج ترميز النموذج الخاص بالإجراء. إذا عثرت الدالة على أكثر من تطابق، فستتسبب هذه الدالة في حدوث خطأ.

formDataValue('<actionName>', '<key>')
Parameter Required Type Description
< اسم الإجراء> Yes String الإجراء الذي يحتوي إخراجه على القيمة الأساسية التي تريدها
< مفتاح> Yes String اسم المفتاح الذي ترغب في قيمته
قيمة الإرجاع Type Description
< قيمة المفتاح> String القيمة الموجودة في مفتاح محدد

Example

ينشئ هذا المثال سلسلة من قيمة المفتاح «الموضوع» في إخراج بيانات النموذج أو ترميز النموذج الخاص بالإجراء المحدد:

formDataValue('Send_an_email', 'Subject')

ويرجع نص الموضوع كسلسلة، على سبيل المثال: "Hello world"

formatNumber

أعد رقمًا كسلسلة تستند إلى التنسيق المحدد.

formatNumber(<number>, <format>, <locale>?)
Parameter Required Type Description
< رقم> Yes عدد صحيح أو مزدوج القيمة التي ترغب في تنسيقها.
< تنسيق> Yes String سلسلة تنسيق مركّبة تحدد التنسيق الذي تريد استخدامه. للحصول على سلاسل التنسيق الرقمي المدعومة، يرجى مراجعة سلاسل التنسيق الرقمي القياسية، والتي يدعمها number.ToString(<format>, <locale>).
< موقع> No String الإعدادات المحلية لاستخدامها كما هو مدعوم من جانب number.ToString(<format>, <locale>). في حالة عدم تحديدها، فإن القيمة هي en-us. إذا لم تكن القيمة المحلية قيمة صالحة، يتم إنشاء خطأ.
قيمة الإرجاع Type Description
< رقم منسق> String الرقم المحدد كسلسلة بالتنسيق الذي حددته. يمكنك تحويل هذه القيمة المرجعة إلىint أو float.

المثال 1

بافتراض أنك تريد تنسيق الرقم 1234567890. ينسق هذا المثال الرقم الموضح كسلسلة «1,234,567,890,00».

formatNumber(1234567890, '#,##0.00', 'en-US')

*مثال 2"

بافتراض أنك تريد تنسيق الرقم 1234567890. ينسق هذا المثال الرقم إلى السلسلة «1,234,567,890,00».

formatNumber(1234567890, '#,##0.00', 'is-IS')

مثال 3

بافتراض أنك تريد تنسيق الرقم 17.35. ينسق هذا المثال الرقم إلى السلسلة «17.35دولارًا».

formatNumber(17.35, 'C2')

مثال 4

بافتراض أنك تريد تنسيق الرقم 17.35. ينسق هذا المثال الرقم إلى السلسلة «17,35 كرونة سويدية».

formatNumber(17.35, 'C2', 'is-IS')

G

getFutureTime

إرجاع الطابع الزمني الحالي بالإضافة إلى وحدات الوقت المحددة.

getFutureTime(<interval>, <timeUnit>, <format>?)
Parameter Required Type Description
< فترة> Yes Integer عدد الوحدات الزمنية المطلوب إضافتها
< وحدة زمنية> Yes String وحدة الوقت التي يجب استخدامها مع الفاصل الزمني: "الثانية"، "الدقيقة"، "الساعة"، "اليوم"، "الأسبوع"، "الشهر"، "السنة"
< تنسيق> No String إما محدد تنسيق فردي أو نمط تنسيق مخصص. التنسيق الافتراضي للطوابع الزمنية هو "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.

في حالة لم يكن التنسيق قيمة صالحة، فسيتم إنشاء خطأ يفيد بأن التنسيق المقدم غير صالح ويجب أن يكون سلسلة تنسيق رقمية.
قيمة الإرجاع Type Description
< الطابع الزمني المحدث> String الطابع الزمني الحالي بالإضافة إلى عدد الوحدات الزمنية المحددة

المثال 1

افترض أن الطابع الزمني الحالي هو "2018-03-01T00:00:00.0000000Z". يضيف هذا المثال خمسة أيام إلى هذا الطابع الزمني:

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>?)
Parameter Required Type Description
< فترة> Yes Integer عدد الوحدات الزمنية المحددة المطلوب طرحها
< وحدة زمنية> Yes String وحدة الوقت التي يجب استخدامها مع الفاصل الزمني: "الثانية"، "الدقيقة"، "الساعة"، "اليوم"، "الأسبوع"، "الشهر"، "السنة"
< تنسيق> No String إما محدد تنسيق فردي أو نمط تنسيق مخصص. التنسيق الافتراضي للطوابع الزمنية هو "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.

في حالة لم يكن التنسيق قيمة صالحة، فسيتم إنشاء خطأ يفيد بأن التنسيق المقدم غير صالح ويجب أن يكون سلسلة تنسيق رقمية.
قيمة الإرجاع Type Description
< الطابع الزمني المحدث> 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>')
Parameter Required Type Description
< قيمة> Yes عدد صحيح أو عائم أو سلسلة القيمة الأولى للتحقق مما إذا كانت أكبر من القيمة الثانية
< مقارنة> Yes عدد صحيح أو عائم أو سلسلة على التوالي قيمة المقارنة
قيمة الإرجاع Type Description
صواب أو خطأ Boolean إرجاع القيمة true عندما تكون القيمة الأولى أكبر من القيمة الثانية. إرجاع القيمة false عندما تكون القيمة الأولى مساوية أو أقل من القيمة الثانية.

Example

تحقق هذه الأمثلة ما إذا كانت القيمة الأولى أكبر من القيمة الثانية:

greater(10, 5)
greater('apple', 'banana')

وإرجاع هذه النتائج:

  • المثال الأول: true
  • المثال الثاني: false

greaterOrEquals

التحقق مما إذا كانت القيمة الأولى أكبر من أو مساوية للقيمة الثانية. إرجاع القيمة true عندما تكون القيمة الأولى أكبر أو تساوي أو إرجاع القيمة false عندما تكون القيمة الأولى أقل.

greaterOrEquals(<value>, <compareTo>)
greaterOrEquals('<value>', '<compareTo>')
Parameter Required Type Description
< قيمة> Yes عدد صحيح أو عائم أو سلسلة القيمة الأولى للتحقق مما إذا كانت أكبر من أو تساوي القيمة الثانية
< مقارنة> Yes عدد صحيح أو عائم أو سلسلة على التوالي قيمة المقارنة
قيمة الإرجاع Type Description
صواب أو خطأ Boolean إرجاع القيمة true عندما تكون القيمة الأولى أكبر من القيمة الثانية أو مساوية لها. إرجاع القيمة false عندما تكون القيمة الأولى أقل من القيمة الثانية.

Example

تحقق هذه الأمثلة ما إذا كانت القيمة الأولى أكبر من أو تساوي القيمة الثانية:

greaterOrEquals(5, 5)
greaterOrEquals('apple', 'banana')

وإرجاع هذه النتائج:

  • المثال الأول: true
  • المثال الثاني: false

guid

إنشاء معرف فريد عمومي (GUID) كسلسلة، على سبيل المثال، "c2ecc88d-88c8-4096-912c-d6f2e2b138ce":

guid()

يمكنك كذلك تحديد تنسيق مختلف للمعرف الفريد العمومي غير التنسيق الافتراضي " D "، وهو 32 رقماً مفصولاً بالواصلات.

guid('<format>')
Parameter Required Type Description
< تنسيق> No String محدد تنسيق واحد ل GUID الذي تم إرجاعه. التنسيق الافتراضي هو "D"، ولكن يمكنك استخدام "N" أو "D"أو "B" أو"P" أو "X".
قيمة الإرجاع Type Description
< قيمة GUID> String المعرف الفريد العمومي الذي تم إنشاؤه عشوائياً

Example

ينشئ هذا المثال نفس المعرف الفريد العمومي ولكن على هيئة 32 رقماً مفصولاً بواصلات ومحاطاً بأقواس:

guid('P')

وإرجاع هذه النتيجة: "(c2ecc88d-88c8-4096-912c-d6f2e2b138ce)"

I

if

التحقق مما إذا كان التعبير صحيحاً أم خطأ. بناءً على النتيجة، قم بإرجاع قيمة محددة. يتم تقييم المعلمات من اليسار إلى اليمين.

if(<expression>, <valueIfTrue>, <valueIfFalse>)
Parameter Required Type Description
< تعبير> Yes Boolean التعبير الذي يجب التحقق منه
< valueIfTrue> Yes Any القيمة التي يجب إرجاعها عندما يكون التعبير صحيحاً
< valueIfFalse> Yes Any القيمة التي يجب إرجاعها عندما يكون التعبير غير صحيح
قيمة الإرجاع Type Description
< القيمة المرجعة المحددة> Any القيمة المحددة التي تُرجع بناءً على ما إذا كان التعبير صحيحاً أم خاطئاً

Example

يرجع هذا المثال "yes" لأن التعبير المحدد يرجع بالقيمة إلى true. وإلا، يرجع المثال "no":

if(equals(1, 1), 'yes', 'no')

indexOf

إرجاع موضع البداية أو قيمة الفهرس لسلسلة فرعية. هذه الدالة ليست حساسة لحالة الأحرف، وتبدأ الفهارس بالرقم 0.

indexOf('<text>', '<searchText>')
Parameter Required Type Description
< نص> Yes String السلسلة التي تحتوي على السلسلة الفرعية للبحث عنها
< نص البحث> Yes String السلسلة الفرعية المطلوب البحث عنها
قيمة الإرجاع Type Description
< قيمة الفهرس> Integer موضع البداية أو قيمة الفهرس للسلسلة الفرعية المحددة.

في حالة عدم العثور على السلسلة، يرجع الرقم -1.

Example

يبحث هذا المثال عن قيمة فهرس البداية للسلسلة الفرعية "world" في سلسلة "hello world":

indexOf('hello world', 'world')

وإرجاع هذه النتيجة: 6

int

حول إصدار السلسلة من عدد صحيح إلى عدد صحيح حقيقي.

int('<value>')
Parameter Required Type Description
< قيمة> Yes String إصدار سلسلة للعدد الصحيح المراد تحويله. تعد القيم الدنيا والقصوى هي نفس الحدود لنوع بيانات العدد الصحيح.
قيمة الإرجاع Type Description
< عدد صحيح-نتيجة> Integer إصدار عدد صحيح للسلسلة المحددة. تعد القيم الدنيا والقصوى هي نفس الحدود لنوع بيانات العدد الصحيح.

Example

ينشئ هذا المثال إصدار عدد صحيح للسلسلة "10":

int('10')

وإرجاع هذه النتيجة: 10

isFloat

إرجاع قيمة منطقية تشير إلى ما إذا كانت السلسلة عبارة عن رقم فاصلة عائمة. بشكل افتراضي، تستخدم هذه الدالة الثقافة الثابتة لتنسيق الفاصلة العائمة. لتحديد أرقام الفاصلة العائمة الممثلة في تنسيقات أخرى خاصة باللغة المحلية، يمكنك اختياريا تحديد رمز إعدادات RFC 4646 المحلية.

isFloat('<string>', '<locale>'?)
Parameter Required Type Description
< قيمة> Yes String السلسلة التي يجب فحصها
< موقع> No String رمز إعدادات RFC 4646 المحلية المراد استخدامه
قيمة الإرجاع Type Description
< نتيجة منطقية> Boolean قيمة منطقية تشير إلى ما إذا كانت السلسلة عبارة عن رقم فاصلة عائمة

المثال 1

يتحقق هذا المثال مما إذا كانت السلسلة عبارة عن رقم فاصلة عائمة في الثقافة غير المتباينة:

isFloat('10,000.00')

وإرجاع هذه النتيجة: true

مثال 2

يتحقق هذا المثال مما إذا كانت السلسلة عبارة عن رقم فاصلة عائمة في الإعدادات المحلية الألمانية:

isFloat('10.000,00', 'de-DE')

وإرجاع هذه النتيجة: true

isInt

إرجاع قيمة منطقية تشير إلى ما إذا كانت السلسلة عبارة عن عدد صحيح.

isInt('<string>')
Parameter Required Type Description
< خيط> Yes String السلسلة التي يجب فحصها
قيمة الإرجاع Type Description
< نتيجة منطقية> Boolean قيمة منطقية تشير إلى ما إذا كانت السلسلة عددا صحيحا

Example

يتحقق هذا المثال مما إذا كانت السلسلة عبارة عن عدد صحيح:

isInt('10')

وإرجاع هذه النتيجة: true

item

عند استخدامها داخل إجراء متكرر على صفيف أعد العنصر الحالي في الصفيف أثناء التكرار الحالي للإجراء. بإمكانك أيضًا الحصول على القيم من خصائص هذا العنصر.

item()
قيمة الإرجاع Type Description
< عنصر الصفيف الحالي> Any العنصر الحالي في الصفيف لتكرار الإجراء الحالي

Example

يحصل هذا المثال على العنصر body من الرسالة الحالية لإجراء «إرسال رسالة بريد إلكتروني» داخل التكرار الحالي لحلقة for-each:

item().body

items

أعد العنصر الحالي من كل دورة في تكرار for-each. استخدم هذه الدالة داخل تكرار for-each.

items('<loopName>')
Parameter Required Type Description
< اسم التكرار الحلقي> Yes String الاسم لتكرار for-each
قيمة الإرجاع Type Description
< بند> Any عنصر من الدورة الحالية في تكرار for-each المحدد

Example

يحصل هذا المثال على العنصر الحالي من تكرار for-each المحدد:

items('myForEachLoopName')

iterationIndexes

أعد قيمة الفهرس للتكرار الحالي داخل تكرار Until. يمكنك استخدام هذه الدالة داخل تكرار Until المتداخل.

iterationIndexes('<loopName>')
Parameter Required Type Description
< اسم التكرار الحلقي> Yes String اسم تكرار Until
قيمة الإرجاع Type Description
< فهرس> Integer قيمة الفهرس للتكرار الحالي داخل تكرار Until المحدد

Example

ينشئ هذا المثال متغير عداد ويزيد ذلك المتغير بمقدار واحد خلال كل تكرار في تكرار 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

أعد قيمة نوع JavaScript Object Notation (JSON) أو عنصر أو مصفوفة عناصر لسلسلة أو XML.

json('<value>')
json(xml('value'))

Important

بدون مخطط XML الذي يحدد بنية الإخراج، يمكن أن تعرض الدالة النتائج حيث تختلف البنية اختلافًا كبيرًا عن التنسيق المتوقع، اعتمادًا على الإدخال.

يجعل هذا السلوك هذه الدالة غير مناسبة للسيناريوهات التي يلزم أن يتوافق فيها الإخراج مع عقد محدد جيدًا، على سبيل المثال، في أنظمة أو حلول الأعمال المهمة.

Parameter Required Type Description
< قيمة> Yes السلسلة أو XML السلسلة أو XML للتحويل
قيمة الإرجاع Type Description
< نتيجة JSON> نوع أو عنصر أو صفيف أصلي خاص بـ JSON قيمة نوع JSON الأصلي أو عنصر أو صفيف عناصر من سلسلة الإدخال أو XML.



- إذا قمت بتمرير XML الذي يحتوي على عنصر تابع واحد في العنصر الجذر، ترجع الدالة عنصر JSON واحدا لهذا العنصر التابع.

- إذا قمت بتمرير XML يحتوي على العديد من العناصر التابعة في العنصر الجذر، فستعيد الدالة صفيفًا يحتوي على عناصر JSON لتلك العناصر التابعة.

- إذا كانت السلسلة خالية، فإن الدالة ترجع عنصرًا فارغًا.

المثال 1

يحول هذا المثال هذه السلسلة إلى قيمة JSON:

json('[1, 2, 3]')

وإرجاع هذه النتيجة: [1, 2, 3]

مثال 2

يحول هذا المثال هذه السلسلة إلى JSON:

json('{"fullName": "Sophia Owen"}')

وإرجاع هذه النتيجة:

{
  "fullName": "Sophia Owen"
}

مثال 3

يستخدم هذا المثال الدالتين json() وxml() لتحويل XML الذي يحتوي على عنصر تابع واحد في العنصر الجذر إلى عنصر JSON يسمى person لهذا العنصر التابع:

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

إرجاع مجموعة تحتوي على العناصر الشائعة فقط عبر المجموعات المحددة. لكي تظهر في النتيجة، يجب أن يظهر عنصر في جميع المجموعات التي تم تمريرها إلى هذه الدالة. إذا كان عنصر واحد أو أكثر يحمل نفس الاسم، يظهر العنصر الأخير بهذا الاسم في النتيجة.

intersection([<collection1>], [<collection2>], ...)
intersection('<collection1>', '<collection2>', ...)
Parameter Required Type Description
< المجموعة 1>، <المجموعة 2>، ... Yes صفيف أو كائن، ولكن ليس كليهما المجموعات التي تريد العناصر الشائعة منها فقط
قيمة الإرجاع Type Description
< العناصر المشتركة> صفيف أو كائن، على التوالي مجموعة تحتوي على العناصر الشائعة فقط عبر المجموعات المحددة

Example

يبحث هذا المثال عن العناصر الشائعة عبر هذه الصفائف:

intersection(createArray(1, 2, 3), createArray(101, 2, 1, 10), createArray(6, 8, 1, 2))

وإرجاع صفيف بهذه العناصر فقط : [1, 2]

join

إرجاع سلسلة تحتوي على كافة العناصر من صفيف ولها كل حرف مفصول بمحدد.

join([<collection>], '<delimiter>')
Parameter Required Type Description
< مجموعة> Yes Array الصفيف الذي يحتوي على العناصر للانضمام
< محدد> Yes String الفاصل الذي يظهر بين كل حرف في السلسلة الناتجة
قيمة الإرجاع Type Description
< حرف 1><محدد><حرف 2><محدد>... String أنشئت السلسلة الناتجة من كافة العناصر في الصفيف المحدد.



ملاحظة: يجب ألا يتجاوز طول النتيجة 104,857,600 حرف.

Example

ينشئ هذا المثال سلسلة من جميع العناصر في هذا الصفيف من خلال الحرف المحدد كمحدد:

join(createArray('a', 'b', 'c'), '.')

وإرجاع هذه النتيجة: "a.b.c"

L

last

إرجاع العنصر الأخير من مجموعة.

last('<collection>')
last([<collection>])
Parameter Required Type Description
< مجموعة> Yes سلسلة أو صفيف المجموعة التي يمكن العثور فيها على العنصر الأخير
قيمة الإرجاع Type Description
< عنصر المجموعة الأخير> سلسلة أو صفيف، على التوالي العنصر الأخير في المجموعة

Example

تبحث هذه الأمثلة عن العنصر الأخير في هذه المجموعات:

last('abcd')
last(createArray(0, 1, 2, 3))

وإرجاع هذه النتائج:

  • المثال الأول: "d"
  • المثال الثاني: 3

lastIndexOf

إرجاع موضع البداية أو قيمة الفهرس لآخر تكرار لسلسة فرعية. هذه الدالة ليست حساسة لحالة الأحرف، وتبدأ الفهارس بالرقم 0.

lastIndexOf('<text>', '<searchText>')
Parameter Required Type Description
< نص> Yes String السلسلة التي تحتوي على السلسلة الفرعية للبحث عنها
< نص البحث> Yes String السلسلة الفرعية المطلوب البحث عنها
قيمة الإرجاع Type Description
< نهاية قيمة الفهرس> Integer موضع البداية أو قيمة الفهرس لآخر تكرار للسلسلة الفرعية المحددة.

إذا كانت قيمة السلسلة أو السلسلة الفرعية فارغة، يحدث السلوك الموضح أدناه:

  • في حالة كانت قيمة السلسلة فقط فارغة، ترجع الدالة -1.

  • في حالة كانت قيم السلسلة والسلسلة الفرعية فارغة، ترجع الدالة 0.

  • في حالة كانت قيمة السلسلة الفرعية فقط فارغة، ترجع الدالة طول السلسلة مطروحًا منه 1.

Examples

يبحث هذا المثال عن قيمة فهرس البداية للتكرار الأخير للسلسلة worldالفرعية في السلسلة hello world hello world. النتيجة التي أعيدت هي 18:

lastIndexOf('hello world hello world', 'world')

يفتقد هذا المثال معلمة السلسلة الفرعية، ويرجع قيمة 22 لأن قيمة سلسلة الإدخال (23) مطروحًا منها 1 أكبر من 0.

lastIndexOf('hello world hello world', '')

length

إرجاع عدد العناصر الموجودة في مجموعة.

length('<collection>')
length([<collection>])
Parameter Required Type Description
< مجموعة> Yes سلسلة أو صفيف المجموعة التي تحتوي على عناصر يجب عدها
قيمة الإرجاع Type Description
< الطول أو العد> Integer عدد العناصر الموجودة في المجموعة

Example

تحسب هذه الأمثلة عدد العناصر في هذه المجموعات:

length('abcd')
length(createArray(0, 1, 2, 3))

وإرجاع هذه النتيجة: 4

less

التحقق مما إذا كانت القيمة الأولى أقل من القيمة الثانية. إرجاع القيمة true عندما تكون القيمة الأولى أقل أو إرجاع القيمة false عندما تكون القيمة الأولى أكبر.

less(<value>, <compareTo>)
less('<value>', '<compareTo>')
Parameter Required Type Description
< قيمة> Yes عدد صحيح أو عائم أو سلسلة القيمة الأولى للتحقق مما إذا كانت أقل من القيمة الثانية
< مقارنة> Yes عدد صحيح أو عائم أو سلسلة على التوالي عنصر المقارنة
قيمة الإرجاع Type Description
صواب أو خطأ Boolean إرجاع القيمة true عندما تكون القيمة الأولى أقل من القيمة الثانية. إرجاع القيمة false عندما تكون القيمة الأولى مساوية أو أكبر من القيمة الثانية.

Example

تتحقق هذه الأمثلة مما إذا كانت القيمة الأولى أقل من القيمة الثانية.

less(5, 10)
less('banana', 'apple')

وإرجاع هذه النتائج:

  • المثال الأول: true
  • المثال الثاني: false

lessOrEquals

التحقق مما إذا كانت القيمة الأولى أقل من أو مساوية للقيمة الثانية. إرجاع القيمة true عندما تكون القيمة الأولى أقل أو تساوي أو إرجاع القيمة false عندما تكون القيمة الأولى أكبر.

lessOrEquals(<value>, <compareTo>)
lessOrEquals('<value>', '<compareTo>')
Parameter Required Type Description
< قيمة> Yes عدد صحيح أو عائم أو سلسلة القيمة الأولى للتحقق مما إذا كانت أقل من أو تساوي القيمة الثانية
< مقارنة> Yes عدد صحيح أو عائم أو سلسلة على التوالي عنصر المقارنة
قيمة الإرجاع Type Description
صواب أو خطأ Boolean إرجاع القيمة true عندما تكون القيمة الأولى أقل من القيمة الثانية أو مساوية لها. إرجاع القيمة false عندما تكون القيمة الأولى أكبر من القيمة الثانية.

Example

تتحقق هذه الأمثلة مما إذا كانت القيمة الأولى أقل من أو تساوي القيمة الثانية.

lessOrEquals(10, 10)
lessOrEquals('apply', 'apple')

وإرجاع هذه النتائج:

  • المثال الأول: true
  • المثال الثاني: false

listCallbackUrl

أعد «عنوان URL لرد الاتصال» الذي يستدعي مشغلاً أو إجراءً. تعمل هذه الدالة فقط مع المشغلات والإجراءات الخاصة بنوعي موصل HttpWebhook و ApiConnectionWebhook ، ولكن ليس أنواع Manual و Recurrence و HTTP و APIConnection .

listCallbackUrl()
قيمة الإرجاع Type Description
< عنوان URL لرد الاتصال> String عنوان URL الخاص برد الاتصال لمشغل أو إجراء

Example

يوضح هذا المثال نموذج عنوان 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*>"

M

max

إرجاع القيمة الأعلى من قائمة أو صفيف ذات أرقام متضمنة في كلا الطرفين.

max(<number1>, <number2>, ...)
max([<number1>, <number2>, ...])
Parameter Required Type Description
< رقم 1>، <رقم 2>، ... Yes عدد صحيح أو عائم أو كلاهما مجموعة الأرقام التي تريد منها أعلى قيمة
[<الرقم 1>، <رقم 2>، ...] Yes صفيف - عدد صحيح أو عائم أو كليهما صفيف الأرقام التي تريد من خلالها أعلى قيمة
قيمة الإرجاع Type Description
< الحد الأقصى للقيمة> عدد صحيح أو عائم أعلى قيمة في الصفيف المحدد أو مجموعة الأرقام

Example

تحصل هذه الأمثلة على أعلى قيمة من مجموعة الأرقام والصفيف:

max(1, 2, 3)
max(createArray(1, 2, 3))

وإرجاع هذه النتيجة: 3

min

إرجاع القيمة الأقل من مجموعة من الأرقام أو صفيف.

min(<number1>, <number2>, ...)
min([<number1>, <number2>, ...])
Parameter Required Type Description
< رقم 1>، <رقم 2>، ... Yes عدد صحيح أو عائم أو كلاهما مجموعة الأرقام التي تريد منها أدنى قيمة
[<الرقم 1>، <رقم 2>، ...] Yes صفيف - عدد صحيح أو عائم أو كليهما مصفوفة الأرقام التي تريد منها أدنى قيمة
قيمة الإرجاع Type Description
< الحد الأدنى للقيمة> عدد صحيح أو عائم أدنى قيمة في مجموعة الأرقام المحددة أو الصفيف المحدد

Example

تحصل هذه الأمثلة على أقل قيمة في مجموعة الأرقام والصفيف:

min(1, 2, 3)
min(createArray(1, 2, 3))

وإرجاع هذه النتيجة: 1

mod

إرجاع الباقي من قسمة رقمين. للحصول على نتيجة العدد الصحيح، راجع div().

mod(<dividend>, <divisor>)
Parameter Required Type Description
< عائد> Yes عدد صحيح أو عائم الرقم المراد قسمته على القاسم
< القاسم> Yes عدد صحيح أو عائم الرقم الذي يقسم المقسوم، ولكن لا يمكن أن يكون صفرا
قيمة الإرجاع Type Description
< نتيجة نمطية> عدد صحيح أو عائم الباقي من قسمة الرقم الأول على الرقم الثاني

المثال 1

يقسم هذا المثال الرقم الأول على الرقم الثاني:

mod(3, 2)

وإرجاع هذه النتيجة: 1

مثال 2

يوضح هذا المثال أنه إذا كانت إحدى القيمتين أو كلتيهما سالبة، فإن النتيجة تطابق علامة المقسوم:

mod(-5, 2)
mod(4, -3)

يعرض المثال هذه النتائج:

  • المثال الأول: -1
  • المثال الثاني: 1

mul

إرجاع الناتج من ضرب رقمين.

mul(<multiplicand1>, <multiplicand2>)
Parameter Required Type Description
< ضرب 1> Yes عدد صحيح أو عائم الرقم المراد ضربه في ضرب 2
< ضرب 2> Yes عدد صحيح أو عائم الرقم الذي يضاعف ضرب 1
قيمة الإرجاع Type Description
< نتيجة المنتج> عدد صحيح أو عائم حاصل ضرب الرقم الأول في الرقم الثاني

Example

هذه الأمثلة لضرب الرقم الأول في الرقم الثاني:

mul(1, 2)
mul(1.5, 2)

وإرجاع هذه النتائج:

  • المثال الأول: 2
  • المثال الثاني 3

multipartBody

أعد النص الأساسي لجزء معين في إخراج إجراء يتكون من أجزاء متعددة.

multipartBody('<actionName>', <index>)
Parameter Required Type Description
< اسم الإجراء> Yes String اسم الإجراء الذي يشتمل على إخراج بأجزاء متعددة
< فهرس> Yes Integer قيمة الفهرس للجزء الذي تريده
قيمة الإرجاع Type Description
< جسم> String النص الأساسي الخاص بالجزء المحدد

N

not

التحقق مما إذا كان التعبير غير صحيح. إرجاع true عندما يكون التعبير غير صحيح أو إرجاع false عندما يكون صحيحاً.

not(<expression>)
Parameter Required Type Description
< تعبير> Yes Boolean التعبير الذي يجب التحقق منه
قيمة الإرجاع Type Description
صواب أو خطأ Boolean إرجاع true عندما يكون التعبير غير صحيح. إرجاع false عندما يكون التعبير صحيحاً.

المثال 1

تتحقق هذه الأمثلة مما إذا كانت التعبيرات المحددة خاطئة:

not(false)
not(true)

وإرجاع هذه النتائج:

  • المثال الأول: التعبير غير صحيح، وبالتالي ترجع الدالة true.
  • المثال الثاني: التعبير صحيح، وبالتالي ترجع الدالة false.

مثال 2

تتحقق هذه الأمثلة مما إذا كانت التعبيرات المحددة خاطئة:

not(equals(1, 2))
not(equals(1, 1))

وإرجاع هذه النتائج:

  • المثال الأول: التعبير غير صحيح، وبالتالي ترجع الدالة true.
  • المثال الثاني: التعبير صحيح، وبالتالي ترجع الدالة false.

nthIndexOf

إرجاع موضع البداية أو قيمة الفهرس حيث يظهر التكرار nلسلسلة فرعية في سلسلة.

nthIndexOf('<text>', '<searchText>', <occurrence>)
Parameter Required Type Description
< نص> Yes String السلسلة التي تشتمل على السلسلة الفرعية للبحث عنها
< نص البحث> Yes String السلسلة الفرعية المطلوب البحث عنها
< حدوث> Yes Integer رقم يحدد التكرار nللسلسلة الفرعية للبحث عنها. إذا كان التكرار سالبا، فابدأ البحث من النهاية.
قيمة الإرجاع Type Description
< قيمة الفهرس> Integer موضع البداية أو قيمة الفهرس لحدوث nللسلسلة الفرعية المحددة. إذا لم يتم العثور على السلسلة الفرعية أو أقل من n تكرارات السلسلة الفرعية موجودة، فسترجع -1.

Examples

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

or

التحقق مما إذا كان هناك تعبير واحد على الأقل صحيح. أعد صحيح عندما يكون تعبير واحد على الأقل صحيحًا، أو أعد خطأ عندما تكون جميعها خطأ.

or(<expression1>, <expression2>, ...)
Parameter Required Type Description
< تعبير1>، <تعبير2>، ... Yes Boolean التعبيرات التي يجب التحقق منها
قيمة الإرجاع Type Description
صواب أو خطأ Boolean إرجاع true عندما يكون تعبير واحد على الأقل صحيحاً. أعد خطأ عندما تكون جميع التعبيرات خطأ.

المثال 1

تتحقق هذه الأمثلة مما إذا كان تعبير واحد على الأقل صحيحاً:

or(true, false)
or(false, false)

وإرجاع هذه النتائج:

  • المثال الأول: تعبير واحد على الأقل صحيح، وبالتالي ترجع الدالة true.
  • المثال الثاني: كلا التعبيرين غير صحيح، وبالتالي ترجع الدالة false.

مثال 2

تتحقق هذه الأمثلة مما إذا كان تعبير واحد على الأقل صحيحاً:

or(equals(1, 1), equals(1, 2))
or(equals(1, 2), equals(1, 3))

وإرجاع هذه النتائج:

  • المثال الأول: تعبير واحد على الأقل صحيح، وبالتالي ترجع الدالة true.
  • المثال الثاني: كلا التعبيرين غير صحيح، وبالتالي ترجع الدالة false.

outputs

أعد الإخراجات الخاصة بالإجراء في وقت التشغيل.

outputs('<actionName>')
Parameter Required Type Description
< اسم الإجراء> Yes String اسم إخراج الإجراء الذي تريده
قيمة الإرجاع Type Description
< الناتج> String الإخراج من الإجراء المحدد

Example

يحصل هذا المثال على الإخراج من الإجراء Get userX :

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>')
Parameter Required Type Description
< اسم المعلمة> Yes String اسم المعلمة التي ترغب في قيمتها
قيمة الإرجاع Type Description
< قيمة المعلمة> Any قيمة معلمة محددة

Example

افترض أن لديك قيمة JSON هذه:

{
  "fullName": "Sophia Owen"
}

يتناول هذا المثال قيمة المعلمة المحددة:

parameters('fullName')

وإرجاع هذه النتيجة: "Sophia Owen"

parseDateTime

استعد الطابع الزمني من سلسلة تحتوي على طابع زمني.

parseDateTime('<timestamp>', '<locale>'?, '<format>'?)
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة التي تحتوي على الطابع الزمني
< موقع> No String إعدادات محلية للاستخدام.

في حالة عدم التحديد، فإن الإعدادات المحلية الافتراضية هي en-us.

إذا لم تكن القيمة المحلية قيمة صالحة، يتم إنشاء خطأ.
< تنسيق> No String سلسلة تنسيق رقمية إما محدد تنسيق واحد أو نمط تنسيق مخصص. التنسيق الافتراضي للطوابع الزمنية هو "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية. في حالة عدم تحديد التنسيق، فحاول تحليله بتنسيقات متعددة متوافقة مع الإعدادات المحلية المتوفرة. في حالة لم يكن التنسيق قيمة صالحة، فسيتم إنشاء خطأ.
قيمة الإرجاع Type Description
< الطابع الزمني الذي تم تحليله> String الطابع الزمني الذي تم تحليله بتنسيق "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.

Examples

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('20190521', 'fr-fr', 'yyyyMMdd') // 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>)
Parameter Required Type Description
< قيمة الحد الأدنى> Yes Integer أقل عدد صحيح في النطاق
< القيمة القصوى> Yes Integer العدد الصحيح الذي يلي أعلى عدد صحيح في النطاق الذي يمكن أن ترجعه الدالة
قيمة الإرجاع Type Description
< نتيجة عشوائية> Integer تم إرجاع العدد الصحيح العشوائي من النطاق المحدد

Example

يحصل هذا المثال على عدد صحيح عشوائي من النطاق المحدد، باستثناء القيمة القصوى:

rand(1, 5)

وإرجاع أحد هذه الأرقام كنتيجة: 1 أو 2 أو 3 أو 4

range

إرجاع صفيف عدد صحيح يبدأ من عدد صحيح محدد.

range(<startIndex>, <count>)
Parameter Required Type Description
< startIndex> Yes Integer قيمة عدد صحيح تبدأ الصفيف كعنصر أول
< عد> Yes Integer عدد الأعداد الصحيحة في الصفيف. يجب أن تكون قيمة المعلمة count عددًا صحيحًا موجبًا لا يتجاوز 100,000.



ملاحظة: يجب ألا يتجاوز مجموع startIndex القيم و count 2,147,483,647.
قيمة الإرجاع Type Description
[<نتيجة >المدى] Array الصفيف ذو الأعداد الصحيحة يبدأ من الفهرس المحدد

Example

ينشئ هذا المثال صفيف عدد صحيح يبدأ من الفهرس المحدد ويحتوي على عدد محدد من الأعداد الصحيحة:

range(1, 4)

وإرجاع هذه النتيجة: [1, 2, 3, 4]

removeProperty

أزل خاصية من عنصر JSON وأرجع العنصر المحدث. في حالة عدم وجود الخاصية التي تحاول إزالتها، ترجع الدالة العنصر الأصلي.

removeProperty(<object>, '<property>')
Parameter Required Type Description
< كائن> Yes Object عنصر JSON الذي تريد إزالة خاصية منه
< مال> Yes String اسم الخاصية التي تريد إزالتها
قيمة الإرجاع Type Description
< كائن محدث> Object عنصر JSON المحدث بدون الخاصية المحددة

لإزالة خاصية تابعة من خاصية موجودة، استخدم بناء الجملة الموضح أدناه:

removeProperty(<object>['<parent-property>'], '<child-property>')
Parameter Required Type Description
< كائن> Yes Object عنصر JSON الذي تريد إزالة الخاصية منه
< خاصية الأصل> Yes String اسم الخاصية الأصل مع الخاصية التابعة التي تريد إزالتها
< خاصية تابعة> Yes String اسم الخاصية التابعة المراد إزالتها
قيمة الإرجاع Type Description
< كائن محدث> 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 من customerName خاصية أصل في كائن JSON، والذي يتم تحويله من سلسلة إلى 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>')
Parameter Required Type Description
< نص> Yes String السلسلة التي تحتوي على السلسلة الفرعية المراد استبدالها
< نص قديم> Yes String السلسلة الفرعية المراد استبدالها
< نص جديد> Yes String سلسلة الاستبدال
قيمة الإرجاع Type Description
< نص محدث> String السلسلة المحدثة بعد استبدال السلسلة الفرعية

في حالة عدم العثور على السلسلة الفرعية، فأعد السلسلة الأصلية.

Example

يبحث هذا المثال عن السلسلة الفرعية "القديمة" في "السلسلة القديمة" ويستبدل "القديم" بـ "الجديد":

replace('the old string', 'old', 'new')

وإرجاع هذه النتيجة: "the new string"

result

أعد النتائج من إجراءات المستوى الأعلى في الإجراء ضمن النطاق المحدد، مثل الإجراء For_each، أو Until، أو Scope. تقبل الدالة result() معلمة واحدة، وهي اسم النطاق، وترجع صفيفًا يحتوي على معلومات من إجراءات المستوى الأول في هذا النطاق. تتضمن عناصر الإجراء هذه نفس سمات السمات التي ترجع بواسطة الدالة actions()، مثل وقت بدء الإجراء ووقت الانتهاء والحالة والإدخالات ومعرفات الارتباط والإخراجات.

Note

تقوم هذه الدالة بإرجاع المعلومات فقط من إجراءات المستوى الأول في الإجراء المحدد النطاق وليس من إجراءات متداخلة أعمق مثل إجراءات التبديل أو الشرط.

على سبيل المثال، يمكنك استخدام هذه الدالة للحصول على نتائج من الإجراءات الفاشلة بحيث يمكنك تشخيص الاستثناءات والتعامل معها. للمزيد من المعلومات، يرجى مراجعة الحصول على السياق والنتائج المتعلقة بالفشل.

result('<scopedActionName>')
Parameter Required Type Description
< اسم scopedActionName> Yes String اسم الإجراء ضمن النطاق حيث تريد الإدخالات والإخراجات من إجراءات المستوى الأعلى داخل هذا النطاق
قيمة الإرجاع Type Description
< عنصر الصفيف> كائن الصفيف صفيف يشتمل على صفائف من الإدخالات والإخراجات من كل إجراء من المستوى الأعلى داخل النطاق المحدد

Example

يرجع هذا المثال الإدخالات والإخراجات من كل تكرار لإجراء HTTP داخل تكرار For_each باستخدام الدالة result() في الإجراء Compose:

{
   "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>])
Parameter Required Type Description
< مجموعة> Yes Array المجموعة التي يجب عكسها
قيمة الإرجاع Type Description
[<مجموعة محدثة>] Array المجموعة المعكوسة

Example

يعكس هذا المثال صفيفا من الأعداد الصحيحة:

reverse(createArray(0, 1, 2, 3))

وإرجاع هذا الصفيف: [3,2,1,0]

S

setProperty

عين قيمة لخاصية عنصر JSON وأرجع العنصر المحدث. في حالة عدم وجود الخاصية التي تحاول تعيينها، تضاف الخاصية إلى العنصر. لإضافة خاصية جديدة، استخدم الدالة addProperty().

setProperty(<object>, '<property>', <value>)
Parameter Required Type Description
< كائن> Yes Object عنصر JSON الذي تريد تعيين خاصيته
< مال> Yes String اسم الخاصية الحالية أو الجديدة المطلوب تعيينها
< قيمة> Yes Any القيمة المراد تعيينها للخاصية المحددة

لتعيين الخاصية التابعة في عنصر تابع، استخدم استدعاء متداخل setProperty() بدلاً من ذلك. خلاف ذلك، ترجع الدالة العنصر التابع فقط كإخراج.

setProperty(<object>, '<parent-property>', setProperty(<object>['parentProperty'], '<child-property>', <value>))
Parameter Required Type Description
< كائن> Yes Object عنصر JSON الذي تريد تعيين خاصيته
< خاصية الأصل> Yes String اسم الخاصية الأصل مع الخاصية التابعة التي تريد تعيينها
< خاصية تابعة> Yes String اسم الخاصية التابعة المطلوب تعيينها
< قيمة> Yes Any القيمة المراد تعيينها للخاصية المحددة
قيمة الإرجاع Type Description
< كائن محدث> 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 التابعة للخاصية customerName الأصل في كائن JSON، والذي يتم تحويله من سلسلة إلى JSON باستخدام الدالة 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>)
Parameter Required Type Description
< مجموعة> Yes Array المجموعة التي تريد إزالة عناصرها
< عد> Yes Integer عدد صحيح موجب لعدد العناصر المطلوب إزالتها في المقدمة
قيمة الإرجاع Type Description
[<مجموعة محدثة>] Array المجموعة المحدثة بعد إزالة العناصر المحددة

Example

يزيل هذا المثال عنصراً واحداً، وهو الرقم 0، من مقدمة الصفيف المحدد:

skip(createArray(0, 1, 2, 3), 1)

وإرجاع هذه الصفيفة مع العناصر المتبقية: [1,2,3]

slice

أرجع سلسلة فرعية بتحديد موضع أو قيمة البداية والنهاية. راجع أيضا السلسلة الفرعية().

slice('<text>', <startIndex>, <endIndex>?)
Parameter Required Type Description
< نص> Yes String السلسلة التي تشتمل على السلسلة الفرعية للبحث عنها
< startIndex> Yes Integer موضع البداية أو القيمة المستندة إلى الصفر لمكان بدء البحث عن السلسلة الفرعية

- إذا كانت قيمة startIndex أكبر من طول السلسلة، فسترجع سلسلة فارغة.

- إذا كانت قيمة startIndex سالبة، فابدأ البحث في قيمة الفهرس التي هي مجموع طول السلسلة وstartIndex.
< endIndex> No Integer موضع النهاية الصفري أو القيمة الخاصة بمكان إنهاء البحث عن السلسلة الفرعية. لا يضمن الحرف الموجود في قيمة فهرس النهاية في البحث.

- إذا لم يتم تحديد endIndex أو أكبر من طول السلسلة، فابحث حتى نهاية السلسلة.

- إذا كانت endIndex سالبة، فنتهي بالبحث في قيمة الفهرس التي مجموع طول السلسلة وendIndex.
قيمة الإرجاع Type Description
< نتيجة الشريحة> String سلسلة جديدة تحتوي على السلسلة الفرعية التي عثر عليها

Examples

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

فرز العناصر في مجموعة. يمكنك فرز كائنات المجموعة باستخدام أي مفتاح يحتوي على نوع بيانات بدائي مدعوم من لغة تعريف سير العمل، مثل int، float، string، أو bool.

sort([<collection>], <sortBy>?)
Parameter Required Type Description
< مجموعة> Yes Array المجموعة التي تحتوي على العناصر المراد فرزها
< فرز حسب> No String المفتاح الذي يجب استخدامه لفرز عناصر المجموعة
قيمة الإرجاع Type Description
[<مجموعة محدثة>] Array المجموعة التي تم فرزها

المثال 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>')
Parameter Required Type Description
< نص> Yes String السلسلة المراد فصلها إلى سلاسل فرعية بناءً على المحدد المعين في السلسلة الأصلية
< محدد> Yes String الحرف الموجود في السلسلة الأصلية المراد استخدامه كمحدد
قيمة الإرجاع Type Description
[<substring1,substring2><>,...] Array مصفوفة تحتوي على سلاسل فرعية من السلسلة الأصلية المفصولة بفواصل

المثال 1

ينشئ هذا المثال صفيفاً يحتوي على سلاسل فرعية من السلسلة المحددة بناءً على الحرف المعين كمحدد:

split('a_b_c', '_')

وإرجاع هذا الصفيف كنتيجة: ["a","b","c"]

مثال 2

ينشئ هذا المثال صفيفًا بعنصر واحد في حالة عدم وجود محدد في السلسلة:

split('a_b_c', ' ')

وإرجاع هذا الصفيف كنتيجة: ["a_b_c"]

startOfDay

إرجاع بداية اليوم للحصول على طابع زمني.

startOfDay('<timestamp>', '<format>'?)
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة التي تحتوي على الطابع الزمني
< تنسيق> No String سلسلة تنسيق رقمية إما محدد تنسيق واحد أو نمط تنسيق مخصص. التنسيق الافتراضي للطوابع الزمنية هو "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.

في حالة لم يكن التنسيق قيمة صالحة، فسيتم إنشاء خطأ.
قيمة الإرجاع Type Description
< الطابع الزمني المحدث> String الطابع الزمني المحدد ولكن يبدأ عند علامة ساعة الصفر لليوم

Example

يبحث هذا المثال عن بداية اليوم لهذا الطابع الزمني:

startOfDay('2018-03-15T13:30:30Z')

وإرجاع هذه النتيجة: "2018-03-15T00:00:00.0000000Z"

startOfHour

إرجاع بداية الساعة للحصول على طابع زمني.

startOfHour('<timestamp>', '<format>'?)
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة التي تحتوي على الطابع الزمني
< تنسيق> No String سلسلة تنسيق رقمية إما محدد تنسيق واحد أو نمط تنسيق مخصص. التنسيق الافتراضي للطوابع الزمنية هو "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.

في حالة لم يكن التنسيق قيمة صالحة، فسيتم إنشاء خطأ.
قيمة الإرجاع Type Description
< الطابع الزمني المحدث> String الطابع الزمني المحدد ولكن يبدأ عند علامة دقيقة الصفر للساعة

Example

يبحث هذا المثال عن بداية الساعة لهذا الطابع الزمني:

startOfHour('2018-03-15T13:30:30Z')

وإرجاع هذه النتيجة: "2018-03-15T13:00:00.0000000Z"

startOfMonth

إرجاع بداية الشهر للحصول على طابع زمني.

startOfMonth('<timestamp>', '<format>'?)
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة التي تحتوي على الطابع الزمني
< تنسيق> No String سلسلة تنسيق رقمية إما محدد تنسيق واحد أو نمط تنسيق مخصص. التنسيق الافتراضي للطوابع الزمنية هو "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.

في حالة لم يكن التنسيق قيمة صالحة، فسيتم إنشاء خطأ.
قيمة الإرجاع Type Description
< الطابع الزمني المحدث> 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>')
Parameter Required Type Description
< نص> Yes String السلسلة التي يجب التحقق منها
< نص البحث> Yes String سلسلة البداية التي سيتم البحث عنها
قيمة الإرجاع Type Description
صواب أو خطأ Boolean إرجاع القيمة true عند العثور على بداية السلسلة الفرعية. إرجاع القيمة false عند عدم العثور عليه.

المثال 1

يتحقق هذا المثال ما إذا كانت السلسلة "hello world" تبدأ بالسلسلة الفرعية "hello":

startsWith('hello world', 'hello')

وإرجاع هذه النتيجة: true

مثال 2

يتحقق هذا المثال ما إذا كانت السلسلة "hello world" تبدأ بالسلسلة الفرعية "greetings":

startsWith('hello world', 'greetings')

وإرجاع هذه النتيجة: false

string

إرجاع إصدار السلسلة لقيمة.

string(<value>)
Parameter Required Type Description
< قيمة> Yes Any القيمة المطلوب تحويلها. إذا كانت هذه القيمة خالية أو يتم تقييمها إلى قيمة خالية، تحول القيمة إلى قيمة سلسلة فارغة ("").



على سبيل المثال، في حالة تعيين متغير سلسلة إلى خاصية غير موجودة، والتي يمكنك الوصول إليها مع عامل التشغيل ?، تحول القيمة الفارغة إلى سلسلة فارغة. ومع ذلك، فإن المقارنة بين القيمة الفارغة ليست هي نفسها مقارنة سلسلة فارغة.
قيمة الإرجاع Type Description
< قيمة السلسلة> String إصدار سلسلة للقيمة المحددة. إذا كانت معلمة القيمة فارغة أو تم تقييمها إلى قيمة خالية، يتم إرجاع هذه القيمة كقيمة سلسلة فارغة ("").

المثال 1

ينشئ هذا المثال إصدار السلسلة لهذا الرقم:

string(10)

وإرجاع هذه النتيجة: "10"

مثال 2

ينشئ هذا المثال سلسلة لعنصر JSON المحدد ويستخدم حرف الخط المائل العكسي (\) كحرف إلغاء لعلامة الاقتباس المزدوجة (").

string( { "name": "Sophie Owen" } )

وإرجاع هذه النتيجة: "{ \\"name\\": \\"Sophie Owen\\" }"

sub

إرجاع الناتج من طرح الرقم الثاني من الرقم الأول.

sub(<minuend>, <subtrahend>)
Parameter Required Type Description
< الحد الأدنى> Yes عدد صحيح أو عائم الرقم الذي سيتم طرح الطرح منه
< من الباطن> Yes عدد صحيح أو عائم الرقم الذي يجب طرحه من المنهاجم
قيمة الإرجاع Type Description
< نتيجة> عدد صحيح أو عائم ناتج طرح الرقم الثاني من الرقم الأول

Example

يطرح هذا المثال الرقم الثاني من الرقم الأول:

sub(10.3, .3)

وإرجاع هذه النتيجة: 10

substring

إرجاع أحرف من سلسلة، بدءاً من الموضع المحدد أو الفهرس. تبدأ قيم الفهرس بالرقم 0. انظر أيضا slice().

substring('<text>', <startIndex>, <length>)
Parameter Required Type Description
< نص> Yes String السلسلة التي تريد أحرفها
< startIndex> Yes Integer رقم موجب يساوي أو أكبر من 0 الذي تريد استخدامه كموضع بداية أو قيمة فهرس
< طول> No Integer عدد موجب من الأحرف التي تريدها في السلسلة الفرعية

Note

تأكد من أن المجموع من إضافة قيم المعلمة startIndex و length أقل من طول السلسلة التي توفرها لمعلمة النص . وإلا، تحصل على خطأ، على عكس الدالات المماثلة في لغات أخرى حيث تكون النتيجة هي السلسلة الفرعية من startIndex إلى نهاية السلسلة. معلمة الطول اختيارية وإذا لم يتم توفيرها، تأخذ الدالة substring() جميع الأحرف بدءا من startIndex إلى نهاية السلسلة.

قيمة الإرجاع Type Description
< نتيجة السلسلة الفرعية> String سلسلة فرعية ذات عدد محدد من الأحرف، تبدأ من موضع الفهرس المحدد في سلسلة المصدر

Example

ينشئ هذا المثال سلسلة فرعية من خمسة أحرف من السلسلة المحددة، بدءاً من قيمة الفهرس 6:

substring('hello world', 6, 5)

وإرجاع هذه النتيجة: "world"

subtractFromTime

طرح عدد من وحدات الوقت من الطابع الزمني. راجع أيضا getPastTime.

subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة التي تحتوي على الطابع الزمني
< فترة> Yes Integer عدد الوحدات الزمنية المحددة المطلوب طرحها
< وحدة زمنية> Yes String وحدة الوقت التي يجب استخدامها مع الفاصل الزمني: "الثانية"، "الدقيقة"، "الساعة"، "اليوم"، "الأسبوع"، "الشهر"، "السنة"
< تنسيق> No String سلسلة تنسيق رقمية إما محدد تنسيق واحد أو نمط تنسيق مخصص. التنسيق الافتراضي للطوابع الزمنية هو "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.

في حالة لم يكن التنسيق قيمة صالحة، فسيتم إنشاء خطأ.
قيمة الإرجاع Type Description
< الطابع الزمني المحدث> 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>)
Parameter Required Type Description
< مجموعة> Yes سلسلة أو صفيف المجموعة التي تريد عناصرها
< عد> Yes Integer عدد صحيح موجب لعدد العناصر التي تريدها من المقدمة
قيمة الإرجاع Type Description
< فرعيه> أو [<مجموعة فرعية>] سلسلة أو صفيف، على التوالي سلسلة أو صفيف يحتوي على عدد محدد من العناصر المأخوذة من مقدمة المجموعة الأصلية

Example

تحصل هذه الأمثلة على عدد محدد من العناصر من مقدمة هذه المجموعات:

take('abcde', 3)
take(createArray(0, 1, 2, 3, 4), 3)

وإرجاع هذه النتائج:

  • المثال الأول: "abc"
  • المثال الثاني: [0, 1, 2]

ticks

ترجع عدد علامات التجزئة، والتي تعد فواصل زمنية مقدارها 100 نانوثانية، منذ 1 يناير 0001 12:00:00 منتصف الليل (أو DateTime.Ticks في C#) حتى الطابع الزمني المحدد. للمزيد من المعلومات، راجع هذا الموضوع: خاصية DateTime.Ticks (النظام).

ticks('<timestamp>')
Parameter Required Type Description
< الطابع الزمني> Yes String السلسلة لطابع زمني
قيمة الإرجاع Type Description
< رقم التجزئة> Integer عدد علامات التجزئة منذ الطابع الزمني المحدد

toLower

إرجاع سلسلة بتنسيق أحرف صغيرة. إذا كان أحد الأحرف في السلسلة لا يحتوي على نسخة ذي أحرف صغيرة، فإن هذا الحرف يبقى دون تغيير في السلسلة التي تم إرجاعها.

toLower('<text>')
Parameter Required Type Description
< نص> Yes String السلسلة المراد إرجاعها بتنسيق الأحرف الصغيرة
قيمة الإرجاع Type Description
< نص بأحرف صغيرة> String السلسلة الأصلية بتنسيق الأحرف الصغيرة

Example

يحول هذا المثال هذه السلسلة إلى أحرف صغيرة:

toLower('Hello World')

وإرجاع هذه النتيجة: "hello world"

toUpper

إرجاع سلسلة بتنسيق أحرف كبيرة. إذا كان أحد الأحرف في السلسلة لا يحتوي على نسخة ذي أحرف كبيرة، فإن هذا الحرف يبقى دون تغيير في السلسلة التي تم إرجاعها.

toUpper('<text>')
Parameter Required Type Description
< نص> Yes String السلسلة المراد إرجاعها بتنسيق الأحرف الكبيرة
قيمة الإرجاع Type Description
< نص أحرف كبيرة> String السلسلة الأصلية بتنسيق الأحرف الكبيرة

Example

يحول هذا المثال هذه السلسلة إلى أحرف كبيرة:

toUpper('Hello World')

وإرجاع هذه النتيجة: "HELLO WORLD"

trigger

أرجع إخراج المشغل في وقت التشغيل، أو القيم من أزواج اسم وقيمة JSON الأخرى، والتي يمكنك تعيينها إلى تعبير.

  • داخل إدخالات المشغل، تعيد هذه الدالة الإخراج من التنفيذ السابق.

  • داخل حالة المشغل، ترجع هذه الدالة الإخراج من التنفيذ الحالي.

بشكل افتراضي، تشير الدالة إلى عنصر المشغل بأكمله، ولكن يمكنك تحديد الخاصية التي تريد قيمتها. أيضا، تحتوي هذه الدالة على إصدارات مختصرة متوفرة، راجع triggerOutputs() و triggerBody().

trigger()
قيمة الإرجاع Type Description
< إخراج المشغل> String الإخراج من المشغل في وقت التشغيل

triggerBody

أعد إخراج المشغل body في وقت التشغيل. اختصار لـ trigger().outputs.body. راجع trigger().

triggerBody()
قيمة الإرجاع Type Description
< مشغل-نص-إخراج> String الإخراج body من المشغل

triggerFormDataMultiValues

إرجاع صفيف بقيم تطابق اسم مفتاح في بيانات نموذج المشغل أو الإخراج المشفر بالنموذج .

triggerFormDataMultiValues('<key>')
Parameter Required Type Description
< مفتاح> Yes String اسم المفتاح الذي ترغب في قيمته
قيمة الإرجاع Type Description
[<قيم الصفيف مع المفتاح>] Array صفيف بكل القيم التي تطابق المفتاح المحدد

Example

ينشئ هذا المثال صفيفًا من قيمة المفتاح «feedUrl» في إخراج بيانات النموذج أو ترميز النموذج لمشغل RSS:

triggerFormDataMultiValues('feedUrl')

ويرجع هذا الصفيف كمثال للنتيجة: ["https://feeds.a.dj.com/rss/RSSMarketsMain.xml"]

triggerFormDataValue

إرجاع سلسلة بقيمة واحدة تطابق اسم مفتاح في بيانات نموذج المشغل أو إخراج ترميز النموذج . إذا عثرت الدالة على أكثر من تطابق، فستتسبب هذه الدالة في حدوث خطأ.

triggerFormDataValue('<key>')
Parameter Required Type Description
< مفتاح> Yes String اسم المفتاح الذي ترغب في قيمته
قيمة الإرجاع Type Description
< قيمة المفتاح> String القيمة الموجودة في مفتاح محدد

Example

ينشئ هذا المثال سلسلة من قيمة المفتاح «feedUrl» في إخراج بيانات النموذج أو ترميز النموذج لمشغل RSS:

triggerFormDataValue('feedUrl')

وترجع هذه السلسلة كمثال للنتيجة: "https://feeds.a.dj.com/rss/RSSMarketsMain.xml"

triggerMultipartBody

أعد النص الأساسي لجزء معين في إخراج المشغل يتكون من أجزاء متعددة.

triggerMultipartBody(<index>)
Parameter Required Type Description
< فهرس> Yes Integer قيمة الفهرس للجزء الذي تريده
قيمة الإرجاع Type Description
< جسم> String النص الأساسي الخاص بالجزء المحدد في إخراج المشغل متعدد الأجزاء

triggerOutputs

أعد إخراج المشغل في وقت التشغيل، أو القيم من أزواج اسم وقيمة JSON الأخرى. اختصار لـ trigger().outputs. راجع trigger().

triggerOutputs()
قيمة الإرجاع Type Description
< إخراج المشغل> String الإخراج من المشغل في وقت التشغيل

trim

إزالة المسافة البيضاء البادئة والزائدة من سلسلة، ثم إرجاع السلسلة المحدثة.

trim('<text>')
Parameter Required Type Description
< نص> Yes String السلسلة التي تحتوي على المسافات البيضاء البادئة واللاحقة للإزالة
قيمة الإرجاع Type Description
< النص المحدث> String إصدار محدث للسلسلة الأصلية دون مسافات بيضاء بادئة أو لاحقة

Example

يزيل هذا المثال المسافة البيضاء البادئة واللاحقة من السلسلة «مرحبًا بالعالم»:

trim(' Hello World  ')

وإرجاع هذه النتيجة: "Hello World"

U

union

إرجاع مجموعة تحتوي على كافة العناصر من المجموعات المحددة. للظهور في النتيجة، يمكن أن يظهر عنصر في أي مجموعة تم تمريرها إلى هذه الدالة. إذا كان عنصر واحد أو أكثر يحمل نفس الاسم، يظهر العنصر الأخير بهذا الاسم في النتيجة.

union('<collection1>', '<collection2>', ...)
union([<collection1>], [<collection2>], ...)
Parameter Required Type Description
< المجموعة 1>، <المجموعة 2>، ... Yes صفيف أو كائن، ولكن ليس كليهما المجموعات التي تريد الحصول على كل العناصر منها
قيمة الإرجاع Type Description
< مجموعة محدثة> صفيف أو كائن، على التوالي مجموعة تحتوي على جميع العناصر من المجموعات المحددة - دون تكرارات

Example

يحصل هذا المثال على جميع العناصر من هذه المجموعات:

union(createArray(1, 2, 3), createArray(1, 2, 10, 101))

وإرجاع هذه النتيجة: [1, 2, 3, 10, 101]

uriComponent

قم بإرجاع إصدار مرمز باستخدام معرّف الموارد المنتظم (URI) لسلسلة من خلال استبدال أحرف URL غير الآمنة بأحرف الإلغاء. استخدم هذه الدالة بدلا من encodeUriComponent(). على الرغم من أن كلتا الدالتين تعملان بنفس الطريقة، يفضل استخدام uriComponent().

uriComponent('<value>')
Parameter Required Type Description
< قيمة> Yes String السلسلة المطلوب تحويلها إلى تنسيق مرمز بـ URI
قيمة الإرجاع Type Description
< encoded-uri> String السلسلة المرمزة باستخدام URI مع أحرف الإلغاء

Example

ينشئ هذا المثال إصدار مرمز باستخدام URI لهذه السلسلة:

uriComponent('https://contoso.com')

وإرجاع هذه النتيجة: "https%3A%2F%2Fcontoso.com"

uriComponentToBinary

إرجاع الإصدار الثنائي لمكون معرف موارد منتظم (URI).

uriComponentToBinary('<value>')
Parameter Required Type Description
< قيمة> Yes String السلسلة المرمزة باستخدام URI المراد تحويلها
قيمة الإرجاع Type Description
< الثنائية من أجل التشفير في ال URI> String الإصدار الثنائي للسلسلة المرمزة باستخدام URI. المحتوى الثنائي هو base64-encoded وrepresented بواسطة $content.

Example

ينشئ هذا المثال إصدار ثنائي لهذه السلسلة المرمزة باستخدام URI:

uriComponentToBinary('https%3A%2F%2Fcontoso.com')

وإرجاع هذه النتيجة: "aHR0cHM6Ly9jb250b3NvLmNvbQ=="

uriComponentToString

إرجاع إصدار السلسلة لسلسلة مرمزة باستخدام معرف الموارد المنتظم (URI)، وفك ترميز السلسلة المرمزة باستخدام URI بشكلٍ فعال.

uriComponentToString('<value>')
Parameter Required Type Description
< قيمة> Yes String السلسلة المرمزة باستخدام URI المراد فك ترميزها
قيمة الإرجاع Type Description
< فك ترميز uri> String الإصدار الذي تم فك ترميزه لسلسلة فك ترميزها باستخدام URI

Example

ينشئ هذا المثال إصدار سلسلة فك ترميزها للسلسلة التي تم فك ترميزها باستخدام URI:

uriComponentToString('https%3A%2F%2Fcontoso.com')

وإرجاع هذه النتيجة: "https://contoso.com"

uriHost

أعد قيمة host لمعرف الموارد المنتظم (URI).

uriHost('<uri>')
Parameter Required Type Description
< يوري> Yes String URI الذي تريد قيمة host له
قيمة الإرجاع Type Description
< قيمة المضيف> String قيمة host لـ URI المحدد

Example

يبحث هذا المثال عن قيمة host لـ URI هذا:

uriHost('https://www.localhost.com:8080')

وإرجاع هذه النتيجة: "www.localhost.com"

uriPath

أعد قيمة path لمعرف الموارد المنتظم (URI).

uriPath('<uri>')
Parameter Required Type Description
< يوري> Yes String URI الذي تريد قيمة path له
قيمة الإرجاع Type Description
< قيمة المسار> String قيمة path لـ URI المحدد. إذا path لم يكن لديه قيمة، فأرجع الحرف «/».

Example

يبحث هذا المثال عن قيمة path لـ URI هذا:

uriPath('https://www.contoso.com/catalog/shownew.htm?date=today')

وإرجاع هذه النتيجة: "/catalog/shownew.htm"

uriPathAndQuery

أعد قيم path وquery لمعرف الموارد المنتظم (URI).

uriPathAndQuery('<uri>')
Parameter Required Type Description
< يوري> Yes String URI الذي تريد قيم path وquery له
قيمة الإرجاع Type Description
< قيمة استعلام المسار> String قيم pathو query لـ URI المحدد. إذا path لم يحدد قيمة، فأرجع الحرف «/».

Example

يبحث هذا المثال عن قيم path وquery لـ URI هذا:

uriPathAndQuery('https://www.contoso.com/catalog/shownew.htm?date=today')

وإرجاع هذه النتيجة: "/catalog/shownew.htm?date=today"

uriPort

أعد قيمة port لمعرف الموارد المنتظم (URI).

uriPort('<uri>')
Parameter Required Type Description
< يوري> Yes String URI الذي تريد قيمة port له
قيمة الإرجاع Type Description
< قيمة المنفذ> Integer قيمة port لـ URI المحدد. إذا port لم يحدد قيمة، فأرجع المنفذ الافتراضي للبروتوكول.

Example

يرجع هذا المثال قيمة port لـ URI هذا:

uriPort('https://www.localhost:8080')

وإرجاع هذه النتيجة: 8080

uriQuery

أعد قيمة query لمعرف الموارد المنتظم (URI).

uriQuery('<uri>')
Parameter Required Type Description
< يوري> Yes String URI الذي تريد قيمة query له
قيمة الإرجاع Type Description
< قيمة الاستعلام> String قيمة query لـ URI المحدد

Example

يرجع هذا المثال قيمة query لـ URI هذا:

uriQuery('https://www.contoso.com/catalog/shownew.htm?date=today')

وإرجاع هذه النتيجة: "?date=today"

uriScheme

أعد قيمة scheme لمعرف الموارد المنتظم (URI).

uriScheme('<uri>')
Parameter Required Type Description
< يوري> Yes String URI الذي تريد قيمة scheme له
قيمة الإرجاع Type Description
< قيمة المخطط> String قيمة scheme لـ URI المحدد

Example

يرجع هذا المثال قيمة scheme لـ URI هذا:

uriScheme('https://www.contoso.com/catalog/shownew.htm?date=today')

وإرجاع هذه النتيجة: "http"

utcNow

إرجاع الطابع الزمني الحالي.

utcNow('<format>')

اختياريا، يمكنك تحديد تنسيق مختلف باستخدام معلمة <التنسيق> .

Parameter Required Type Description
< تنسيق> No String سلسلة تنسيق رقمية إما محدد تنسيق واحد أو نمط تنسيق مخصص. التنسيق الافتراضي للطوابع الزمنية هو "o" (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.

في حالة لم يكن التنسيق قيمة صالحة، فسيتم إنشاء خطأ.
قيمة الإرجاع Type Description
< الطابع الزمني الحالي> String التاريخ والوقت الحاليان

Examples

utcNow()                  // Returns 2025-09-25T05:18:31.3384797Z
utcNow('u')               // Returns 2025-09-25 05:18:31Z
utcNow('U')               // Returns Thursday, September 25, 2025 5:18:31 AM
utcNow('d')               // Returns 9/25/2025
utcNow('D')               // Returns Thursday, September 25, 2025
utcNow('t')               // Returns 5:18 AM
utcNow('T')               // Returns 5:18:31 AM
utcNow('y')               // Returns September 2025
utcNow('yyyy')            // Returns 2025
utcNow('ddd, d MMM yyyy') // Returns Thu, 25 Sep 2025

V

variables

أعد قيمة متغير محدد.

variables('<variableName>')
Parameter Required Type Description
< اسم المتغير> Yes String اسم المتغير الذي تريد قيمته
قيمة الإرجاع Type Description
< متغير القيمة> Any قيمة المتغير المحدد

Example

بافتراض أن القيمة الحالية لمتغير «numItems» هي 20. يتناول هذا المثال قيمة العدد الصحيح لهذا المتغير:

variables('numItems')

وإرجاع هذه النتيجة: 20

W

workflow

أعد جميع التفاصيل حول سير العمل نفسه أثناء وقت التشغيل.

workflow().<property>
Parameter Required Type Description
< مال> 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

إرجاع إصدار XML لسلسلة تحتوي على كائن JSON.

xml('<value>')
Parameter Required Type Description
< قيمة> Yes String السلسلة التي تحتوي على كائن JSON لتحويلها

يجب أن يحتوي كائن JSON على خاصية جذر واحدة فقط، والتي لا يمكن أن تكون صفيف.
استخدم حرف الخط المائل العكسي (\) كحرف إلغاء لعلامة الاقتباس المزدوجة (").
قيمة الإرجاع Type Description
< إصدار xml> Object إصدار XML المرمز لسلسلة أو كائن JSON محدد

المثال 1

يُحول هذا المثال السلسلة إلى XML:

xml('<name>Sophia Owen</name>')

وإرجاع هذه النتيجة XML:

<name>Sophia Owen</name>

مثال 2

ينشئ هذا المثال إصدار XML لهذه السلسلة التي تحتوي على كائن JSON:

xml(json('{ "name": "Sophia Owen" }'))

وإرجاع هذه النتيجة XML:

<name>Sophia Owen</name>

مثال 3

لمفترض أن لديك كائن JSON هذا:

{
  "person": {
    "name": "Sophia Owen",
    "city": "Seattle"
  }
}

ينشئ هذا المثال XML لسلسلة تحتوي على كائن JSON هذا:

xml(json('{"person": {"name": "Sophia Owen", "city": "Seattle"}}'))

وإرجاع هذه النتيجة XML:

<person>
  <name>Sophia Owen</name>
  <city>Seattle</city>
<person>

مثال 4

xml() تتوقع الدالة إما كائنا أو سلسلة تحتوي على XML صالح. لا تقبل الدالة صفيفا أوليا كمدخل.

إذا كانت بياناتك عبارة عن سلسلة JSON، يمكنك استخدام الدالة json() لتحويل السلسلة إلى كائن JSON قبل تمرير النتيجة إلى الدالة xml() ، على سبيل المثال:

xml(
  json('{"root":{"array":[
    { "ID": 1, "Name": "James" },
    { "ID": 2, "Name": "John" },
    { "ID": 3, "Name": "Sam" }
  ]}}')
)

إذا كان لديك صفيف JSON، مثل المثال التالي، فلديك ثلاثة خيارات.

[
  { "ID": 1, "Name": "James" },
  { "ID": 2, "Name": "John" },
  { "ID": 3, "Name": "Sam" }
]

الخيار 1: تخزين صفيف JSON في إجراء إنشاء يسمى Compose1. ثم استخدم الدالة outputs() لإرجاع كائن JSON من Compose1.

{
  "root": { "array": @{outputs('Compose1')} }
}

تخزين كائن JSON الذي تم إرجاعه في إجراء آخر يسمى Compose2. يمكنك بعد ذلك استخدام xml() الدالتين و outputs() لإنشاء XML من إخراج كائن JSON من Compose2، على سبيل المثال:

xml(outputs('Compose2'))

الخيار 2: تخزين صفيف JSON في إجراء إنشاء يسمى Compose1. ثم استخدم outputs()concat()json()الدالات و و xml() لإنشاء XML من إخراج كائن JSON، على سبيل المثال:

xml(
  json(
    concat(
      '{"root":{"array":',
      outputs('Compose1'),
      '}}'
    )
  )
)

الخيار 3: تخزين صفيف JSON في إجراء إنشاء يسمى Compose1. يمكنك بعد ذلك استخدام outputs()json()addProperty()الدالات و و xml() لإنشاء XML من إخراج كائن JSON، على سبيل المثال:

xml(
  addProperty(
    json('{}'),
    'root',
    addProperty(
      json('{}'),
      'array',
      outputs('Compose1')
    )
  )
)

جميع الأمثلة، التي تتضمن مثال بيانات سلسلة JSON والخيارات من 1 إلى 3، ترجع نتيجة XML التالية:

<root>
  <array>
    <ID>1</ID>
    <Name>James</Name>
  </array>
  <array>
    <ID>2</ID>
    <Name>John</Name>
  </array>
  <array>
    <ID>3</ID>
    <Name>Sam</Name>
  </array>
</root>

xpath

التحقق من XML للعقد أو القيم التي تطابق تعبير XPath (لغة مسار XML)، ثم إرجاع العقد أو القيم المتطابقة. يساعدك تعبير XPath أو "XPath" فقط، على التنقل في بنية مستند XML بحيث يمكنك تحديد العقد أو حساب القيم في محتوى XML.

Note

في تطبيقات المنطق Consumption وStandard، تستخدم جميع تعبيرات الوظائف مكتبة .NET XPath. تتوافق تعبيرات XPath مع مكتبة .NET الأساسية وتدعم التعبير الذي تدعمه مكتبة .NET الأساسية فقط.

xpath('<xml>', '<xpath>')
Parameter Required Type Description
< XML> Yes Any سلسلة XML للبحث عن العقد أو القيم التي تطابق قيمة تعبير XPath
< xpath> Yes Any يستخدم تعبير XPath للبحث عن قيم أو عقد XML متطابقة
قيمة الإرجاع Type Description
< عقدة xml> XML عقدة XML عندما تتطابق عقدة واحدة فقط مع تعبير XPath المحدد
< قيمة> Any القيمة من عقدة XML عندما تتطابق قيمة واحدة فقط مع تعبير XPath المحدد
[<xml-node1>, <xml-node2>, ...] -أو- [<value1>, <value2>, ...] Array صفيف يحتوي على عقد XML أو قيم تطابق تعبير XPath المحدد

المثال 1

بافتراض أن لديك سلسلة XML 'items' هذه:

<?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]'، للعثور على العنصر الأول name التابع للعنصر item.

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

في هذا المثال، افترض أن سلسلة XML items تحتوي أيضًا على السمات 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]'، للعثور على كافة عناصر name التي تحتوي على السمة expired:

xpath(xml(parameters('items')), '//name[@expired]')

إليك النتيجة:[ Gala, Honeycrisp ]

مثال 5

في هذا المثال، افترض أن سلسلة XML items تتضمن هذه السمة فقط، 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

في هذا المثال، افترض أن سلسلة XML items تحتوي أيضًا على هذه السمات:

  • 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]'، للعثور على كافة عناصر name التي تحتوي على price > 35:

xpath(xml(parameters('items')), '//name[@price>35]')

إليك النتيجة:Honeycrisp

مثال 7

في هذا المثال، افترض أن سلسلة XML items هي نفسها كما في المثال 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 /*[name()="file"]/*[name()="location"] أو /*[local-name()="file" and namespace-uri()="https://contoso.com"]/*[local-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>

Important

إذا كنت تعمل في طريقة عرض التعليمات البرمجية، فتخلص من علامة الاقتباس المزدوجة (") باستخدام حرف الخط المائل العكسي (\). على سبيل المثال، تحتاج إلى استخدام أحرف الإلغاء عند إجراء تسلسل لتعبير ما كسلسلة 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

الخطوات التالية

تعرف على المزيد بشأن لغة تعريف سير العمل