Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Om ditt Azure Databricks-kluster eller SQL-lager inte har behörighet att läsa dina källfiler kan du använda tillfälliga autentiseringsuppgifter för att komma åt data från extern molnobjektlagring och läsa in filer i en Delta Lake-tabell.
Beroende på hur din organisation hanterar din molnsäkerhet kan du behöva be en molnadministratör eller power-användare att ange autentiseringsuppgifter för dig. Mer information finns i Generera tillfälliga autentiseringsuppgifter för inmatning.
Ange tillfälliga autentiseringsuppgifter eller krypteringsalternativ för åtkomst till data
Anteckning
Alternativ för autentiseringsuppgifter och kryptering är tillgängliga i Databricks Runtime 10.4 LTS och senare.
              COPY INTO stöder:
- Azure SAS-token för att läsa data från ADLS och Azure Blob Storage. Tillfälliga token för Azure Blob Storage finns på containernivå, medan ADLS-token kan finnas på katalognivå utöver containernivån. Databricks rekommenderar att du använder SAS-token på katalognivå när det är möjligt. SAS-token måste ha behörigheten "Läsa", "Lista" och "Behörigheter".
 - AWS STS-token för att läsa data från AWS S3. Dina token ska ha behörigheterna "s3:GetObject*", "s3:ListBucket" och "s3:GetBucketLocation".
 
Varning
För att undvika missbruk eller exponering av tillfälliga autentiseringsuppgifter rekommenderar Databricks att du anger förfallohorisonter som bara är tillräckligt långa för att slutföra uppgiften.
              COPY INTO stöder inläsning av krypterade data från AWS S3. Om du vill läsa in krypterade data anger du typen av kryptering och nyckeln för att dekryptera data.
Läsa in data med hjälp av tillfälliga autentiseringsuppgifter
I följande exempel läses data från S3 och ADLS in med tillfälliga autentiseringsuppgifter för att ge åtkomst till källdata.
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
Ladda krypterade data
Med hjälp av kundspecifika krypteringsnycklar läser följande exempel in data från S3.
COPY INTO my_json_data
FROM 's3://my-bucket/jsonData' WITH (
  ENCRYPTION (TYPE = 'AWS_SSE_C', MASTER_KEY = '...')
)
FILEFORMAT = JSON
Läs in JSON-data med autentiseringsuppgifter för källa och mål
I följande exempel läses JSON-data från en fil på Azure in i den externa Delta-tabellen med namnet my_json_data.
Den här tabellen måste skapas innan COPY INTO kan köras.
Kommandot använder en befintlig autentiseringsuppgift för att skriva till en extern Delta-tabell och en annan för att läsa från ABFSS-platsen.
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')