نشاط تعيين متغير في Azure Data Factory وAzure Synapse Analytics

ينطبق على:Azure Data Factory Azure Synapse Analytics

تلميح

جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!

استخدم نشاط Set Variable لتعيين قيمة متغير موجود من النوع String أو Bool أو Array المحدد في مسار Data Factory أو Synapse أو استخدم نشاط Set Variable لتعيين قيمة إرجاع البنية الأساسية لبرنامج ربط العمليات التجارية (معاينة).

إنشاء نشاط Set Variable باستخدام واجهة المستخدم

لاستخدام نشاط Set Variable في البنية الأساسية لبرنامج ربط العمليات التجارية استكمال الخطوات التالية:

  1. حدد خلفية قماش البنية الأساسية لبرنامج ربط العمليات التجارية واستخدم علامة تبويب Variables لإضافة متغير:

Screenshot of an empty pipeline canvas with the Variables tab selected with an array type variable named TestVariable.

  1. ابحث عن Set Variable في لوحة أنشطة البنية الأساسية لبرنامج ربط العمليات التجارية، واسحب نشاط Set Variable إلى قماش البنية الأساسية لبرنامج ربط العمليات التجارية.

  2. حدد نشاط Set Variable على اللوحة إذا لم يكن محددا بالفعل، ثم حدد علامة التبويب الإعدادات لتحرير تفاصيلها.

  3. حدد متغير البنية الأساسية لبرنامج ربط العمليات التجارية لنوع المتغير الخاص بك.

  4. حدد المتغير لخاصية الاسم.

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

Screenshot of the UI for a Set variable activity.

تعيين قيمة إرجاع البنية الأساسية لبرنامج ربط العمليات التجارية باستخدام واجهة المستخدم

لقد قمنا بتوسيع نشاط Set Variable لتضمين متغير نظام خاص، يسمى Pipeline Return Value، ما يسمح بالاتصال من المسار الفرعي إلى مسار الاستدعاء، في السيناريو التالي.

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

Screenshot with ExecutePipeline Activity.

خصائص النوع

الخاصية الوصف مطلوب
الاسم اسم النشاط في خط التدفقات yes
الوصف نص يصف ما يفعله النشاط no
النوع يجب تعيينه إلى SetVariable yes
variableName اسم المتغير الذي تم تعيينه بواسطة هذا النشاط yes
قيمة قيمة السلسلة الحرفية أو كائن التعبير التي تم تعيين المتغير إليها yes

زيادة متغير

السيناريو الشائع الذي يتضمن متغيرا هو استخدام متغير كمكرر ضمن نشاط Until أو ForEach . في نشاط تعيين متغير، لا يمكنك الرجوع إلى المتغير الذي يتم تعيينه في value الحقل، أي عدم وجود مرجع ذاتي. للتغلب على هذا القيد، قم بتعيين متغير مؤقت ثم أنشئ نشاط تعيين متغير ثان. يقوم نشاط Set variable الثاني بتعيين قيمة المكرر إلى المتغير المؤقت. فيما يلي مثال على هذا النمط:

  • أولا تقوم بتعريف متغيرين: واحد للعداد، والآخر للتخزين المؤقت.

Screenshot shows defining variables.

  • ثم يمكنك استخدام نشاطين لزيادة القيم

Screenshot shows increment variable.

{
    "name": "pipeline1",
    "properties": {
        "activities": [
            {
                "name": "Increment J",
                "type": "SetVariable",
                "dependsOn": [],
                "policy": {
                    "secureOutput": false,
                    "secureInput": false
                },
                "userProperties": [],
                "typeProperties": {
                    "variableName": "temp_j",
                    "value": {
                        "value": "@add(variables('counter_i'),1)",
                        "type": "Expression"
                    }
                }
            },
            {
                "name": "Set I",
                "type": "SetVariable",
                "dependsOn": [
                    {
                        "activity": "Increment J",
                        "dependencyConditions": [
                            "Succeeded"
                        ]
                    }
                ],
                "policy": {
                    "secureOutput": false,
                    "secureInput": false
                },
                "userProperties": [],
                "typeProperties": {
                    "variableName": "counter_i",
                    "value": {
                        "value": "@variables('temp_j')",
                        "type": "Expression"
                    }
                }
            }
        ],
        "variables": {
            "counter_i": {
                "type": "Integer",
                "defaultValue": 0
            },
            "temp_j": {
                "type": "Integer",
                "defaultValue": 0
            }
        },
        "annotations": []
    }
}

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

تعرف على نشاط تحكم في التدفق ذي صلة آخر: