Menyalin dan mentransformasi data di Azure Database for PostgreSQL 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 Penyalinan di alur Azure Data Factory dan Synapse Analytics untuk menyalin data dari dan ke Azure Database for PostgreSQL, dan menggunakan Aliran Data untuk mentransformasi data di Azure Database for PostgreSQL. Untuk mempelajari selengkapnya, baca artikel pengantar untuk Azure Data Factory dan Synapse Analytics.

Konektor ini khusus untuk layanan Azure Database for PostgreSQL. Untuk menyalin data dari database PostgreSQL umum yang terletak di lokal atau di cloud, gunakan konektor PostgreSQL.

Kemampuan yang didukung

Konektor Azure Database for PostgreSQL ini didukung untuk kemampuan berikut:

Kemampuan yang didukung IR Titik akhir privat terkelola
Salin aktivitas (sumber/sink) ① ②
Memetakan aliran data (sumber/sink)
Aktivitas pencarian ① ②

① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri

Ketiga aktivitas tersebut bekerja di semua opsi penyebaran Azure Database for PostgreSQL:

Memulai

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

Membuat layanan tertaut ke Azure Database for PostgreSQL menggunakan UI

Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke Azure database for PostgreSQL di antarmuka pengguna portal Microsoft Azure.

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

  2. Cari PostgreSQL dan pilih konektor Azure database for PostgreSQL.

    Select the Azure database for PostgreSQL connector.

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

    Configure a linked service to Azure database for PostgreSQL.

Detail konfigurasi konektor

Bagian berikut ini menawarkan detail tentang properti yang digunakan untuk menentukan entitas Data Factory khusus untuk konektor Azure Database for PostgreSQL.

Properti layanan tertaut

Properti berikut ini didukung untuk layanan tertaut Azure Database for PostgreSQL:

Properti Deskripsi Wajib
jenis Properti jenis harus diatur ke: AzurePostgreSql. Ya
connectionString String koneksi ODBC untuk menyambungkan ke Azure Database for PostgreSQL.
Anda juga dapat meletakkan kata sandi di Azure Key Vault dan menarik konfigurasi password dari string koneksi. Lihat contoh berikut ini dan artikel Menyimpan info masuk di Azure Key Vault untuk detail informasi.
Ya
connectVia Properti ini menunjukkan runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan Azure Integration Runtime atau Integration Runtime yang Dihost Sendiri (jika penyimpanan data Anda berada di jaringan privat). Jika tidak ditentukan, Azure Integration Runtime default akan digunakan. Tidak

String koneksi biasanya adalah Server=<server>.postgres.database.azure.com;Database=<database>;Port=<port>;UID=<username>;Password=<Password>. Berikut ini properti lainnya yang dapat Anda tentukan per 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) Tidak
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) Tidak

Contoh:

{
    "name": "AzurePostgreSqlLinkedService",
    "properties": {
        "type": "AzurePostgreSql",
        "typeProperties": {
            "connectionString": "Server=<server>.postgres.database.azure.com;Database=<database>;Port=<port>;UID=<username>;Password=<Password>"
        }
    }
}

Contoh:

Menyimpan kata sandi di Azure Key Vault

{
    "name": "AzurePostgreSqlLinkedService",
    "properties": {
        "type": "AzurePostgreSql",
        "typeProperties": {
            "connectionString": "Server=<server>.postgres.database.azure.com;Database=<database>;Port=<port>;UID=<username>;",
            "password": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        }
    }
}

Properti himpunan data

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat Himpunan data. Bagian ini menyediakan daftar properti yang didukung Azure Database for PostgreSQL dalam kumpulan data.

Untuk menyalin data dari Azure Database for PostgreSQL, atur properti jenis himpunan data ke AzurePostgreSqlTable. Berikut adalah properti yang didukung:

