Menyalin data dari Oracle Cloud Storage menggunakan Azure Data Factory

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 menyalin data dari Oracle Cloud Storage. Untuk mempelajari selengkapnya, baca artikel pengantar untuk Azure Data Factory dan Synapse Analytics.

Kemampuan yang didukung

Konektor Oracle Cloud Storage ini didukung untuk kemampuan berikut:

Kemampuan yang didukung IR
Aktivitas penyalinan (sumber/-) ① ②
Aktivitas pencarian ① ②
Aktivitas GetMetadata ① ②
Aktivitas penghapusan ① ②

① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri

Secara khusus, konektor Oracle Cloud Storage ini mendukung penyalinan file apa adanya atau penguraian file dengan format file dan codec kompresi yang didukung. Konektor ini memanfaatkan interoperabilitas Oracle Cloud Storage yang kompatibel dengan S3.

Prasyarat

Untuk menyalin data dari Oracle Cloud Storage, lihat di sini untuk prasyarat dan izin yang diperlukan.

Memulai

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

Buat layanan tertaut ke Oracle Cloud Storage menggunakan antarmuka pengguna

Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke Oracle Cloud Storage 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 Oracle dan pilih konektor Oracle Cloud Storage.

    Screenshot of the Oracle Cloud Storage connector.

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

    Screenshot of linked service configuration for Oracle Cloud Storage.

Detail konfigurasi konektor

Bagian berikut memberikan detail tentang properti yang digunakan untuk menentukan entitas Data Factory khusus untuk Oracle Cloud Storage.

Properti layanan tertaut

Properti berikut didukung untuk layanan tertaut Oracle Cloud Storage:

Properti Deskripsi Wajib
jenis Properti jenis harus diatur ke OracleCloudStorage. Ya
accessKeyId ID dari kunci akses rahasia. Untuk menemukan kunci akses dan rahasia, lihat Prasyarat. Ya
secretAccessKey Kunci akses rahasia itu sendiri. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau lihat rahasia yang disimpan di Azure Key Vault. Ya
serviceUrl Tentukan titik akhir kustom sebagai https://<namespace>.compat.objectstorage.<region identifier>.oraclecloud.com. Lihat di sini untuk detail selengkapnya Ya
connectVia Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan runtime integrasi Azure atau runtime integrasi yang dihost sendiri (jika penyimpanan data Anda berada di jaringan privat). Jika properti ini tidak ditentukan, layanan menggunakan runtime integrasi Azure default. Tidak

Berikut contohnya:

