نسخ النشاط في مصنع بيانات Azure وتحليلات Azure Synapse

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

تلميح

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

في Azure Data Factory ونماذج البيانات الأساسية لـ Synapse، يمكنك استخدام نشاط النسخ لنسخ البيانات بين مخازن البيانات الموجودة بالداخل وفي السحابة. بعد نسخ البيانات، يمكنك استخدام أنشطة أخرى لمزيد من التحويل والتحليل. يمكنك أيضاً استخدام نشاط النسخ لنشر نتائج التحويل والتحليل للمعلومات المهنية واستهلاك التطبيقات.

The role of the Copy activity

يتم تنفيذ نشاط النسخ في وقت تشغيل التكامل. يمكن استخدام أنواع مختلفة من أوقات تشغيل التكامل لسيناريوهات نسخ بيانات مختلفة:

  • عندما تقوم بنسخ البيانات بين مخزني بيانات يمكن الوصول إليهما بشكل عام من خلال الإنترنت من أي IP، يمكنك استخدام وقت تشغيل تكامل Azure لنشاط النسخ. وقت تشغيل التكامل هذا آمن وموثوق وقابل للتطوير ومتاح عالمياً.
  • عندما تقوم بنسخ البيانات من وإلى مخازن البيانات الداخلية أو في شبكة مع التحكم في الوصول (على سبيل المثال، شبكة ظاهرية لـ Azure)، تحتاج إلى إعداد وقت تشغيل التكامل المستضاف ذاتياً.

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

لنسخ البيانات من مصدر إلى متلقٍ، تقوم الخدمة التي تقوم بتشغيل نشاط النسخ بتنفيذ الخطوات التالية:

  1. قراءة البيانات من مخزن بيانات المصدر.
  2. تنفيذ التسلسل/ إلغاء التسلسل، ضغط/ فك الضغط، تعيين عمود، وغير ذلك. يقوم بتنفيذ هذه العمليات استناداً إلى تكوين مجموعة بيانات الإدخال، ومجموعة بيانات الإخراج، ونشاط النسخ.
  3. كتابة البيانات إلى مخزن وجهة/ متلقي البيانات.

Copy activity overview

إشعار

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

مخازن البيانات المدعومة وتنسيقاتها

Category مخزن البيانات معتمد كمصدر معتمدة كمتلقي مدعومة بواسطة Azure IR مدعومة بواسطة وقت تشغيل التكامل المستضاف ذاتياً
Azure تخزين Azure Blob
  فهرس Azure الذكاء الاصطناعي Search
  Azure Cosmos DB ل NoSQL
  Azure Cosmos DB ل MongoDB
  Azure Data Explorer
  Azure Data Lake Storage الجيل الأول
  Azure Data Lake Storage Gen2
  قاعدة بيانات Azure ل MariaDB
  Azure Database for MySQL
  Azure Database for PostgreSQL
  Azure Databricks Delta Lake
  ملفات Azure
  قاعدة بيانات Azure SQL
  مثيل Azure SQL المدار
  Azure Synapse Analytics
  تخزين Azure Table
قاعدة بيانات Amazon RDS ل Oracle
  Amazon RDS ل SQL Server
  Amazon Redshift
  DB2
  حفر
  Google BigQuery
  بلون أخضر
  HBase
  خليه
  Apache Impala
  Informix
  MariaDB
  Microsoft Access
  MySQL
  Netezza
  Oracle
  فينيكس
  PostgreSQL
  المعزوفه
  SAP Business Warehouse عبر Open Hub
  SAP Business Warehouse عبر MDX
  SAP HANA المتلقي مدعوم فقط مع موصل ODBC وبرنامج تشغيل SAP Hana ODBC
  جدول SAP
  البلورة الثلجية
  شراره
  SQL Server
  Sybase
  Teradata
  Vertica
NoSQL Cassandra
  Couchbase (معاينة)
  MongoDB
  MongoDB Atlas
ملف Amazon S3
  التخزين المتوافق مع Amazon S3
  نظام الملفات
  Ftp
  Google Cloud Storage
  HDFS
  Oracle Cloud Storage
  SFTP
البروتوكول العام HTTP عام
  Generic OData
  Generic ODBC
  REST عام
الخدمات والتطبيقات Amazon Marketplace Web Service
  Concur (معاينة)
  Dataverse
  Dynamics 365
  Dynamics AX
  Dynamics CRM
  Google AdWords
  HubSpot
  جيره
  Magento (معاينة)
  Marketo (معاينة)
  Microsoft 365
  Oracle Eloqua (معاينة)
  Oracle Responsys (معاينة)
  Oracle Service Cloud (معاينة)
  PayPal (معاينة)
  QuickBooks (معاينة)
  Salesforce
  سحابة خدمة Salesforce
  Salesforce Marketing Cloud
  سحابة SAP للعميل (C4C)
  SAP ECC
  ServiceNow