Properti Deskripsi Wajib
jenis Properti jenis himpunan data harus diatur ke AzurePostgreSqlTable Ya
tableName Nama tabel Tidak (jika "kueri" di sumber aktivitas ditentukan)

Contoh:

{
    "name": "AzurePostgreSqlDataset",
    "properties": {
        "type": "AzurePostgreSqlTable",
        "linkedServiceName": {
            "referenceName": "<AzurePostgreSql linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {}
    }
}

Properti aktivitas salin

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

Azure Database for PostgreSql sebagai sumber

Untuk menyalin data dari Azure Database for PostgreSQL, atur jenis sumber dalam aktivitas salin ke AzurePostgreSqlSource. Berikut ini properti yang didukung di bagian sumber aktivitas salin:

Properti Deskripsi Wajib
jenis Properti jenis sumber aktivitas salin harus diatur ke AzurePostgreSqlSource Ya
pertanyaan Gunakan kueri SQL kustom untuk membaca data. Sebagai contoh: SELECT * FROM mytable atau SELECT * FROM "MyTable". Catatan di PostgreSQL, nama entitas diperlakukan sebagai tidak sensitif huruf besar/kecil jika tidak dikutip. Tidak (jika properti tableName dalam himpunan data ditentukan)
partitionOptions Menentukan opsi partisi data yang digunakan untuk memuat data dari Azure SQL Database.
Nilai yang diizinkan adalah: Tidak ada (default), PhysicalPartitionsOfTable, dan DynamicRange.
Ketika opsi partisi diaktifkan (yaitu, bukan None), tingkat paralelisme untuk memuat data secara bersamaan dari Azure SQL Database dikendalikan oleh pengaturan parallelCopies pada aktivitas salin.
Tidak
partitionSettings Tentukan grup pengaturan untuk pemartisian data.
Terapkan saat opsi partisi bukan None.
Tidak
Di bawah partitionSettings:
partitionNames Daftar partisi fisik yang perlu disalin.
Terapkan saat opsi partisi adalah PhysicalPartitionsOfTable. Jika Anda menggunakan kueri untuk mengambil data sumber, kaitkan ?AdfTabularPartitionName di klausul WHERE. Sebagai contoh, lihat bagian Salinan paralel dari Azure Database for PostgreSQL.
Tidak
partitionColumnName Tentukan nama kolom sumber dalam bilangan bulat atau jenis tanggal/waktu (int, smallint, bigint, date, timestamp without time zone, timestamp with time zone atau time without time zone) yang akan digunakan oleh partisi rentang untuk salinan paralel. Jika belum ditentukan, kunci primer tabel akan terdeteksi secara otomatis dan digunakan sebagai kolom partisi.
Terapkan saat opsi partisi adalah DynamicRange. Jika Anda menggunakan kueri untuk mengambil data sumber, kaitkan ?AdfRangePartitionColumnName di klausul WHERE. Sebagai contoh, lihat bagian Salinan paralel dari Azure Database for PostgreSQL.
Tidak
partitionUpperBound Nilai maksimum kolom partisi untuk menyalin data.
Terapkan saat opsi partisi adalah DynamicRange. Jika Anda menggunakan kueri untuk mengambil data sumber, kaitkan ?AdfRangePartitionUpbound di klausul WHERE. Sebagai contoh, lihat bagian Salinan paralel dari Azure Database for PostgreSQL.
Tidak
partitionLowerBound Nilai minimum kolom partisi untuk menyalin data.
Terapkan saat opsi partisi adalah DynamicRange. Jika Anda menggunakan kueri untuk mengambil data sumber, kaitkan ?AdfRangePartitionLowbound di klausul WHERE. Sebagai contoh, lihat bagian Salinan paralel dari Azure Database for PostgreSQL.
Tidak

Contoh:

"activities":[
    {
        "name": "CopyFromAzurePostgreSql",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<AzurePostgreSql input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "AzurePostgreSqlSource",
                "query": "<custom query e.g. SELECT * FROM mytable>"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Azure Database for PostgreSQL sebagai sink

Untuk menyalin data dari Azure Database for PostgreSQL, properti berikut ini didukung di bagian sink aktivitas penyalinan:

Properti Deskripsi Wajib
jenis Properti jenis sink aktivitas penyalinan harus diatur ke AzurePostgreSQLSink. Ya
preCopyScript Di setiap eksekusi, tentukan kueri SQL yang akan dijalankan oleh aktivitas penyalinan sebelum Anda menulis data ke Azure Database for PostgreSQL untuk setiap eksekusi. Anda dapat menggunakan properti ini untuk membersihkan data yang telah dimuat sebelumnya. Tidak
writeMethod Metode ini digunakan untuk menulis data ke Azure Database for PostgreSQL.
Nilai yang diizinkan adalah: CopyCommand (default, yang lebih berkinerja), BulkInsert.
Tidak
writeBatchSize Jumlah baris yang dimuat ke Azure Database for PostgreSQL per batch.
Nilai yang diizinkan adalah bilangan bulat yang menunjukkan jumlah baris.
Tidak (defaultnya adalah 1.000.000)
writeBatchTimeout Waktu tunggu hingga operasi penyisipan batch selesai sebelum waktu habis.
Nilai yang diizinkan adalah untai Rentang Waktu. Contohnya adalah 00:30:00 (30 menit).
Tidak (defaultnya adalah 00:30:00)

Contoh:

"activities":[
    {
        "name": "CopyToAzureDatabaseForPostgreSQL",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Azure PostgreSQL output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "AzurePostgreSQLSink",
                "preCopyScript": "<custom SQL script>",
                "writeMethod": "CopyCommand",
                "writeBatchSize": 1000000
            }
        }
    }
]

Salinan paralel dari Azure Database for PostgreSQL

Konektor Azure Database for PostgreSQL dalam aktivitas salin menyediakan partisi data bawaan untuk menyalin data secara paralel. Anda dapat menemukan opsi pemartisian data pada tab Sumber aktivitas salin.

Screenshot of partition options

Saat Anda mengaktifkan salinan terpartisi, aktivitas salin menjalankan kueri paralel terhadap sumber Azure Database for Postgre SQL Anda untuk memuat data berdasarkan partisi. Derajat paralel dikendalikan oleh pengaturan parallelCopies pada aktivitas salin. Misalnya, jika Anda mengatur parallelCopies menjadi empat, layanan secara bersamaan menghasilkan dan menjalankan empat kueri berdasarkan opsi dan pengaturan partisi yang ditentukan, dan setiap kueri mengambil sebagian data dari Azure Database for PostgreSQL Anda.

Sebaiknya aktifkan penyalinan paralel dengan partisi data, terutama ketika memuat data dalam jumlah besar dari Azure Database for PostgreSQL Anda. Berikut ini adalah konfigurasi yang disarankan untuk skenario yang berbeda. Saat menyalin data ke penyimpanan data berbasis file, disarankan untuk menulis ke folder sebagai beberapa file (hanya tentukan nama folder), dalam hal ini performanya lebih baik daripada menulis ke satu file.

Skenario Pengaturan yang disarankan
Pemuatan penuh dari tabel besar, dengan partisi fisik. Opsi partisi: Partisi fisik tabel.

Selama eksekusi, layanan secara otomatis mendeteksi partisi fisik, dan menyalin data berdasarkan partisi.
Pemuatan penuh dari tabel besar, tanpa partisi fisik, sedangkan dengan kolom bilangan bulat untuk partisi data. Opsi partisi: Partisi rentang dinamis.
Kolom partisi: Menentukan kolom yang digunakan untuk mempartisi data. Jika belum ditentukan, kolom kunci primer digunakan.
Muat data dalam jumlah besar menggunakan kueri kustom, dengan partisi fisik. Opsi partisi: Partisi fisik tabel.
Kueri: SELECT * FROM ?AdfTabularPartitionName WHERE <your_additional_where_clause>.
Nama partisi: Tentukan nama partisi untuk menyalin data. Jika tidak ditentukan, layanan akan otomatis mendeteksi partisi fisik pada tabel yang Anda tentukan dalam himpunan data PostgreSQL.

Selama eksekusi, layanan akan mengganti ?AdfTabularPartitionName dengan nama partisi yang sebenarnya, dan mengirimnya ke Azure Database for PostgreSQL.
Muat data dalam jumlah besar dengan menggunakan kueri kustom, tanpa partisi fisik, sedangkan dengan kolom bilangan bulat untuk partisi data. Opsi partisi: Partisi rentang dinamis.
Kueri: SELECT * FROM ?AdfTabularPartitionName WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
Kolom partisi: Menentukan kolom yang digunakan untuk mempartisi data. Anda dapat melakukan pemartisian terhadap kolom dengan jenis data bilangan bulat atau tanggal/tanggalwaktu.
Batas atas partisi dan batas bawah partisi: Tentukan apakah Anda ingin memfilter kolom partisi untuk mengambil data hanya antara rentang bawah dan atas.

Selama eksekusi, layanan akan mengganti ?AdfRangePartitionColumnName, ?AdfRangePartitionUpbound, dan ?AdfRangePartitionLowbound dengan nama kolom dan rentang nilai yang sebenarnya untuk setiap partisi, dan mengirimnya ke Azure Database for PostgreSQL.
Misalnya, jika "ID" kolom partisi Anda diatur dengan batas bawah sebagai 1 dan batas atas sebagai 80, dengan penyalinan paralel ditetapkan sebagai 4, layanan mengambil data dengan 4 partisi. ID-nya masing-masing antara [1, 20], [21, 40], [41, 60], dan [61, 80].

Praktik terbaik untuk memuat data dengan opsi partisi:

  1. Pilih kolom yang khas sebagai kolom partisi (seperti kunci primer atau kunci unik) untuk menghindari penyimpangan data.
  2. Jika tabel memiliki partisi bawaan, gunakan opsi partisi "Partisi fisik tabel" untuk mendapatkan performa yang lebih baik.
  3. Jika Anda menggunakan Azure Integration Runtime untuk menyalin data, Anda dapat mengatur "Unit Integrasi Data (DIU)" yang lebih besar (>4) untuk menggunakan lebih banyak sumber daya komputasi. Periksa skenario yang berlaku di sana.
  4. "Tingkat paralelisme penyalinan" mengontrol jumlah partisi, mengatur jumlah ini terlalu besar kadang menurunkan kinerja, rekomendasikan mengatur angka ini sebagai (DIU atau jumlah simpul Runtime integrasi yang dihost sendiri) * (2 hingga 4).

Contoh: pemuatan penuh dari tabel besar dengan partisi fisik

"source": {
    "type": "AzurePostgreSqlSource",
    "partitionOption": "PhysicalPartitionsOfTable"
}

Contoh: kueri dengan partisi rentang dinamis

"source": {
    "type": "AzurePostgreSqlSource",
    "query": "SELECT * FROM <TableName> WHERE ?AdfDynamicRangePartitionCondition AND <your_additional_where_clause>",
    "partitionOption": "DynamicRange",
    "partitionSettings": {
        "partitionColumnName": "<partition_column_name>",
        "partitionUpperBound": "<upper_value_of_partition_column (optional) to decide the partition stride, not as data filter>",
        "partitionLowerBound": "<lower_value_of_partition_column (optional) to decide the partition stride, not as data filter>"
    }
}

Properti pemetaan aliran data

Saat melakukan transformasi data dalam aliran data pemetaan, Anda dapat membaca dan menulis ke tabel dari Azure Database for PostgreSQL. Untuk informasi selengkapnya, lihat transformasi sumber dan transformasi sink dalam aliran data pemetaan. Anda dapat memilih untuk menggunakan himpunan data Azure Database for PostgreSQL atau himpunan data sebaris sebagai jenis sumber dan sink.

Transformasi sumber

Tabel di bawah ini mencantumkan properti yang didukung oleh sumber Azure Database for PostgreSQL. Anda bisa mengedit properti ini di tab opsi Sumber.

Nama Deskripsi Wajib diisi Nilai yang diizinkan Properti skrip aliran data
Table Jika Anda memilih Tabel sebagai input, aliran data mengambil semua data dari tabel yang ditentukan dalam himpunan data. Tidak - (hanya untuk himpunan data sebaris)
tableName
Kueri Jika Anda memilih Kueri sebagai input, tentukan kueri SQL untuk mengambil data dari sumber, yang menggantikan tabel apa pun yang Anda tentukan dalam himpunan data. Menggunakan kueri adalah cara yang bagus untuk mengurangi baris untuk pengujian atau pencarian.

Klausa Urutkan Menurut tidak didukung, tetapi Anda dapat mengatur pernyataan SELECT FROM lengkap. Anda juga dapat menggunakan fungsi tabel yang ditentukan pengguna. pilih * dari udfGetData() adalah UDF di SQL yang menghasilkan tabel yang dapat Anda gunakan dalam aliran data.
Contoh kueri: select * from mytable where customerId > 1000 and customerId < 2000 atau select * from "MyTable". Catatan di PostgreSQL, nama entitas diperlakukan sebagai tidak sensitif huruf besar/kecil jika tidak dikutip.
Tidak String pertanyaan
Nama skema Jika Anda memilih prosedur Tersimpan sebagai input, tentukan nama skema prosedur tersimpan, atau pilih Refresh untuk meminta layanan menemukan nama skema. Tidak String schemaName
Prosedur Tersimpan Jika Anda memilih Prosedur tersimpan sebagai input, tentukan nama prosedur tersimpan untuk membaca data dari tabel sumber, atau pilih Refresh untuk meminta layanan menemukan nama prosedur. Ya (jika Anda memilih Prosedur tersimpan sebagai input) String procedureName
Parameter prosedur Jika Anda memilih Prosedur tersimpan sebagai input, tentukan parameter input apa pun untuk prosedur tersimpan dalam urutan yang diatur dalam prosedur, atau pilih Impor untuk mengimpor semua parameter prosedur menggunakan formulir @paraName. Tidak Array input
Ukuran batch Tentukan ukuran batch untuk menggugus data besar ke dalam batch. Tidak Bilangan bulat batchSize
Tingkat Isolasi Pilih salah satu tingkat isolasi berikut:
- Read Committed
- Read Uncommitted (default)
- Repeatable Read
- Serializable
- Tidak ada (abaikan tingkat isolasi)
Tidak READ_COMMITTED
READ_UNCOMMITTED
REPEATABLE_READ
SERIALIZABLE
NONE
isolationLevel

Contoh skrip sumber Azure Database for PostgreSQL

Saat Anda menggunakan Azure Database for PostgreSQL sebagai jenis sumber, skrip aliran data terkait adalah:

source(allowSchemaDrift: true,
    validateSchema: false,
    isolationLevel: 'READ_UNCOMMITTED',
    query: 'select * from mytable',
    format: 'query') ~> AzurePostgreSQLSource

Transformasi sink

Tabel di bawah ini mencantumkan properti yang didukung oleh sink Azure Database for PostgreSQL. Anda dapat mengedit properti ini di tab opsi Sink.

Nama Deskripsi Wajib diisi Nilai yang diizinkan Properti skrip aliran data
Perbarui() metode Menentukan operasi apa yang diizinkan di tujuan database Anda. Defaultnya hanya mengizinkan operasi sisipan.
Untuk memperbarui, meningkatkan, atau menghapus baris, transformasi baris Alterdiperlukan untuk menandai baris untuk tindakan tersebut.
Ya true atau false dapat dideletable
dapat disisipkan
dapat diperbarui
dapat dibuat upsert
Kolom kunci Untuk pembaruan, upsert, dan penghapusan, kolom kunci harus diatur untuk menentukan baris mana yang akan diubah.
Nama kolom yang Anda pilih sebagai kunci akan digunakan sebagai bagian dari pembaruan, upsert, penghapusan berikutnya. Oleh karena itu, Anda harus memilih kolom yang ada di pemetaan Sink.
Tidak Array kunci
Lompati penulisan kolom kunci Jika Anda ingin tidak menulis nilai ke kolom kunci, pilih "Lompati penulisan kolom kunci". Tidak true atau false skipKeyWrites
Tindakan pada tabel Menentukan apakah akan membuat ulang atau menghapus semua baris dari tabel tujuan sebelum menulis.
- Tidak Ada: Tidak ada tindakan yang akan dilakukan pada tabel.
- Buat ulang: Tabel akan dihapus dan dibuat ulang. Diperlukan jika membuat tabel baru secara dinamis.
- Kosongkan: Semua baris dari tabel target akan dihapus.
Tidak true atau false recreate
Memotong
Ukuran batch Menentukan berapa banyak baris yang sedang ditulis di setiap batch. Ukuran batch yang lebih besar meningkatkan pemadatan dan pengoptimalan memori, tetapi berisiko kehabisan pengecualian memori saat penembolokan data. Tidak Bilangan bulat batchSize
Memilih skema DB pengguna Secara default, tabel sementara akan dibuat di bawah skema sink sebagai penahapan. Anda juga dapat menghapus centang opsi Gunakan skema sink dan sebagai gantinya, tentukan nama skema yang digunakan Data Factory untuk membuat tabel penahapan untuk memuat data upstram dan secara otomatis menghapusnya setelah selesai. Pastikan Anda telah membuat izin tabel di database dan mengubah izin pada skema. Tidak String stagingSchemaName
Skrip Pra dan Pasca SQL Menentukan skrip SQL multibaris yang akan dijalankan sebelum (prapemrosesan) dan setelah (pascapemrosesan) data ditulis ke database Sink Anda. Tidak String preSQL
postSQLs

Tip

  1. Disarankan untuk memecah skrip batch tunggal dengan beberapa perintah menjadi beberapa batch.
  2. Hanya pernyataan Bahasa Definisi Data (DDL) dan Bahasa Manipulasi Data (DML) yang menampilkan jumlah pembaruan sederhana yang dapat dijalankan sebagai bagian dari batch. Pelajari selengkapnya dari Melakukan operasi batch
  • Aktifkan ekstrak bertambah bertahap: Gunakan opsi ini untuk memberi tahu ADF untuk hanya memproses baris yang telah berubah sejak terakhir kali alur dijalankan.

  • Kolom inkremental: Saat menggunakan fitur ekstrak inkremental, Anda harus memilih kolom tanggal/waktu atau numerik yang ingin Anda gunakan sebagai marka air di tabel sumber Anda.

  • Mulai membaca dari awal: Mengatur opsi ini dengan ekstrak inkremental akan menginstruksikan ADF untuk membaca semua baris pada eksekusi pertama alur dengan ekstrak inkremental diaktifkan.

Contoh skrip sink Azure Database for PostgreSQL

Saat Anda menggunakan Azure Database for PostgreSQL sebagai jenis sink, skrip aliran data terkait adalah:

IncomingStream sink(allowSchemaDrift: true,
    validateSchema: false,
    deletable:false,
    insertable:true,
    updateable:true,
    upsertable:true,
    keys:['keyColumn'],
    format: 'table',
    skipDuplicateMapInputs: true,
    skipDuplicateMapOutputs: true) ~> AzurePostgreSQLSink

Properti aktivitas pencarian

Selengkapnya tentang properti, lihat Aktivitas pencarian.

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