تحميل البيانات باستخدام COPY INTO مع بيانات اعتماد مؤقتة

إذا لم يكن لدى مجموعة Azure Databricks أو مستودع SQL أذونات لقراءة الملفات المصدر، يمكنك استخدام بيانات الاعتماد المؤقتة للوصول إلى البيانات من تخزين كائن سحابي خارجي وتحميل الملفات في جدول Delta Lake.

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

تحديد بيانات الاعتماد المؤقتة أو خيارات التشفير للوصول إلى البيانات

إشعار

تتوفر خيارات بيانات الاعتماد والتشفير في Databricks Runtime 10.4 LTS وما فوق.

COPY INTO يدعم:

  • رموز SAS المميزة ل Azure لقراءة البيانات من ADLS Gen2 وAzure Blob Storage. توجد الرموز المميزة المؤقتة ل Azure Blob Storage على مستوى الحاوية، بينما يمكن أن تكون رموز ADLS Gen2 المميزة على مستوى الدليل بالإضافة إلى مستوى الحاوية. توصي Databricks باستخدام رموز SAS المميزة على مستوى الدليل عندما يكون ذلك ممكنا. يجب أن يحتوي رمز SAS المميز على أذونات "Read" و"List" و"Permissions".
  • رموز AWS STS المميزة لقراءة البيانات من AWS S3. يجب أن تحتوي الرموز المميزة الخاصة بك على أذونات "s3:GetObject*" و"s3:ListBucket" و"s3:GetBucketLocation".

تحذير

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

COPY INTO يدعم تحميل البيانات المشفرة من AWS S3. لتحميل البيانات المشفرة، قم بتوفير نوع التشفير والمفتاح لفك تشفير البيانات.

تحميل البيانات باستخدام بيانات الاعتماد المؤقتة

يقوم المثال التالي بتحميل البيانات من S3 وADLLS Gen2 باستخدام بيانات اعتماد مؤقتة لتوفير الوصول إلى البيانات المصدر.

COPY INTO my_json_data
FROM 's3://my-bucket/jsonData' WITH (
  CREDENTIAL (AWS_ACCESS_KEY = '...', AWS_SECRET_KEY = '...', AWS_SESSION_TOKEN = '...')
)
FILEFORMAT = JSON

COPY INTO my_json_data
FROM 'abfss://container@storageAccount.dfs.core.windows.net/jsonData' WITH (
  CREDENTIAL (AZURE_SAS_TOKEN = '...')
)
FILEFORMAT = JSON

تحميل البيانات المشفرة

باستخدام مفاتيح التشفير التي يوفرها العميل، يقوم المثال التالي بتحميل البيانات من S3.

COPY INTO my_json_data
FROM 's3://my-bucket/jsonData' WITH (
  ENCRYPTION (TYPE = 'AWS_SSE_C', MASTER_KEY = '...')
)
FILEFORMAT = JSON

تحميل بيانات JSON باستخدام بيانات الاعتماد للمصدر والهدف

يقوم المثال التالي بتحميل بيانات JSON من ملف على Azure إلى جدول Delta الخارجي المسمى my_json_data. يجب إنشاء هذا الجدول قبل COPY INTO تنفيذه. يستخدم الأمر بيانات اعتماد موجودة واحدة للكتابة إلى جدول Delta خارجي وآخر للقراءة من موقع ABFSS.

COPY INTO my_json_data WITH (CREDENTIAL target_credential)
  FROM 'abfss://container@storageAccount.dfs.core.windows.net/base/path' WITH (CREDENTIAL source_credential)
  FILEFORMAT = JSON
  FILES = ('f.json')