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.
Vonatkozik:
Azure Data Factory
Azure Synapse Analytics
Tipp.
Ez a cikk azt ismerteti, hogyan használhatja a másolási tevékenységet Azure Data Factory és 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 V1-összekötő eltávolítási fázisban van. Javasoljuk, hogy frissítse a PostgreSQL-összekötőt V1-ről V2-re.
Támogatott képességek
Ez a PostgreSQL-összekötő a következő képességekhez támogatott:
| Támogatott képességek | integrációs modul |
|---|---|
| Másolási 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 egy helyszíni hálózaton, egy Azure virtuális hálózaton vagy az Amazon Virtual Private Cloudon belül található, konfigurálnia kell egy önállóan üzemeltetett integrációs modult a csatlakozáshoz.
Ha az adattár felügyelt felhőalapú adatszolgáltatás, használhatja a Azure Integration Runtime. 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-címeket az engedélyezési listához.
A Azure Data Factory felügyelt virtuális hálózati integrációs modul funkciójával is hozzáférhet a helyszíni hálózathoz saját üzemeltetésű integrációs modul telepítése és konfigurálása nélkül.
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.
A Integration Runtime a 3.7-es verziótól kezdve egy beépített PostgreSQL-illesztőt biztosít, ezért nem kell manuálisan telepítenie az illesztőprogramokat.
Első lépések
A másolási tevékenység végrehajtásához egy folyamattal használhatja az alábbi eszközök vagy SDK-k egyikét:
- Adatok másolása eszköz
- Azure portál
- .NET SDK
- Python SDK
- Azure PowerShell
- REST API
- 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 a Azure portál felhasználói felületén.
Keresse meg a Azure Data Factory vagy 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 |
| átvisz | A PostgreSQL-kiszolgáló TCP-portja. | Nem |
| adatbázis | A PostgreSQL-adatbázis, amelyhez csatlakozni szeretne. | Igen |
| felhasználónév | A csatlakozáshoz használt felhasználónév. | Igen |
| jelszó | A csatlakozáshoz használt jelszó. | Igen |
| SSL mód | Az SSL használatát a kiszolgáló támogatásától függően szabályozza. - Letiltva: 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ített: Előnyben részesíti az SSL-kapcsolatokat, ha a kiszolgáló engedélyezi őket, de ssl nélküli kapcsolatokat engedélyez. - Kötelező: Sikertelen a kapcsolat, ha a kiszolgáló nem támogatja az SSL-t. - Verify_ca: Sikertelen a kapcsolat, ha a kiszolgáló nem támogatja az SSL-t. A kiszolgálótanúsítványt is ellenőrzi. - Verify_full: Sikertelen 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: Letiltva (0) / Engedélyezés (1) / Előnyben részesített (2) (Alapértelmezett) / Kötelező (3) / Verify_ca (4) / Verify_full (5) |
Nem |
| hitelesítési típus | 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ó Integration Runtime. További információ az Előfeltételek szakaszból. Ha nincs megadva, az alapértelmezett Azure Integration Runtime használja. | Nem |
| További kapcsolati tulajdonságok: | ||
| séma | Beállítja a séma keresési útvonalát. | Nem |
| Összevonás | Használjuk-e a kapcsolatkészletezést? | Nem |
| Kapcsolatidőkorlát (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 |
| parancskoridőzítés | Az a maximális várakozási idő (másodpercben), amelyet megengedünk egy parancs végrehajtására, mielőtt a próbálkozást megszakítanánk, és hibát generálnánk. Állítsa nullára a végtelenhez tartozó értéket. | Nem |
| Bizalom a szerver tanúsítványában | A kiszolgálótanúsítvány hitelesítés nélküli megbízhatósága. | Nem |
| SSL tanúsítvány | A kiszolgálónak küldendő ügyféltanúsítvány helye. | Nem |
| SSL kulcs | A kiszolgálónak küldendő ügyféltanúsítvány ügyfélkulcsának helye. | Nem |
| SSL jelszó | Ü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 |
| időzóna | 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ű Integration Runtime 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 connection string 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: a 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 |
| séma | A séma neve. | Nem (ha "lekérdezés" van megadva a tevékenységforrásban) |
| tábla | 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 a RelationalTable típusú adatkészletet használta, az továbbra is támogatott, míg javasolt, hogy az új adatkészletet használja a jövőben.
Copy activity tulajdonságok
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) |
| lekérdezési időkorlát | 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 ennek a tulajdonságnak a paramétere be van állítva, az engedélyezett értékek időtartamok, 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 RelationalSource gépelt forrást használt, azt továbbra is támogatják, de javasolt az új használata a jövőben.
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. Lásd a séma- és adattípus-leképezéseket, hogy megtudja, a másolási tevékenység hogyan rendeli hozzá a forrássémát és adattípust a fogadósémához és adattípushoz.
| 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 | IdőpontEltérés (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.