Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk bemutatja, hogyan hozhat létre külső táblákat a Microsoft Entra ID passthrough használatával.
Előfeltételek
Az oktatóanyag elvégzéséhez a következő erőforrások szükségesek:
- Azure Synapse Analytics-munkaterület és dedikált SQL-készlet
A Microsoft Entra ID-fiók hozzáférésének biztosítása a tárfiókhoz
Ez a példa egy Microsoft Entra-azonosító fiókot (vagy csoportot) használ a forrásadatok hitelesítéséhez.
Az Azure Data Lake Storage (ADLS) Gen2-fiókok adataihoz való hozzáférés engedélyezéséhez hozzáférést kell adnia a Microsoft Entra ID-fiókjának (vagy csoportjának) a forrásfiókhoz. A megfelelő engedélyek megadásához kövesse az alábbi lépéseket:
- Az Azure portálon keresse meg a tárfiókját.
- Válassza az Adattárolás –> Tárolók lehetőséget, és keresse meg azt a mappát, amelyhez a külső tábla forrásadatainak hozzáférésre van szüksége.
- Válassza a Hozzáférés-vezérlés (IAM) lehetőséget.
- Válassza a Hozzáadás –> Szerepkör-hozzárendelés hozzáadása lehetőséget.
- A feladatfüggvény-szerepkörök listájában válassza a Storage Blob Data Reader lehetőséget, és válassza a Tovább lehetőséget. Ha írási engedélyekre van szükség, válassza a Storage Blob Data Contributor lehetőséget.
- In the Add role assignment page, select + Select members. Megnyílik a Tagok kijelölése ablak a jobb oldali sarokban.
- Írja be a kívánt Microsoft Entra-azonosító fiók nevét. Amikor megjelenik, válassza ki a kívánt fiókot, és válassza a Kiválasztás lehetőséget.
- A Szerepkör-hozzárendelés hozzáadása lapon ellenőrizze, hogy a Tagok listája tartalmazza a kívánt Microsoft Entra ID fiókját. Az ellenőrzés után válassza a Véleményezés + hozzárendelés lehetőséget.
- A megerősítést kérő lapon tekintse át a módosításokat, és válassza a Véleményezés + hozzárendelés lehetőséget.
A Microsoft Entra ID-fiók vagy -csoport mostantól a Storage Blob Data Reader szerepkör tagja, és hozzáfér a forrásmappához.
Adatok betöltése a COPY INTO használatával
A COPY INTO T-SQL utasítás rugalmas, nagy átviteli sebességű adatbetöltést biztosít a táblákba, és az elsődleges stratégia az adatok dedikált SQL-készlettáblákba való betöltésére. Lehetővé teszi a felhasználók számára, hogy külső helyekről származó adatokat használjanak anélkül, hogy létre kellene hozniuk a külső táblákhoz szükséges további adatbázis-objektumokat.
Az COPY INTO utasítás az CREDENTIAL argumentum használatával adja meg a forrásfiókhoz való csatlakozáshoz használt hitelesítési módszert. A Microsoft Entra ID vagy egy nyilvános tárfiók CREDENTIAL használatával történő hitelesítéskor azonban nem szükséges megadni. Az utasítás Entra ID-hitelesítéssel való futtatásához COPY INTO használja a következő T-SQL-parancsot:
COPY INTO <TableName>
FROM 'https://<AccountName>.dfs.core.windows.net/<Container>/<Folder>/ '
WITH
(
[<CopyIntoOptions>]
);
Where:
-
<TableName>annak a táblának a neve, amelybe adatokat szeretne beszedni. -
<AccountName>is your ADLS Gen2 account name. -
<Container>annak a tárolónak a neve a tárfiókban, ahol a forrásadatokat tárolják -
<Folder>az a mappa (vagy almappákkal rendelkező elérési út), ahol a forrásadatok a tárolóban vannak tárolva. Ha közvetlenül egyetlen fájlra mutat, megadhatja a fájl nevét is. -
<CopyIntoOptions>az utasításhozCOPY INTOmegadni kívánt egyéb lehetőségek listája.
További információ és a teljes szintaxis megismerése: COPY INTO (Transact-SQL).
Adatok lekérdezése az ADLS Gen2-ben külső táblák használatával
A külső táblák lehetővé teszik a felhasználók számára, hogy adatokat kérdezhessenek le az Azure Data Lake Storage (ADLS) Gen2-fiókokból anélkül, hogy először be kellene vennie az adatokat. A felhasználók létrehozhatnak egy külső táblát, amely egy ADLS Gen2-tároló fájljaira mutat, és ugyanúgy kérdezhetők le, mint egy normál felhasználói tábla.
Az alábbi lépések azt ismertetik, hogyan hozható létre egy új külső tábla, amely az ADLS Gen2 adataira mutat Entra ID-hitelesítéssel.
A szükséges adatbázis-objektumok létrehozása
A külső táblák létrehozásához a következő objektumok szükségesek:
- Külső adatforrás, amely a forrásmappára mutat
- Külső fájlformátum, amely meghatározza a forrásfájlok formátumát
- Lekérdezésekhez használt külső tábladefiníció
Az alábbi lépések végrehajtásához az SQL-szerkesztőt kell használnia az Azure Synapse-munkaterületen, vagy a dedikált SQL-készlethez csatlakoztatott elsődleges SQL-ügyfelet. Nézzük meg részletesen ezeket a lépéseket.
A külső adatforrás létrehozása
A következő lépés egy külső adatforrás létrehozása, amely meghatározza, hogy a külső tábla által használt forrásadatok hol találhatók.
A külső adatforrás létrehozásához használja a következő T-SQL-parancsot:
CREATE EXTERNAL DATA SOURCE <ExternalDataSourceName>
WITH (
TYPE = HADOOP,
LOCATION = 'abfss://<Container>@<AccountName>.dfs.core.windows.net/<Folder>/'
);
Where:
-
<ExternalDataSourceName>a külső adatforráshoz használni kívánt név. -
<AccountName>is your ADLS Gen2 account name. -
<Container>a tároló neve a tárfiókon belül, ahol a forrásadatokat tárolják. -
<Folder>az a mappa (vagy almappákkal rendelkező elérési út), ahol a forrásadatok a tárolóban vannak tárolva.
A külső adatforrásokról további információt a CREATE EXTERNAL DATA SOURCE (Transact-SQL) című témakörben talál.
A külső fájlformátum létrehozása
A következő lépés a külső fájlformátum létrehozása. Meghatározza a külső tábla által hivatkozott adatok tényleges elrendezését.
A külső fájlformátum létrehozásához használja a következő T-SQL-parancsot. Cserélje le <FileFormatName> a külső fájlformátumhoz használni kívánt névre.
CREATE EXTERNAL FILE FORMAT <FileFormatName>
WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (
FIELD_TERMINATOR = ',',
STRING_DELIMITER = '"',
FIRST_ROW = 2,
USE_TYPE_DEFAULT = True
)
);
Ebben a példában, a forrásadatoknak megfelelően, módosítsa a paramétereket, például FIELD_TERMINATOR, STRING_DELIMITER, FIRST_ROW és más hasonlókat. További formázási lehetőségekért és további információkért lásd : CREATE EXTERNAL FILE FORMAT (Transact-SQL).
A külső tábla létrehozása
Most, hogy létrejöttek a metaadatokat tartalmazó szükséges objektumok a külső adatok biztonságos eléréséhez, ideje létrehozni a külső táblát. A külső tábla létrehozásához használja a következő T-SQL-parancsot:
-- 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>
);
Where:
-
<ExternalTableName>is the name you want to use for your external table. -
<Path>a forrásadatok elérési útja a külső adatforrásban megadott helyhez viszonyítva. -
<ExternalDataSourceName>a létrehozott külső adatforrás neve. -
<FileFormatName>a létrehozott külső fájlformátum neve.
Ügyeljen arra, hogy a tábla nevét és sémáját a forrásfájlokban lévő adatok kívánt nevéhez és sémájához igazítsa.
Query the external table
Ekkor létrejön a külső tábla eléréséhez szükséges összes metaadat. A külső tábla teszteléséhez használjon egy lekérdezést, például a következő T-SQL-mintát a munka ellenőrzéséhez:
SELECT TOP 10 Col1, Col2 FROM <ExternalTableName>;
Ha minden megfelelően lett konfigurálva, a lekérdezés eredményeként látnia kell a forrásadatokból származó adatokat.
További információ: CREATE EXTERNAL TABLECREATE EXTERNAL TABLE (Transact-SQL).