Betöltés a tárolóból
A .ingest into
parancs úgy betölti az adatokat egy táblába, hogy "lekérte" az adatokat egy vagy több felhőbeli tárolófájlból.
A parancs például lekérhet 1000 CSV-formátumú blobot Azure Blob Storage, elemezheti és egyetlen céltáblába betöltheti őket.
Az adatok hozzá lesznek fűzve a táblához a meglévő rekordok befolyásolása és a tábla sémájának módosítása nélkül.
Megjegyzés
Ez a betöltési módszer feltárásra és prototípus-mentesítésre szolgál. Éles vagy nagy volumenű forgatókönyvekben ne használja.
Engedélyek
A parancs futtatásához legalább Table Ingestor-engedélyekkel kell rendelkeznie.
Syntax
.ingest
[async
] into
table
TableNameSourceDataLocator [with
(
IngestionPropertyName=
IngestionPropertyValue [,
...] )
]
További információ a szintaxis konvenciókról.
Paraméterek
Név | Típus | Kötelező | Leírás |
---|---|---|---|
async |
string |
Ha meg van adva, a parancs azonnal visszatér, és a háttérben folytatja a betöltést. A parancs eredményei közé tartozik egy OperationId érték, amely a paranccsal a betöltési befejezés állapotának és eredményeinek lekéréséhez használható .show operation . |
|
TableName | string |
✔️ | Annak a táblának a neve, amelybe az adatokat betölti. A tábla neve mindig az adatbázishoz viszonyítva van a környezetben. Ha nincs megadva sémaleképezési objektum, a rendszer az adatbázis sémáját használja a környezetben. |
SourceDataLocator | string |
✔️ | A tárkapcsolati sztringek egyetlen vagy vesszővel tagolt listája. Egyetlen kapcsolati karakterlánc egy tárfiók által üzemeltetett fájlra kell hivatkoznia. Több fájl betöltése több kapcsolati sztring megadásával vagy egy külső táblalekérdezéséből való betöltéssel végezhető el. |
Megjegyzés
A SourceDataPointerhezobfuscated sztringkonstansok használatát javasoljuk. A szolgáltatás belső nyomkövetésekben és hibaüzenetekben törli a hitelesítő adatokat.
Betöltési tulajdonságok
Fontos
- A várólistán lévő betöltési adatok kötegelése a Betöltési tulajdonságok használatával történik. Minél több különböző betöltési leképezési tulajdonságot használ, például különböző ConstValue értékeket, annál töredezettebbé válik a betöltési folyamat, ami teljesítménycsökkenéshez vezethet.
Az alábbi táblázat felsorolja az Azure Data Explorer által támogatott tulajdonságokat, ismerteti őket, és példákat tartalmaz:
Tulajdonság | Leírás | Példa |
---|---|---|
ingestionMapping |
Sztringérték, amely azt jelzi, hogyan képezheti le az adatokat a forrásfájlból a tábla tényleges oszlopaiba. Adja meg az format értéket a megfelelő leképezési típussal. Lásd: adatleképezések. |
with (format="json", ingestionMapping = "[{\"column\":\"rownumber\", \"Properties\":{\"Path\":\"$.RowNumber\"}}, {\"column\":\"rowguid\", \"Properties\":{\"Path\":\"$.RowGuid\"}}]") (elavult: avroMapping , csvMapping , jsonMapping ) |
ingestionMappingReference |
Sztringérték, amely azt jelzi, hogyan képezheti le az adatokat a forrásfájlból a tábla tényleges oszlopaiba egy elnevezett leképezési szabályzatobjektum használatával. Adja meg az format értéket a megfelelő leképezési típussal. Lásd: adatleképezések. |
with (format="csv", ingestionMappingReference = "Mapping1") (elavult: avroMappingReference , csvMappingReference , jsonMappingReference ) |
creationTime |
A dátum/idő érték (ISO8601 sztringként formázva), amelyet a betöltött adat kiterjedésének létrehozásakor használhat. Ha nincs meghatározva, a rendszer az aktuális értéket (now() ) használja. Az alapértelmezett érték felülírása hasznos a régebbi adatok betöltésekor, hogy a megőrzési szabályzat megfelelően legyen alkalmazva. Ha meg van adva, győződjön meg arról, hogy a Lookback céltábla hatályos Extents merge szabályzatának tulajdonsága igazodik a megadott értékhez. |
with (creationTime="2017-02-13") |
extend_schema |
Egy logikai érték, amely, ha meg van adva, arra utasítja a parancsot, hogy terjessze ki a tábla sémáját (alapértelmezés szerint a értékre false ). Ez a beállítás csak a és .set-or-append parancsokra .append vonatkozik. Az egyetlen engedélyezett sémabővítmények végén további oszlopok vannak hozzáadva a táblához. |
Ha az eredeti táblaséma , (a:string, b:int) akkor érvényes sémabővítmény lenne (a:string, b:int, c:datetime, d:string) , de (a:string, c:datetime) nem lenne érvényes |
folder |
A lekérdezési parancsok betöltéséhez a táblához rendelendő mappa. Ha a tábla már létezik, ez a tulajdonság felülbírálja a tábla mappáját. | with (folder="Tables/Temporary") |
format |
Az adatformátum (lásd a támogatott adatformátumokat). | with (format="csv") |
ingestIfNotExists |
Olyan sztringérték, amely ha meg van adva, megakadályozza a betöltés sikerességét, ha a táblában már vannak azonos értékű címkével ingest-by: ellátott adatok. Ez biztosítja az idempotens adatbetöltést. További információ: betöltési címkék. |
A tulajdonságok azt jelzik with (ingestIfNotExists='["Part0001"]', tags='["ingest-by:Part0001"]') , hogy ha a címkével ingest-by:Part0001 rendelkező adatok már léteznek, akkor ne fejezze be az aktuális betöltési elemet. Ha még nem létezik, ennek az új betöltési műveletnek rendelkeznie kell ezzel a címkekészlettel (abban az esetben, ha egy jövőbeli betöltési kísérlet újra betölti ugyanazokat az adatokat.) |
ignoreFirstRecord |
Egy logikai érték, amely ha a értékre true van állítva, azt jelzi, hogy a betöltésnek figyelmen kívül kell hagynia minden fájl első rekordját. Ez a tulajdonság akkor hasznos, ha a fájl CSV első rekordja az oszlopnév. Alapértelmezés szerint a false rendszer feltételezi. |
with (ignoreFirstRecord=false) |
policy_ingestiontime |
Egy logikai érték, amely, ha meg van adva, azt írja le, hogy engedélyezi-e a betöltési időszabályzatot egy olyan táblán, amelyet ez a parancs hoz létre. A mező alapértelmezett értéke: true . |
with (policy_ingestiontime=false) |
recreate_schema |
Egy logikai érték, amely, ha meg van adva, leírja, hogy a parancs újra létrehozza-e a tábla sémáját. Ez a tulajdonság csak a .set-or-replace parancsra vonatkozik. Ez a tulajdonság elsőbbséget élvez a extend_schema tulajdonságnál, ha mindkettő be van állítva. |
with (recreate_schema=true) |
tags |
A betöltött adatokhoz társítandó címkék listája JSON-sztringként formázva | with (tags="['Tag1', 'Tag2']") |
validationPolicy |
Egy JSON-sztring, amely azt jelzi, hogy mely érvényesítéseket kell futtatni a CSV-formátummal ábrázolt adatok betöltése során. A különböző lehetőségek magyarázatát lásd: Adatbetöltés . | with (validationPolicy='{"ValidationOptions":1, "ValidationImplications":1}') (ez valójában az alapértelmezett szabályzat) |
zipPattern |
Ezt a tulajdonságot akkor használja, ha zip-archívummal rendelkező tárolóból betölt adatokat. Ez egy sztringérték, amely azt a reguláris kifejezést jelzi, amelyet a ZIP-archívumban a betöltendő fájlok kiválasztásakor kell használni. A rendszer figyelmen kívül hagyja az archívumban lévő összes többi fájlt. | with (zipPattern="*.csv") |
Hitelesítés és engedélyezés
Minden tároló kapcsolati karakterlánc jelzi a tárhoz való hozzáféréshez használni kívánt engedélyezési módszert. Az engedélyezési módszertől függően előfordulhat, hogy a rendszerbiztonsági tagnak engedélyt kell adni a külső tárolóra a betöltés végrehajtásához.
Az alábbi táblázat a támogatott hitelesítési módszereket és az adatok külső tárolóból való betöltéséhez szükséges engedélyeket sorolja fel.
Hitelesítési módszer | Azure Blob Storage/Data Lake Storage Gen2 | Data Lake Storage Gen1 |
---|---|---|
Megszemélyesítés | Storage-blobadatok olvasója | Olvasó |
Közös hozzáférésű (SAS) jogkivonat | Lista + Olvasás | Ez a hitelesítési módszer az 1. generációs verzióban nem támogatott. |
Microsoft Entra hozzáférési jogkivonat | ||
Tárfiók hozzáférési kulcsa | Ez a hitelesítési módszer az 1. generációs verzióban nem támogatott. | |
Kezelt identitás | Storage-blobadatok olvasója | Olvasó |
Válaszok
A parancs eredménye egy tábla, amely annyi rekordot tartalmaz, amennyit a parancs által létrehozott adatszegélyek ("extents") hoznak létre. Ha nem hoztak létre adat szegmenseket, a rendszer egyetlen rekordot ad vissza üres (nulla értékű) mértékazonosítóval.
Név | Típus | Description |
---|---|---|
ExtentId | guid |
A parancs által létrehozott adats szegmens egyedi azonosítója. |
Elem betöltődve | string |
Egy vagy több, ehhez a rekordhoz kapcsolódó tárfájl. |
Időtartam | timespan |
Mennyi ideig tartott a betöltés végrehajtása. |
HasErrors | bool |
Azt jelzi, hogy ez a rekord betöltési hibát jelez-e, vagy sem. |
Műveletazonosító | guid |
A műveletet jelképező egyedi azonosító. A paranccsal használható .show operation . |
Megjegyzés
Ez a parancs nem módosítja a betöltés alatt álló tábla sémáját. Ha szükséges, az adatokat a rendszer a betöltés során "kényszeríti" ebbe a sémába, nem fordítva (a felesleges oszlopokat figyelmen kívül hagyja, a hiányzó oszlopokat pedig null értékként kezeli a rendszer).
Példák
Azure Blob Storage közös hozzáférésű jogosultságkóddal
Az alábbi példa arra utasítja a fürtöt, hogy olvasson be két blobot Azure Blob Storage CSV-fájlként, és betöltse a tartalmát a táblábaT
. A ...
az Azure Storage közös hozzáférésű jogosultságkódját (SAS) jelöli, amely olvasási hozzáférést biztosít az egyes blobokhoz. Vegye figyelembe az obfuscated sztringek (a h
sztringértékek előtti) használatát is, hogy az SAS soha ne legyen rögzítve.
.ingest into table T (
h'https://contoso.blob.core.windows.net/container/file1.csv?...',
h'https://contoso.blob.core.windows.net/container/file2.csv?...'
)
Azure Blob Storage felügyelt identitással
Az alábbi példa bemutatja, hogyan olvashatja be a CSV-fájlokat Azure Blob Storage, és hogyan betöltheti annak tartalmát a táblába T
felügyelt identitásalapú hitelesítéssel. A felügyelt identitás-hitelesítési módszerről további információt a Felügyelt identitás hitelesítésének áttekintése című témakörben talál.
.ingest into table T ('https://StorageAccount.blob.core.windows.net/Container/file.csv;managed_identity=802bada6-4d21-44b2-9d15-e66b29e4d63e')
Azure Data Lake Storage Gen 2
Az alábbi példa a 2. generációs Azure Data Lake Storage (ADLSv2) adatok betöltésére használható. Az itt használt hitelesítő adatok (...
) a tárfiók hitelesítő adatai (megosztott kulcs), és csak a kapcsolati karakterlánc titkos részére használunk sztring-elrejtést.
.ingest into table T (
'abfss://myfilesystem@contoso.dfs.core.windows.net/path/to/file1.csv;...'
)
Azure Data Lake Storage
Az alábbi példa egyetlen fájlt betölt a Azure Data Lake Storage (ADLS) fájlból. A felhasználó hitelesítő adataival fér hozzá az ADLS-hez (így nem kell titkos kódként kezelni a tárolási URI-t). Azt is bemutatja, hogyan adhatja meg a betöltési tulajdonságokat.
.ingest into table T ('adl://contoso.azuredatalakestore.net/Path/To/File/file1.ext;impersonate')
with (format='csv')
Amazon S3 hozzáférési kulccsal
Az alábbi példa egyetlen fájlt használ az Amazon S3-ból egy hozzáférési kulcs azonosítójával és titkos hozzáférési kulcsával.
.ingest into table T ('https://bucketname.s3.us-east-1.amazonaws.com/path/to/file.csv;AwsCredentials=AKIAIOSFODNN7EXAMPLE,wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY')
with (format='csv')
Amazon S3 előre aláírt URL-címmel
Az alábbi példa egyetlen fájlt használ az Amazon S3-ból egy előre aláírt URL-cím használatával.
.ingest into table T ('https://bucketname.s3.us-east-1.amazonaws.com/file.csv?<<pre signed string>>')
with (format='csv')
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: