ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تشرح هذه المقالة كيفية إنشاء جداول خارجية باستخدام Microsoft Entra ID passthrough.
الموارد التالية مطلوبة لإكمال هذا البرنامج التعليمي:
- مساحة عمل Azure Synapse Analytics وتجمع SQL مخصص
يستخدم هذا المثال حساب معرف Microsoft Entra (أو مجموعة) للمصادقة على البيانات المصدر.
لتمكين الوصول إلى البيانات على حسابات Azure Data Lake Storage (ADLS) Gen2، تحتاج إلى منح حساب معرف Microsoft Entra (أو المجموعة) حق الوصول إلى حساب المصدر. لمنح الأذونات المناسبة، اتبع الخطوات التالية:
- في مدخل Microsoft Azure، ابحث عن حساب التخزين الخاص بك.
- حدد Data storage ->Containers، وانتقل إلى المجلد حيث توجد البيانات المصدر التي يحتاج الجدول الخارجي إلى الوصول إليها.
- حدد Access control (IAM).
- حدد إضافة -> إضافة تعيين دور.
- في قائمة أدوار وظيفة الوظيفة، حدد Storage Blob Data Reader وحدد Next. إذا كانت هناك حاجة إلى أذونات الكتابة، فحدد Storage Blob Data Contributor.
- في صفحة Add role assignment ، حدد + Select members. يفتح جزء Select members في الزاوية اليمنى.
- اكتب اسم حساب معرف Microsoft Entra المطلوب. عند عرضها، اختر الحساب الذي تريده واختر تحديد.
- في صفحة إضافة تعيين دور، تأكد من أن قائمة الأعضاء تتضمن حساب معرف Microsoft Entra المطلوب. بمجرد التحقق، حدد Review + assign.
- في صفحة التأكيد، راجع التغييرات وحدد Review + assign.
حساب Microsoft Entra ID أو المجموعة الآن عضو في دور Storage Blob Data Reader ولديه حق الوصول إلى المجلد المصدر.
COPY INTO
توفر عبارة T-SQL استيعابا مرنا وعالي الإنتاجية للبيانات في جداولك، وهي الاستراتيجية الأساسية لاستيعاب البيانات في جداول تجمع SQL المخصصة. يسمح للمستخدمين ب استيعاب البيانات من مواقع خارجية دون الحاجة إلى إنشاء أي من كائنات قاعدة البيانات الإضافية المطلوبة للجداول الخارجية.
COPY INTO
تستخدم العبارة الوسيطة CREDENTIAL
لتحديد أسلوب المصادقة المستخدم للاتصال بحساب المصدر. ومع ذلك، عند المصادقة باستخدام معرف Microsoft Entra أو إلى حساب تخزين عام، CREDENTIAL
لا تحتاج إلى تحديد. لتشغيل العبارة COPY INTO
باستخدام مصادقة معرف Entra، استخدم الأمر T-SQL التالي:
COPY INTO <TableName>
FROM 'https://<AccountName>.dfs.core.windows.net/<Container>/<Folder>/ '
WITH
(
[<CopyIntoOptions>]
);
المكان:
-
<TableName>
هو اسم الجدول لاستيعاب البيانات فيه. -
<AccountName>
هو اسم حساب ADLS Gen2 الخاص بك. -
<Container>
هو اسم الحاوية داخل حساب التخزين الخاص بك حيث يتم تخزين بيانات المصدر -
<Folder>
هو المجلد (أو المسار مع المجلدات الفرعية) حيث يتم تخزين البيانات المصدر داخل الحاوية الخاصة بك. يمكنك أيضا توفير اسم ملف إذا كان يشير مباشرة إلى ملف واحد. -
<CopyIntoOptions>
هي قائمة بأي خيارات أخرى ترغب في توفيرها للبيانCOPY INTO
.
لمعرفة المزيد واستكشاف بناء الجملة الكامل، راجع COPY INTO (Transact-SQL).
تسمح الجداول الخارجية للمستخدمين بالاستعلام عن البيانات من حسابات Azure Data Lake Storage (ADLS) Gen2 دون الحاجة إلى استيعاب البيانات أولا. يمكن للمستخدمين إنشاء جدول خارجي يشير إلى ملفات على حاوية ADLS Gen2، والاستعلام عنه تماما مثل جدول مستخدم عادي.
تصف الخطوات التالية عملية إنشاء جدول خارجي جديد يشير إلى البيانات على ADLS Gen2، باستخدام مصادقة معرف Entra.
تتطلب الجداول الخارجية إنشاء العناصر التالية:
- مصدر بيانات خارجي يشير إلى المجلد المصدر
- تنسيق ملف خارجي يحدد تنسيق الملفات المصدر
- تعريف جدول خارجي يستخدم للاستعلامات
لاتباع هذه الخطوات، تحتاج إلى استخدام محرر SQL في مساحة عمل Azure Synapse، أو عميل SQL المفضل لديك المتصل بتجمع SQL المخصص. لنلق نظرة على هذه الخطوات بالتفصيل.
الخطوة التالية هي إنشاء مصدر بيانات خارجي يحدد مكان وجود البيانات المصدر المستخدمة من قبل الجدول الخارجي.
لإنشاء مصدر البيانات الخارجي، استخدم الأمر T-SQL التالي:
CREATE EXTERNAL DATA SOURCE <ExternalDataSourceName>
WITH (
TYPE = HADOOP,
LOCATION = 'abfss://<Container>@<AccountName>.dfs.core.windows.net/<Folder>/'
);
المكان:
-
<ExternalDataSourceName>
هو الاسم الذي تريد استخدامه لمصدر البيانات الخارجي. -
<AccountName>
هو اسم حساب ADLS Gen2 الخاص بك. -
<Container>
هو اسم الحاوية داخل حساب التخزين الخاص بك حيث يتم تخزين البيانات المصدر. -
<Folder>
هو المجلد (أو المسار مع المجلدات الفرعية) حيث يتم تخزين البيانات المصدر داخل الحاوية الخاصة بك.
لمعرفة المزيد حول مصادر البيانات الخارجية، راجع إنشاء مصدر بيانات خارجي (Transact-SQL) .
الخطوة التالية هي إنشاء تنسيق الملف الخارجي. يحدد التخطيط الفعلي للبيانات المشار إليها بواسطة الجدول الخارجي.
لإنشاء تنسيق الملف الخارجي، استخدم الأمر T-SQL التالي. استبدل <FileFormatName>
بالاسم الذي تريد استخدامه لتنسيق الملف الخارجي.
CREATE EXTERNAL FILE FORMAT <FileFormatName>
WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (
FIELD_TERMINATOR = ',',
STRING_DELIMITER = '"',
FIRST_ROW = 2,
USE_TYPE_DEFAULT = True
)
);
في هذا المثال، اضبط معلمات مثل FIELD_TERMINATOR
و STRING_DELIMITER
FIRST_ROW
و وغيرها حسب الحاجة وفقا لبيانات المصدر. لمزيد من خيارات التنسيق ولمعرفة المزيد، راجع إنشاء تنسيق ملف خارجي (Transact-SQL) .
الآن بعد إنشاء الكائنات الضرورية التي تحتوي على بيانات التعريف للوصول إلى البيانات الخارجية بأمان، حان الوقت لإنشاء الجدول الخارجي. لإنشاء الجدول الخارجي، استخدم الأمر T-SQL التالي:
-- Adjust the table name and columns to your desired name and external table schema
CREATE EXTERNAL TABLE <ExternalTableName> (
Col1 INT,
Col2 NVARCHAR(100),
Col4 INT
)
WITH
(
LOCATION = '<Path>',
DATA_SOURCE = <ExternalDataSourceName>,
FILE_FORMAT = <FileFormatName>
);
المكان:
-
<ExternalTableName>
هو الاسم الذي تريد استخدامه للجدول الخارجي. -
<Path>
هو مسار بيانات المصدر، بالنسبة إلى الموقع المحدد في مصدر البيانات الخارجي. -
<ExternalDataSourceName>
هو اسم مصدر البيانات الخارجي الذي أنشأته. -
<FileFormatName>
هو اسم تنسيق الملف الخارجي الذي أنشأته.
تأكد من ضبط اسم الجدول والمخطط إلى الاسم المطلوب ومخطط البيانات في الملفات المصدر.
عند هذه النقطة، يتم إنشاء جميع بيانات التعريف المطلوبة للوصول إلى الجدول الخارجي. لاختبار الجدول الخارجي، استخدم استعلاما مثل نموذج T-SQL التالي للتحقق من صحة عملك:
SELECT TOP 10 Col1, Col2 FROM <ExternalTableName>;
إذا تم تكوين كل شيء بشكل صحيح، يجب أن تشاهد البيانات من البيانات المصدر كنتيجة لهذا الاستعلام.
لمزيد من المعلومات حول CREATE EXTERNAL TABLE
، راجع إنشاء جدول خارجي (Transact-SQL) .