Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ŞUNLARA UYGULANIR:
Azure Data Factory
Azure Synapse Analytics
İpucu
Microsoft Fabric'daki
Bu makalede, PostgreSQL veritabanından veri kopyalamak için Azure Data Factory ve Synapse Analytics işlem hatlarında Kopyalama Etkinliğinin nasıl kullanılacağı özetlenmiştir. Kopyalama etkinliğine genel bir bakış sunan kopyalama etkinliği genel bakış makalesine dayanır.
Not
Bu bağlayıcı Microsoft Fabric'daki Data Factory'de de kullanılabilir. Fabric özgü yapılandırma ve özellikler için Fabric PostgreSQL bağlayıcısı belgelerine bakın.
Önemli
PostgreSQL V1 bağlayıcısı kaldırma aşamasındadır. PostgreSQL bağlayıcısını V1'den V2'ye yükseltmeniz önerilir.
Desteklenen özellikler
Bu PostgreSQL bağlayıcısı aşağıdaki özellikler için desteklenir:
| Desteklenen özellikler | Kızılötesi |
|---|---|
| Kopyalama etkinliği (kaynak/-) | (1) (2) |
| Arama etkinliği | (1) (2) |
(1) Azure tümleştirme çalışma zamanı (2) Yerel barındırılan tümleştirme çalışma zamanı
Kopyalama etkinliği tarafından kaynak/havuz olarak desteklenen veri depolarının listesi için Desteklenen veri depoları tablosuna bakın.
Özellikle, bu PostgreSQL bağlayıcısı PostgreSQL sürüm 12 ve üzerini destekler.
Önkoşullar
Veri deponuz bir yerel ağ, Azure sanal ağ veya Amazon Sanal Özel Bulut içinde bulunuyorsa, ona bağlanmak için kendinden barındırılan bir tümleştirme çalışma zamanı yapılandırmanız gerekir.
Veri deponuz yönetilen bir bulut veri hizmetiyse Azure Integration Runtime kullanabilirsiniz. Erişim, güvenlik duvarı kurallarında onaylanan IP'ler ile sınırlıysa, izin verme listesine Azure Integration Runtime IP ekleyebilirsiniz.
Şirket içi ağa erişmek için, şirket içinde barındırılan tümleştirme çalışma zamanı yüklemeden ve yapılandırmadan Azure Data Factory yönetilen sanal ağ tümleştirme çalışma zamanı özelliğini de kullanabilirsiniz.
Data Factory tarafından desteklenen ağ güvenlik mekanizmaları ve seçenekleri hakkında daha fazla bilgi için bkz . Veri erişim stratejileri.
Integration Runtime, 3.7 sürümünden itibaren yerleşik bir PostgreSQL sürücüsü sağlar, bu nedenle herhangi bir sürücüyü el ile yüklemeniz gerekmez.
Başlarken
Kopyalama etkinliğini bir işlem hattıyla gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:
- Veri Kopyalama aracı
- Azure portalı
- .NET SDK
- Python SDK'sı
- Azure PowerShell
- REST API
- Azure Resource Manager şablonu
Kullanıcı arabirimini kullanarak PostgreSQL'e bağlı hizmet oluşturma
Azure portalı kullanıcı arabiriminde PostgreSQL'e bağlı bir hizmet oluşturmak için aşağıdaki adımları kullanın.
Azure Data Factory veya Synapse çalışma alanınızdaki Yönet sekmesine göz atın ve Bağlı Hizmetler'i seçin, ardından Yeni'ye tıklayın:
Postgre'yi arayın ve PostgreSQL bağlayıcısını seçin.
Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.
Bağlayıcı yapılandırma ayrıntıları
Aşağıdaki bölümlerde, PostgreSQL bağlayıcısına özgü Data Factory varlıklarını tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.
Bağlı hizmet özellikleri
PostgreSQL bağlı hizmeti için aşağıdaki özellikler desteklenir:
| Mülk | Açıklama | Gerekli |
|---|---|---|
| Tür | Tür özelliği şu şekilde ayarlanmalıdır: PostgreSqlV2 | Evet |
| sunucu | PostgreSQL'in çalıştığı ana bilgisayar adını (ve isteğe bağlı olarak bağlantı noktasını) belirtir. | Evet |
| liman | PostgreSQL sunucusunun TCP bağlantı noktası. | Hayır |
| veritabanı | Bağlanacak PostgreSQL veritabanı. | Evet |
| kullanıcı adı | Bağlanacak kullanıcı adı. | Evet |
| şifre | Bağlanmak için parola. | Evet |
| ssl modu | Sunucu desteğine bağlı olarak SSL kullanılıp kullanılmayacağını denetler. - Devre dışı: SSL devre dışı bırakıldı. Sunucu SSL gerektiriyorsa bağlantı başarısız olur. - İzin Ver: Sunucu izin veriyorsa SSL olmayan bağlantıları tercih edin, ancak SSL bağlantılarına izin verin. - Tercih edilen: Sunucu izin veriyorsa SSL bağlantılarını tercih edin, ancak SSL olmadan bağlantılara izin verin. - Gerekli: Sunucu SSL'yi desteklemiyorsa bağlantı başarısız olur. - Verify_ca: Sunucu SSL'yi desteklemiyorsa bağlantı başarısız olur. Ayrıca sunucu sertifikayı da doğrular. - Verify_full: Sunucu SSL'yi desteklemiyorsa bağlantı başarısız olur. Ayrıca sunucu sertifikasını ana bilgisayar adıyla doğrular. Seçenekler: Devre dışı (0) / İzin Ver (1) / Tercih Edilen (2) (Varsayılan) / Gerekli (3) / Verify_ca (4) / Verify_full (5) |
Hayır |
| kimlik doğrulama türü | Veritabanına bağlanmak için kimlik doğrulama türü. Yalnızca Temel'i destekler. | Evet |
| connectVia | Veri deposuna bağlanmak için kullanılacak Integration Runtime. Önkoşullar bölümünden daha fazla bilgi edinin. Belirtilmezse, varsayılan Azure Integration Runtime kullanır. | Hayır |
| Ek bağlantı özellikleri: | ||
| şema | Şema arama yolunu ayarlar. | Hayır |
| Birleştirme | Bağlantı havuzunun kullanılıp kullanılmaması gerektiği. | Hayır |
| bağlantı zaman aşımı | Denemeyi sonlandırmadan ve hata oluşturmadan önce bağlantı kurmaya çalışırken bekleme süresi (saniye cinsinden). | Hayır |
| komutZaman Aşımı | Denemeyi sonlandırmadan ve hata oluşturmadan önce komutu yürütmeye çalışırken bekleme süresi (saniye cinsinden). Sonsuzluğu belirtmek için sıfıra ayarlayın. | Hayır |
| güvenilirSunucuSertifikası | Sunucu sertifikasının doğrulanmadan güvenilip güvenmeyeceği. | Hayır |
| SSL sertifikası | Sunucuya gönderilecek istemci sertifikasının konumu. | Hayır |
| ssl Anahtarı | Sunucuya gönderilecek bir istemci sertifikasının istemci anahtarının konumu. | Hayır |
| SSL Parolası | İstemci sertifikası için anahtar parolası. | Hayır |
| readBufferSize | Npgsql'in okurken kullandığı iç arabellek boyutunu belirler. Veritabanından büyük değerler aktarılırken performans artışı iyileşme sağlayabilir. | Hayır |
| logParameters | Etkinleştirildiğinde, komutlar yürütülürken parametre değerleri günlüğe kaydedilir. | Hayır |
| saat dilimi | Oturum saat dilimini alır veya ayarlar. | Hayır |
| kodlama | PostgreSQL dize verilerini kodlamak/kodunu çözmek için kullanılacak .NET kodlamasını alır veya ayarlar. | Hayır |
Not
Kendi Kendine Barındırılan Entegrasyon Çalışma Zamanı'nı kullanırken ODBC bağlantısı üzerinden tam SSL doğrulaması sağlayabilmek için PostgreSQL bağlayıcısı yerine ODBC tipi bağlantı kullanmanız ve aşağıdaki yapılandırmayı tamamlamanız gerekir.
- Herhangi bir SHIR sunucusunda DSN'yi ayarlayın.
- SHIR sunucularına C:\Windows\ServiceProfiles\DIAHostService\AppData\Roaming\postgresql\root.crt dizinine PostgreSQL için uygun sertifikayı yerleştirin. ODBC sürücüsünün veritabanına ne zaman bağlandığını doğrulamak için SSL sertifikasını arayacağı > yer burasıdır.
- Veri fabrikası bağlantınızda, SHIR sunucularınızda oluşturduğunuz DSN'ye işaret eden bağlantı dizesini kullanarak bir ODBC türünde bağlantı kullanın.
Örnek:
{
"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"
}
}
}
Örnek: Parolayı Azure Key Vault'ta depola
{
"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"
}
}
}
Veri kümesi özellikleri
Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için veri kümeleri makalesine bakın. Bu bölümde PostgreSQL veri kümesi tarafından desteklenen özelliklerin listesi sağlanır.
PostgreSQL'den veri kopyalamak için aşağıdaki özellikler desteklenir:
| Mülk | Açıklama | Gerekli |
|---|---|---|
| Tür | Veri kümesinin tür özelliği şu şekilde ayarlanmalıdır: PostgreSqlV2Table | Evet |
| şema | Şemanın adı. | Hayır (etkinlik kaynağında "sorgu" belirtilirse) |
| tablo | Tablonun adı. | Hayır (etkinlik kaynağında "sorgu" belirtilirse) |
Örnek
{
"name": "PostgreSQLDataset",
"properties":
{
"type": "PostgreSqlV2Table",
"linkedServiceName": {
"referenceName": "<PostgreSQL linked service name>",
"type": "LinkedServiceReference"
},
"annotations": [],
"schema": [],
"typeProperties": {
"schema": "<schema name>",
"table": "<table name>"
}
}
}
Yazılan veri kümesini kullanıyorsanız RelationalTable , bu veri kümesi olduğu gibi desteklenmeye devam ederken, ileriye dönük yeni bir veri kümesini kullanmanız önerilir.
Kopyalama etkinliği özellikleri
Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için İşlem Hatları makalesine bakın. Bu bölümde PostgreSQL kaynağı tarafından desteklenen özelliklerin listesi sağlanır.
Kaynak olarak PostgreSQL
PostgreSQL'den veri kopyalamak için kopyalama etkinliği kaynağı bölümünde aşağıdaki özellikler desteklenir:
| Mülk | Açıklama | Gerekli |
|---|---|---|
| Tür | Kopyalama etkinliği kaynağının type özelliği şu şekilde ayarlanmalıdır: PostgreSqlV2Source | Evet |
| soru | Verileri okumak için özel SQL sorgusunu kullanın. Örneğin: "query": "SELECT * FROM \"MySchema\".\"MyTable\"". |
Hayır (veri kümesinde "tableName" belirtilirse) |
| queryTimeout | Komut yürütme girişimini sonlandırmadan ve hata oluşturmadan önce bekleme süresi varsayılan olarak 120 dakikadır. Bu özellik için parametre ayarlandıysa, izin verilen değerler "02:00:00" (120 dakika) gibi zaman aralığıdır. Daha fazla bilgi için bkz . CommandTimeout. ** Hem commandTimeout hem de queryTimeout yapılandırıldığında, queryTimeout önceliklidir. |
Hayır |
Not
Şema ve tablo adları büyük/küçük harfe duyarlıdır. Bunları sorguda "" (çift tırnak) içine alın.
Örnek:
"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>"
}
}
}
]
Yazılan kaynağı kullanıyorsanız RelationalSource , yine de olduğu gibi desteklenir, ancak bundan sonra yenisini kullanmanız önerilir.
PostgreSQL için veri türü eşlemesi
PostgreSQL'den veri kopyalarken, aşağıdaki eşlemeler PostgreSQL veri türlerinden hizmet tarafından dahili olarak kullanılan ara veri türlerine kullanılır. Kopyalama etkinliğinin kaynak şemayı ve veri türünü havuza nasıl eşlediğini öğrenmek için bkz . Şema ve veri türü eşlemeleri .
| PostgreSQL veri türü | PostgreSQL V2 için ara hizmet veri türü | PostgreSQL V1 için ara hizmet veri türü |
|---|---|---|
SmallInt |
Int16 |
Int16 |
Integer |
Int32 |
Int32 |
BigInt |
Int64 |
Int64 |
Decimal (Kesinlik <= 28) |
Decimal |
Decimal |
Decimal (Hassasiyet > 28) |
Desteklenmeyen | 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 |
Arama etkinliği özellikleri
Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.
PostgreSQL bağlayıcısını yükseltme
PostgreSQL bağlayıcınızı yükseltmenize yardımcı olacak adımlar şunlardır:
Yeni bir PostgreSQL bağlı hizmeti oluşturun ve Bağlı hizmet özelliklerine başvurarak bunu yapılandırın.
PostgreSQL V2 bağlayıcısı için veri türü eşlemesi, V1 için olandan farklıdır. En son veri türü eşlemesini öğrenmek için bkz . PostgreSQL için veri türü eşlemesi.
PostgreSQL V2 ile V1 arasındaki farklar
Aşağıdaki tabloda PostgreSQL V2 ile V1 arasındaki veri türü eşleme farkları gösterilmektedir.
| PostgreSQL veri türü | PostgreSQL V2 için ara hizmet veri türü | PostgreSQL V1 için ara hizmet veri türü |
|---|---|---|
| Para | Ondalık | Dize |
| Zaman damgası ile saat dilimi | Tarih ve Saat | Dize |
| Zaman dilimi içeren zaman | TarihSaatÖtelemesi | Dize |
| Aralık | Zaman Aralığı | Dize |
| BigDecimal | Desteklenmiyor. Alternatif olarak, BigDecimal'i String'e dönüştürmek için işlevini kullanın to_char() . |
Dize |
İlgili içerik
Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz . desteklenen veri depoları.