Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tip
Microsoft Fabric Data Warehouse je relační sklad v podnikovém měřítku na základu datového jezera s architekturou připravenou pro budoucnost, integrovanou AI a novými funkcemi. Pokud s datovými sklady začínáte, začněte pracovat s Fabric Data Warehouse. Stávající úlohy fondu dedikované SQL můžou upgradovat na Fabric a získat tak přístup k novým funkcím napříč datovou vědou, analýzou v reálném čase a reportováním.
Tento článek vysvětluje, jak vytvořit externí tabulky nebo ingestovat data z účtů Azure Data Lake Storage (ADLS) Gen2 pomocí spravované identity.
Prerequisites
K dokončení tohoto kurzu jsou potřeba následující zdroje informací:
- Účet Azure Data Lake Storage (ADLS) Gen2
- Pracovní prostor Azure Synapse Analytics a vyhrazený SQL fond
Dejte identitě pracovního prostoru přístup k účtu úložiště
Každý pracovní prostor Azure Synapse Analytics automaticky vytvoří spravovanou identitu, která vám pomůže nakonfigurovat zabezpečený přístup k externím datům z pracovního prostoru. Další informace o spravovaných identitách pro Azure Synapse Analytics najdete v Spravované identitě služby pro Azure Synapse Analytics.
Pokud chcete spravované identitě povolit přístup k datům v účtech ADLS Gen2, musíte identitě udělit přístup ke zdrojovému účtu. Pokud chcete udělit správná oprávnění, postupujte takto:
- Na portálu Azure vyhledejte svůj účet úložiště.
- Vyberte Úložiště dat –> Kontejnery a přejděte do složky, ke které externí tabulka potřebuje přístup.
- Vyberte Řízení přístupu (IAM).
- Vyberte >.
- V seznamu rolí funkcí úloh vyberte Přispěvatel dat objektů blob služby Storage a vyberte Další.
- Na stránce Přidat přiřazení role vyberte + Vybrat členy. Otevře se podokno Vybrat členy .
- Zadejte název vaší identity pracovního prostoru. Identita pracovního prostoru je stejná jako název vašeho pracovního prostoru. Po zobrazení vyberte identitu pracovního prostoru a poté vyberte.
- Na stránce Přidat přiřazení role se ujistěte, že seznam členů obsahuje požadovaný účet Microsoft Entra ID. Po ověření vyberte Zkontrolovat a přiřadit.
- Na potvrzovací stránce zkontrolujte změny a vyberte Zkontrolovat a přiřadit.
Vaše identita pracovního prostoru je teď členem role Přispěvatel dat objektů blob ve službě Storage a tím má přístup ke zdrojové složce.
Note
Tento postup platí také pro zabezpečené účty ADLS Gen2 nakonfigurované tak, aby omezovaly veřejný přístup. Pokud je váš účet úložiště přidružený k zabezpečenému účtu ADLS Gen2 nebo je přidružený k virtuální síti, externí tabulka nebo příkaz COPY INTO musí používat spravovanou identitu. Další informace o zabezpečení vašeho účtu ADLS Gen2 najdete v tématu Konfigurace firewallů a virtuálních sítí služby Azure Storage.
Ingestování dat pomocí funkce COPY INTO
Příkaz T-SQL COPY INTO poskytuje flexibilní, vysokokapacitní příjem dat do vašich tabulek a je hlavní strategií pro příjem dat do tabulek vašeho vyhrazeného fondu SQL.
COPY INTO umožňuje uživatelům ingestovat data z externích umístění, aniž by museli vytvářet další databázové objekty, které jsou vyžadovány pro externí tabulky.
Pro spuštění příkazu COPY INTO pomocí spravované identity pracovního prostoru pro ověřování použijte následující příkaz T-SQL:
COPY INTO <TableName>
FROM 'https://<AccountName>.dfs.core.windows.net/<Container>/<Folder>/ '
WITH
(
CREDENTIAL = (IDENTITY = 'Managed Identity'),
[<CopyIntoOptions>]
);
Kde:
-
<TableName>je název tabulky, do které se mají ingestovat data. -
<AccountName>je název vašeho účtu ADLS Gen2. -
<Container>je název kontejneru v rámci vašeho účtu úložiště, ve kterém jsou uložena zdrojová data. -
<Folder>je složka (nebo cesta s podsložkami), ve které jsou zdrojová data uložená ve vašem kontejneru. Název souboru můžete zadat také v případě, že odkazujete přímo na jeden soubor. -
<CopyIntoOptions>je seznam všech dalších možností, které chcete poskytnout příkazu COPY INTO.
Další informace a prozkoumání úplné syntaxe funkce COPY INTO najdete v tématu COPY INTO (Transact-SQL).
Dotazování dat na ADLS Gen2 pomocí externích tabulek
Externí tabulky umožňují uživatelům dotazovat se na data z účtů Azure Data Lake Storage (ADLS) Gen2 bez nutnosti ingestovat data jako první. Uživatelé mohou vytvořit externí tabulku, která odkazuje na soubory v kontejneru ADLS Gen2, a dotazovat se na ni stejně jako běžná uživatelská tabulka.
Následující kroky popisují proces vytvoření nové externí tabulky odkazující na data v ADLS Gen2 pomocí spravované identity pro ověřování.
Vytvoření požadovaných databázových objektů
Externí tabulky vyžadují vytvoření následujících objektů:
- Hlavní klíč databáze, který šifruje tajný kód přihlašovacích údajů v oboru databáze
- Oprávnění k databázi, které používá vaši identitu pracovního prostoru
- Externí zdroj dat, který odkazuje na zdrojovou složku
- Formát externího souboru, který definuje formát zdrojových souborů
- Definice externí tabulky, která se používá pro dotazy
Pokud chcete postupovat podle těchto kroků, použijte editor SQL v pracovním prostoru Azure Synapse nebo preferovaný klient SQL připojený k vyhrazenému fondu SQL. Pojďme se na tyto kroky podívat podrobněji.
Vytvoření hlavního klíče databáze
Hlavní klíč databáze je symetrický klíč, který slouží k ochraně privátních klíčů certifikátů a asymetrických klíčů, které jsou přítomné v databázi a tajných klíčích v přihlašovacích údajích v oboru databáze. Pokud už v databázi existuje hlavní klíč, nemusíte ho vytvářet. Nahraďte <Secure Password> zabezpečeným heslem. Toto heslo slouží k šifrování hlavního klíče v databázi.
K vytvoření hlavního klíče použijte následující příkaz T-SQL:
-- Replace <Secure Password> with a secure password
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Secure Password>';
Další informace o hlavním klíči databáze najdete v tématu CREATE MASTER KEY (Transact-SQL).
Vytvořit přihlašovací údaje s vymezeným oborem databáze
Přihlašovací údaje s rozsahem databáze používají vaši identitu pracovního prostoru a jsou potřebné pro přístup k externímu umístění, kdykoli externí tabulka vyžaduje přístup ke zdrojovým datům.
Pokud chcete vytvořit přihlašovací údaje s vymezeným oborem databáze, použijte následující příkaz. Nahraďte <CredentialName> názvem, který chcete použít pro přihlašovací údaje s vymezeným oborem databáze.
CREATE DATABASE SCOPED CREDENTIAL <CredentialName> WITH IDENTITY = 'Managed Service Identity';
Další informace o přihlašovacích údaji s vymezeným oborem databáze najdete v tématu CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).
Vytvoření externího zdroje dat
Dalším krokem je vytvoření externího zdroje dat, který určuje umístění zdrojových dat používaných externí tabulkou.
K vytvoření externího zdroje dat použijte následující příkaz T-SQL:
CREATE EXTERNAL DATA SOURCE <ExternalDataSourceName>
WITH (
TYPE = HADOOP,
LOCATION = 'abfss://<Container>@<AccountName>.dfs.core.windows.net/<Folder>/',
CREDENTIAL = <CredentialName>
);
Kde:
-
<ExternalDataSourceName>je název, který chcete použít pro externí zdroj dat. -
<AccountName>je název vašeho účtu ADLS Gen2. -
<Container>je název kontejneru v rámci vašeho účtu úložiště, ve kterém jsou uložena zdrojová data. -
<Folder>je složka (nebo cesta s podsložkami), ve které jsou zdrojová data uložená ve vašem kontejneru. Název souboru můžete zadat také v případě, že odkazujete přímo na jeden soubor. -
<Credential>je název přihlašovacích údajů s rozsahem databáze, které jste vytvořili předtím.
Další informace o externích zdrojích dat najdete v tématu CREATE EXTERNAL DATA SOURCE (Transact-SQL).
Vytvoření formátu externího souboru
Dalším krokem je vytvoření formátu externího souboru. Určuje skutečné rozložení dat odkazovaných externí tabulkou.
K vytvoření formátu externího souboru použijte následující příkaz T-SQL. Nahraďte <FileFormatName> názvem, který chcete použít pro formát externího souboru.
CREATE EXTERNAL FILE FORMAT <FileFormatName>
WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (
FIELD_TERMINATOR = ',',
STRING_DELIMITER = '"',
FIRST_ROW = 2,
USE_TYPE_DEFAULT = True
)
);
V tomto příkladu upravte parametry, jako jsou FIELD_TERMINATOR, STRING_DELIMITER, FIRST_ROW a další, podle potřeby v souladu s vašimi zdrojovými daty. Další možnosti formátování a další informace naleznete EXTERNAL FILE FORMATv tématu CREATE EXTERNAL FILE FORMAT.
Vytvoření externí tabulky
Teď, když se vytvoří všechny potřebné objekty, které obsahují metadata pro bezpečný přístup k externím datům, je čas vytvořit externí tabulku. K vytvoření externí tabulky použijte následující příkaz 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>
);
Kde:
-
<ExternalTableName>je název, který chcete použít pro externí tabulku. -
<Path>je cesta ke zdrojovým datům vzhledem k umístění zadanému v externím zdroji dat. -
<ExternalDataSourceName>je název externího zdroje dat, který jste vytvořili dříve. -
<FileFormatName>je název formátu externího souboru, který jste vytvořili dříve.
Nezapomeňte upravit název tabulky a schéma na požadovaný název a schéma dat ve zdrojových souborech.
Provedení dotazu na externí tabulku
V tomto okamžiku se vytvoří všechna metadata potřebná pro přístup k externí tabulce. K otestování externí tabulky použijte k ověření vaší práce dotaz, například následující ukázku T-SQL:
SELECT TOP 10 Col1, Col2 FROM <ExternalTableName>;
Pokud bylo všechno správně nakonfigurované, měli byste v důsledku tohoto dotazu vidět data ze zdrojových dat.
Další informace a prozkoumání úplné syntaxe CREATE EXTERNAL TABLE najdete v tématu CREATE EXTERNAL TABLE (Transact-SQL).
Související obsah
- Kurz: Načtení externích dat pomocí spravované identity
- Načtení maloobchodních dat společnosti Contoso do vyhrazených fondů SQL ve službě Azure Synapse Analytics
- Spravované identity pro Azure Synapse Analytics