نسخ البيانات من Google BigQuery باستخدام Azure Data Factory أو Synapse Analytics (قديم)

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

تلميح

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

توضح هذه المقالة كيفية استخدام نسخ النشاط في Azure Data Factory وخطوط تدفق Synapse Analytics لنسخ البيانات من Google BigQuery. وهو يستند إلى مقالة نظرة عامة حول نشاط النسخ التي تعرض نظرة عامة حول نشاط النسخ.

هام

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

القدرات المدعومة

يتم دعم موصل Google BigQuery للإمكانيات التالية:

القدرات المدعومة IR
نشاط النسخ (مصدر/-) (1) (2)
نشاط البحث (1) (2)

① وقت تشغيل تكامل Azure ② وقت تشغيل التكامل المستضاف ذاتيًا

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

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

يدعم الموصل إصدارات Windows في هذه المقالة.

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

إشعار

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

الشروع في العمل

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

أنشئ خدمة مرتبطة بـ Google BigQuery باستخدام واجهة المستخدم

استخدم الخطوات التالية لإنشاء خدمة مرتبطة بـ Google BigQuery في واجهة مستخدم مدخل Microsoft Azure.

  1. استعرض للوصول إلى علامة التبويب "Manage" في مصنع بيانات Azure أو مساحة عمل Synapse، وحدد "Linked Services"، ثم انقر فوق "New":

  2. ابحث عن Google وحدد موصل Google BigQuery.

    لقطة شاشة لموصل Google BigQuery.

  3. قم بتكوين تفاصيل الخدمة، واختبر الاتصال، وأنشئ الخدمة المرتبطة الجديدة.

    لقطة شاشة لتكوين الخدمة المرتبطة لـ Google BigQuery.

تفاصيل تكوين الموصل

توفر الأقسام التالية تفاصيل حول الخصائص المستخدمة لتحديد الكيانات الخاصة بموصل Google BigQuery.

خصائص الخدمة المرتبطة

الخصائص التالية مدعومة لخدمة Google BigQuery المرتبطة.

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع على GoogleBigQuery. ‏‏نعم‬
المشروع معرّف المشروع لمشروع BigQuery الافتراضي للاستعلام عنه. ‏‏نعم‬
additionalProjects قائمة مفصولة بفواصل لمعرفات المشاريع الخاصة بمشاريع BigQuery العامة التي يمكن الوصول إليها. لا
requestGoogleDriveScope ما إذا كنت تريد الوصول إلى Google Drive. يتيح السماح بالوصول إلى Google Drive دعم الجداول الموحدة التي تجمع بيانات BigQuery مع البيانات من Google Drive. القيمة الافتراضية هي false. لا
نوع المصادقة آلية مصادقة OAuth 2.0 المستخدَمة للمصادقة. يمكن استخدام مصادقة الخدمة فقط في وقت تشغيل التكامل المستضاف ذاتياً Microsoft Integration Runtime.
القيم المسموح بها هي UserAuthentication وServiceAuthentication. راجع المقاطع الموجودة أسفل هذا الجدول على المزيد من الخصائص وعينات JSON لأنواع المصادقة هذه على التوالي.
‏‏نعم‬

استخدام مصادقة المستخدم

عيّن خاصية "نوع المصادقة" على UserAuthentication، وحدد الخصائص التالية جنباً إلى جنب مع الخصائص العامة الموضحة في القسم السابق:

الخاصية الوصف مطلوب
clientId معرّف التطبيق المستخدم لإنشاء رمز التحديث. ‏‏نعم‬
clientSecret سر التطبيق المستخدم لإنشاء رمز التحديث. ضع علامة على هذا الحقل باعتباره SecureString لتخزينه بشكل آمن، أو قم بالإشارة إلى بيانات سرية مخزنة في Azure Key Vault. ‏‏نعم‬
refreshToken يُستخدم رمز التحديث الذي تم الحصول عليه من Google للسماح بالوصول إلى BigQuery. تعرف على كيفية الحصول على واحد من الحصول على رموز وصول OAuth 2.0 ومدونة المجتمع هذه. ضع علامة على هذا الحقل باعتباره SecureString لتخزينه بشكل آمن، أو قم بالإشارة إلى بيانات سرية مخزنة في Azure Key Vault. ‏‏نعم‬

الحد الأدنى للنطاق المطلوب للحصول على رمز تحديث OAuth 2.0 المميز هو https://www.googleapis.com/auth/bigquery.readonly. إذا كنت تخطط لتشغيل استعلام قد يعرض نتائج كبيرة، فقد يكون هناك حاجة إلى نطاق آخر. لمزيد من المعلومات، راجع هذه المقالة.