{
    "name": "OracleCloudStorageLinkedService",
    "properties": {
        "type": "OracleCloudStorage",
        "typeProperties": {
            "accessKeyId": "<access key id>",
            "secretAccessKey": {
                "type": "SecureString",
                "value": "<secret access key>"
            },
            "serviceUrl": "https://<namespace>.compat.objectstorage.<region identifier>.oraclecloud.com"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Properti himpunan data

Azure Data Factory mendukung jenis format file berikut. Lihat setiap artikel untuk mengetahui cara melakukan pengaturan berbasis format.

Properti berikut didukung untuk Oracle Cloud Storage pada pengaturan location dalam himpunan data berbasis format:

Properti Deskripsi Wajib
jenis Properti jenis pada location dalam himpunan data harus diatur ke OracleCloudStorageLocation. Ya
bucketName Nama bucket Oracle Cloud Storage. Ya
folderPath Jalur ke folder di bawah wadah yang diberikan. Jika Anda ingin menggunakan kartubebas untuk memfilter folder, lewati pengaturan ini dan tentukan itu di pengaturan sumber aktivitas. Tidak
fileName Nama file di bawah jalur wadah dan folder yang diberikan. Jika Anda ingin menggunakan kartubebas untuk memfilter file, lewati pengaturan ini dan tentukan itu di pengaturan sumber aktivitas. Tidak

Contoh:

{
    "name": "DelimitedTextDataset",
    "properties": {
        "type": "DelimitedText",
        "linkedServiceName": {
            "referenceName": "<Oracle Cloud Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "OracleCloudStorageLocation",
                "bucketName": "bucketname",
                "folderPath": "folder/subfolder"
            },
            "columnDelimiter": ",",
            "quoteChar": "\"",
            "firstRowAsHeader": true,
            "compressionCodec": "gzip"
        }
    }
}

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 Oracle Cloud Storage.

Oracle Cloud Storage sebagai jenis sumber

Azure Data Factory mendukung jenis format file berikut. Lihat setiap artikel untuk mengetahui cara melakukan pengaturan berbasis format.

Properti berikut didukung untuk Oracle Cloud Storage pada pengaturan storeSettings dalam himpunan data berbasis format:

Properti Deskripsi Wajib
jenis Properti jenis pada storeSettings harus diatur ke OracleCloudStorageReadSettings. Ya
Menemukan file yang akan disalin:
OPSI 1: jalur statik
Menyalin dari wadah atau jalur folder/file yang diberikan dan ditentukan dalam himpunan data. Jika Anda ingin menyalin semua file dari satu wadah atau folder, tentukan juga wildcardFileName sebagai *.
OPSI 2: Awalan Oracle Cloud Storage
- awalan
Awalan untuk nama kunci Oracle Cloud Storage pada bucket yang diberikan yang dikonfigurasi dalam himpunan data untuk memfilter file Oracle Cloud Storage sumber. Kunci Oracle Cloud Storage dengan nama awal bucket_in_dataset/this_prefix dipilih. Ini menggunakan filter sisi layanan Oracle Cloud Storage, yang memberikan performa lebih baik daripada filter wildcard. Tidak
OPSI 3: kartubebas
- wildcardFolderPath
Jalur folder dengan karakter kartubebas di bawah wadah yang diberikan dikonfigurasi dalam himpunan data untuk memfilter folder sumber.
Kartubebas yang diizinkan adalah: * (cocok dengan nol atau lebih karakter) dan ? (cocok dengan karakter nol atau satu). Gunakan ^ untuk karakter escape jika nama folder Anda memiliki karakter kartubebas atau karakter escape di dalamnya.
Lihat contoh lainnya dalam Contoh filter folder dan file.
Tidak
OPSI 4: kartubebas
- wildcardFileName
Nama file dengan kartubebas di bawah jalur wadah dan folder yang diberikan (atau jalur folder kartubebas) untuk memfilter file sumber.
Kartubebas yang diizinkan adalah: * (cocok dengan nol atau lebih karakter) dan ? (cocok dengan karakter nol atau satu). Gunakan ^ untuk karakter escape jika nama file Anda memiliki karakter kartubebas atau karakter escape di dalamnya. Lihat contoh lainnya dalam Contoh filter folder dan file.
Ya
OPSI 5: daftar file
- fileListPath
Mengindikasikan untuk menyalin set file yang diberikan. Arahkan ke file teks yang menyertakan daftar file yang ingin Anda salin, satu file per baris, yang merupakan jalur relatif ke jalur yang dikonfigurasi dalam himpunan data.
Saat Anda menggunakan opsi ini, jangan tentukan nama file di himpunan data. Lihat contoh lainnya dalam Contoh daftar file.
Tidak
Pengaturan tambahan:
recursive Menunjukkan apakah data dibaca secara rekursif dari subfolder atau hanya dari folder yang ditentukan. Perhatikan bahwa ketika recursive diatur ke true dan sink adalah penyimpanan berbasis file, folder kosong atau subfolder tidak disalin atau dibuat di sink.
Nilai yang diizinkan adalah true (default) dan false.
Properti ini tidak berlaku saat Anda mengonfigurasi fileListPath.
Tidak
deleteFilesAfterCompletion Menunjukkan apakah file biner akan dihapus dari penyimpanan sumber setelah berhasil pindah ke penyimpanan tujuan. Penghapusan file dilakukan per file, jadi ketika aktivitas salin gagal, Anda akan melihat beberapa file telah disalin ke tujuan dan dihapus dari sumbernya, sementara file yang lain masih berada di penyimpanan sumber.
Properti ini hanya valid dalam skenario penyalinan file biner. Nilai default: false.
Tidak
modifiedDatetimeStart File difilter berdasarkan atribut: terakhir diubah.
File akan dipilih jika waktu modifikasi terakhir file tersebut lebih besar dari atau sama dengan modifiedDatetimeStart dan kurang dari modifiedDatetimeEnd. Waktu diterapkan ke zona waktu UTC dalam format “2018-12-01T05:00:00Z”.
Properti dapat menjadi NULL, yang berarti tidak ada filter atribut file yang akan diterapkan ke himpunan data. Ketika modifiedDatetimeStart memiliki nilai tanggalwaktu tetapi modifiedDatetimeEnd adalah NUL, hal ini berarti file dengan nilai atribut yang terakhir diubah memiliki nilai lebih besar dari atau sama dengan nilai tanggalwaktu yang dipilih. Ketika modifiedDatetimeEnd memiliki nilai tanggalwaktu tetapi modifiedDatetimeStartadalah NUL, file dengan nilai atributnya yang terakhir diubah lebih kecil dari nilai tanggalwaktu akan dipilih.
Properti ini tidak berlaku saat Anda mengonfigurasi fileListPath.
Tidak
modifiedDatetimeEnd Sama dengan atas. Tidak
enablePartitionDiscovery Untuk file yang dipartisi, tentukan apakah Anda akan memilah partisi dari jalur file dan menambahkannya sebagai kolom sumber tambahan.
Nilai yang diperbolehkan adalah false (default) dan true.
Tidak
partitionRootPath Ketika penemuan partisi diaktifkan, tentukan jalur akar absolut untuk membaca folder yang dipartisi sebagai kolom data.

Jika tidak ditentukan, secara default,
- Ketika Anda menggunakan jalur file dalam himpunan data atau daftar file pada sumber, jalur akar partisi adalah jalur yang dikonfigurasi dalam himpunan data.
- Ketika Anda menggunakan filter folder kartubebas, jalur akar partisi adalah sub-jalur sebelum kartubebas pertama.

Misalnya, dengan asumsi Anda mengonfigurasi jalur dalam himpunan data sebagai "root/folder/year=2020/month=08/day=27":
- Jika Anda menentukan jalur akar partisi sebagai "root/folder/year=2020", aktivitas salin akan menghasilkan dua kolom lagi month dan day dengan nilai masing-masing "08" dan "27", selain kolom di dalam file.
- Jika jalur akar partisi tidak ditentukan, tidak ada kolom tambahan yang akan dihasilkan.
Tidak
maxConcurrentConnections Batas atas koneksi bersamaan yang ditetapkan ke penyimpanan data selama eksekusi aktivitas. Menentukan nilai hanya saat Anda ingin membatasi koneksi bersamaan. Tidak

Contoh:

"activities":[
    {
        "name": "CopyFromOracleCloudStorage",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Delimited text input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "DelimitedTextSource",
                "formatSettings":{
                    "type": "DelimitedTextReadSettings",
                    "skipLineCount": 10
                },
                "storeSettings":{
                    "type": "OracleCloudStorageReadSettings",
                    "recursive": true,
                    "wildcardFolderPath": "myfolder*A",
                    "wildcardFileName": "*.csv"
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Contoh filter folder dan file

Bagian ini menjelaskan perilaku yang dihasilkan dari jalur folder dan nama file dengan filter kartubebas.

wadah kunci recursive Struktur folder sumber dan hasil filter (file dalam huruf tebal akan diambil)
wadah Folder*/* salah wadah
    FolderA
        File1.csv
        File2.json
        Subfolder1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
wadah Folder*/* benar wadah
    FolderA
        File1.csv
        File2.json
        Subfolder1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
wadah Folder*/*.csv salah wadah
    FolderA
        File1.csv
        File2.json
        Subfolder1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
wadah Folder*/*.csv benar wadah
    FolderA
        File1.csv
        File2.json
        Subfolder1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv

Contoh daftar file

Bagian ini menjelaskan perilaku yang dihasilkan dari penggunaan jalur daftar file di sumber aktivitas Salin.

Asumsikan bahwa Anda memiliki struktur folder sumber berikut dan ingin menyalin file dengan huruf tebal:

Struktur sumber sampel Konten dalam FileListToCopy.txt Konfigurasi
wadah
    FolderA
        File1.csv
        File2.json
        Subfolder1
            File3.csv
            File4.json
            File5.csv
    Metadata
        FileListToCopy.txt
File1.csv
Subfolder1/File3.csv
Subfolder1/File5.csv
Dalam himpunan data:
- Wadah: bucket
- Jalur folder: FolderA

Di sumber aktivitas salin:
- Jalur daftar file: bucket/Metadata/FileListToCopy.txt

Jalur daftar file menunjuk ke file teks di penyimpanan data yang sama yang menyertakan daftar file yang ingin Anda salin, satu file per baris dengan jalur relatif ke jalur yang dikonfigurasi dalam himpunan data.

Properti aktivitas pencarian

Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.

Properti aktivitas GetMetadata

Untuk mempelajari detail tentang properti ini, lihat aktivitas GetMetadata.

Properti aktivitas penghapusan

Untuk mempelajari detail tentang properti ini, lihat Aktivitas penghapusan.

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