使用臨時憑據用COPY INTO加載數據
如果Databricks集群或SQL倉庫沒有讀取源文件的權限,則可以使用臨時憑證從外部雲對象存儲訪問數據,並將文件加載到Delta Lake表中。
根據組織管理雲安全的方式,您可能需要要求雲管理員或高級用戶向您提供憑據。
指定訪問數據的臨時憑證或加密選項
請注意
在Databricks Runtime 10.2及以上版本中提供憑據和加密選項。
複製成
支持:
Azure SAS令牌從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建議您將過期期限設置為剛好足夠完成任務的長度。
複製成
支持從AWS S3加載加密數據。要加載加密數據,請提供加密類型和解密數據的密鑰。
使用臨時憑證加載數據
下麵的示例使用臨時憑證從S3和ADLS Gen2加載數據,以提供對源數據的訪問。
複製成my_json_data從“s3: / /桶/ jsonData”與(憑證(AWS_ACCESS_KEY=“……”,AWS_SECRET_KEY=“……”,AWS_SESSION_TOKEN=“……”))FILEFORMAT=JSON複製成my_json_data從“abfss: / / container@storageAccount.dfs.core.windows.net/jsonData”與(憑證(AZURE_SAS_TOKEN=“……”))FILEFORMAT=JSON