مثال:

{
    "name": "GoogleBigQueryLinkedService",
    "properties": {
        "type": "GoogleBigQuery",
        "typeProperties": {
            "project" : "<project ID>",
            "additionalProjects" : "<additional project IDs>",
            "requestGoogleDriveScope" : true,
            "authenticationType" : "UserAuthentication",
            "clientId": "<id of the application used to generate the refresh token>",
            "clientSecret": {
                "type": "SecureString",
                "value":"<secret of the application used to generate the refresh token>"
            },
            "refreshToken": {
                "type": "SecureString",
                "value": "<refresh token>"
            }
        }
    }
}

استخدام مصادقة الخدمة

عيّن خاصية "نوع المصادقة" على ServiceAuthentication، وحدد الخصائص التالية جنباً إلى جنب مع الخصائص العامة الموضحة في القسم السابق. يمكن استخدام نوع المصادقة هذا فقط في وقت تشغيل التكامل المستضاف ذاتياً Microsoft Integration Runtime.

الخاصية الوصف مطلوب
email معرّف البريد الإلكتروني لحساب الخدمة المستخدم لمصادقة الخدمة. يمكن استخدامه فقط في وقت تشغيل التكامل المستضاف ذاتياً Microsoft Integration Runtime. لا
keyFilePath المسار الكامل لملف المفتاح .p12 أو .json المستخدم لمصادقة عنوان البريد الإلكتروني لحساب الخدمة. ‏‏نعم‬
trustedCertPath المسار الكامل لملف.pem الذي يحتوي على شهادات CA موثوقة المستخدمة للتحقق من الخادم عند الاتصال عبر TLS. يمكن تعيين هذه الخاصية فقط عند استخدام TLS في وقت تشغيل التكامل المستضاف ذاتياً Microsoft Integration Runtime. القيمة الافتراضية هي ملف cacerts.pem المثبت مع وقت تشغيل التكامل. لا
useSystemTrustStore يحدد ما إذا كان سيتم استخدام شهادة CA من مخزن النظام الموثوق به أو من ملف.pem محدد. القيمة الافتراضية هي false. لا

مثال:

{
    "name": "GoogleBigQueryLinkedService",
    "properties": {
        "type": "GoogleBigQuery",
        "typeProperties": {
            "project" : "<project id>",
            "requestGoogleDriveScope" : true,
            "authenticationType" : "ServiceAuthentication",
            "email": "<email>",
            "keyFilePath": "<.p12 or .json key path on the IR machine>"
        },
        "connectVia": {
            "referenceName": "<name of Self-hosted Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

خصائص مجموعة البيانات

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

لنسخ البيانات من Google BigQuery، عيّن خاصية النوع لمجموعة البيانات إلى GoogleBigQueryObject. تدعم الخصائص التالية:

الخاصية الوصف مطلوب
النوع وجوب تعيين خاصية النوع لمجموعة البيانات على: GoogleBigQueryObject ‏‏نعم‬
مجموعة البيانات اسم مجموعة بيانات Google BigQuery. لا (إذا تم تحديد "الاستعلام" في مصدر النشاط)
طاولتنا ضع اسمًا للجدول. لا (إذا تم تحديد "الاستعلام" في مصدر النشاط)
اسم الجدول ضع اسمًا للجدول. هذه الخاصية مدعومة للتوافق مع الإصدارات السابقة. بالنسبة لحمل العمل الجديد، استخدم dataset وtable. لا (إذا تم تحديد "الاستعلام" في مصدر النشاط)

مثال

{
    "name": "GoogleBigQueryDataset",
    "properties": {
        "type": "GoogleBigQueryObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<GoogleBigQuery linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

انسخ خصائص النشاط

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

GoogleBigQuerySource كنوع مصدر

لنسخ البيانات من Google BigQuery، عيّن نوع المصدر في نشاط النسخ على GoogleBigQuerySource. يتم دعم الخصائص التالية في قسم المصدر لنشاط النسخ.

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع لمصدر نشاط النسخ على GoogleBigQuerySource. ‏‏نعم‬
استعلام استخدم استعلام SQL المخصص لقراءة البيانات. مثال على ذلك "SELECT * FROM MyTable" . لا (إذا تم تحديد "tableName" في مجموعة البيانات)

مثال:

"activities":[
    {
        "name": "CopyFromGoogleBigQuery",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<GoogleBigQuery input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "GoogleBigQuerySource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

بحث عن خصائص النشاط

لمعرفة تفاصيل حول الخصائص، تحقق من نشاط البحث.

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