Sdílet prostřednictvím


Kurz: Načtení externích dat pomocí Microsoft Entra ID

Tento článek vysvětluje, jak vytvořit externí tabulky pomocí předávání ID Microsoft Entra.

Požadavky

K dokončení tohoto kurzu jsou potřeba následující zdroje informací:

  • Pracovní prostor Azure Synapse Analytics a vyhrazený fond SQL

Udělení přístupu k účtu úložiště účtu Microsoft Entra ID

Tento příklad používá účet Microsoft Entra ID (nebo skupinu) k ověření ve zdrojových datech.

Pokud chcete povolit přístup k datům v účtech Azure Data Lake Storage (ADLS) Gen2, musíte svému účtu Microsoft Entra ID (nebo skupině) udělit přístup ke zdrojovému účtu. Pokud chcete udělit správná oprávnění, postupujte takto:

  1. Na webu Azure Portal vyhledejte svůj účet úložiště.
  2. Vyberte Úložiště dat –> Kontejnery a přejděte do složky, kde zdrojová data, ke které externí tabulka potřebuje přístup.
  3. Vyberte Řízení přístupu (IAM) .
  4. Vyberte Přidat –> přidat přiřazení role.
  5. V seznamu rolí funkcí úloh vyberte Čtenář dat objektů blob služby Storage a vyberte Další. Pokud potřebujete oprávnění k zápisu, vyberte Přispěvatel dat objektů blob služby Storage.
  6. Na stránce Přidat přiřazení role vyberte + Vybrat členy. V pravém rohu se otevře podokno Vybrat členy .
  7. Zadejte název požadovaného účtu Microsoft Entra ID. Po zobrazení vyberte požadovaný účet a zvolte Vybrat.
  8. Na stránce Přidat přiřazení role se ujistěte, že seznam členů obsahuje požadovaný účet ID Microsoft Entra. Po ověření vyberte Zkontrolovat a přiřadit.
  9. Na potvrzovací stránce zkontrolujte změny a vyberte Zkontrolovat a přiřadit.

Účet nebo skupina Microsoft Entra ID je teď členem role Čtenář dat objektů blob služby Storage a má přístup ke zdrojové složce.

Ingestování dat pomocí funkce COPY INTO

Příkaz COPY INTO T-SQL poskytuje flexibilní příjem dat s vysokou propustností do tabulek a je primární strategií příjmu dat do vyhrazených tabulek fondu SQL. Umožňuje uživatelům ingestovat data z externích umístění, aniž by museli vytvářet další databázové objekty potřebné pro externí tabulky.

Tento COPY INTO příkaz používá CREDENTIAL argument k určení metody ověřování použité pro připojení ke zdrojovému účtu. Při ověřování pomocí MICROSOFT Entra ID nebo veřejného účtu CREDENTIAL úložiště ale není nutné zadávat. Pokud chcete příkaz spustit COPY INTO pomocí ověřování Entra ID, použijte následující příkaz T-SQL:

COPY INTO <TableName>
FROM 'https://<AccountName>.dfs.core.windows.net/<Container>/<Folder>/ '
WITH
(
    [<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 příkazu poskytnout COPY INTO .

Další informace a prozkoumání úplné syntaxe 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í ověřování Entra ID.

Vytvoření požadovaných databázových objektů

Externí tabulky vyžadují vytvoření následujících objektů:

  1. Externí zdroj dat, který odkazuje na zdrojovou složku
  2. Formát externího souboru, který definuje formát zdrojových souborů
  3. Definice externí tabulky, která se používá pro dotazy

Pokud chcete postupovat podle těchto kroků, musíte použít editor SQL v pracovním prostoru Azure Synapse nebo upřednostňovaný klient SQL připojený k vyhrazenému fondu SQL. Pojďme se na tyto kroky podívat podrobněji.

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>/'
);

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.

Další informace o externích zdrojích dat najdete v tématu VYTVOŘENÍ EXTERNÍHO ZDROJE DAT (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 FIELD_TERMINATORjsou , , STRING_DELIMITERFIRST_ROWa další podle potřeby v souladu s vašimi zdrojovými daty. Další možnosti formátování a další informace najdete v tématu CREATE EXTERNAL FILE FORMAT (Transact-SQL).

Vytvoření externí tabulky

Teď, když se vytvoří 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.
  • <FileFormatName> je název formátu externího souboru, který jste vytvořili.

Nezapomeňte upravit název tabulky a schéma na požadovaný název a schéma dat ve zdrojových souborech.

Dotazování 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 o CREATE EXTERNAL TABLEpříkazu CREATE EXTERNAL TABLE (Transact-SQL)