Adatok másolása a PostgreSQL V2-ből az Azure Data Factory vagy a 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 másolási tevékenységet az Azure Data Factoryben és a Synapse Analytics-folyamatokban az adatok PostgreSQL-adatbázisból való másolásához. A másolási tevékenység áttekintési cikkére épül, amely a másolási tevékenység általános áttekintését mutatja be.
Fontos
A PostgreSQL V2-összekötő továbbfejlesztett natív PostgreSQL-támogatást biztosít. Ha a PostgreSQL V1-összekötőt használja a megoldásban, frissítse a PostgreSQL-összekötőt, mivel a V1 a támogatás végén van. A V2 és az 1. V közötti különbségről ebben a szakaszban olvashat.
Támogatott képességek
Ez a PostgreSQL-összekötő a következő képességekhez támogatott:
Támogatott képességek | IR |
---|---|
Copy tevékenység (forrás/-) | (1) (2) |
Keresési tevékenység | (1) (2) |
(1) Azure-integrációs modul (2) Saját üzemeltetésű integrációs modul
A másolási tevékenység által forrásként/fogadóként támogatott adattárak listáját a Támogatott adattárak táblában találja.
Ez a PostgreSQL-összekötő támogatja a PostgreSQL 12-es vagy újabb verzióját.
Előfeltételek
Ha az adattár helyszíni hálózaton, Azure-beli virtuális hálózaton vagy Amazon Virtual Private Cloudon belül található, konfigurálnia kell egy saját üzemeltetésű integrációs modult a csatlakozáshoz.
Ha az adattár felügyelt felhőalapú adatszolgáltatás, használhatja az Azure Integration Runtime-ot. Ha a hozzáférés a tűzfalszabályokban jóváhagyott IP-címekre korlátozódik, hozzáadhat azure integration runtime IP-eket az engedélyezési listához.
Az Azure Data Factory felügyelt virtuális hálózati integrációs moduljával is elérheti a helyszíni hálózatot anélkül, hogy saját üzemeltetésű integrációs modult telepítene és konfigurálna.
A Data Factory által támogatott hálózati biztonsági mechanizmusokkal és lehetőségekkel kapcsolatos további információkért lásd az adathozzáférési stratégiákat.
Az Integrációs modul egy beépített PostgreSQL-illesztőt biztosít a 3.7-es verziótól kezdve, ezért nem kell manuálisan telepítenie az illesztőprogramokat.
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
Társított szolgáltatás létrehozása a PostgreSQL-hez felhasználói felülettel
Az alábbi lépésekkel létrehozhat egy társított szolgáltatást a PostgreSQL-hez 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 kattintson az Új gombra:
Keresse meg a Postgre-t, és válassza a PostgreSQL-ö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 PostgreSQL-összekötőre jellemző Data Factory-entitások meghatározásához használt tulajdonságok részleteit ismertetik.
Társított szolgáltatás tulajdonságai
A PostgreSQL társított szolgáltatáshoz a következő tulajdonságok támogatottak:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A típustulajdonságnak a következőnek kell lennie: PostgreSqlV2 | Igen |
kiszolgáló | Megadja azt a gazdagépnevet – és opcionálisan portot –, amelyen a PostgreSQL fut. | Igen |
kikötő | A PostgreSQL-kiszolgáló TCP-portja. | Nem |
adatbázis | A PostgreSQL-adatbázis, amelyhez csatlakozni szeretne. | Igen |
username | A csatlakozáshoz használt felhasználónév. Az IntegratedSecurity használata esetén nem kötelező. | Igen |
jelszó | A csatlakozáshoz használt jelszó. Az IntegratedSecurity használata esetén nem kötelező. | Igen |
sslMode | Az SSL használatát a kiszolgáló támogatásától függően szabályozza. - Letiltás: Az SSL le van tiltva. Ha a kiszolgáló SSL-t igényel, a kapcsolat sikertelen lesz. - Engedélyezés: Előnyben részesíti a nem SSL-kapcsolatokat, ha a kiszolgáló engedélyezi őket, de engedélyezze az SSL-kapcsolatokat. - Előnyben részesítjük az SSL-kapcsolatokat, ha a kiszolgáló engedélyezi őket, de ssl nélkül is engedélyezi a kapcsolatokat. - Kötelező: Sikertelen a kapcsolat, ha a kiszolgáló nem támogatja az SSL-t. - Ca ellenőrzése: Sikertelen a kapcsolat, ha a kiszolgáló nem támogatja az SSL-t. A kiszolgálótanúsítványt is ellenőrzi. - Ellenőrizze, hogy megtelt-e a kapcsolat, ha a kiszolgáló nem támogatja az SSL-t. A kiszolgálótanúsítványt a gazdagép nevével is ellenőrzi. Beállítások: Letiltás (0) / Engedélyezés (1) / Prefer (2) (Alapértelmezett) / Kötelező (3) / Verify-ca (4) / Verify-full (5) |
Nem |
authenticationType | Az adatbázishoz való csatlakozás hitelesítési típusa. Csak az Alapszintű verziót támogatja. | Igen |
connectVia | Az adattárhoz való csatlakozáshoz használandó integrációs modul . További információ az Előfeltételek szakaszból. Ha nincs megadva, az alapértelmezett Azure Integration Runtime-t használja. | Nem |
További kapcsolati tulajdonságok: | ||
schema | Beállítja a séma keresési útvonalát. | Nem |
Készletezés | A kapcsolatkészletezés használata. | Nem |
connectionTimeout | Az a várakozási idő (másodpercben), amikor megpróbál kapcsolatot létesíteni, mielőtt megszakítja a kísérletet, és hibát okozna. | Nem |
commandTimeout | Az a várakozási idő (másodpercben), amikor megpróbál végrehajtani egy parancsot, mielőtt befejezi a kísérletet, és hibát okozna. Állítsa nullára a végtelenhöz. | Nem |
trustServerCertificate | A kiszolgálótanúsítvány hitelesítés nélküli megbízhatósága. | Nem |
sslCertificate | A kiszolgálónak küldendő ügyféltanúsítvány helye. | Nem |
sslKey | A kiszolgálónak küldendő ügyféltanúsítvány ügyfélkulcsának helye. | Nem |
sslPassword | Ügyféltanúsítvány kulcsának jelszava. | Nem |
readBufferSize | Meghatározza a belső puffer Npgsql olvasáskor használt méretét. A növekedés javíthatja a teljesítményt, ha nagy értékeket ad át az adatbázisból. | Nem |
logParameters | Ha engedélyezve van, a parancsok végrehajtásakor a rendszer naplózza a paraméterértékeket. | Nem |
timezone | Lekéri vagy beállítja a munkamenet időzónát. | Nem |
kódolás | Lekéri vagy beállítja a PostgreSQL-sztringadatok kódolásához/dekódolásához használt .NET-kódolást. | Nem |
Feljegyzés
Ahhoz, hogy az ODBC-kapcsolaton keresztül teljes KÖRŰ SSL-ellenőrzést lehessen végezni a saját üzemeltetésű integrációs modul használatakor, a PostgreSQL-összekötő helyett kifejezetten ODBC típusú kapcsolatot kell használnia, és végre kell hajtania a következő konfigurációt:
- Állítsa be a DSN-t bármely SHIR-kiszolgálón.
- Helyezze a Megfelelő tanúsítványt a PostgreSQL-hez a C:\Windows\ServiceProfiles\DIAHostService\AppData\Roaming\postgresql\root.crt fájlban az SHIR-kiszolgálókon. Itt keresi > az ODBC-illesztő az SSL-tanúsítványt, hogy ellenőrizze, mikor csatlakozik az adatbázishoz.
- Az adat-előállítói kapcsolatban használjon ODBC típusú kapcsolatot, és a kapcsolati sztring az SHIR-kiszolgálókon létrehozott DSN-re mutat.
Példa:
{
"name": "PostgreSqlLinkedService",
"properties": {
"type": "PostgreSqlV2",
"typeProperties": {
"server": "<server>",
"port": 5432,
"database": "<database>",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
},
"sslmode": <sslmode>,
"authenticationType": "Basic"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Példa: jelszó tárolása az Azure Key Vaultban
{
"name": "PostgreSqlLinkedService",
"properties": {
"type": "PostgreSqlV2",
"typeProperties": {
"server": "<server>",
"port": 5432,
"database": "<database>",
"username": "<username>",
"password": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
"sslmode": <sslmode>,
"authenticationType": "Basic"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Adathalmaz tulajdonságai
Az adathalmazok meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az adathalmazokról szóló cikkben találja. Ez a szakasz a PostgreSQL-adatkészlet által támogatott tulajdonságok listáját tartalmazza.
Az adatok PostgreSQL-ből való másolásához a következő tulajdonságok támogatottak:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | Az adathalmaz típustulajdonságának a következőnek kell lennie: PostgreSqlV2Table | Igen |
schema | A séma neve. | Nem (ha "lekérdezés" van megadva a tevékenységforrásban) |
table | A tábla neve. | Nem (ha "lekérdezés" van megadva a tevékenységforrásban) |
Példa
{
"name": "PostgreSQLDataset",
"properties":
{
"type": "PostgreSqlV2Table",
"linkedServiceName": {
"referenceName": "<PostgreSQL linked service name>",
"type": "LinkedServiceReference"
},
"annotations": [],
"schema": [],
"typeProperties": {
"schema": "<schema name>",
"table": "<table name>"
}
}
}
Ha gépelt adatkészletet használt RelationalTable
, az továbbra is támogatott, miközben a rendszer azt javasolja, hogy használja az újat.
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 PostgreSQL-forrás által támogatott tulajdonságok listáját tartalmazza.
PostgreSQL mint forrás
Ha adatokat szeretne másolni a PostgreSQL-ből, a másolási tevékenység forrás szakaszában az alábbi tulajdonságok támogatottak:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A másolási tevékenység forrásának típustulajdonságának a következőnek kell lennie: PostgreSqlV2Source | Igen |
Lekérdezés | Az adatok olvasásához használja az egyéni SQL-lekérdezést. Például: "query": "SELECT * FROM \"MySchema\".\"MyTable\"" |
Nem (ha "tableName" van megadva az adathalmazban) |
queryTimeout | A parancs végrehajtására és a hiba generálására tett kísérlet befejezését megelőző várakozási idő alapértelmezés szerint 120 perc. Ha a tulajdonság paramétere be van állítva, az engedélyezett értékek időbélyegek, például "02:00:00" (120 perc). További információ: CommandTimeout. Ha mindkettő commandTimeout és queryTimeout konfigurálva van, queryTimeout elsőbbséget élvez. |
Nem |
Feljegyzés
A séma és a táblanevek megkülönböztetik a kis- és nagybetűket. Csatolja őket ""
(dupla idézőjelek) a lekérdezésbe.
Példa:
"activities":[
{
"name": "CopyFromPostgreSQL",
"type": "Copy",
"inputs": [
{
"referenceName": "<PostgreSQL input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "PostgreSqlV2Source",
"query": "SELECT * FROM \"MySchema\".\"MyTable\"",
"queryTimeout": "00:10:00"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Ha gépelt forrást használt RelationalSource
, az továbbra is támogatott, miközben a rendszer azt javasolja, hogy használja az újat.
Adattípus-leképezés a PostgreSQL-hez
Amikor adatokat másol a PostgreSQL-ből, a következő leképezéseket használja a PostgreSQL-adattípusoktól a szolgáltatás által belsőleg használt köztes adattípusokig. A séma- és adattípus-leképezések segítségével megtudhatja , hogy a másolási tevékenység hogyan rendeli le a forrásséma és az adattípust a fogadóhoz.
PostgreSql-adattípus | Köztes szolgáltatás adattípusa a PostgreSQL V2-hez | Köztes szolgáltatás adattípusa a PostgreSQL V1-hez |
---|---|---|
SmallInt |
Int16 |
Int16 |
Integer |
Int32 |
Int32 |
BigInt |
Int64 |
Int64 |
Decimal (Pontosság <= 28) |
Decimal |
Decimal |
Decimal (Pontosság > 28) |
Nem támogatott | String |
Numeric |
Decimal |
Decimal |
Real |
Single |
Single |
Double |
Double |
Double |
SmallSerial |
Int16 |
Int16 |
Serial |
Int32 |
Int32 |
BigSerial |
Int64 |
Int64 |
Money |
Decimal |
String |
Char |
String |
String |
Varchar |
String |
String |
Text |
String |
String |
Bytea |
Byte[] |
Byte[] |
Timestamp |
DateTime |
DateTime |
Timestamp with time zone |
DateTime |
String |
Date |
DateTime |
DateTime |
Time |
TimeSpan |
TimeSpan |
Time with time zone |
DateTimeOffset |
String |
Interval |
TimeSpan |
String |
Boolean |
Boolean |
Boolean |
Point |
String |
String |
Line |
String |
String |
Iseg |
String |
String |
Box |
String |
String |
Path |
String |
String |
Polygon |
String |
String |
Circle |
String |
String |
Cidr |
String |
String |
Inet |
String |
String |
Macaddr |
String |
String |
Macaddr8 |
String |
String |
Tsvector |
String |
String |
Tsquery |
String |
String |
UUID |
Guid |
Guid |
Json |
String |
String |
Jsonb |
String |
String |
Array |
String |
String |
Bit |
Byte[] |
Byte[] |
Bit varying |
Byte[] |
Byte[] |
XML |
String |
String |
IntArray |
String |
String |
TextArray |
String |
String |
NumericArray |
String |
String |
DateArray |
String |
String |
Range |
String |
String |
Bpchar |
String |
String |
Keresési tevékenység tulajdonságai
A tulajdonságok részleteinek megismeréséhez tekintse meg a keresési tevékenységet.
A PostgreSQL-összekötő frissítése
Az alábbi lépések segítenek a PostgreSQL-összekötő frissítésében:
Hozzon létre egy új PostgreSQL-társított szolgáltatást, és konfigurálja a társított szolgáltatás tulajdonságaira hivatkozva.
A PostgreSQL V2-összekötő adattípus-leképezése eltér az 1. A legújabb adattípus-megfeleltetés megismeréséhez tekintse meg a PostgreSQL adattípus-leképezését.
A PostgreSQL V2 és a V1 közötti különbségek
Az alábbi táblázat a PostgreSQL V2 és v1 közötti adattípus-leképezési különbségeket mutatja be.
PostgreSQL-adattípus | Köztes szolgáltatás adattípusa a PostgreSQL V2-hez | Köztes szolgáltatás adattípusa a PostgreSQL V1-hez |
---|---|---|
Pénz | Decimális | Sztring |
Időbélyeg időzónával | Dátum/idő | Sztring |
Időzóna | DateTimeOffset | Sztring |
Intervallum | időtartam | Sztring |
BigDecimal | Nem támogatott. Alternatív megoldásként használja to_char() a függvényt a BigDecimal sztringgé alakításához. |
Sztring |
Kapcsolódó tartalom
A másolási tevékenység által forrásként és fogadóként támogatott adattárak listáját a támogatott adattárakban találja.