Bagikan melalui


Menyalin data dari PostgreSQL V1 menggunakan Azure Data Factory atau Synapse Analytics

BERLAKU UNTUK: Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Artikel ini menguraikan cara menggunakan Aktivitas Salin di alur Azure Data Factory atau Synapse Analytics untuk menyalin data dari database PostgreSQL. Artikel tersebut dibuat berdasarkan artikel gambaran umum aktivitas salin yang menyajikan gambaran umum aktivitas salin.

Penting

Konektor PostgreSQL V2 menyediakan dukungan PostgreSQL asli yang ditingkatkan. Jika Anda menggunakan konektor PostgreSQL V1 dalam solusi Anda, tingkatkan konektor PostgreSQL Anda karena V1 berada di tahap Akhir Dukungan. Lihat bagian ini untuk detail tentang perbedaan antara V2 dan V1.

Kemampuan yang didukung

Konektor PostgreSQL ini didukung untuk kemampuan berikut ini:

Kemampuan yang didukung IR
Aktivitas penyalinan (sumber/-) (1) (2)
Aktivitas pencarian (1) (2)

① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri

Untuk daftar penyimpanan data yang didukung sebagai sumber/sink oleh aktivitas salin, lihat tabel Penyimpanan data yang didukung.

Secara khusus, konektor PostgreSQL ini mendukung PostgreSQL versi 7.4 ke atas.

Prasyarat

Jika penyimpanan data Anda terletak di dalam jaringan lokal, jaringan virtual Azure, atau Amazon Virtual Private Cloud, Anda harus mengonfigurasi runtime integrasi yang dihosting sendiri untuk menghubungkannya.

Jika penyimpanan data Anda adalah layanan data cloud terkelola, Anda dapat menggunakan Azure Integration Runtime. Jika akses dibatasi untuk IP yang disetujui dalam aturan firewall, Anda dapat menambahkan IP Azure Integration Runtime ke daftar izinkan.

Anda juga dapat menggunakan fitur runtime integrasi jaringan virtual terkelola di Azure Data Factory untuk mengakses jaringan lokal tanpa menginstal dan mengonfigurasi runtime integrasi yang dihosting sendiri.

Untuk informasi selengkapnya tentang mekanisme dan opsi keamanan jaringan yang didukung oleh Data Factory, lihat Strategi akses data.

Integration Runtime menyediakan driver PostgreSQL bawaan mulai dari versi 3.7, oleh karena itu Anda tidak perlu menginstal driver apa pun secara manual.

Memulai

Untuk melakukan aktivitas Salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:

Membuat layanan tertaut ke PostgreSQL menggunakan UI

Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke PostgreSQL di UI portal Azure.

  1. Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:

  2. Cari Postgre dan pilih konektor PostgreSQL.

    Cuplikan layar memperlihatkan Pilih konektor PostgreSQL.

  3. Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.

    Cuplikan layar memperlihatkan Konfigurasikan layanan tertaut ke PostgreSQL.

Detail konfigurasi konektor

Bagian berikut ini memberikan detail tentang properti yang digunakan untuk menentukan entitas Data Factory khusus untuk konektor PostgreSQL.

Properti layanan tertaut

Properti berikut ini didukung untuk layanan tertaut PostgreSQL:

Properti Deskripsi Wajib
jenis Properti jenis harus diatur ke: PostgreSql Ya
connectionString String koneksi ODBC untuk menyambungkan ke Azure Database for PostgreSQL.
Anda juga dapat menyimpan kata sandi di Azure Key Vault dan mengeluarkan konfigurasi password dari string koneksi. Lihat sampel berikut dan artikel Menyimpan info masuk di Azure Key Vault untuk detail selengkapnya.
Ya
connectVia Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Pelajari selengkapnya dari bagian Prasyarat. Jika tidak ditentukan, Azure Integration Runtime default akan digunakan. No

String koneksi biasanya adalah Server=<server>;Database=<database>;Port=<port>;UID=<username>;Password=<Password>. Properti lainnya yang dapat Anda tetapkan untuk kasus Anda:

Properti Deskripsi Opsi Wajib
EncryptionMethod (EM) Metode yang digunakan driver untuk mengenkripsi data yang dikirim antara driver dan server database. Misalnya, EncryptionMethod=<0/1/6>; 0 (Tanpa Enkripsi) (Default) / 1 (SSL) / 6 (RequestSSL) No
ValidasiServerCertificate (VSC) Menentukan apakah driver memvalidasi sertifikat yang dikirim oleh server database ketika enkripsi SSL diaktifkan (Metode Enkripsi=1). Misalnya, ValidateServerCertificate=<0/1>; 0 (Dinonaktifkan) (Default) / 1 (Diaktifkan) No