قائمة SharePoint Online
  Shopify (معاينة)
  Square (معاينة)
  جدول الويب (جدول HTML)
  Xero
  Zoho (معاينة)

إشعار

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

تنسيقات الملفات المعتمدة

يدعم Azure Data Factory تنسيقات الملفات التالية. راجع كل مقالة للاطلاع على الإعدادات المستندة إلى التنسيق.

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

  • نسخ البيانات من قاعدة بيانات SQL Server والكتابة إلى Azure Data Lake Storage Gen2 في تنسيق Parquet.
  • انسخ الملفات بتنسيق نصي (CSV) من نظام ملفات محلي واكتبها إلى مساحة تخزين Azure Blob بتنسيق Avro.
  • انسخ الملفات المضغوطة من نظام ملفات محلي، وقم بفك ضغطها سريعاً، واكتب الملفات المستخرجة إلى قاعدة تخزين تجمع بيانات Azure الجيل 2
  • انسخ البيانات بتنسيق Gzip للنص المضغوط (CSV) من تخزين Azure Blob واكتبها في قاعدة بيانات Azure SQL.
  • العديد من الأنشطة التي تتطلب التسلسل / إلغاء التسلسل أو الضغط / إلغاء الضغط.

المناطق المدعومة

تتوفر الخدمة التي تمكن نشاط النسخ بشكل عام في المناطق والمناطق الجغرافية المسرودة في مواقع وقت تشغيل تكامل Azure. يضمن تخطيط الشبكة المتاحة عالمياً حركة بيانات فعالة تتجنب عادةً مرات الوثب عبر المناطق. راجع المنتجات حسب المنطقة للتحقق من توفر مصنع البيانات ومساحات عمل Synapse وحركة البيانات في منطقة معينة.

التكوين

لتنفيذ نشاط النسخ باستخدام أحد المسارات، يمكنك استخدام إحدى الأدوات أو عدد تطوير البرامج التالية:

لاستخدام نشاط النسخ بشكلٍ عامٍ في Azure Data Factory أو البيانات الأساسية لتطبيق Synapse، فأنت بحاجة إلى:

  1. إنشاء خدمات مرتبطة بتخزين البيانات المصدر ومخزن متلقي البيانات. يمكنك العثور على قائمة الموصلات المعتمدة في قسم مخازن البيانات وتنسيقات المعتمدة بهذه المقالة. راجع قسم "خصائص الخدمة المرتبطة" في المقالة الموصل للحصول على معلومات التكوين والخصائص المدعومة.
  2. إنشاء مجموعات البيانات للمصدر والمتلقي. الرجوع إلى أقسام "خصائص Dataset" بمقالات خاصة بموصلي المصدر والمتلقي للحصول على معلومات التكوين والخصائص المدعومة.
  3. كيفية إنشاء البنية الأساسية من خلال نشاط النسخ. يقدم القسم التالي مثالاً.

بناء الجملة

يحتوي القالب التالي لنشاط النسخ على قائمة كاملة من الخصائص المدعومة. حدد تلك الخصائص التي تناسب السيناريو المرتبط بك.

"activities":[
    {
        "name": "CopyActivityTemplate",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<source dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<sink dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>",
                <properties>
            },
            "sink": {
                "type": "<sink type>"
                <properties>
            },
            "translator":
            {
                "type": "TabularTranslator",
                "columnMappings": "<column mapping>"
            },
            "dataIntegrationUnits": <number>,
            "parallelCopies": <number>,
            "enableStaging": true/false,
            "stagingSettings": {
                <properties>
            },
            "enableSkipIncompatibleRow": true/false,
            "redirectIncompatibleRowSettings": {
                <properties>
            }
        }
    }
]

تفاصيل بناء الجملة

