نسخ البيانات من PostgreSQL V1 باستخدام Azure Data Factory أو Synapse Analytics
ينطبق على: Azure Data Factory
Azure Synapse Analytics
تلميح
جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!
توضح هذه المقالة كيفية استخدام نسخ النشاط في Azure Data Factory وخطوط تدفق Synapse Analytics لنسخ البيانات من قاعدة بيانات PostgreSQL. تعتمد هذه المقالة على مقالة نظرة عامة على نشاط النسخ التي تقدم نظرة عامة على نشاط النسخ.
هام
يوفر موصل PostgreSQL V2 دعما محسنا ل PostgreSQL الأصلي. إذا كنت تستخدم موصل PostgreSQL V1 في الحل الخاص بك، فيرجى ترقية موصل PostgreSQL الخاص بك حيث يوجد الإصدار 1 في مرحلة نهاية الدعم. راجع هذا القسم للحصول على تفاصيل حول الفرق بين V2 وV1.
القدرات المدعومة
موصل PostgreSQL هذا مدعوم للأنشطة التالية:
القدرات المدعومة | IR |
---|---|
نشاط النسخ (مصدر/-) | (1) (2) |
نشاط البحث | (1) (2) |
① وقت تشغيل تكامل Azure ② وقت تشغيل التكامل المستضاف ذاتيًا
للحصول على قائمة بمخازن البيانات المدعومة كمصادر/متلقيات بواسطة نشاط النسخ، راجع جدول مخازن البيانات المدعومة.
على وجه التحديد، يدعم موصل PostgreSQL هذا PostgreSQL الإصدار 7.4 وما بعده.
المتطلبات الأساسية
إذا كان مخزن البيانات الخاص بك موجوداً داخل شبكة محلية، أو شبكة Azure ظاهرية، أو Amazon Virtual Private Cloud، فأنت بحاجة إلى تكوين وقت تشغيل تكامل مستضاف ذاتياً للاتصال به.
إذا كان مخزن البيانات الخاص بك عبارة عن خدمة بيانات سحابية مُدارة، يمكنك استخدام Azure Integration Runtime. إذا كان الوصول مقتصراً على عناوين IP التي تمت الموافقة عليها في قواعد جدار الحماية، يمكنك إضافة عناوين IP لـ Azure Integration Runtime إلى قائمة السماح.
يمكنك أيضاً استخدام ميزة وقت تشغيل تكامل الشبكة الظاهرية المُدارة في Azure Data Factory للوصول إلى الشبكة المحلية دون تثبيت وقت تشغيل تكامل مستضاف ذاتياً وتكوينه.
لمزيد من المعلومات حول آليات وخيارات أمان الشبكة التي يدعمها Data Factory، راجع إستراتيجيات الوصول إلى البيانات.
يوفر Integration Runtime برنامج تشغيل PostgreSQL مدمجاً بدءاً من الإصدار 3.7، وبالتالي لا تحتاج إلى تثبيت أي برنامج تشغيل يدوياً.
الشروع في العمل
لتنفيذ نشاط النسخ باستخدام أحد المسارات، يمكنك استخدام إحدى الأدوات أو عدد تطوير البرامج التالية:
- أداة نسخ البيانات
- مدخل Azure
- The .NET SDK
- عدة تطوير برامج Python
- Azure PowerShell
- واجهة برمجة تطبيقات REST
- قالب Azure Resource Manager
إنشاء خدمة مرتبطة بـ PostgreSQL باستخدام واجهة المستخدم
استخدم الخطوات التالية لإنشاء خدمة مرتبطة بـ PostgreSQL في واجهة مستخدم مدخل Microsoft Azure.
استعرض للوصول إلى علامة التبويب "Manage" في مصنع بيانات Azure أو مساحة عمل Synapse، وحدد "Linked Services"، ثم انقر فوق "New":
ابحث عن Postgre وحدد موصل PostgreSQL.
قم بتكوين تفاصيل الخدمة، واختبر الاتصال، وأنشئ الخدمة المرتبطة الجديدة.
تفاصيل تكوين الموصل
توفر الأقسام التالية تفاصيل حول الخصائص المستخدمة لتحديد كيانات Data Factory الخاصة بموصل PostgreSQL.
خصائص الخدمة المرتبطة
الخصائص التالية مدعومة لخدمة PostgreSQL المرتبطة:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية النوع على: PostgreSql | نعم |
سلسلة الاتصال | سلسلة اتصال ODBC للاتصال بقاعدة بيانات Azure لـ PostgreSQL. يمكنك أيضاً وضع كلمة مرور في Azure Key Vault وسحب تكوين password خارج سلسلة الاتصال. راجع النماذج التالية ومقال تخزين بيانات الاعتماد في Azure Key Vault لمزيد من التفاصيل. |
نعم |
connectVia | Integration Runtime الذي سيتم استخدامه للاتصال بمخزن البيانات. تعرف على المزيد من قسم المتطلبات الأساسية. إذا لم يتم تحديده، فإنه يستخدم Azure Integration Runtime الافتراضي. | لا |
سلسلة الاتصال النموذجية هي Server=<server>;Database=<database>;Port=<port>;UID=<username>;Password=<Password>
. المزيد من الخصائص التي يمكنك تعيينها حسب حالتك:
الخاصية | الوصف | الخيارات | المطلوب |
---|---|---|---|
طريقة التشفير (EM) | الطريقة التي يستخدمها برنامج التشغيل لتشفير البيانات المرسلة بين برنامج التشغيل وخادم قاعدة البيانات. على سبيل المثال,EncryptionMethod=<0/1/6>; |
0 (No Encryption) (Default) / 1 (SSL) / 6 (RequestSSL) | لا |
ValidateServerCertificate (VSC) | تحديد ما إذا كان برنامج التشغيل يتحقق من صحة الشهادة التي تم إرسالها بواسطة خادم قاعدة البيانات عند تمكين تشفير SSL (طريقة التشفير = 1). على سبيل المثال,ValidateServerCertificate=<0/1>; |
0 (معطل) (افتراضي) / 1 (ممكّن) | لا |
إشعار
للحصول على التحقق الكامل من SSL عبر اتصال ODBC عند استخدام وقت تشغيل التكامل المستضاف ذاتيًا، يتعين استخدام اتصال نوع ODBC بدلاً من موصل PostgreSQL بشكل صريح، وإكمال التكوين التالي:
- إعداد DSN على أي خوادم SHIR.
- ضع الشهادة المناسبة ل PostgreSQL في C:\Windows\ServiceProfiles\DIAHostService\AppData\Roaming\postgresql\root.crt على خوادم SHIR. هذا هو المكان الذي يبحث > فيه برنامج تشغيل ODBC عن شهادة SSL للتحقق من وقت اتصاله بقاعدة البيانات.
- في اتصال مصنع البيانات، استخدم اتصال نوع ODBC، مع سلسلة الاتصال التي تشير إلى DSN الذي أنشأته على خوادم SHIR.
مثال:
{
"name": "PostgreSqlLinkedService",
"properties": {
"type": "PostgreSql",
"typeProperties": {
"connectionString": "Server=<server>;Database=<database>;Port=<port>;UID=<username>;Password=<Password>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
مثال: تخزين كلمة المرور في Azure Key Vault
{
"name": "PostgreSqlLinkedService",
"properties": {
"type": "PostgreSql",
"typeProperties": {
"connectionString": "Server=<server>;Database=<database>;Port=<port>;UID=<username>;",
"password": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
إذا كنت تستخدم خدمة PostgreSQL المرتبطة بالحمولة التالية، فلا تزال مدعومة كما هي، بينما يُقترح عليك استخدام الخدمة الجديدة من الآن فصاعداً.
البيانات الأساسية السابقة:
{
"name": "PostgreSqlLinkedService",
"properties": {
"type": "PostgreSql",
"typeProperties": {
"server": "<server>",
"database": "<database>",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
خصائص مجموعة البيانات
للحصول على قائمة كاملة بالأقسام والخصائص المتوفرة لتعريف مجموعات البيانات، راجع مقالة مجموعات البيانات. يقدم هذا القسم قائمة بالخصائص التي تدعمها مجموعة بيانات PostgreSQL.
لنسخ البيانات من PostgreSQL، يتم دعم الخصائص التالية:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية النوع لمجموعة البيانات على: PostgreSqlTable | نعم |
Schema | اسم المخطط. | لا (إذا تم تحديد "الاستعلام" في مصدر النشاط) |
طاولتنا | ضع اسمًا للجدول. | لا (إذا تم تحديد "الاستعلام" في مصدر النشاط) |
اسم الجدول | اسم الجدول مع المخطط. هذه الخاصية مدعومة للتوافق مع الإصدارات السابقة. استخدم schema وtable لأحمال العمل الجديدة. |
لا (إذا تم تحديد "الاستعلام" في مصدر النشاط) |
مثال
{
"name": "PostgreSQLDataset",
"properties":
{
"type": "PostgreSqlTable",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<PostgreSQL linked service name>",
"type": "LinkedServiceReference"
}
}
}
إذا كنت تستخدم مجموعة البيانات المكتوبة RelationalTable
، فلا تزال مدعومة كما هي، بينما يُقترح عليك استخدام المجموعة الجديدة من الآن فصاعداً.
انسخ خصائص النشاط
للحصول على قائمة كاملة بالأقسام والخصائص المتوفرة لتعريف الأنشطة، راجع مقالة التدفقات. يوفر هذا القسم قائمة بالخصائص التي يدعمها مصدر PostgreSQL.
PostgreSQL كمصدر
لنسخ البيانات من PostgreSQL، يتم دعم الخصائص التالية في قسم source لنشاط النسخ:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية النوع لمصدر نشاط النسخ على: PostgreSqlSource | نعم |
استعلام | استخدم استعلام SQL المخصص لقراءة البيانات. على سبيل المثال: "query": "SELECT * FROM \"MySchema\".\"MyTable\"" . |
لا (إذا تم تحديد "tableName" في مجموعة البيانات) |
إشعار
تعتبر أسماء المخططات والجداول حساسة لحالة الأحرف. قم بتضمينها في ""
(علامات الاقتباس المزدوجة) في الاستعلام.
مثال:
"activities":[
{
"name": "CopyFromPostgreSQL",
"type": "Copy",
"inputs": [
{
"referenceName": "<PostgreSQL input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "PostgreSqlSource",
"query": "SELECT * FROM \"MySchema\".\"MyTable\""
},
"sink": {
"type": "<sink type>"
}
}
}
]
إذا كنت تستخدم المصدر المصنف حسب النوع RelationalSource
، فلا يزال هذا المصدر مدعوماً كما هو، بينما نقترح عليك استخدام المصدر الجديد للمضي قدماً.
بحث عن خصائص النشاط
لمعرفة تفاصيل حول الخصائص، تحقق من نشاط البحث.
المحتوى ذو الصلة
للحصول على قائمة بمخازن البيانات المدعومة من نشاط النسخ كمصادر ومواضع تلقي، راجع مخازن البيانات المدعومة.