Catatan

Untuk memiliki verifikasi SSL penuh melalui koneksi ODBC saat menggunakan Integration Runtime Yang Di-hosting sendiri, Anda harus menggunakan koneksi jenis ODBC alih-alih konektor PostgreSQL secara eksplisit, dan menyelesaikan konfigurasi berikut:

  1. Siapkan DSN di server SHIR apa pun.
  2. Letakkan sertifikat yang tepat untuk PostgreSQL di C:\Windows\ServiceProfiles\DIAHostService\AppData\Roaming\postgresql\root.crt di server SHIR. Di sinilah pengandar ODBC mencari > sertifikasi SSL untuk memverifikasi ketika tersambung ke database.
  3. Pada koneksi pabrik data Anda, gunakan koneksi jenis ODBC, dengan string koneksi yang mengarah ke DSN yang Anda buat di server SHIR.

Contoh:

{
    "name": "PostgreSqlLinkedService",
    "properties": {
        "type": "PostgreSql",
        "typeProperties": {
            "connectionString": "Server=<server>;Database=<database>;Port=<port>;UID=<username>;Password=<Password>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Contoh: simpan kata sandi di Azure Key Vault

{
    "name": "PostgreSqlLinkedService",
    "properties": {
        "type": "PostgreSql",
        "typeProperties": {
            "connectionString": "Server=<server>;Database=<database>;Port=<port>;UID=<username>;",
            "password": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Jika menggunakan layanan tertaut PostgreSQL dengan payload berikut, layanan ini masih didukung apa adanya, sementara Anda disarankan untuk menggunakan layanan yang baru ke depannya.

Payload sebelumnya:

{
    "name": "PostgreSqlLinkedService",
    "properties": {
        "type": "PostgreSql",
        "typeProperties": {
            "server": "<server>",
            "database": "<database>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Properti himpunan data

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat artikel himpunan data. Bagian ini menyediakan daftar properti yang didukung oleh himpunan data PostgreSQL.

Untuk menyalin data dari PostgreSQL, properti berikut ini didukung:

Properti Deskripsi Wajib
jenis Properti jenis himpunan data harus diatur ke: PostgreSqlTable Ya
skema Nama skema. Tidak (jika "kueri" di sumber aktivitas ditentukan)
tabel Nama tabel. Tidak (jika "kueri" di sumber aktivitas ditentukan)
tableName Nama tabel dengan skema. Properti ini didukung untuk kompatibilitas mundur. Untuk beban kerja baru, gunakan schema dan table. Tidak (jika "kueri" di sumber aktivitas ditentukan)

Contoh

{
    "name": "PostgreSQLDataset",
    "properties":
    {
        "type": "PostgreSqlTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<PostgreSQL linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Jika Anda menggunakan himpunan data RelationalTable yang diketik, ia masih didukung apa adanya, sementara Anda disarankan untuk menggunakan yang baru ke depannya.

Properti aktivitas salin

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat artikel Alur. Bagian ini menyediakan daftar properti yang didukung oleh sumber PostgreSQL.

PostgreSQL sebagai sumber

Untuk menyalin data dari PostgreSQL, properti berikut ini didukung di bagian sumber aktivitas salin:

Properti Deskripsi Wajib
jenis Properti jenis sumber aktivitas salin harus diatur ke: PostgreSqlSource Ya
pertanyaan Gunakan kueri SQL kustom untuk membaca data. Misalnya: "query": "SELECT * FROM \"MySchema\".\"MyTable\"". Tidak (jika "tableName" di himpunan data ditentukan)

Catatan

Nama skema dan tabel peka huruf besar/kecil. Sertakan di "" (tanda kutip ganda) dalam kueri.

Contoh:

"activities":[
    {
        "name": "CopyFromPostgreSQL",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<PostgreSQL input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "PostgreSqlSource",
                "query": "SELECT * FROM \"MySchema\".\"MyTable\""
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Jika Anda menggunakan sumber berjenis RelationalSource, sumber ini masih didukung apa adanya, sementara Anda disarankan untuk menggunakan yang baru ke depannya.

Properti aktivitas pencarian

Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.

Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink oleh aktivitas salin, lihat penyimpanan data yang didukung.