الخاصية ‏‏الوصف مطلوب؟
النوع لنشاط النسخ، يرجى تعيين إلى Copy ‏‏نعم‬
إدخال حدد مجموعة البيانات التي قمت بإنشائها التي تشير إلى البيانات المصدر. يعتمد نشاط النسخ على إدخال واحد فقط. ‏‏نعم‬
نتائج حدد مجموعة البيانات التي قمت بإنشائها التي تشير إلى بيانات المتلقي. يدعم نشاط النسخ إخراج واحد فقط. ‏‏نعم‬
typeProperties حدد خصائص لتكوين نشاط النسخ. ‏‏نعم‬
المصدر حدد نوع مصدر النسخ والخصائص المطابقة لاسترجاع البيانات.
لمزيد من المعلومات، راجع قسم "خصائص نشاط النسخ" في المقالة الموصلة المسرودة في مخازن البيانات المدعومة والتنسيقات.
‏‏نعم‬
المتلقي حدد نوع متلقي النسخ والخصائص المطابقة لكتابة البيانات.
لمزيد من المعلومات، راجع قسم "خصائص نشاط النسخ" في المقالة الموصلة المسرودة في مخازن البيانات المدعومة والتنسيقات.
‏‏نعم‬
المترجم تحديد تعيينات الأعمدة الصريحة من المصدر إلى المتلقي. تنطبق هذه الخاصية عندما لا يفي سلوك النسخ الافتراضي باحتياجاتك.
لمزيد من المعلومات، راجع تعيين المخطط في نشاط النسخ.
لا
dataIntegrationUnits حدد مقياساً يمثل مقدار الطاقة التي يستخدمها وقت تشغيل تكامل Azure لنسخ البيانات. كانت تعرف هذه الوحدات سابقاً باسم وحدات حركة البيانات السحابية (DMU).
لمزيد من المعلومات، راجع وحدات تكامل البيانات.
لا
parallelCopies حدد التوازي الذي تريد من خلاله نشاط نسخ للاستخدام عند قراءة البيانات من المصدر وكتابة البيانات إلى المتلقي.
لمزيد من المعلومات، راجع النسخة المتوازية.
لا
الاحتفاظ تحديد إذا ما كان سيتم الاحتفاظ ببيانات التعريف/ قوائم التحكم بالوصول أثناء نسخ البيانات.
لمزيد من المعلومات، راجع الاحتفاظ ببيانات التعريف.
لا
enableStaging
stagingSettings
تحديد ما إذا كان سيتم مرحلة البيانات المؤقتة في تخزين كائن ثنائي كبير الحجم بدلاً من نسخ البيانات مباشرةً من مصدر إلى متلقي.
للحصول على معلومات حول السيناريوهات المفيدة وتفاصيل التكوين، راجع نسخة مرحلية.
لا
enableSkipIncompatibleRow
redirectIncompatibleRowSettings
اختر كيفية التعامل مع الصفوف غير المتوافقة عند نسخ البيانات من مصدر إلى متلقي.
لمزيد من المعلومات، راجع التسامح مع الخطأ.
لا

مراقبة‬

يمكنك مراقبة تشغيل نشاط "Copy" في البنية الأساسية لـ Azure Data Factory وSynapse مرئياً وبرمجياً. لمزيد من التفاصيل، راجع نشاط نسخ المراقبة.

نسخة إضافية

تمكنك البنى الأساسية لـ Data Factory وSynapse من نسخ بيانات دلتا بشكل متزايد من مخزن بيانات المصدر إلى مخزن بيانات المتلقي. لمزيد من التفاصيل، راجع البرنامج التعليمي: نسخ البيانات تدريجياً.

الأداء والضبط

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

استئناف من آخر تشغيل خاطئ

يدعم نشاط النسخ الاستئناف من آخر تشغيل خاطئ عند نسخ حجم كبير من الملفات كما هو مع تنسيق ثنائي بين المتاجر المستندة إلى الملفات واختيار الحفاظ على التدرج الهرمي للمجلد/الملف من مصدر إلى متلقٍ، على سبيل المثال لترحيل البيانات من Amazon S3 إلىAzure Data Lake Storage Gen2. تنطبق على الموصلات التالية المستندة على الملفات: Amazon S3 وAmazon S3 Compatible StorageAzure Blob وAzure Data Lake Storage Gen1 وAzure Data Lake Storage Gen2 وAzure Files ونظام الملفات وFTP وGoogle Cloud Storage و HDFS وOracle Cloud Storage وSFTP.

يمكنك الاستفادة من استئناف نشاط النسخ بطريقتين:

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

  • إعادة التشغيل من النشاط الخاطئ: بعد إكمال تنفيذ البنية الأساسية، يمكنك أيضاً تشغيل إعادة تشغيل من النشاط الخاطئ في طريقة عرض مراقبة واجهة المستخدم ADF أو برمجياً. إذا كان النشاط الخاطئ نشاطاً للنسخ، لن تتم إعادة تشغيل البنية الأساسية من هذا النشاط فحسب، بل سيستأنف أيضاً من نقطة الخطأ في التشغيل السابق.

    Copy resume

نقاط قليلة يجب ملاحظتها:

  • يحدث الاستئناف على مستوى الملف. إذا فشل نشاط النسخ عند نسخ ملف، في التشغيل التالي، ستتم إعادة نسخ هذا الملف المحدد.
  • لاستئناف العمل بشكلٍ صحيحٍ، لا تقم بتغيير إعدادات نشاط النسخ بين عمليات إعادة التشغيل.
  • عند نسخ البيانات من Amazon S3 وAzure Blob وAzure Data Lake Storage Gen2 وGoogle Cloud Storage، يمكن استئناف نشاط النسخ من عدد عشوائي من الملفات المنسوخة. بينما لبقية الموصلات المستندة إلى الملفات كمصدر، يدعم نشاط النسخ حالياً استئناف عدد محدود من الملفات، عادةً في نطاق عشرات الآلاف ويختلف تبعاً لطول مسارات الملف؛ ستتم إعادة نسخ الملفات خارج هذا الرقم أثناء إعادة التشغيل.

