Adatok másolása és átalakítása az Azure Blob Storage-ban az Azure Data Factory vagy az Azure Synapse Analytics használatával
A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics
Tipp.
Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!
Ez a cikk azt ismerteti, hogyan használhatja a Copy tevékenység az Azure Data Factoryben és az Azure Synapse-folyamatokban az adatok Azure Blob Storage-ból és az Azure Blob Storage-ba való másolásához. Azt is ismerteti, hogyan használható a Adatfolyam tevékenység az Azure Blob Storage-adatok átalakítására. További információkért olvassa el az Azure Data Factory és az Azure Synapse Analytics bevezető cikkeit.
Tipp.
A data lake-hez vagy adattárházhoz tartozó migrálási forgatókönyvről a data lake-ből vagy adattárházból az Azure-ba történő migrálás című cikkből tájékozódhat.
Támogatott képességek
Ez az Azure Blob Storage-összekötő a következő képességeket támogatja:
Támogatott képességek | IR | Felügyelt privát végpont |
---|---|---|
Copy tevékenység (forrás/fogadó) | (1) (2) | ✓ Tárfiók kizárása V1 |
Adatfolyam leképezése (forrás/fogadó) | (1) | ✓ Tárfiók kizárása V1 |
Keresési tevékenység | (1) (2) | ✓ Tárfiók kizárása V1 |
GetMetadata-tevékenység | (1) (2) | ✓ Tárfiók kizárása V1 |
Tevékenység törlése | (1) (2) | ✓ Tárfiók kizárása V1 |
(1) Azure-integrációs modul (2) Saját üzemeltetésű integrációs modul
A Copy tevékenység ez a Blob Storage-összekötő a következőket támogatja:
- Blobok másolása általános célú Azure Storage-fiókokba és gyakori elérésű blobtárolókba.
- Blobok másolása fiókkulcs, szolgáltatásmegosztási jogosultságkód (SAS), szolgáltatásnév vagy felügyelt identitás használatával az Azure-erőforrás-hitelesítésekhez.
- Blobok másolása blokkokból, hozzáfűzőkből vagy lapblobokból, és adatok másolása csak blokkblobokba.
- Blobok másolása, illetve blobok elemzése vagy generálása támogatott fájlformátumokkal és tömörítési kodekekkel.
- A fájl metaadatainak megőrzése másolás közben.
Első lépések
A Copy tevékenység folyamattal való végrehajtásához használja az alábbi eszközök vagy SDK-k egyikét:
- Az Adatok másolása eszköz
- Az Azure Portal
- A .NET SDK
- A Python SDK
- Azure PowerShell
- A REST API
- Az Azure Resource Manager-sablon
Azure Blob Storage társított szolgáltatás létrehozása felhasználói felületen
Az alábbi lépéseket követve hozzon létre egy Azure Blob Storage társított szolgáltatást az Azure Portal felhasználói felületén.
Keresse meg az Azure Data Factory vagy a Synapse-munkaterület Kezelés lapját, és válassza a Társított szolgáltatások lehetőséget, majd válassza az Új lehetőséget:
Keresse meg a blobot, és válassza ki az Azure Blob Storage-összekötőt.
Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új társított szolgáltatást.
Az összekötő konfigurációjának részletei
Az alábbi szakaszok a Data Factory és a Synapse-folyamat entitásainak a Blob Storage-ra vonatkozó definiálásához használt tulajdonságok részleteit ismertetik.
Társított szolgáltatás tulajdonságai
Ez a Blob Storage-összekötő a következő hitelesítési típusokat támogatja. Részletekért tekintse meg a megfelelő szakaszokat.
- Névtelen hitelesítés
- Fiókkulcs-hitelesítés
- Közös hozzáférésű jogosultságkód hitelesítése
- Egyszerű szolgáltatás hitelesítése
- Rendszer által hozzárendelt felügyelt identitás hitelesítése
- Felhasználó által hozzárendelt felügyelt identitás hitelesítése
Feljegyzés
- Ha a nyilvános Azure-integrációs futtatókörnyezetet szeretné használni a Blob Storage-hoz való csatlakozáshoz a Megbízható Microsoft-szolgáltatások engedélyezése az Azure Storage tűzfalon engedélyezett tárfiók-beállítás eléréséhez, felügyelt identitáshitelesítést kell használnia. További információ az Azure Storage-tűzfalak beállításairól: Azure Storage-tűzfalak és virtuális hálózatok konfigurálása.
- Ha PolyBase vagy COPY utasítás használatával tölt be adatokat az Azure Synapse Analyticsbe, ha a forrás- vagy átmeneti Blob Storage azure-beli virtuális hálózati végponttal van konfigurálva, az Azure Synapse által megkövetelt felügyelt identitáshitelesítést kell használnia. További konfigurációs előfeltételekért tekintse meg a felügyelt identitáshitelesítési szakaszt.
Feljegyzés
Az Azure HDInsight és az Azure Machine Learning-tevékenységek csak az Azure Blob Storage-fiókkulcsokat használó hitelesítést támogatják.
Névtelen hitelesítés
A következő tulajdonságok támogatottak a tárfiókkulcs-hitelesítéshez az Azure Data Factoryben vagy a Synapse-folyamatokban:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A type tulajdonságot (javasolt) vagy AzureStorage (lásd a következő megjegyzéseket) kell beállítani AzureBlobStorage . |
Igen |
containerUri | Adja meg azt az Azure Blob-tároló URI-t, amely engedélyezte a névtelen olvasási hozzáférést ezzel a formátummal https://<AccountName>.blob.core.windows.net/<ContainerName> , és konfigurálja a tárolók és blobok névtelen nyilvános olvasási hozzáférését |
Igen |
connectVia | Az adattárhoz való csatlakozáshoz használandó integrációs modul . Használhatja az Azure integrációs modult vagy a saját üzemeltetésű integrációs modult (ha az adattár magánhálózaton található). Ha ez a tulajdonság nincs megadva, a szolgáltatás az alapértelmezett Azure-integrációs modult használja. | Nem |
Példa:
{
"name": "AzureBlobStorageAnonymous",
"properties": {
"annotations": [],
"type": "AzureBlobStorage",
"typeProperties": {
"containerUri": "https:// <accountname>.blob.core.windows.net/ <containername>",
"authenticationType": "Anonymous"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Példák felhasználói felületre:
A felhasználói felület a következő képen látható módon jelenik meg. Ez a minta az Azure open datasetet használja forrásként. Ha a nyitott adatkészletet bing_covid-19_data.csv szeretné lekérni, csak a Névtelen hitelesítés típust kell választania, és ki kell töltenie a Tároló URI-t a következővelhttps://pandemicdatalake.blob.core.windows.net/public
: .
Fiókkulcs-hitelesítés
A következő tulajdonságok támogatottak a tárfiókkulcs-hitelesítéshez az Azure Data Factoryben vagy a Synapse-folyamatokban:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A type tulajdonságot (javasolt) vagy AzureStorage (lásd a következő megjegyzéseket) kell beállítani AzureBlobStorage . |
Igen |
connectionString | Adja meg a tulajdonság Storage-hoz való csatlakozásához connectionString szükséges információkat. A fiókkulcsot az Azure Key Vaultban is elhelyezheti, és lekérheti a accountKey konfigurációt a kapcsolati sztring. További információkért tekintse meg az alábbi mintákat és a Store hitelesítő adatait az Azure Key Vaultban . |
Igen |
connectVia | Az adattárhoz való csatlakozáshoz használandó integrációs modul . Használhatja az Azure integrációs modult vagy a saját üzemeltetésű integrációs modult (ha az adattár magánhálózaton található). Ha ez a tulajdonság nincs megadva, a szolgáltatás az alapértelmezett Azure-integrációs modult használja. | Nem |
Feljegyzés
A másodlagos blobszolgáltatás-végpontok nem támogatottak a fiókkulcs-hitelesítés használatakor. Más hitelesítési típusokat is használhat.
Feljegyzés
Ha a AzureStorage
társított típusú szolgáltatást használja, az továbbra is támogatott. Javasoljuk azonban, hogy az új AzureBlobStorage
társított szolgáltatástípust használja tovább.
Példa:
{
"name": "AzureBlobStorageLinkedService",
"properties": {
"type": "AzureBlobStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Példa: a fiókkulcs tárolása az Azure Key Vaultban
{
"name": "AzureBlobStorageLinkedService",
"properties": {
"type": "AzureBlobStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;",
"accountKey": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Közös hozzáférésű jogosultságkód hitelesítése
A megosztott hozzáférésű jogosultságkód delegált hozzáférést biztosít a tárfiók erőforrásaihoz. A megosztott hozzáférésű jogosultságkódokkal korlátozott engedélyeket adhat egy ügyfélnek a tárfiókban lévő objektumokhoz egy adott időre.
Nem kell megosztania a fiók hozzáférési kulcsait. A közös hozzáférésű jogosultságkód egy URI, amely a lekérdezési paraméterekben tartalmazza a tárerőforráshoz való hitelesített hozzáféréshez szükséges összes információt. A megosztott hozzáférésű jogosultságkóddal rendelkező tárolási erőforrások eléréséhez az ügyfélnek csak a közös hozzáférésű jogosultságkódot kell átadnia a megfelelő konstruktornak vagy metódusnak.
A közös hozzáférésű jogosultságkódokkal kapcsolatos további információkért lásd : Közös hozzáférésű jogosultságkódok: A közös hozzáférésű jogosultságkód-modell ismertetése.
Feljegyzés
- A szolgáltatás mostantól támogatja a szolgáltatás közös hozzáférésű jogosultságkódjait és a fiók közös hozzáférésű jogosultságkódjait is. A megosztott hozzáférésű jogosultságkódokkal kapcsolatos további információkért lásd : Korlátozott hozzáférés biztosítása az Azure Storage-erőforrásokhoz megosztott hozzáférésű jogosultságkódokkal.
- A későbbi adathalmaz-konfigurációkban a mappa elérési útja a tárolószinttől kezdődő abszolút elérési út. Konfigurálnia kell egy, az SAS URI-ban található elérési útnak megfelelőt.
A következő tulajdonságok támogatottak a közös hozzáférésű jogosultságkód-hitelesítés használatához:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A type tulajdonságot (javasolt) vagy AzureStorage (lásd a következő megjegyzést) kell beállítani AzureBlobStorage . |
Igen |
sasUri | Adja meg a megosztott hozzáférésű jogosultságkód URI-jának használatát a Storage-erőforrásokhoz, például a blobhoz vagy a tárolóhoz. Jelölje meg ezt a mezőt, hogy SecureString biztonságosan tárolja. Az SAS-jogkivonatot az Azure Key Vaultban is elhelyezheti az automatikus elforgatás és a tokenrész eltávolításához. További információ: az alábbi minták és a hitelesítő adatok tárolása az Azure Key Vaultban. |
Igen |
connectVia | Az adattárhoz való csatlakozáshoz használandó integrációs modul . Használhatja az Azure integrációs modult vagy a saját üzemeltetésű integrációs modult (ha az adattár magánhálózaton található). Ha ez a tulajdonság nincs megadva, a szolgáltatás az alapértelmezett Azure-integrációs modult használja. | Nem |
Feljegyzés
Ha a AzureStorage
társított típusú szolgáltatást használja, az továbbra is támogatott. Javasoljuk azonban, hogy az új AzureBlobStorage
társított szolgáltatástípust használja tovább.
Példa:
{
"name": "AzureBlobStorageLinkedService",
"properties": {
"type": "AzureBlobStorage",
"typeProperties": {
"sasUri": {
"type": "SecureString",
"value": "<SAS URI of the Azure Storage resource e.g. https://<accountname>.blob.core.windows.net/?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Példa: a fiókkulcs tárolása az Azure Key Vaultban
{
"name": "AzureBlobStorageLinkedService",
"properties": {
"type": "AzureBlobStorage",
"typeProperties": {
"sasUri": {
"type": "SecureString",
"value": "<SAS URI of the Azure Storage resource without token e.g. https://<accountname>.blob.core.windows.net/>"
},
"sasToken": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName with value of SAS token e.g. ?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Amikor közös hozzáférésű jogosultságkód URI-t hoz létre, vegye figyelembe a következő szempontokat:
- Állítsa be a megfelelő olvasási/írási engedélyeket az objektumokon a társított szolgáltatás (olvasás, írás, olvasás/írás) használata alapján.
- A lejárati idő megfelelő beállítása. Győződjön meg arról, hogy a Storage-objektumokhoz való hozzáférés nem jár le a folyamat aktív időszakában.
- Az URI-t szükség szerint a megfelelő tárolóban vagy blobban kell létrehozni. A blobok közös hozzáférésű jogosultságkódjának URI-ja lehetővé teszi, hogy az adat-előállító vagy a Synapse-folyamat hozzáférjen az adott blobhoz. A Blob Storage-tárolók közös hozzáférésű jogosultságkódjának URI-ja lehetővé teszi, hogy az adat-előállító vagy a Synapse-folyamat iteráljon a tárolóban lévő blobokon keresztül. Ha később több vagy kevesebb objektumhoz szeretne hozzáférést biztosítani, vagy frissíteni szeretné a közös hozzáférésű jogosultságkód URI-ját, ne felejtse el frissíteni a társított szolgáltatást az új URI-val.
Egyszerű szolgáltatás hitelesítése
Az Azure Storage szolgáltatásnév-hitelesítésével kapcsolatos általános információkért lásd : Azure Storage-hozzáférés hitelesítése a Microsoft Entra ID használatával.
A szolgáltatásnév-hitelesítés használatához kövesse az alábbi lépéseket:
Alkalmazás regisztrálása a Microsoft Identitásplatform. Ennek módjáról a rövid útmutatóban olvashat: Alkalmazás regisztrálása a Microsoft Identitásplatform. Jegyezze fel ezeket az értékeket, amelyeket a társított szolgáltatás definiálásához használ:
- Pályázat azonosítója
- Alkalmazáskulcs
- Bérlőazonosító
Adjon megfelelő engedélyt a szolgáltatásnévnek az Azure Blob Storage-ban. A szerepkörökről további információt az Azure Portal használatával rendelhet hozzá Azure-szerepkörökhöz a blob- és üzenetsoradatokhoz való hozzáféréshez.
- Forrásként a Hozzáférés-vezérlés (IAM) szolgáltatásban adjon meg legalább a Storage Blob Data Reader szerepkört.
- Fogadóként a Hozzáférés-vezérlés (IAM) szolgáltatásban adjon meg legalább a Storage Blob Data Contributor szerepkört.
Ezek a tulajdonságok az Azure Blob Storage társított szolgáltatásához támogatottak:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A típustulajdonságot AzureBlobStorage értékre kell állítani. | Igen |
serviceEndpoint | Adja meg az Azure Blob Storage szolgáltatásvégpontját https://<accountName>.blob.core.windows.net/ a következő mintával: . |
Igen |
accountKind | Adja meg a tárfiók típusát. Az engedélyezett értékek a következők: Storage (általános célú v1), StorageV2 (általános célú v2), BlobStorage vagy BlockBlobStorage. Ha Azure Blob társított szolgáltatást használ az adatfolyamban, a felügyelt identitás- vagy szolgáltatásnév-hitelesítés nem támogatott, ha a fiók típusa üres vagy "Storage". Adja meg a megfelelő fióktípust, válasszon másik hitelesítést, vagy frissítse a tárfiókot általános célú v2-re. |
Nem |
servicePrincipalId | Adja meg az alkalmazás ügyfél-azonosítóját. | Igen |
servicePrincipalCredentialType | A szolgáltatásnév-hitelesítéshez használandó hitelesítőadat-típus. Az engedélyezett értékek a ServicePrincipalKey és a ServicePrincipalCert. | Igen |
servicePrincipalCredential | A szolgáltatásnév hitelesítő adatai. Ha a ServicePrincipalKey-t használja hitelesítő adattípusként, adja meg az alkalmazás kulcsát. Jelölje meg ezt a mezőt SecureStringként, hogy biztonságosan tárolja, vagy hivatkozzon az Azure Key Vaultban tárolt titkos kódra. Ha a ServicePrincipalCertet használja hitelesítő adatként, hivatkozzon egy tanúsítványra az Azure Key Vaultban, és győződjön meg arról, hogy a tanúsítvány tartalomtípusa PKCS #12. |
Igen |
bérlő | Adja meg azt a bérlői információt (tartománynevet vagy bérlőazonosítót), amely alatt az alkalmazás található. Kérje le az Azure Portal jobb felső sarkára mutató egérmutatóval. | Igen |
azureCloudType | A szolgáltatásnév hitelesítéséhez adja meg az Azure-felhőkörnyezet típusát, amelyhez a Microsoft Entra-alkalmazás regisztrálva van. Az engedélyezett értékek az AzurePublic, az AzureChina, az AzureUsGovernment és az AzureGermany. Alapértelmezés szerint a rendszer az adat-előállítót vagy a Synapse-folyamat felhőkörnyezetét használja. |
Nem |
connectVia | Az adattárhoz való csatlakozáshoz használandó integrációs modul . Használhatja az Azure integrációs modult vagy a saját üzemeltetésű integrációs modult (ha az adattár magánhálózaton található). Ha ez a tulajdonság nincs megadva, a szolgáltatás az alapértelmezett Azure-integrációs modult használja. | Nem |
Feljegyzés
- Ha a blobfiók engedélyezi a helyreállítható törlést, a szolgáltatásnév hitelesítése nem támogatott a Adatfolyam.
- Ha privát végponton keresztül fér hozzá a blobtárolóhoz Adatfolyam használatával, vegye figyelembe, hogy szolgáltatásnév-hitelesítést használ, Adatfolyam blobvégpont helyett az ADLS Gen2 végponthoz csatlakozik. A hozzáférés engedélyezéséhez mindenképpen hozza létre a megfelelő privát végpontot az adat-előállítóban vagy a Synapse-munkaterületen.
Feljegyzés
A szolgáltatásnév hitelesítését csak az "AzureBlobStorage" típusú társított szolgáltatás támogatja, az előző "AzureStorage" típusú társított szolgáltatás nem.
Példa:
{
"name": "AzureBlobStorageLinkedService",
"properties": {
"type": "AzureBlobStorage",
"typeProperties": {
"serviceEndpoint": "https://<accountName>.blob.core.windows.net/",
"accountKind": "StorageV2",
"servicePrincipalId": "<service principal id>",
"servicePrincipalKey": {
"type": "SecureString",
"value": "<service principal key>"
},
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Rendszer által hozzárendelt felügyelt identitás hitelesítése
Egy adat-előállító vagy Synapse-folyamat társítható az Azure-erőforrások rendszer által hozzárendelt felügyelt identitásával, amely ezt az erőforrást jelöli más Azure-szolgáltatásokhoz való hitelesítéshez. Ezt a rendszer által hozzárendelt felügyelt identitást közvetlenül használhatja a Blob Storage-hitelesítéshez, amely hasonló a saját szolgáltatásnév használatához. Ez lehetővé teszi, hogy ez a kijelölt erőforrás hozzáférjen és adatokat másoljon a Blob Storage-ból vagy a Blob Storage-ba. Az Azure-erőforrások felügyelt identitásairól további információt az Azure-erőforrások felügyelt identitásai című témakörben talál .
Az Azure Storage-hitelesítéssel kapcsolatos általános információkért lásd : Azure Storage-hozzáférés hitelesítése a Microsoft Entra ID használatával. Felügyelt identitások Azure-erőforrás-hitelesítéshez való használatához kövesse az alábbi lépéseket:
A rendszer által hozzárendelt felügyelt identitás adatainak lekéréséhez másolja a rendszer által hozzárendelt felügyelt identitásobjektum-azonosító értékét a gyári vagy a Synapse-munkaterülettel együtt.
Adjon engedélyt a felügyelt identitásnak az Azure Blob Storage-ban. A szerepkörökről további információt az Azure Portal használatával rendelhet hozzá Azure-szerepkörökhöz a blob- és üzenetsoradatokhoz való hozzáféréshez.
- Forrásként a Hozzáférés-vezérlés (IAM) szolgáltatásban adjon meg legalább a Storage Blob Data Reader szerepkört.
- Fogadóként a Hozzáférés-vezérlés (IAM) szolgáltatásban adjon meg legalább a Storage Blob Data Contributor szerepkört.
Ezek a tulajdonságok az Azure Blob Storage társított szolgáltatásához támogatottak:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A típustulajdonságot AzureBlobStorage értékre kell állítani. | Igen |
serviceEndpoint | Adja meg az Azure Blob Storage szolgáltatásvégpontját https://<accountName>.blob.core.windows.net/ a következő mintával: . |
Igen |
accountKind | Adja meg a tárfiók típusát. Az engedélyezett értékek a következők: Storage (általános célú v1), StorageV2 (általános célú v2), BlobStorage vagy BlockBlobStorage. Ha Azure Blob társított szolgáltatást használ az adatfolyamban, a felügyelt identitás- vagy szolgáltatásnév-hitelesítés nem támogatott, ha a fiók típusa üres vagy "Storage". Adja meg a megfelelő fióktípust, válasszon másik hitelesítést, vagy frissítse a tárfiókot általános célú v2-re. |
Nem |
connectVia | Az adattárhoz való csatlakozáshoz használandó integrációs modul . Használhatja az Azure integrációs modult vagy a saját üzemeltetésű integrációs modult (ha az adattár magánhálózaton található). Ha ez a tulajdonság nincs megadva, a szolgáltatás az alapértelmezett Azure-integrációs modult használja. | Nem |
Példa:
{
"name": "AzureBlobStorageLinkedService",
"properties": {
"type": "AzureBlobStorage",
"typeProperties": {
"serviceEndpoint": "https://<accountName>.blob.core.windows.net/",
"accountKind": "StorageV2"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Felhasználó által hozzárendelt felügyelt identitás hitelesítése
Egy adat-előállító egy vagy több felhasználó által hozzárendelt felügyelt identitással rendelhető hozzá. Ezt a felhasználó által hozzárendelt felügyelt identitást használhatja a Blob Storage-hitelesítéshez, amely lehetővé teszi az adatok elérését és másolását a Blob Storage-ból vagy a Blob Storage-ba. Az Azure-erőforrások felügyelt identitásairól további információt az Azure-erőforrások felügyelt identitásai című témakörben talál .
Az Azure Storage-hitelesítéssel kapcsolatos általános információkért lásd : Azure Storage-hozzáférés hitelesítése a Microsoft Entra ID használatával. A felhasználó által hozzárendelt felügyelt identitáshitelesítés használatához kövesse az alábbi lépéseket:
Hozzon létre egy vagy több felhasználó által hozzárendelt felügyelt identitást , és adjon engedélyt az Azure Blob Storage-ban. A szerepkörökről további információt az Azure Portal használatával rendelhet hozzá Azure-szerepkörökhöz a blob- és üzenetsoradatokhoz való hozzáféréshez.
- Forrásként a Hozzáférés-vezérlés (IAM) szolgáltatásban adjon meg legalább a Storage Blob Data Reader szerepkört.
- Fogadóként a Hozzáférés-vezérlés (IAM) szolgáltatásban adjon meg legalább a Storage Blob Data Contributor szerepkört.
Rendeljen hozzá egy vagy több felhasználó által hozzárendelt felügyelt identitást az adat-előállítóhoz, és hozzon létre hitelesítő adatokat minden felhasználó által hozzárendelt felügyelt identitáshoz.
Ezek a tulajdonságok az Azure Blob Storage társított szolgáltatásához támogatottak:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A típustulajdonságot AzureBlobStorage értékre kell állítani. | Igen |
serviceEndpoint | Adja meg az Azure Blob Storage szolgáltatásvégpontját https://<accountName>.blob.core.windows.net/ a következő mintával: . |
Igen |
accountKind | Adja meg a tárfiók típusát. Az engedélyezett értékek a következők: Storage (általános célú v1), StorageV2 (általános célú v2), BlobStorage vagy BlockBlobStorage. Ha Azure Blob társított szolgáltatást használ az adatfolyamban, a felügyelt identitás- vagy szolgáltatásnév-hitelesítés nem támogatott, ha a fiók üres vagy "Storage" típusú. Adja meg a megfelelő fióktípust, válasszon másik hitelesítést, vagy frissítse a tárfiókot általános célú v2-re. |
Nem |
hitelesítő adatok | Adja meg a felhasználó által hozzárendelt felügyelt identitást hitelesítő objektumként. | Igen |
connectVia | Az adattárhoz való csatlakozáshoz használandó integrációs modul . Használhatja az Azure integrációs modult vagy a saját üzemeltetésű integrációs modult (ha az adattár magánhálózaton található). Ha ez a tulajdonság nincs megadva, a szolgáltatás az alapértelmezett Azure-integrációs modult használja. | Nem |
Példa:
{
"name": "AzureBlobStorageLinkedService",
"properties": {
"type": "AzureBlobStorage",
"typeProperties": {
"serviceEndpoint": "https://<accountName>.blob.core.windows.net/",
"accountKind": "StorageV2",
"credential": {
"referenceName": "credential1",
"type": "CredentialReference"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Fontos
Ha PolyBase vagy COPY utasítással tölt be adatokat a Blob Storage-ból (forrásként vagy előkészítésként) az Azure Synapse Analyticsbe, akkor a Blob Storage felügyelt identitáshitelesítésének használatakor kövesse az útmutató 1–3. lépését is. Ezek a lépések regisztrálják a kiszolgálót a Microsoft Entra-azonosítóval, és hozzárendelik a storage blobadatok közreműködői szerepkörét a kiszolgálóhoz. A Data Factory kezeli a többit. Ha a Blob Storage-t azure-beli virtuális hálózati végponttal konfigurálja, akkor azt is engedélyeznie kell, hogy a megbízható Microsoft-szolgáltatások hozzáférjenek ehhez a tárfiókhoz az Azure Storage-fiók tűzfalai és a virtuális hálózatok beállításai menüben, az Azure Synapse által megkövetelt módon.
Feljegyzés
- Ha a blobfiók engedélyezi a helyreállítható törlést, a rendszer által hozzárendelt/felhasználó által hozzárendelt felügyelt identitás hitelesítése nem támogatott a Adatfolyam.
- Ha privát végponton keresztül fér hozzá a blobtárolóhoz Adatfolyam használatával, vegye figyelembe, hogy a rendszer által hozzárendelt/felhasználó által hozzárendelt felügyelt identitás hitelesítése Adatfolyam blobvégpont helyett az ADLS Gen2 végponthoz csatlakozik. A hozzáférés engedélyezéséhez mindenképpen hozza létre a megfelelő privát végpontot az ADF-ben.
Feljegyzés
A rendszer által hozzárendelt/felhasználó által hozzárendelt felügyelt identitás hitelesítését csak az "AzureBlobStorage" típusú társított szolgáltatás támogatja, az előző "AzureStorage" típusú társított szolgáltatás nem.
Adathalmaz tulajdonságai
Az adathalmazok meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az Adathalmazok című cikkben találja.
Az Azure Data Factory a következő fájlformátumokat támogatja. A formátumalapú beállításokat az egyes cikkekben találja.
- Avro formátum
- Bináris formátum
- Tagolt szövegformátum
- Excel-formátum
- JSON formátum
- ORC formátum
- Parquet formátum
- XML-formátum
Az Azure Blob Storage formátumalapú adatkészlet beállításai között location
az alábbi tulajdonságok támogatottak:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | Az adathalmaz helyének típustulajdonságát AzureBlobStorageLocation értékre kell állítani. | Igen |
tároló | A blobtároló. | Igen |
folderPath | Az adott tároló alatti mappa elérési útja. Ha helyettesítő karakterrel szeretné szűrni a mappát, hagyja ki ezt a beállítást, és adja meg a tevékenység forrásbeállításaiban. | Nem |
fileName | A megadott tároló és mappa elérési útja alatti fájlnév. Ha helyettesítő karaktert szeretne használni a fájlok szűréséhez, hagyja ki ezt a beállítást, és adja meg a tevékenység forrásbeállításaiban. | Nem |
Példa:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<Azure Blob Storage linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"container": "containername",
"folderPath": "folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
Másolási tevékenység tulajdonságai
A tevékenységek meghatározásához elérhető szakaszok és tulajdonságok teljes listáját a Folyamatok című cikkben találja. Ez a szakasz a Blob Storage-forrás és a fogadó által támogatott tulajdonságok listáját tartalmazza.
Blob Storage forrástípusként
Az Azure Data Factory a következő fájlformátumokat támogatja. A formátumalapú beállításokat az egyes cikkekben találja.
- Avro formátum
- Bináris formátum
- Tagolt szövegformátum
- Excel-formátum
- JSON formátum
- ORC formátum
- Parquet formátum
- XML-formátum
Az Azure Blob Storage formátumalapú másolási forrás beállításai között storeSettings
az alábbi tulajdonságok támogatottak:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A típustulajdonságnak az storeSettings AzureBlobStorageReadSettings értékre kell állítania. |
Igen |
Keresse meg a másolandó fájlokat: | ||
1. LEHETŐSÉG: statikus elérési út |
Másolja ki az adathalmazban megadott tárolóból vagy mappából/fájl elérési útból. Ha az összes blobot egy tárolóból vagy mappából szeretné másolni, adja meg wildcardFileName * azt is. |
|
2. LEHETŐSÉG: blobelőtag -előképző |
A blobnév előtagja az adott tároló alatt, amely egy adatkészletben konfigurálva van a forrásblobok szűrésére. Azok a blobok, amelyek nevével container_in_dataset/this_prefix kezdődnek, ki vannak jelölve. A Blob Storage szolgáltatásoldali szűrőt használja, amely jobb teljesítményt nyújt, mint egy helyettesítő karakterszűrő.Ha előtagot használ, és úgy dönt, hogy a hierarchiát megőrző fájlalapú fogadóba másol, jegyezze fel az előtag utolsó "/" előtagja utáni alelérési útvonalat. Például rendelkezik forrásokkal container/folder/subfolder/file.txt , és konfigurálja az előtagot a következőképpenfolder/sub , majd a megőrzött fájl elérési útja.subfolder/file.txt |
Nem |
3. LEHETŐSÉG: helyettesítő karakter - helyettesítő karakterekFolderPath |
A mappa elérési útja helyettesítő karakterekkel az adott tároló alatt, amely egy adatkészletben konfigurálva van a forrásmappák szűrésére. Az engedélyezett helyettesítő karakterek a következők: * (nulla vagy több karakternek felel meg) és ? (nulla vagy egyetlen karakternek felel meg). A feloldás akkor használható ^ , ha a mappa neve helyettesítő karaktert vagy ebben a feloldó karaktert használ. További példák a mappa- és fájlszűrő példákban. |
Nem |
3. LEHETŐSÉG: helyettesítő karakter - wildcardFileName |
A fájl neve helyettesítő karakterekkel a megadott tároló és mappa elérési útja (vagy helyettesítő mappa elérési útja) alatt a forrásfájlok szűréséhez. Az engedélyezett helyettesítő karakterek a következők: * (nulla vagy több karakternek felel meg) és ? (nulla vagy egyetlen karakternek felel meg). A feloldás akkor használható ^ , ha a fájlnévben helyettesítő karakter vagy ez a feloldó karakter található. További példák a mappa- és fájlszűrő példákban. |
Igen |
4. LEHETŐSÉG: a fájlok listája - fileListPath |
Egy adott fájlkészlet másolását jelzi. Mutasson egy szövegfájlra, amely tartalmazza a másolandó fájlok listáját, soronként egy fájlt, amely az adathalmazban konfigurált elérési út relatív elérési útja. Ha ezt a lehetőséget használja, ne adjon meg fájlnevet az adathalmazban. További példák a Fájllista példákban. |
Nem |
További beállítások: | ||
rekurzív | Azt jelzi, hogy az adatok rekurzív módon vannak-e beolvasva az almappákból vagy csak a megadott mappából. Vegye figyelembe, hogy ha a rekurzív értéke igaz, és a fogadó fájlalapú tároló, akkor a rendszer nem másol vagy hoz létre üres mappát vagy almappát a fogadóban. Az engedélyezett értékek értéke igaz (alapértelmezett) és hamis. Ez a tulajdonság nem érvényes a konfiguráláskor fileListPath . |
Nem |
deleteFilesAfterCompletion | Azt jelzi, hogy a bináris fájlok törölve lesznek-e a forrástárból a céltárolóba való sikeres áthelyezés után. A fájl törlése fájlonként történik. Ezért ha a másolási tevékenység meghiúsul, látni fogja, hogy egyes fájlok már át lettek másolva a célhelyre, és törölve lettek a forrásból, míg mások továbbra is a forrástárban maradnak. Ez a tulajdonság csak bináris fájlok másolási forgatókönyvében érvényes. Az alapértelmezett érték: hamis. |
Nem |
modifiedDatetimeStart | A fájlok szűrése a legutóbb módosított attribútum alapján történik. A fájlok akkor lesznek kijelölve, ha az utolsó módosításuk időpontja nagyobb vagy egyenlő, modifiedDatetimeStart mint modifiedDatetimeEnd a . Az idő a "2018-12-01T05:00:00Z" formátumú UTC időzónára lesz alkalmazva. A tulajdonságok null értékűek lehetnek, ami azt jelenti, hogy az adathalmazra nem alkalmaz fájlattribútum-szűrőt. Ha modifiedDatetimeStart dátum/idő érték van megadva, de modifiedDatetimeEnd NULL értékű, a program kijelöli azokat a fájlokat, amelyek utolsó módosított attribútuma nagyobb vagy egyenlő a datetime értéknél. Ha modifiedDatetimeEnd dátum/idő érték van megadva, de modifiedDatetimeStart NULL értékű, a program kijelöli azokat a fájlokat, amelyek utolsó módosított attribútuma kisebb a datetime értéknél.Ez a tulajdonság nem érvényes a konfiguráláskor fileListPath . |
Nem |
modifiedDatetimeEnd | Ugyanaz, mint az előző tulajdonság. | Nem |
enablePartitionDiscovery | A particionált fájlok esetében adja meg, hogy elemezni szeretné-e a partíciókat a fájl elérési útján, és hozzáadja-e őket további forrásoszlopokként. Az engedélyezett értékek hamisak (alapértelmezett) és igazak. |
Nem |
partitionRootPath | Ha a partíciófelderítés engedélyezve van, adja meg az abszolút gyökér elérési utat a particionált mappák adatoszlopként való olvasásához. Ha nincs megadva, alapértelmezés szerint – Ha fájlelérési utat használ az adathalmazban vagy a forrásban lévő fájlok listájában, a partíció gyökérútvonala az adathalmazban konfigurált elérési út. – Helyettesítő karakteres mappaszűrő használata esetén a partíció gyökérútvonala az első helyettesítő karakter előtti alútvonal. - Előtag használata esetén a partíció gyökérútvonala az utolsó "/" előtti alútvonal. Tegyük fel például, hogy az adathalmaz elérési útját "root/folder/year=2020/month=08/day=27" értékre konfigurálja: - Ha a partíció gyökér elérési útját "root/folder/year=2020" értékként adja meg, a másolási tevékenység a fájlokon belüli oszlopok mellett két további oszlopot month day hoz létre, valamint a "08" és a "27" értéket.– Ha nincs megadva a partíció gyökérútvonala, a rendszer nem hoz létre további oszlopot. |
Nem |
maxConcurrentConnections | Az adattárhoz a tevékenység futtatása során létrehozott egyidejű kapcsolatok felső korlátja. Csak akkor adjon meg értéket, ha korlátozni szeretné az egyidejű kapcsolatokat. | Nem |
Feljegyzés
Parquet/tagolt szövegformátum esetén a következő szakaszban említett Copy tevékenység forrás BlobSource-típusa továbbra is támogatott, ahogy a visszamenőleges kompatibilitás is. Javasoljuk, hogy addig használja az új modellt, amíg a szerzői felhasználói felület át nem vált az új típusok létrehozására.
Példa:
"activities":[
{
"name": "CopyFromBlob",
"type": "Copy",
"inputs": [
{
"referenceName": "<Delimited text input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "DelimitedTextSource",
"formatSettings":{
"type": "DelimitedTextReadSettings",
"skipLineCount": 10
},
"storeSettings":{
"type": "AzureBlobStorageReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Feljegyzés
A $logs
tároló, amely automatikusan létrejön, amikor a Storage Analytics engedélyezve van egy tárfiókhoz, nem jelenik meg, ha a tárolólista-művelet a felhasználói felületen keresztül történik. A fájl elérési útját közvetlenül az adat-előállító vagy a Synapse-folyamat számára kell megadni a $logs
tárolóból származó fájlok felhasználásához.
Blob Storage fogadótípusként
Az Azure Data Factory a következő fájlformátumokat támogatja. A formátumalapú beállításokat az egyes cikkekben találja.
Az Azure Blob Storage formátumalapú másolási fogadó beállításai között storeSettings
az alábbi tulajdonságok támogatottak:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | Az type alatta lévő storeSettings tulajdonságnak a következőre kell állítania: AzureBlobStorageWriteSettings . |
Igen |
copyBehavior | Meghatározza a másolási viselkedést, ha a forrás fájlalapú adattárból származó fájlok. Az engedélyezett értékek a következők: - PreserveHierarchy (alapértelmezett): Megőrzi a fájlhierarchiát a célmappában. A forrásfájlnak a forrásmappához viszonyított elérési útja megegyezik a célfájl célmappához viszonyított elérési útával. - FlattenHierarchy: A forrásmappából származó összes fájl a célmappa első szintjén található. A célfájlok automatikusan létrehozott névvel rendelkeznek. - MergeFiles: A forrásmappából származó összes fájlt egyetlen fájlba egyesíti. Ha a fájl vagy a blob neve meg van adva, az egyesített fájlnév a megadott név. Ellenkező esetben ez egy automatikusan létrehozott fájlnév. |
Nem |
blockSizeInMB | Adja meg a blokkméretet megabájtban, a blobok blokkolásához használt adatok írásához. További információ a blokkblobokról. Az engedélyezett érték 4 MB és 100 MB között van. Alapértelmezés szerint a szolgáltatás automatikusan meghatározza a blokk méretét a forrástár típusa és adatai alapján. A Blob Storage-ba való nem kötéses másolás esetén az alapértelmezett blokkméret 100 MB, így legfeljebb 4,95 TB-os adathoz fér el. Előfordulhat, hogy nem optimális, ha az adatok nem nagyok, különösen akkor, ha a saját üzemeltetésű integrációs modult gyenge hálózati kapcsolatokkal használja, amelyek működési időtúllépést vagy teljesítményproblémákat eredményeznek. Explicit módon megadhatja a blokkméretet, miközben biztosíthatja, hogy blockSizeInMB*50000 elég nagy legyen az adatok tárolásához. Ellenkező esetben a Copy tevékenység futtatása sikertelen lesz. |
Nem |
maxConcurrentConnections | Az adattárhoz a tevékenység futtatása során létrehozott egyidejű kapcsolatok felső korlátja. Csak akkor adjon meg értéket, ha korlátozni szeretné az egyidejű kapcsolatokat. | Nem |
metaadatok | Egyéni metaadatok beállítása fogadóba másoláskor. A tömb alatti metadata objektumok egy további oszlopot jelölnek. Ez name határozza meg a metaadatkulcs nevét, és a value kulcs adatértékét. Ha az attribútumok megőrzése funkciót használja, a megadott metaadatok egyesülnek/felülírják a forrásfájl metaadatait.Az engedélyezett adatértékek a következők: - $$LASTMODIFIED : a fenntartott változó azt jelzi, hogy a forrásfájlok utolsó módosítási ideje tárolható. Csak bináris formátumú fájlalapú forrásra alkalmazható.-Kifejezés - Statikus érték |
Nem |
Példa:
"activities":[
{
"name": "CopyFromBlob",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Parquet output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "ParquetSink",
"storeSettings":{
"type": "AzureBlobStorageWriteSettings",
"copyBehavior": "PreserveHierarchy",
"metadata": [
{
"name": "testKey1",
"value": "value1"
},
{
"name": "testKey2",
"value": "value2"
},
{
"name": "lastModifiedKey",
"value": "$$LASTMODIFIED"
}
]
}
}
}
}
]
Mappa- és fájlszűrő példák
Ez a szakasz a mappa elérési útjának és a fájlnévnek helyettesítő karaktereket tartalmazó viselkedését ismerteti.
folderPath | fileName | rekurzív | A forrásmappa struktúrája és a szűrés eredménye (a félkövér fájlokat a rendszer lekéri) |
---|---|---|---|
container/Folder* |
(üres, alapértelmezett beállítás) | false | tároló FolderA File1.csv File2.json Almappák1 File3.csv File4.json File5.csv MásikFolderB File6.csv |
container/Folder* |
(üres, alapértelmezett beállítás) | true | tároló FolderA File1.csv File2.json Almappák1 File3.csv File4.json File5.csv MásikFolderB File6.csv |
container/Folder* |
*.csv |
false | tároló FolderA File1.csv File2.json Almappák1 File3.csv File4.json File5.csv MásikFolderB File6.csv |
container/Folder* |
*.csv |
true | tároló FolderA File1.csv File2.json Almappák1 File3.csv File4.json File5.csv MásikFolderB File6.csv |
Példák fájllistára
Ez a szakasz a Copy tevékenység forrásban található fájllista-elérési út használatának eredő viselkedését ismerteti.
Tegyük fel, hogy a következő forrásmappa-struktúrával rendelkezik, és félkövér formátumban szeretné másolni a fájlokat:
Minta forrásstruktúra | Tartalom a FileListToCopy.txt | Konfiguráció |
---|---|---|
tároló FolderA File1.csv File2.json Almappák1 File3.csv File4.json File5.csv Metaadatok FileListToCopy.txt |
File1.csv Almappák1/File3.csv Almappák1/File5.csv |
Adatkészletben: -Konténer: container - Mappa elérési útja: FolderA Copy tevékenység forrásban: - Fájllista elérési útja: container/Metadata/FileListToCopy.txt A fájllista elérési útja ugyanabban az adattárban található szövegfájlra mutat, amely tartalmazza a másolni kívánt fájlok listáját. Soronként egy fájlt tartalmaz, amely az adathalmazban konfigurált elérési út relatív elérési útját tartalmazza. |
Néhány rekurzív és copyBehavior példa
Ez a szakasz a Másolás művelet eredményül kapott viselkedését ismerteti a rekurzív és a copyBehavior értékek különböző kombinációihoz.
rekurzív | copyBehavior | Forrásmappa-struktúra | Eredményként kapott cél |
---|---|---|---|
true | preserveHierarchy | Mappa1 Fájl1 Fájl2 Almappák1 Fájl3 Fájl4 Fájl5 |
A mappa1 célmappa a forrással megegyező struktúrával jön létre: Mappa1 Fájl1 Fájl2 Almappák1 Fájl3 Fájl4 Fájl5 |
true | flattenHierarchy | Mappa1 Fájl1 Fájl2 Almappák1 Fájl3 Fájl4 Fájl5 |
A mappa1 célmappája a következő struktúrával jön létre: Mappa1 a Fájl1 automatikusan létrehozott neve a Fájl2 automatikusan létrehozott neve a Fájl3 automatikusan létrehozott neve a Fájl4 automatikusan létrehozott neve a Fájl5 automatikusan létrehozott neve |
true | mergeFiles | Mappa1 Fájl1 Fájl2 Almappák1 Fájl3 Fájl4 Fájl5 |
A mappa1 célmappája a következő struktúrával jön létre: Mappa1 File1 + File2 + File3 + File4 + File5 tartalom egyesítése egy fájlba egy automatikusan létrehozott fájlnévvel. |
false | preserveHierarchy | Mappa1 Fájl1 Fájl2 Almappák1 Fájl3 Fájl4 Fájl5 |
A mappa1 célmappája a következő struktúrával jön létre: Mappa1 Fájl1 Fájl2 A Fájl3, a File4 és a File5 almappája nem lesz felvéve. |
false | flattenHierarchy | Mappa1 Fájl1 Fájl2 Almappák1 Fájl3 Fájl4 Fájl5 |
A mappa1 célmappája a következő struktúrával jön létre: Mappa1 a Fájl1 automatikusan létrehozott neve a Fájl2 automatikusan létrehozott neve A Fájl3, a File4 és a File5 almappája nem lesz felvéve. |
false | mergeFiles | Mappa1 Fájl1 Fájl2 Almappák1 Fájl3 Fájl4 Fájl5 |
A mappa1 célmappája a következő struktúrával jön létre: Mappa1 Az 1. és a 2. fájl tartalma egy automatikusan létrehozott fájlnévvel rendelkező fájlba egyesül. a Fájl1 automatikusan létrehozott neve A Fájl3, a File4 és a File5 almappája nem lesz felvéve. |
Metaadatok megőrzése másolás közben
Ha az Amazon S3, az Azure Blob Storage vagy az Azure Data Lake Storage Gen2-ből az Azure Data Lake Storage Gen2-be vagy az Azure Blob Storage-ba másol fájlokat, dönthet úgy, hogy az adatokkal együtt megőrzi a fájl metaadatait. További információ a metaadatok megőrzéséről.
Adatfolyam-tulajdonságok leképezése
A leképezési adatfolyamok adatainak átalakításakor a következő formátumokban olvashat és írhat fájlokat az Azure Blob Storage-ból:
A formátumspecifikus beállítások az adott formátum dokumentációjában találhatók. További információ: Forrásátalakítás a leképezési adatfolyamban és fogadóátalakítás a leképezési adatfolyamban.
Forrásátalakítás
A forrásátalakítás során egy tárolóból, mappából vagy egyéni fájlból olvashat az Azure Blob Storage-ban. A Forrásbeállítások lapon kezelheti a fájlok olvasási módját.
Helyettesítő karakterek elérési útjai: A helyettesítő karakterek mintája arra utasítja a szolgáltatást, hogy egyetlen forrásátalakítás során végighaladjon az egyes egyező mappákon és fájlokon. Ez egy hatékony módja annak, hogy több fájlt dolgozzanak fel egyetlen folyamaton belül. Adjon hozzá több helyettesítő karakterillesztési mintát a meglévő helyettesítő karakterminta fölé rámutatáskor megjelenő pluszjellel.
A forrástárolóban válasszon ki egy mintának megfelelő fájlsorozatot. Az adathalmazban csak tároló adható meg. A helyettesítő karakter elérési útjának ezért tartalmaznia kell a gyökérmappából származó mappa elérési útját is.
Példák helyettesítő karakterekre:
*
Bármilyen karakterkészletet jelöl.**
Rekurzív könyvtárbe ágyazást jelöl.?
Egy karaktert cserél le.[]
Egy vagy több karaktert tartalmaz a szögletes zárójelekben./data/sales/**/*.csv
Lekéri az összes .csv fájlt az /data/sales területen./data/sales/20??/**/
Lekéri az összes fájlt a 20./data/sales/*/*/*.csv
Lekéri .csv fájlokat két szinten az /data/sales alatt./data/sales/2004/*/12/[XY]1?.csv
2004 decemberében lekéri az összes .csv fájlt, amely egy kétjegyű számmal ellátott X vagy Y előtaggal kezdődik.
Partíció gyökérútvonala: Ha a fájlforrásban key=value
vannak olyan particionált mappák, year=2019
amelyek formátuma (például), akkor a partíciómappa fának felső szintjét hozzárendelheti az adatfolyam egyik oszlopnevére.
Először állítson be egy helyettesítő karaktert, hogy tartalmazza a particionált mappák összes elérési útját, valamint az elolvasni kívánt levélfájlokat.
A partíció gyökérútvonal-beállításával meghatározhatja, hogy mi a mappastruktúra legfelső szintje. Ha az adatok tartalmát egy adatelőnézeten keresztül tekinti meg, látni fogja, hogy a szolgáltatás hozzáadja az egyes mappaszinteken található feloldott partíciókat.
Fájlok listája: Ez egy fájlkészlet. Hozzon létre egy szövegfájlt, amely tartalmazza a feldolgozandó relatív elérésiút-fájlok listáját. Mutasson erre a szövegfájlra.
A fájlnév tárolására használt oszlop: Tárolja a forrásfájl nevét az adatok egyik oszlopában. Itt adjon meg egy új oszlopnevet a fájlnév-sztring tárolásához.
Befejezés után: Válassza ki, hogy az adatfolyam futtatása után nem szeretne semmit tenni a forrásfájllal, törli a forrásfájlt, vagy áthelyezi a forrásfájlt. Az áthelyezés elérési útjai relatívek.
Ha a forrásfájlokat egy másik helyre szeretné áthelyezni a feldolgozás után, először válassza az "Áthelyezés" lehetőséget a fájlművelethez. Ezután állítsa be a "from" könyvtárat. Ha nem használ helyettesítő karaktereket az elérési úthoz, akkor a "from" beállítás ugyanaz lesz, mint a forrásmappa.
Ha helyettesítő karakterrel rendelkező forrásútvonallal rendelkezik, a szintaxis a következő:
/data/sales/20??/**/*.csv
A következő módon adhatja meg a "from" értéket:
/data/sales
A "to" értéket pedig a következő módon adhatja meg:
/backup/priorSales
Ebben az esetben a rendszer az alattuk /data/sales
forrásként kapott összes fájlt áthelyezi a fájlba /backup/priorSales
.
Feljegyzés
A fájlműveletek csak akkor futnak, ha egy folyamatfuttatásból (folyamat hibakereséséből vagy végrehajtási futtatásából) indítja el az adatfolyamot, amely a folyamat végrehajtási Adatfolyam tevékenységét használja. A fájlműveletek nem Adatfolyam hibakeresési módban futnak.
Szűrés utolsó módosítással: A feldolgozandó fájlokat szűrheti a legutóbbi módosítás dátumtartományának megadásával. Minden dátumidő UTC-ben van.
Adatrögzítés engedélyezése: Ha igaz, csak az utolsó futtatáskor kap új vagy módosított fájlokat. A teljes pillanatkép-adatok kezdeti betöltése mindig az első futtatáskor lesz, majd csak a következő futtatások során rögzíti az új vagy módosított fájlokat.
Fogadó tulajdonságai
A fogadóátalakítás során írhat egy tárolóba vagy egy mappába az Azure Blob Storage-ban. A Beállítások lapon kezelheti a fájlok írási módját.
A mappa törlése: Meghatározza, hogy a célmappa törlődjön-e az adatok megírása előtt.
Fájlnév beállítás: Meghatározza, hogy a célfájlok hogyan legyenek elnevezve a célmappában. A fájlnév beállításai a következők:
- Alapértelmezett: Engedélyezze a Sparknak, hogy a PART alapértelmezett érték alapján nevezze el a fájlokat.
- Minta: Adjon meg egy mintát, amely partíciónként számba adja a kimeneti fájlokat. Például létrehoz
loans1.csv
loans2.csv
,loans[n].csv
és így tovább. - Partíciónként: Partíciónként egy fájlnevet adjon meg.
- Adatként az oszlopban: Állítsa a kimeneti fájlt egy oszlop értékére. Az elérési út az adathalmaz-tárolóhoz viszonyítva van, nem a célmappához. Ha van egy mappa elérési útja az adathalmazban, az felül lesz bírálva.
- Kimenet egyetlen fájlba: Egyesítse a particionált kimeneti fájlokat egyetlen elnevezett fájlba. Az elérési út az adathalmaz mappához képest van. Vegye figyelembe, hogy az egyesítési művelet a csomópont mérete alapján meghiúsulhat. Ezt a lehetőséget nagy adathalmazokhoz nem javasoljuk.
Az összes idézőjel: Meghatározza, hogy az összes értéket idézőjelek közé kell-e foglalni.
Keresési tevékenység tulajdonságai
A tulajdonságok részleteinek megismeréséhez tekintse meg a keresési tevékenységet.
GetMetadata tevékenység tulajdonságai
A tulajdonságok részleteinek megismeréséhez tekintse meg a GetMetadata tevékenységét.
Tevékenységtulajdonságok törlése
A tulajdonságok részleteinek megismeréséhez ellenőrizze a Törlési tevékenységet.
Örökölt modellek
Feljegyzés
A visszamenőleges kompatibilitáshoz hasonlóan az alábbi modellek továbbra is támogatottak. Javasoljuk, hogy használja a korábban említett új modellt. A szerzői felhasználói felület az új modell létrehozására váltott.
Örökölt adathalmaz-modell
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | Az type adathalmaz tulajdonságának a következőre kell lennie: AzureBlob . |
Igen |
folderPath | A Blob Storage tárolójának és mappájának elérési útja. Az elérési úthoz helyettesítő szűrő is támogatott, kivéve a tároló nevét. Az engedélyezett helyettesítő karakterek a következők: * (nulla vagy több karakternek felel meg) és ? (nulla vagy egyetlen karakternek felel meg). A feloldás akkor használható ^ , ha a mappa neve helyettesítő karakterrel vagy ezzel a feloldó karakterrel rendelkezik. Ilyen például a következő: myblobcontainer/myblobfolder/ . További példák a mappa- és fájlszűrő példákban. |
Igen a Másolás vagy keresés tevékenységhez, nem a GetMetadata tevékenységhez |
fileName | A megadott folderPath érték alatti blobok neve vagy helyettesítő karaktere. Ha nem ad meg értéket ehhez a tulajdonsághoz, az adathalmaz a mappában lévő összes blobra mutat. A szűrő esetében az engedélyezett helyettesítő karakterek a következők: * (nulla vagy több karakternek felel meg) és ? (nulla vagy egyetlen karakternek felel meg).- 1. példa: "fileName": "*.csv" - 2. példa: "fileName": "???20180427.txt" A feloldás akkor használható ^ , ha a fájlnévben helyettesítő karakter vagy ez a feloldó karakter található.Ha fileName nincs megadva kimeneti adatkészlethez, és preserveHierarchy nincs megadva a tevékenység-fogadóban, a Copy tevékenység automatikusan létrehozza a blob nevét a következő mintával: "Data.[ tevékenységfuttatás azonosítója GUID]. [GUID ha FlattenHierarchy]. [formátum, ha konfigurálva van]. [tömörítés, ha konfigurálva van]". Például: "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz". Ha táblázatos forrásból másol egy táblanevet lekérdezés helyett, a névminta a következő [table name].[format].[compression if configured] : . Például: "MyTable.csv". |
Nem |
modifiedDatetimeStart | A fájlok szűrése a legutóbb módosított attribútum alapján történik. A fájlok akkor lesznek kijelölve, ha az utolsó módosításuk időpontja nagyobb vagy egyenlő, modifiedDatetimeStart mint modifiedDatetimeEnd a . Az idő az UTC időzónára "2018-12-01T05:00:00Z" formátumban lesz alkalmazva. Vegye figyelembe, hogy a beállítás engedélyezése hatással van az adatáthelyezés általános teljesítményére, amikor nagy mennyiségű fájlt szeretne szűrni. A tulajdonságok lehetnek NULL , ami azt jelenti, hogy az adathalmazra nem alkalmaz fájlattribútum-szűrőt. Ha modifiedDatetimeStart dátum/idő érték van megadva, akkor modifiedDatetimeEnd NULL a program kijelöli azokat a fájlokat, amelyek utolsó módosított attribútuma nagyobb vagy egyenlő a datetime értéknél. Ha modifiedDatetimeEnd dátum/idő érték van megadva, a modifiedDatetimeStart NULL program kijelöli azokat a fájlokat, amelyek utolsó módosított attribútuma kisebb, mint a datetime érték. |
Nem |
modifiedDatetimeEnd | A fájlok szűrése a legutóbb módosított attribútum alapján történik. A fájlok akkor lesznek kijelölve, ha az utolsó módosításuk időpontja nagyobb vagy egyenlő, modifiedDatetimeStart mint modifiedDatetimeEnd a . Az idő az UTC időzónára "2018-12-01T05:00:00Z" formátumban lesz alkalmazva. Vegye figyelembe, hogy a beállítás engedélyezése hatással van az adatáthelyezés általános teljesítményére, amikor nagy mennyiségű fájlt szeretne szűrni. A tulajdonságok lehetnek NULL , ami azt jelenti, hogy az adathalmazra nem alkalmaz fájlattribútum-szűrőt. Ha modifiedDatetimeStart dátum/idő érték van megadva, akkor modifiedDatetimeEnd NULL a program kijelöli azokat a fájlokat, amelyek utolsó módosított attribútuma nagyobb vagy egyenlő a datetime értéknél. Ha modifiedDatetimeEnd dátum/idő érték van megadva, a modifiedDatetimeStart NULL program kijelöli azokat a fájlokat, amelyek utolsó módosított attribútuma kisebb, mint a datetime érték. |
Nem |
format | Ha fájlokat szeretne másolni a fájlalapú tárolók (bináris másolás) között, hagyja ki a formátumszakaszt a bemeneti és kimeneti adatkészlet-definíciókban. Ha adott formátumú fájlokat szeretne elemezni vagy létrehozni, a következő fájlformátumtípusok támogatottak: TextFormat, JsonFormat, AvroFormat, OrcFormat és ParquetFormat. A formátum alatti típustulajdonság beállítása az alábbi értékek egyikére. További információ: Szöveg, JSON formátum, Avro formátum, Orc formátum és Parquet formátum szakaszok. |
Nem (csak bináris másolási forgatókönyv esetén) |
tömörítés | Adja meg az adatok tömörítési típusát és szintjét. További információ: Támogatott fájlformátumok és tömörítési kodekek. A támogatott típusok a GZip, a Deflate, a BZip2 és a ZipDeflate. A támogatott szintek optimálisak és leggyorsabbak. |
Nem |
Tipp.
Ha az összes blobot egy mappába szeretné másolni, csak a folderPath értéket adja meg.
Ha egy adott nevű blobot szeretne másolni, adja meg a mapparész folderPath elemét és a fájlnév fájlnevét .
A blobok egy részhalmazának mappa alatti másolásához adja meg a mapparész folderPath elemét és a fileName fájlt helyettesítő karakter szűrővel.
Példa:
{
"name": "AzureBlobDataset",
"properties": {
"type": "AzureBlob",
"linkedServiceName": {
"referenceName": "<Azure Blob Storage linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"folderPath": "mycontainer/myfolder",
"fileName": "*",
"modifiedDatetimeStart": "2018-12-01T05:00:00Z",
"modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
"format": {
"type": "TextFormat",
"columnDelimiter": ",",
"rowDelimiter": "\n"
},
"compression": {
"type": "GZip",
"level": "Optimal"
}
}
}
}
Örökölt forrásmodell a Copy tevékenység
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A type Copy tevékenység forrás tulajdonságát a következőre BlobSource kell állítani: . |
Igen |
rekurzív | Azt jelzi, hogy az adatok rekurzív módon vannak-e beolvasva az almappákból vagy csak a megadott mappából. Ha recursive be van állítva true , és a fogadó fájlalapú tároló, a rendszer nem másol vagy hoz létre üres mappát vagy almappát a fogadóban.Az engedélyezett értékek ( true alapértelmezett) és false . |
Nem |
maxConcurrentConnections | Az adattárhoz a tevékenység futtatása során létrehozott egyidejű kapcsolatok felső korlátja. Csak akkor adjon meg értéket, ha korlátozni szeretné az egyidejű kapcsolatokat. | Nem |
Példa:
"activities":[
{
"name": "CopyFromBlob",
"type": "Copy",
"inputs": [
{
"referenceName": "<Azure Blob input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "BlobSource",
"recursive": true
},
"sink": {
"type": "<sink type>"
}
}
}
]
Örökölt fogadómodell a Copy tevékenység
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A type Copy tevékenység fogadó tulajdonságát a következő értékre BlobSink kell állítani: . |
Igen |
copyBehavior | Meghatározza a másolási viselkedést, ha a forrás fájlalapú adattárból származó fájlok. Az engedélyezett értékek a következők: - PreserveHierarchy (alapértelmezett): Megőrzi a fájlhierarchiát a célmappában. A forrásfájl forrásmappához viszonyított elérési útja megegyezik a célfájl célmappához viszonyított elérési útjának elérési útával. - FlattenHierarchy: A forrásmappából származó összes fájl a célmappa első szintjén található. A célfájlok automatikusan létrehozott névvel rendelkeznek. - MergeFiles: A forrásmappából származó összes fájlt egyetlen fájlba egyesíti. Ha a fájl vagy a blob neve meg van adva, az egyesített fájlnév a megadott név. Ellenkező esetben ez egy automatikusan létrehozott fájlnév. |
Nem |
maxConcurrentConnections | Az adattárhoz a tevékenység futtatása során létrehozott egyidejű kapcsolatok felső korlátja. Csak akkor adjon meg értéket, ha korlátozni szeretné az egyidejű kapcsolatokat. | Nem |
Példa:
"activities":[
{
"name": "CopyToBlob",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Azure Blob output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "BlobSink",
"copyBehavior": "PreserveHierarchy"
}
}
}
]
Adatváltozások rögzítése
Az Azure Data Factory csak az Azure Blob Storage-ból tud új vagy módosított fájlokat lekérni, ha engedélyezi a **Változásadatok rögzítésének engedélyezése ** lehetőséget a leképezési adatfolyam-forrásátalakításban. Ezzel az összekötővel csak új vagy frissített fájlokat olvashat, és átalakításokat alkalmazhat, mielőtt az átalakított adatokat betöltené a választott céladatkészletekbe. A részletekért tekintse meg az Adatrögzítés módosítása című témakört.
Kapcsolódó tartalom
Azoknak az adattáraknak a listáját, amelyeket a Copy tevékenység forrásként és fogadóként támogat, tekintse meg a támogatott adattárakat.