البرنامج التعليمي: إعداد دفعة منتج بيانات
في هذا البرنامج التعليمي، تعرف على كيفية إعداد خدمات منتجات البيانات التي تم توزيعها بالفعل. استخدم Azure Data Factory لدمج بياناتك وتنسيقها، واستخدم Microsoft Purview لاكتشاف أصول البيانات وإدارتها والتحكم فيها.
ستتعرف على كيفية:
- إنشاء الموارد المطلوبة وتوزيعها
- تعيين الأدوار وأذونات الوصول
- توصيل الموارد لتكامل البيانات
يساعدك هذا البرنامج التعليمي على التعرف على الخدمات التي يتم نشرها في عينة <DMLZ-prefix>-dev-dp001
مجموعة موارد منتج البيانات. جرب كيفية واجهة خدمات Azure مع بعضها البعض ومقاييس الأمان الموجودة.
أثناء توزيع المكونات الجديدة، ستتوفر لديك فرصة للتحقيق في كيفية اتصال Purview بحوكمة الخدمة لإنشاء خريطة شاملة ومحدثة لمشهد بياناتك. والنتيجة هي اكتشاف البيانات تلقائيا وتصنيف البيانات الحساسة و دورة حياة البيانات من طرف إلى طرف.
المتطلبات الأساسية
قبل البدء في إعداد دفعة منتج البيانات، تأكد من تلبية هذه المتطلبات الأساسية:
اشتراك Azure. إذا لم يكن لديك اشتراك Azure، فقم بإنشاء حساب Azure المجاني اليوم.
أذونات لاشتراك Azure. لإعداد Purview وAzure Synapse Analytics للتوزيع، يجب أن يكون لديك دور مسؤول وصول المستخدم أو دور المالك في اشتراك Azure. ستقوم بتعيين المزيد من تعيينات الأدوار للخدمات وكيانات الخدمة في البرنامج التعليمي.
الموارد الموزعة. لإكمال البرنامج التعليمي، يجب نشر هذه الموارد بالفعل في اشتراك Azure الخاص بك:
- منطقة هبوط إدارة البيانات. لمزيد من المعلومات، راجع مستودع GitHub لمنطقة إدارة البيانات المنتقل إليها .
- منطقة البيانات المنتقل إليها. لمزيد من المعلومات، راجع مستودع GitHub لمنطقة البيانات المنتقل إليها .
- دفعة منتج البيانات. لمزيد من المعلومات، راجع مستودع GitHub دفعة منتج البيانات .
حساب Microsoft Purview. يتم إنشاء الحساب كجزء من نشر المنطقة المنتقل إليها لإدارة البيانات.
وقت تشغيل التكامل المستضاف ذاتيا. يتم إنشاء وقت التشغيل كجزء من نشر منطقة البيانات المنتقل إليها.
ملاحظة
في هذا البرنامج التعليمي، تشير العناصر النائبة إلى موارد المتطلبات الأساسية التي تقوم بنشرها قبل بدء البرنامج التعليمي:
<DMLZ-prefix>
يشير إلى البادئة التي أدخلتها عند إنشاء نشر المنطقة المنتقل إليها لإدارة البيانات .<DLZ-prefix>
يشير إلى البادئة التي أدخلتها عند إنشاء نشر منطقة البيانات المنتقل إليها .<DP-prefix>
يشير إلى البادئة التي أدخلتها عند إنشاء نشر دفعة منتج البيانات .
إنشاء مثيلات قاعدة بيانات Azure SQL
لبدء هذا البرنامج التعليمي، قم بإنشاء نموذجين لمثيلات قاعدة بيانات SQL. ستستخدم قواعد البيانات لمحاكاة مصادر بيانات CRM وERP في أقسام لاحقة.
في مدخل Microsoft Azure، في عناصر التحكم العمومية للمدخل، حدد أيقونة Cloud Shell لفتح محطة Azure Cloud Shell الطرفية. حدد Bash لنوع المحطة الطرفية.
في Cloud Shell، قم بتشغيل البرنامج النصي التالي. يعثر البرنامج النصي على
<DLZ-prefix>-dev-dp001
مجموعة الموارد وخادم<DP-prefix>-dev-sqlserver001
Azure SQL الموجود في مجموعة الموارد. ثم يقوم البرنامج النصي بإنشاء مثيلي قاعدة بيانات SQL على<DP-prefix>-dev-sqlserver001
الخادم. يتم ملء قواعد البيانات مسبقا ببيانات عينة AdventureWorks. تتضمن البيانات الجداول التي تستخدمها في هذا البرنامج التعليمي.تأكد من استبدال قيمة العنصر النائب للمعلمة
subscription
بمعرف اشتراك Azure الخاص بك.# Azure SQL Database instances setup # Create the AdatumCRM and AdatumERP databases to simulate customer and sales data. # Use the ID for the Azure subscription you used to deployed the data product. az account set --subscription "<your-subscription-ID>" # Get the resource group for the data product. resourceGroupName=$(az group list -o tsv --query "[?contains(@.name, 'dp001')==\`true\`].name") # Get the existing Azure SQL Database server name. sqlServerName=$(az sql server list -g $resourceGroupName -o tsv --query "[?contains(@.name, 'sqlserver001')==\`true\`].name") # Create the first SQL Database instance, AdatumCRM, to create the customer's data source. az sql db create --resource-group $resourceGroupName --server $sqlServerName --name AdatumCRM --service-objective Basic --sample-name AdventureWorksLT # Create the second SQL Database instance, AdatumERP, to create the sales data source. az sql db create --resource-group $resourceGroupName --server $sqlServerName --name AdatumERP --service-objective Basic --sample-name AdventureWorksLT
عند الانتهاء من تشغيل البرنامج النصي، على <DP-prefix>-dev-sqlserver001
خادم Azure SQL، لديك مثيلان جديدان لقاعدة بيانات SQL، AdatumCRM
و AdatumERP
. توجد قاعدتا البيانات على طبقة الحوسبة الأساسية. توجد قواعد البيانات في نفس <DLZ-prefix>-dev-dp001
مجموعة الموارد التي استخدمتها لنشر دفعة منتج البيانات.
إعداد Purview لفهرسة دفعة منتج البيانات
بعد ذلك، أكمل الخطوات لإعداد Purview لفهرسة دفعة منتج البيانات. تبدأ بإنشاء كيان خدمة. بعد ذلك، يمكنك إعداد الموارد المطلوبة وتعيين الأدوار وأذونات الوصول.
إنشاء كيان الخدمة
في مدخل Microsoft Azure، في عناصر التحكم العمومية للمدخل، حدد أيقونة Cloud Shell لفتح محطة Azure Cloud Shell الطرفية. حدد Bash لنوع المحطة الطرفية.
راجع البرنامج النصي التالي:
- استبدل قيمة العنصر النائب للمعلمة
subscriptionId
بمعرف اشتراك Azure الخاص بك. spname
استبدل قيمة العنصر النائب للمعلمة بالاسم الذي تريد استخدامه لكيان الخدمة. يجب أن يكون اسم كيان الخدمة فريدا في الاشتراك.
بعد تحديث قيم المعلمات، قم بتشغيل البرنامج النصي في Cloud Shell.
# Replace the parameter values with the name you want to use for your service principal name and your Azure subscription ID. spname="<your-service-principal-name>" subscriptionId="<your-subscription-id>" # Set the scope to the subscription. scope="/subscriptions/$subscriptionId" # Create the service principal. az ad sp create-for-rbac \ --name $spname \ --role "Contributor" \ --scope $scope
- استبدل قيمة العنصر النائب للمعلمة
تحقق من إخراج JSON للحصول على نتيجة مشابهة للمثال التالي. لاحظ القيم الموجودة في الإخراج أو انسخها لاستخدامها في الخطوات اللاحقة.
{ "appId": "<your-app-id>", "displayName": "<service-principal-display-name>", "name": "<your-service-principal-name>", "password": "<your-service-principal-password>", "tenant": "<your-tenant>" }
إعداد الوصول الأساسي للخدمة والأذونات
من إخراج JSON الذي تم إنشاؤه في الخطوة السابقة، احصل على القيم التي تم إرجاعها التالية:
- معرف كيان الخدمة (
appId
) - مفتاح الخدمة الأساسي (
password
)
يجب أن يكون لمدير الخدمة الأذونات التالية:
- دور Storage Blob Data Reader على حسابات التخزين.
- أذونات قارئ البيانات على مثيلات قاعدة بيانات SQL.
لإعداد كيان الخدمة مع الدور والأذونات المطلوبة، أكمل الخطوات التالية.
أذونات حساب Azure Storage
في مدخل Microsoft Azure، انتقل إلى
<DLZ-prefix>devraw
حساب Azure Storage. في قائمة الموارد، حدد Access Control (IAM).حدد إضافة>Add role assignmen.
في Add role assignment، في علامة التبويب Role ، ابحث عن Storage Blob Data Reader وحدده. ثم حدد «التالي».
في الأعضاء، اختر تحديد أعضاء.
في Select members، ابحث عن اسم كيان الخدمة الذي أنشأته.
في نتائج البحث، حدد كيان الخدمة، ثم اختر تحديد.
لإكمال تعيين الدور، حدد Review + assign مرتين.
كرر الخطوات الواردة في هذا القسم لحسابات التخزين المتبقية:
<DLZ-prefix>devencur
<DLZ-prefix>devwork
أذونات قاعدة بيانات SQL
لتعيين أذونات قاعدة بيانات SQL، يمكنك الاتصال بجهاز Azure SQL الظاهري باستخدام محرر الاستعلام. نظرا لأن جميع الموارد خلف نقطة نهاية خاصة، يجب أولا تسجيل الدخول إلى مدخل Microsoft Azure باستخدام جهاز ظاهري لمضيف Azure Bastion.
في مدخل Microsoft Azure، اتصل بالجهز الظاهري الذي تم نشره في <DMLZ-prefix>-dev-bastion
مجموعة الموارد. إذا لم تكن متأكدا من كيفية الاتصال بالجهاز الظاهري باستخدام خدمة مضيف Bastion، فراجع الاتصال بجهاز ظاهري.
لإضافة كيان الخدمة كمستخدم في قاعدة البيانات، قد تحتاج أولا إلى إضافة نفسك كمسؤول Azure Active Directory. في الخطوين 1 و2، يمكنك إضافة نفسك كمسؤول Azure Active Directory. في الخطوات من 3 إلى 5، يمكنك منح أذونات كيان الخدمة لقاعدة بيانات. عند تسجيل الدخول إلى المدخل من الجهاز الظاهري لمضيف Bastion، ابحث عن أجهزة Azure SQL الظاهرية في مدخل Microsoft Azure.
انتقل إلى
<DP-prefix>-dev-sqlserver001
الجهاز الظاهري Azure SQL. في قائمة الموارد ضمن Settings، حدد Azure Active Directory.في شريط الأوامر، حدد تعيين المسؤول. ابحث عن حسابك الخاص وحدده. اختر «Select» .
في قائمة الموارد، حدد قواعد بيانات SQL، ثم حدد
AdatumCRM
قاعدة البيانات.في قائمة مورد AdatumCRM ، حدد محرر الاستعلام (معاينة). ضمن مصادقة Active Directory، حدد الزر متابعة ك لتسجيل الدخول.
في محرر الاستعلام، راجع العبارات التالية لاستبدال
<service principal name>
باسم كيان الخدمة الذي أنشأته (على سبيل المثال،purview-service-principal
). ثم قم بتشغيل العبارات.CREATE USER [<service principal name>] FROM EXTERNAL PROVIDER GO EXEC sp_addrolemember 'db_datareader', [<service principal name>] GO
كرر الخطوات من 3 إلى 5 لقاعدة AdatumERP
البيانات.
إعداد مخزن المفاتيح
يقرأ Purview المفتاح الأساسي للخدمة من مثيل Azure Key Vault. يتم إنشاء مخزن المفاتيح في توزيع منطقة إدارة البيانات المنتقل إليها. الخطوات التالية مطلوبة لإعداد مخزن المفاتيح:
أضف مفتاح كيان الخدمة إلى مخزن المفاتيح كبيانات سرية.
امنح Purview MSI Secrets Reader أذونات في مخزن المفاتيح.
أضف مخزن المفاتيح إلى Purview كاتصال مخزن مفاتيح.
إنشاء بيانات اعتماد في Purview تشير إلى سر مخزن المفاتيح.
إضافة أذونات لإضافة بيانات سرية إلى مخزن المفاتيح
في مدخل Microsoft Azure، انتقل إلى خدمة Azure Key Vault. ابحث
<DMLZ-prefix>-dev-vault001
عن مخزن المفاتيح.في قائمة الموارد، حدد Access control (IAM). في شريط الأوامر، حدد إضافة، ثم حدد إضافة تعيين دور.
في علامة التبويب دور، ابحث عن مسؤول Key Vault ثم حدده. حدد التالي.
في الأعضاء، اختر تحديد الأعضاء لإضافة الحساب الذي تم تسجيل الدخول إليه حاليا.
في Select members، ابحث عن الحساب الذي تم تسجيل دخوله حاليا. حدد الحساب، ثم اختر تحديد.
لإكمال عملية تعيين الدور، حدد Review + assign مرتين.
إضافة سر إلى مخزن المفاتيح
أكمل الخطوات التالية لتسجيل الدخول إلى مدخل Microsoft Azure من الجهاز الظاهري لمضيف Bastion.
في
<DMLZ-prefix>-dev-vault001
قائمة مورد مخزن المفاتيح، حدد Secrets. في شريط الأوامر، حدد إنشاء/استيراد لإنشاء سر جديد.في Create a secret، حدد القيم التالية أو أدخلها:
إعداد إجراء خيارات التحميل حدد Manual. الاسم أدخل service-principal-secret. القيمة أدخل كلمة مرور كيان الخدمة التي أنشأتها سابقا. ملاحظة
تنشئ هذه الخطوة بيانات سرية مسماة
service-principal-secret
في مخزن المفاتيح باستخدام مفتاح كلمة المرور الأساسي للخدمة. يستخدم Purview البيانات السرية للاتصال بمصادر البيانات ومسحها ضوئيا. إذا أدخلت كلمة مرور غير صحيحة، فلن تتمكن من إكمال الأقسام التالية.حدد Create.
إعداد أذونات Purview في مخزن المفاتيح
لكي يقرأ مثيل Purview البيانات السرية المخزنة في مخزن المفاتيح، يجب عليك تعيين أذونات Purview ذات الصلة في مخزن المفاتيح. لتعيين الأذونات، يمكنك إضافة Purview Managed Identity إلى دور Key vault Secrets Reader.
في
<DMLZ-prefix>-dev-vault001
قائمة مورد مخزن المفاتيح، حدد التحكم بالوصول (IAM).في شريط الأوامر، حدد إضافة، ثم حدد إضافة تعيين دور.
في Role، ابحث عن Key Vault Secrets User وحدده. حدد "Next".
في الأعضاء، اختر تحديد أعضاء.
ابحث عن مثيل
<DMLZ-prefix>-dev-purview001
Purview. حدد المثيل لإضافة الحساب ذي الصلة. ثم قم باختيارSelect.لإكمال عملية تعيين الدور، حدد Review + assign مرتين.
إعداد اتصال key vault في Purview
لإعداد اتصال مخزن مفاتيح إلى Purview، يجب تسجيل الدخول إلى مدخل Microsoft Azure باستخدام جهاز ظاهري لمضيف Azure Bastion.
في مدخل Microsoft Azure، انتقل إلى
<DMLZ-prefix>-dev-purview001
حساب Purview. ضمن Getting started، في Open Microsoft Purview Governance Portal، حدد Open.في Purview Studio، حدد Management>Credentials. في شريط أوامر Credentials، حدد Manage Key Vault connections، ثم حدد New.
في New key vault connection، حدد المعلومات التالية أو أدخلها:
إعداد إجراء الاسم أدخل <DMLZ-prefix-dev-vault001>. اشتراك Azure حدد الاشتراك الذي يستضيف مخزن المفاتيح. اسم Key Vault حدد مخزن مفاتيح DMLZ-prefix-dev-vault001>.< حدد Create.
في Confirm granting access، حدد Confirm.
إنشاء بيانات اعتماد في Purview
الخطوة الأخيرة لإعداد مخزن المفاتيح هي إنشاء بيانات اعتماد في Purview تشير إلى السر الذي أنشأته في مخزن المفاتيح لكيان الخدمة.
في Purview Studio، حدد Management>Credentials. في شريط أوامر بيانات الاعتماد ، حدد جديد.
في بيانات اعتماد جديدة، حدد المعلومات التالية أو أدخلها:
إعداد إجراء الاسم أدخل purviewServicePrincipal. أسلوب المصادقة حدِّد Service principal. معرف المستأجر يتم ملء القيمة تلقائيا. المعرف الرئيسي للخدمة ID أدخل معرف التطبيق أو معرف العميل لمدير الخدمة. اتصال Key Vault حدد اتصال مخزن المفاتيح الذي أنشأته في القسم السابق. اسم البيانات السرية أدخل اسم السر في key vault (service-principal-secret). حدد Create.
تسجيل مصادر البيانات
عند هذه النقطة، يمكن ل Purview الاتصال بكيان الخدمة. الآن يمكنك تسجيل مصادر البيانات وإعدادها.
تسجيل حسابات Azure Data Lake Storage Gen2
توضح الخطوات التالية عملية تسجيل حساب تخزين Azure Data Lake Storage Gen2.
في Purview Studio، حدد أيقونة خريطة البيانات، وحدد المصادر، ثم حدد تسجيل.
في Register sources، حدد Azure Data Lake Storage Gen2، ثم حدد Continue.
في Register sources (Azure Data Lake Storage Gen2)، حدد المعلومات التالية أو أدخلها:
إعداد إجراء الاسم أدخل <DLZ-prefix>dldevraw. اشتراك Azure حدد الاشتراك الذي يستضيف حساب التخزين. اسم حساب التخزين حدد حساب التخزين ذي الصلة. نقطة النهاية يتم ملء القيمة تلقائيا استنادا إلى حساب التخزين المحدد. تحديد مجموعة حدد المجموعة الجذر. حدد Register لإنشاء مصدر البيانات.
كرر هذه الخطوات لحسابات التخزين التالية:
<DMLZ-prefix>devencur
<DMLZ-prefix>devwork
تسجيل مثيل قاعدة بيانات SQL كمصدر بيانات
في Purview Studio، حدد أيقونة Data map ، وحدد Sources، ثم حدد Register.
في Register sources، حدد Azure SQL Database، ثم حدد Continue.
في Register sources (Azure SQL Database)، حدد المعلومات التالية أو أدخلها:
إعداد إجراء الاسم أدخل SQLDatabase (اسم قاعدة البيانات التي تم إنشاؤها في إنشاء مثيلات قاعدة بيانات Azure SQL). الاشتراك حدد الاشتراك الذي يستضيف قاعدة البيانات. اسم الخادم أدخل <DP-prefix-dev-sqlserver001>. اختر تسجيل.
إعداد عمليات الفحص
بعد ذلك، قم بإعداد عمليات الفحص لمصادر البيانات.
مسح مصدر بيانات Data Lake Storage Gen2 ضوئيا
في Purview Studio، انتقل إلى خريطة البيانات. في مصدر البيانات، حدد أيقونة فحص جديد .
في جزء الفحص الجديد، حدد المعلومات التالية أو أدخلها:
إعداد إجراء الاسم أدخل Scan_<DLZ-prefix>devraw. الاتصال عبر وقت تشغيل التكامل حدد وقت تشغيل التكامل المستضاف ذاتيا الذي تم نشره مع منطقة البيانات المنتقل إليها. بيانات اعتماد حدد كيان الخدمة الذي قمت بإعداده ل Purview. حدد اختبار الاتصال للتحقق من الاتصال وأن الأذونات في مكانها. حدد Continue.
في Scope your scan، حدد حساب التخزين بأكمله كنطاق للمسح الضوئي، ثم حدد Continue.
في Select a scan rule set، حدد AdlsGen2، ثم حدد Continue.
في تعيين مشغل فحص، حدد مرة واحدة، ثم حدد متابعة.
في مراجعة الفحص، راجع إعدادات الفحص. حدد حفظ وتشغيل لبدء الفحص.
كرر هذه الخطوات لحسابات التخزين التالية:
<DMLZ-prefix>devencur
<DMLZ-prefix>devwork
مسح مصدر بيانات قاعدة بيانات SQL ضوئيا
في مصدر بيانات Azure SQL Database، حدد New Scan.
في جزء الفحص الجديد، حدد المعلومات التالية أو أدخلها:
إعداد إجراء الاسم أدخل Scan_Database001. الاتصال عبر وقت تشغيل التكامل حدد Purview-SHIR. اسم قاعدة البيانات حدد اسم قاعدة البيانات. بيانات اعتماد حدد بيانات اعتماد مخزن المفاتيح التي أنشأتها في Purview. استخراج دورة حياة البيانات (معاينة) حدد إيقاف التشغيل. حدد اختبار الاتصال للتحقق من الاتصال وأن الأذونات في مكانها. حدد Continue.
حدد نطاق الفحص. لفحص قاعدة البيانات بأكملها، استخدم القيمة الافتراضية.
في Select a scan rule set، حدد AzureSqlDatabase، ثم حدد Continue.
في تعيين مشغل فحص، حدد مرة واحدة، ثم حدد متابعة.
في مراجعة الفحص، راجع إعدادات الفحص. حدد حفظ وتشغيل لبدء الفحص.
كرر هذه الخطوات لقاعدة AdatumERP
البيانات.
تم الآن إعداد Purview لإدارة البيانات لمصادر البيانات المسجلة.
نسخ بيانات قاعدة بيانات SQL إلى Data Lake Storage Gen2
في الخطوات التالية، يمكنك استخدام أداة Copy Data في Data Factory لإنشاء مسار لنسخ الجداول من مثيلات AdatumCRM
قاعدة بيانات SQL وملفات AdatumERP
CSV في <DLZ-prefix>devraw
حساب Data Lake Storage Gen2.
البيئة مؤمنة للوصول العام، لذلك تحتاج أولا إلى إعداد نقاط النهاية الخاصة. لاستخدام نقاط النهاية الخاصة، ستقوم بتسجيل الدخول إلى مدخل Microsoft Azure في المستعرض المحلي، ثم الاتصال بالجهاز الظاهري لمضيف Bastion للوصول إلى خدمات Azure المطلوبة.
إنشاء نقاط نهاية خاصة
لإعداد نقاط النهاية الخاصة للموارد المطلوبة:
في
<DMLZ-prefix>-dev-bastion
مجموعة الموارد، حدد<DMLZ-prefix>-dev-vm001
.في شريط الأوامر، حدد Connect وحدد Bastion.
أدخل اسم المستخدم وكلمة المرور للجهاز الظاهري، ثم حدد اتصال.
في مستعرض ويب الجهاز الظاهري، انتقل إلى مدخل Microsoft Azure. انتقل إلى
<DLZ-prefix>-dev-shared-integration
مجموعة الموارد وافتح<DLZ-prefix>-dev-integration-datafactory001
مصنع البيانات.ضمن Getting started، في Open Azure Data Factory Studio، حدد Open.
في قائمة Data Factory Studio، حدد الأيقونة إدارة (تبدو الأيقونة مثل مربع أدوات مربع مع ختم وجع عليه). في قائمة الموارد، حدد نقاط النهاية الخاصة المدارة لإنشاء نقاط النهاية الخاصة المطلوبة لتوصيل Data Factory بخدمات Azure الأخرى الآمنة.
تتم مناقشة الموافقة على طلبات الوصول لنقاط النهاية الخاصة في قسم لاحق. بعد الموافقة على طلبات الوصول إلى نقطة النهاية الخاصة، تتم الموافقة على حالة الموافقة الخاصة بها، كما هو الحال في المثال التالي لحساب
<DLZ-prefix>devencur
التخزين.قبل الموافقة على اتصالات نقطة النهاية الخاصة، حدد جديد. أدخل Azure SQL للعثور على موصل قاعدة بيانات Azure SQL الذي تستخدمه لإنشاء نقطة نهاية خاصة مدارة جديدة لجهاز
<DP-prefix>-dev-sqlserver001
Azure SQL الظاهري. يحتوي الجهاز الظاهري على قواعد البيانات وAdatumERP
التيAdatumCRM
أنشأتها سابقا.في نقطة النهاية الخاصة المدارة الجديدة (قاعدة بيانات Azure SQL)، بالنسبة إلى الاسم، أدخل data-product-dev-sqlserver001. أدخل اشتراك Azure الذي استخدمته لإنشاء الموارد. بالنسبة إلى Server name، حدد
<DP-prefix>-dev-sqlserver001
بحيث يمكنك الاتصال به من مصنع البيانات هذا في الأقسام التالية.
الموافقة على طلبات الوصول إلى نقطة النهاية الخاصة
لمنح Data Factory حق الوصول إلى نقاط النهاية الخاصة للخدمات المطلوبة، لديك خياران:
الخيار 1: في كل خدمة تطلب الوصول إليها، في مدخل Microsoft Azure، انتقل إلى خيار اتصالات الشبكة أو نقطة النهاية الخاصة للخدمة ووافق على طلبات الوصول إلى نقطة النهاية الخاصة.
الخيار 2: قم بتشغيل البرامج النصية التالية في Azure Cloud Shell في وضع Bash للموافقة على جميع طلبات الوصول إلى نقاط النهاية الخاصة المطلوبة في وقت واحد.
# Storage managed private endpoint approval # devencur resourceGroupName=$(az group list -o tsv --query "[?contains(@.name, '-dev-storage')==\`true\`].name") storageAcctName=$(az storage account list -g $resourceGroupName -o tsv --query "[?contains(@.name, 'devencur')==\`true\`].name") endPointConnectionName=$(az network private-endpoint-connection list -g $resourceGroupName -n $storageAcctName --type Microsoft.Storage/storageAccounts -o tsv --query "[?contains(@.properties.privateLinkServiceConnectionState.status, 'Pending')==\`true\`].name") az network private-endpoint-connection approve -g $resourceGroupName -n $endPointConnectionName --resource-name $storageAcctName --type Microsoft.Storage/storageAccounts --description "Approved" # devraw resourceGroupName=$(az group list -o tsv --query "[?contains(@.name, '-dev-storage')==\`true\`].name") storageAcctName=$(az storage account list -g $resourceGroupName -o tsv --query "[?contains(@.name, 'devraw')==\`true\`].name") endPointConnectionName=$(az network private-endpoint-connection list -g $resourceGroupName -n $storageAcctName --type Microsoft.Storage/storageAccounts -o tsv --query "[?contains(@.properties.privateLinkServiceConnectionState.status, 'Pending')==\`true\`].name") az network private-endpoint-connection approve -g $resourceGroupName -n $endPointConnectionName --resource-name $storageAcctName --type Microsoft.Storage/storageAccounts --description "Approved" # SQL Database managed private endpoint approval resourceGroupName=$(az group list -o tsv --query "[?contains(@.name, '-dev-dp001')==\`true\`].name") sqlServerName=$(az sql server list -g $resourceGroupName -o tsv --query "[?contains(@.name, 'sqlserver001')==\`true\`].name") endPointConnectionName=$(az network private-endpoint-connection list -g $resourceGroupName -n $sqlServerName --type Microsoft.Sql/servers -o tsv --query "[?contains(@.properties.privateLinkServiceConnectionState.status, 'Pending')==\`true\`].name") az network private-endpoint-connection approve -g $resourceGroupName -n $endPointConnectionName --resource-name $sqlServerName --type Microsoft.Sql/servers --description "Approved" # Key Vault private endpoint approval resourceGroupName=$(az group list -o tsv --query "[?contains(@.name, '-dev-metadata')==\`true\`].name") keyVaultName=$(az keyvault list -g $resourceGroupName -o tsv --query "[?contains(@.name, 'dev-vault001')==\`true\`].name") endPointConnectionID=$(az network private-endpoint-connection list -g $resourceGroupName -n $keyVaultName --type Microsoft.Keyvault/vaults -o tsv --query "[?contains(@.properties.privateLinkServiceConnectionState.status, 'Pending')==\`true\`].id") az network private-endpoint-connection approve -g $resourceGroupName --id $endPointConnectionID --resource-name $keyVaultName --type Microsoft.Keyvault/vaults --description "Approved" # Purview private endpoint approval resourceGroupName=$(az group list -o tsv --query "[?contains(@.name, 'dev-governance')==\`true\`].name") purviewAcctName=$(az purview account list -g $resourceGroupName -o tsv --query "[?contains(@.name, '-dev-purview001')==\`true\`].name") for epn in $(az network private-endpoint-connection list -g $resourceGroupName -n $purviewAcctName --type Microsoft.Purview/accounts -o tsv --query "[?contains(@.properties.privateLinkServiceConnectionState.status, 'Pending')==\`true\`].name") do az network private-endpoint-connection approve -g $resourceGroupName -n $epn --resource-name $purviewAcctName --type Microsoft.Purview/accounts --description "Approved" done
يوضح المثال التالي كيفية <DLZ-prefix>devraw
إدارة حساب التخزين لطلبات الوصول إلى نقطة النهاية الخاصة. في قائمة الموارد لحساب التخزين، حدد Networking. في شريط الأوامر، حدد اتصالات نقطة النهاية الخاصة.
بالنسبة لبعض موارد Azure، يمكنك تحديد اتصالات نقطة النهاية الخاصة في قائمة الموارد. يظهر مثال لخادم Azure SQL في لقطة الشاشة التالية.
للموافقة على طلب وصول نقطة نهاية خاصة، في اتصالات نقطة النهاية الخاصة، حدد طلب الوصول المعلق، ثم حدد الموافقة:
بعد الموافقة على طلب الوصول في كل خدمة مطلوبة، قد يستغرق الأمر بضع دقائق حتى يظهر الطلب على أنه معتمد في نقاط النهاية الخاصة المدارة في Data Factory Studio. حتى إذا حددت تحديث في شريط الأوامر، فقد تكون حالة الموافقة قديمة لبضع دقائق.
عند الانتهاء من الموافقة على جميع طلبات الوصول للخدمات المطلوبة، في نقاط النهاية الخاصة المدارة، تتم الموافقةعلى قيمة حالة الموافقة لجميع الخدمات:
تعيينات الأدوار
عند الانتهاء من الموافقة على طلبات الوصول إلى نقطة النهاية الخاصة، أضف أذونات الدور المناسبة ل Data Factory للوصول إلى هذه الموارد:
- مثيلات
AdatumCRM
قاعدة بيانات SQL وفيAdatumERP
<DP-prefix>-dev-sqlserver001
خادم Azure SQL - حسابات
<DLZ-prefix>devraw
التخزين و<DLZ-prefix>devencur
و<DLZ-prefix>devwork
- حساب Purview
<DMLZ-prefix>-dev-purview001
جهاز Azure SQL الظاهري
لإضافة تعيينات الأدوار، ابدأ بجهاز Azure SQL الظاهري. في
<DMLZ-prefix>-dev-dp001
مجموعة الموارد، انتقل إلى<DP-prefix>-dev-sqlserver001
.في قائمة الموارد، حدد Access control (IAM). في شريط الأوامر، حدد إضافة>إضافة تعيين دور.
في علامة التبويب دور ، حدد مساهم، ثم حدد التالي.
في الأعضاء، لتعيين الوصول إلى، حدد الهوية المدارة. بالنسبة للأعضاء، اختر تحديد الأعضاء.
في تحديد الهويات المدارة، حدد اشتراك Azure الخاص بك. بالنسبة للهوية المدارة، حدد Data Factory (V2) لمشاهدة مصانع البيانات المتوفرة. في قائمة مصانع البيانات، حدد Azure Data Factory <DLZ-prefix-dev-integration-datafactory001>. اختر «Select» .
حدد Review + Assign مرتين لإكمال العملية.
حسابات التخزين
بعد ذلك، قم بتعيين الأدوار المطلوبة لحسابات <DLZ-prefix>devraw
<DLZ-prefix>devencur
التخزين و و.<DLZ-prefix>devwork
لتعيين الأدوار، أكمل نفس الخطوات التي استخدمتها لإنشاء تعيين دور خادم Azure SQL. ولكن بالنسبة للدور، حدد Storage Blob Data Contributor بدلا من Contributor.
بعد تعيين أدوار لجميع حسابات التخزين الثلاثة، يمكن ل Data Factory الاتصال بحسابات التخزين والوصول إليها.
Microsoft Purview
الخطوة الأخيرة لإضافة تعيينات الأدوار هي إضافة دور Purview Data Curator في Microsoft Purview إلى حساب الهوية المدار لمصنع <DLZ-prefix>-dev-integration-datafactory001
البيانات. أكمل الخطوات التالية حتى يتمكن Data Factory من إرسال معلومات أصول كتالوج البيانات من مصادر بيانات متعددة إلى حساب Purview.
في مجموعة
<DMLZ-prefix>-dev-governance
الموارد ، انتقل إلى<DMLZ-prefix>-dev-purview001
حساب Purview.في Purview Studio، حدد أيقونة Data map ، ثم حدد Collections.
حدد علامة التبويب Role assignments للمجموعة. ضمن Data curators، أضف الهوية المدارة ل
<DLZ-prefix>-dev-integration-datafactory001
:
توصيل Data Factory ب Purview
تم تعيين الأذونات، ويمكن ل Purview الآن رؤية مصنع البيانات. الخطوة التالية هي الاتصال <DMLZ-prefix>-dev-purview001
ب <DLZ-prefix>-dev-integration-datafactory001
.
في Purview Studio، حدد أيقونة الإدارة ، ثم حدد Data Factory. حدد جديد لإنشاء اتصال Data Factory.
في جزء New Data Factory connections ، أدخل اشتراك Azure وحدد
<DLZ-prefix>-dev-integration-datafactory001
مصنع البيانات. حدد "OK".في
<DLZ-prefix>-dev-integration-datafactory001
مثيل Data Factory Studio، ضمن إدارة>Azure Purview، قم بتحديث حساب Azure Purview.Data Lineage - Pipeline
يظهر التكامل الآن الأيقونة المتصلة الخضراء.
إنشاء مسار ETL
الآن بعد أن <DLZ-prefix>-dev-integration-datafactory001
أصبح لديه أذونات الوصول المطلوبة، قم بإنشاء نشاط نسخ في Data Factory لنقل البيانات من مثيلات قاعدة بيانات SQL إلى <DLZ-prefix>devraw
حساب التخزين الخام.
استخدام أداة Copy Data مع AdatumCRM
تستخرج هذه العملية بيانات العميل من AdatumCRM
مثيل قاعدة بيانات SQL وتنسخها إلى تخزين Data Lake Storage Gen2.
في Data Factory Studio، حدد أيقونة Author ، ثم حدد Factory Resources. حدد علامة الجمع (+) وحدد أداة نسخ البيانات.
أكمل كل خطوة في معالج أداة نسخ البيانات:
لإنشاء مشغل لتشغيل البنية الأساسية لبرنامج ربط العمليات التجارية كل 24 ساعة، حدد Schedule.
لإنشاء خدمة مرتبطة لتوصيل مصنع البيانات هذا بمثيل
AdatumCRM
قاعدة بيانات SQL على<DP-prefix>-dev-sqlserver001
الخادم (المصدر)، حدد اتصال جديد.ملاحظة
إذا واجهت أخطاء في الاتصال بالبيانات أو الوصول إليها في مثيلات قاعدة بيانات SQL أو حسابات التخزين، فراجع أذوناتك في اشتراك Azure. تأكد من أن مصنع البيانات لديه بيانات الاعتماد المطلوبة وأذونات الوصول إلى أي مورد إشكالي.
حدد هذه الجداول الثلاثة:
SalesLT.Address
SalesLT.Customer
SalesLT.CustomerAddress
إنشاء خدمة مرتبطة جديدة للوصول
<DLZ-prefix>devraw
إلى تخزين Azure Data Lake Storage Gen2 (الوجهة).استعرض المجلدات في
<DLZ-prefix>devraw
التخزين وحدد البيانات كوجهة.قم بتغيير لاحقة اسم الملف إلى .csv واستخدم الخيارات الافتراضية الأخرى.
انتقل إلى الجزء التالي وحدد Add header to file.
عند الانتهاء من المعالج، يبدو جزء اكتمال النشر مشابها لهذا المثال:
يتم سرد البنية الأساسية لبرنامج ربط العمليات التجارية الجديدة في البنية الأساسية لبرنامج ربط العمليات التجارية.
تشغيل المسار
تنشئ هذه العملية ثلاثة ملفات .csv في مجلد Data\CRM ، واحد لكل جدول من الجداول المحددة في AdatumCRM
قاعدة البيانات.
أعد تسمية البنية الأساسية لبرنامج ربط العمليات التجارية
CopyPipeline_CRM_to_Raw
.أعد تسمية مجموعات
CRM_Raw_Storage
البيانات وCRM_DB
.في شريط أوامر موارد المصنع ، حدد نشر الكل.
حدد البنية
CopyPipeline_CRM_to_Raw
الأساسية لبرنامج ربط العمليات التجارية، وفي شريط أوامر البنية الأساسية لبرنامج ربط العمليات التجارية، حدد Trigger لنسخ الجداول الثلاثة من قاعدة بيانات SQL إلى Data Lake Storage Gen2.
استخدام أداة Copy Data مع AdatumERP
بعد ذلك، استخرج البيانات من AdatumERP
قاعدة البيانات. تمثل البيانات بيانات المبيعات الواردة من نظام ERP.
لا يزال في Data Factory Studio، قم بإنشاء مسار جديد باستخدام أداة Copy Data. هذه المرة، تقوم بإرسال بيانات المبيعات من
AdatumERP
إلى<DLZ-prefix>devraw
مجلد بيانات حساب التخزين، بنفس الطريقة التي قمت بها مع بيانات CRM. أكمل نفس الخطوات، ولكن استخدمAdatumERP
قاعدة البيانات كمصدر.قم بإنشاء الجدول الزمني لتشغيله كل ساعة.
إنشاء خدمة مرتبطة بمثيل
AdatumERP
قاعدة بيانات SQL.حدد هذه الجداول السبعة:
SalesLT.Product
SalesLT.ProductCategory
SalesLT.ProductDescription
SalesLT.ProductModel
SalesLT.ProductModelProductDescription
SalesLT.SalesOrderDetail
SalesLT.SalesOrderHeader
استخدم الخدمة
<DLZ-prefix>devraw
المرتبطة الموجودة لحساب التخزين وقم بتعيين ملحق الملف إلى .csv.حدد Add header to file.
أكمل المعالج مرة أخرى وأعد تسمية البنية الأساسية لبرنامج ربط العمليات التجارية
CopyPipeline_ERP_to_DevRaw
. ثم في شريط الأوامر، حدد نشر الكل. وأخيرا، قم بتشغيل المشغل على هذا المسار الذي تم إنشاؤه حديثا لنسخ الجداول السبعة المحددة من قاعدة بيانات SQL إلى Data Lake Storage Gen2.
عند الانتهاء من هذه الخطوات، يوجد 10 ملفات CSV في <DLZ-prefix>devraw
التخزين Data Lake Storage Gen2. في القسم التالي، يمكنك تنسيق الملفات في <DLZ-prefix>devencur
تخزين Data Lake Storage Gen2.
تجميع البيانات في Data Lake Storage Gen2
عند الانتهاء من إنشاء 10 ملفات CSV في تخزين Data Lake Storage Gen2 الخام <DLZ-prefix>devraw
، قم بتحويل هذه الملفات حسب الحاجة أثناء نسخها إلى تخزين Data Lake Storage Gen2 المنسق <DLZ-prefix>devencur
.
استمر في استخدام Azure Data Factory لإنشاء هذه المسارات الجديدة لتنسيق حركة البيانات.
تنسيق CRM لبيانات العملاء
إنشاء تدفق بيانات يحصل على ملفات CSV في مجلد Data\CRM في <DLZ-prefix>devraw
. قم بتحويل الملفات وانسخ الملفات المحولة بتنسيق ملف .parquet إلى مجلد Data\Customer في <DLZ-prefix>devencur
.
في Azure Data Factory، انتقل إلى مصنع البيانات وحدد Orchestrate.
بشكل عام، قم بتسمية البنية الأساسية لبرنامج ربط العمليات التجارية
Pipeline_transform_CRM
.في جزء Activities، وسّع Move and Transform. اسحب نشاط تدفق البيانات وأفلته في لوحة البنية الأساسية لبرنامج ربط العمليات التجارية.
في إضافة تدفق البيانات، حدد إنشاء تدفق بيانات جديد وقم بتسمية تدفق
CRM_to_Customer
البيانات . اختر إنهاء.ملاحظة
في شريط الأوامر للوحة البنية الأساسية لبرنامج ربط العمليات التجارية، قم بتشغيل تتبع أخطاء تدفق البيانات. في وضع التصحيح، يمكنك اختبار منطق التحويل بشكل تفاعلي مقابل نظام مجموعة Apache Spark مباشر. تستغرق مجموعات تدفق البيانات من 5 إلى 7 دقائق للتدفئة. نوصي بتشغيل تصحيح الأخطاء قبل البدء في تطوير تدفق البيانات.
عند الانتهاء من تحديد الخيارات في
CRM_to_Customer
تدفق البيانات،Pipeline_transform_CRM
تبدو البنية الأساسية لبرنامج ربط العمليات التجارية مشابهة لهذا المثال:يبدو تدفق البيانات مثل هذا المثال:
بعد ذلك، قم بتعديل هذه الإعدادات في تدفق البيانات للمصدر
CRMAddress
:إنشاء مجموعة بيانات جديدة من Data Lake Storage Gen2. استخدم تنسيق DelimitedText . قم بتسمية مجموعة
DevRaw_CRM_Address
البيانات .قم بتوصيل الخدمة المرتبطة ب
<DLZ-prefix>devraw
.Data\CRM\SalesLTAddress.csv
حدد الملف كمصدر.
تعديل هذه الإعدادات في تدفق البيانات للمتلقي المقترن
CustAddress
:إنشاء مجموعة بيانات جديدة باسم
DevEncur_Cust_Address
.حدد مجلد Data\Customer في
<DLZ-prefix>devencur
كمتلقي.ضمن Settings\Output to single file، قم بتحويل الملف إلى Address.parquet.
بالنسبة لبقية تكوين تدفق البيانات، استخدم المعلومات الموجودة في الجداول التالية لكل مكون. لاحظ أن CRMAddress
و CustAddress
هما أول صفين. استخدمها كأمثلة للكائنات الأخرى.
عنصر غير موجود في أي من الجداول التالية هو RemovePasswords
معدل المخطط. تظهر لقطة الشاشة السابقة أن هذا العنصر ينتقل بين CRMCustomer
و CustCustomer
. لإضافة معدل المخطط هذا، انتقل إلى تحديد الإعدادات وقم بإزالة PasswordHash و PasswordSalt.
CRMCustomer
إرجاع مخطط مكون من 15 عمودا من ملف .crv. CustCustomer
يكتب 13 عمودا فقط بعد أن يزيل معدل المخطط عمودي كلمة المرور.
الجدول الكامل
الاسم | نوع الكائن | اسم مجموعة البيانات | مخزن البيانات | نوع التنسيق | الخدمة المرتبطة | ملف أو مجلد |
---|---|---|---|---|---|---|
CRMAddress |
المصدر | DevRaw_CRM_Address |
Azure Data Lake Storage Gen2 | نص محدد | devraw |
Data\CRM\SalesLTAddress.csv |
CustAddress |
المتلقي | DevEncur_Cust_Address |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Customer\Address.parquet |
CRMCustomer |
المصدر | DevRaw_CRM_Customer |
Azure Data Lake Storage Gen2 | نص محدد | devraw |
Data\CRM\SalesLTCustomer.csv |
CustCustomer |
المتلقي | DevEncur_Cust_Customer |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Customer\Customer.parquet |
CRMCustomerAddress |
المصدر | DevRaw_CRM_CustomerAddress |
Azure Data Lake Storage Gen2 | نص محدد | devraw |
Data\CRM\SalesLTCustomerAddress.csv |
CustCustomerAddress |
المتلقي | DevEncur_Cust_CustomerAddress |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Customer\CustomerAddress.parquet |
جدول ERP إلى Sales
الآن، كرر خطوات مماثلة Pipeline_transform_ERP
لإنشاء مسار، وأنشئ ERP_to_Sales
تدفق بيانات لتحويل ملفات .csv في مجلد Data\ERP في <DLZ-prefix>devraw
، وانسخ الملفات المحولة إلى مجلد Data\Sales في <DLZ-prefix>devencur
.
في الجدول التالي، ستجد الكائنات المراد إنشاؤها في ERP_to_Sales
تدفق البيانات والإعدادات التي تحتاج إلى تعديلها لكل عنصر. يتم تعيين كل ملف .csv إلى متلقي .parquet .
الاسم | نوع الكائن | اسم مجموعة البيانات | مخزن البيانات | نوع التنسيق | الخدمة المرتبطة | ملف أو مجلد |
---|---|---|---|---|---|---|
ERPProduct |
المصدر | DevRaw_ERP_Product |
Azure Data Lake Storage Gen2 | نص محدد | devraw |
Data\ERP\SalesLTProduct.csv |
SalesProduct |
المتلقي | DevEncur_Sales_Product |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Sales\Product.parquet |
ERPProductCategory |
المصدر | DevRaw_ERP_ProductCategory |
Azure Data Lake Storage Gen2 | نص محدد | devraw |
Data\ERP\SalesLTProductCategory.csv |
SalesProductCategory |
المتلقي | DevEncur_Sales_ProductCategory |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Sales\ProductCategory.parquet |
ERPProductDescription |
المصدر | DevRaw_ERP_ProductDescription |
Azure Data Lake Storage Gen2 | نص محدد | devraw |
Data\ERP\SalesLTProductDescription.csv |
SalesProductDescription |
المتلقي | DevEncur_Sales_ProductDescription |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Sales\ProductDescription.parquet |
ERPProductModel |
المصدر | DevRaw_ERP_ProductModel |
Azure Data Lake Storage Gen2 | نص محدد | devraw |
Data\ERP\SalesLTProductModel.csv |
SalesProductModel |
المتلقي | DevEncur_Sales_ProductModel |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Sales\ProductModel.parquet |
ERPProductModelProductDescription |
المصدر | DevRaw_ERP_ProductModelProductDescription |
Azure Data Lake Storage Gen2 | نص محدد | devraw |
Data\ERP\SalesLTProductModelProductDescription.csv |
SalesProductModelProductDescription |
المتلقي | DevEncur_Sales_ProductModelProductDescription |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Sales\ProductModelProductDescription.parquet |
ERPProductSalesOrderDetail |
المصدر | DevRaw_ERP_ProductSalesOrderDetail |
Azure Data Lake Storage Gen2 | نص محدد | devraw |
Data\ERP\SalesLTProductSalesOrderDetail.csv |
SalesProductSalesOrderDetail |
المتلقي | DevEncur_Sales_ProductSalesOrderDetail |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Sales\ProductSalesOrderDetail.parquet |
ERPProductSalesOrderHeader |
المصدر | DevRaw_ERP_ProductSalesOrderHeader |
Azure Data Lake Storage Gen2 | نص محدد | devraw |
Data\ERP\SalesLTProductSalesOrderHeader.csv |
SalesProductSalesOrderHeader |
المتلقي | DevEncur_Sales_ProductSalesOrderHeader |
Azure Data Lake Storage Gen2 | Parquet | devencur |
Data\Sales\ProductSalesOrderHeader.parquet |