بالنسبة للسيناريوهات الأخرى غير نسخة الملف الثنائي، يبدأ إعادة تشغيل نشاط النسخ من البداية.

الاحتفاظ ببيانات التعريف مع البيانات

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

إضافة علامات بيانات التعريف إلى المتلقي المستند إلى الملف

عندما يكون المتلقي مستندا إلى Azure Storage (تخزين مستودع بيانات Azure أو تخزين Azure Blob)، يمكننا اختيار إضافة بعض بيانات التعريف إلى الملفات. ستظهر بيانات التعريف هذه كجزء من خصائص الملف كأزواج Key-Value. بالنسبة لجميع أنواع المتلقيات المستندة إلى الملفات، يمكنك إضافة بيانات تعريف تتضمن محتوى ديناميكيا باستخدام معلمات البنية الأساسية لبرنامج ربط العمليات التجارية ومتغيرات النظام والوظائف والمتغيرات. بالإضافة إلى ذلك، بالنسبة للمتلقي المستند إلى الملف الثنائي، لديك خيار إضافة تاريخ التعديل الأخير (للملف المصدر) باستخدام الكلمة الأساسية $$LASTMODIFIED، بالإضافة إلى القيم المخصصة كبيانات تعريف إلى ملف المتلقي.

المخطط وتعيين نوع البيانات

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

إضافة أعمدة إضافية أثناء النسخ

بالإضافة إلى نسخ البيانات من مخزن البيانات المصدر إلى المتلقي يمكنك أيضاً التكوين لإضافة أعمدة بيانات إضافية للنسخ على طول المسار إلى المتلقي. على سبيل المثال:

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

يمكنك العثور على التكوين التالي في علامة تبويب مصدر نشاط النسخ. يمكنك أيضاً تعيين هذه الأعمدة الإضافية في تعيين مخطط نشاط النسخ كالمعتاد باستخدام أسماء الأعمدة المعرفة.

Add additional columns in copy activity

تلميح

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

لتكوينه برمجياً، قم بإضافة additionalColumns الخاصية في مصدر نشاط النسخ:

الخاصية الوصف مطلوب
additionalColumns إضافة أعمدة بيانات إضافية لنسخها إلى متلقٍ.

يمثل كل كائن ضمن صفيف additionalColumns عموداً إضافياً. nameيعرف اسم العمود، ويشير value إلى قيمة بيانات هذا العمود.

قيم البيانات المسموح بها هي:
- $$FILEPATH - يشير متغير محجوز إلى تخزين المسار النسبي للملفات المصدر إلى مسار المجلد المحدد في مجموعة البيانات. التطبيق على مصدر يستند إلى ملف.
- $$COLUMN:<source_column_name> - يشير نمط متغير محجوز إلى تكرار عمود المصدر المحدد كأعمدة أخرى
- Expression
- القيمة الثابتة
لا

مثال:

"activities":[
    {
        "name": "CopyWithAdditionalColumns",
        "type": "Copy",
        "inputs": [...],
        "outputs": [...],
        "typeProperties": {
            "source": {
                "type": "<source type>",
                "additionalColumns": [
                    {
                        "name": "filePath",
                        "value": "$$FILEPATH"
                    },
                    {
                        "name": "newColName",
                        "value": "$$COLUMN:SourceColumnA"
                    },
                    {
                        "name": "pipelineName",
                        "value": {
                            "value": "@pipeline().Pipeline",
                            "type": "Expression"
                        }
                    },
                    {
                        "name": "staticValue",
                        "value": "sampleValue"
                    }
                ],
                ...
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

تلميح

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

إنشاء جداول متلقٍ تلقائية

عند نسخ البيانات إلى قاعدة بيانات SQL/Azure Synapse Analytics، إذا لم يكن الجدول الوجهة موجودا، يدعم نشاط النسخ إنشائها تلقائيا استنادا إلى البيانات المصدر. ويهدف إلى مساعدتك على البدء بسرعة لتحميل البيانات وتقييم قاعدة بيانات SQL / تحليلاتAzure Synapse. بعد استيعاب البيانات، يمكنك مراجعة وضبط مخطط جدول المتلقي وفقاً لاحتياجاتك.

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

Create sink tables

التسامح مع الخطأ

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

التحقق من اتساق البيانات

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

تسجيل الجلسة

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

راجع التشغيل السريع والبرامج التعليمية والعينات التالية: