Menyalin data dari sumber OData 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 sumber OData. Artikel ini dibuat berdasarkan Aktivitas Salin, yang menyajikan ikhtisar umum tentang Aktivitas Salin.

Kemampuan yang didukung

Konektor OData ini didukung untuk kemampuan berikut:

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

① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri

Untuk mengetahui daftar penyimpanan data yang didukung sebagai sumber/sink, lihat Penyimpanan data yang didukung.

Secara khusus, konektor OData ini mendukung:

  • OData versi 2.0, 3.0, dan 4.0.
  • Menyalin data dengan menggunakan salah satu autentikasi berikut: Perwakilan layanan Anonim, Dasar, Windows, dan Microsoft Entra.

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.

Mulai

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

Membuat layanan tertaut ke toko OData menggunakan UI

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

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

  2. Cari OData dan pilih konektor OData.

    Screenshot of the OData connector.

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

    Screenshot of linked service configuration for an OData store.

Detail konfigurasi konektor

Bagian berikut ini menyediakan detail tentang properti yang dapat Anda gunakan untuk menentukan entitas Data Factory khusus untuk konektor OData.

Properti layanan tertaut

Properti berikut ini didukung untuk layanan tertaut OData:

Properti Deskripsi Wajib
jenis Properti jenis harus diatur ke OData. Ya
url URL akar dari layanan OData. Ya
authenticationType Jenis autentikasi yang digunakan untuk menyambungkan ke sumber OData. Nilai yang diizinkan adalah Anonim, Dasar, Windows, dan AadServicePrincipal. Tidak mendukung OAuth berbasis pengguna. Anda juga dapat mengonfigurasi header autentikasi di properti authHeader. Ya
authHeaders Header permintaan HTTP tambahan untuk autentikasi.
Misalnya, untuk menggunakan autentikasi kunci API, Anda dapat memilih jenis autentikasi sebagai "Anonymous" dan menentukan kunci API di header.
Tidak
userName Tentukan Nama pengguna jika Anda menggunakan autentikasi Dasar atau Windows. Tidak
kata sandi Tentukan kata sandi untuk akun pengguna yang Anda tentukan untuk nama pengguna. Tandai bidang ini sebagai jenis SecureString untuk menyimpannya dengan aman. Atau, Anda dapat mereferensikan rahasia yang disimpan di Azure Key Vault. Tidak
servicePrincipalId Tentukan ID klien aplikasi Microsoft Entra. Tidak
aadServicePrincipalCredentialType Jenis kredensial yang digunakan untuk autentikasi perwakilan layanan. Nilai yang diperbolehkan adalah: ServicePrincipalKey atau ServicePrincipalCert. Tidak
servicePrincipalKey Tentukan kunci aplikasi Microsoft Entra. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau referensikan rahasia yang disimpan di Azure Key Vault. Tidak
servicePrincipalEmbeddedCert Tentukan sertifikat yang dikodekan base64 dari aplikasi Anda yang terdaftar di ID Microsoft Entra, dan pastikan jenis konten sertifikat adalah PKCS #12. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau referensikan rahasia yang disimpan di Azure Key Vault. Tidak
servicePrincipalEmbeddedCertPassword Tentukan kata sandi sertifikat Anda jika sertifikat Anda diamankan dengan kata sandi. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau referensikan rahasia yang disimpan di Azure Key Vault. Tidak
penyewa Tentukan informasi penyewa (nama domain atau ID penyewa) tempat aplikasi Anda berada. Anda dapat mengambilnya dengan mengarahkan mouse ke sudut kanan atas portal Microsoft Azure. Tidak
aadResourceId Tentukan sumber daya Microsoft Entra yang Anda minta untuk otorisasi. Tidak
azureCloudType Untuk autentikasi perwakilan layanan, tentukan jenis lingkungan cloud Azure tempat aplikasi Microsoft Entra Anda didaftarkan.
Nilai yang diizinkan adalah AzurePublic, AzureChina, AzureUsGovernment, dan AzureGermany. Secara default, lingkungan cloud layanan digunakan.
Tidak
connectVia Integration Runtime digunakan untuk menyambungkan ke penyimpanan data. Pelajari selengkapnya dari bagian Prasyarat. Jika tidak ditentukan, Integration Runtime Azure default digunakan. Tidak

Contoh 1: menggunakan autentikasi Anonim

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "https://services.odata.org/OData/OData.svc",
            "authenticationType": "Anonymous"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Contoh 2: Menggunakan autentikasi Dasar

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "<endpoint of OData source>",
            "authenticationType": "Basic",
            "userName": "<user name>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Contoh 3: menggunakan autentikasi Windows

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "<endpoint of OData source>",
            "authenticationType": "Windows",
            "userName": "<domain>\\<user>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Contoh 4: menggunakan autentikasi kunci perwakilan layanan

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "<endpoint of OData source>",
            "authenticationType": "AadServicePrincipal",
            "servicePrincipalId": "<service principal id>",
            "aadServicePrincipalCredentialType": "ServicePrincipalKey",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
            "aadResourceId": "<AAD resource URL>"
        }
    },
    "connectVia": {
        "referenceName": "<name of Integration Runtime>",
        "type": "IntegrationRuntimeReference"
    }
}

Contoh 5: menggunakan autentikasi sertifikat perwakilan layanan

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "<endpoint of OData source>",
            "authenticationType": "AadServicePrincipal",
            "servicePrincipalId": "<service principal id>",
            "aadServicePrincipalCredentialType": "ServicePrincipalCert",
            "servicePrincipalEmbeddedCert": { 
                "type": "SecureString", 
                "value": "<base64 encoded string of (.pfx) certificate data>"
            },
            "servicePrincipalEmbeddedCertPassword": { 
                "type": "SecureString", 
                "value": "<password of your certificate>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
            "aadResourceId": "<AAD resource e.g. https://tenant.sharepoint.com>"
        }
    },
    "connectVia": {
        "referenceName": "<name of Integration Runtime>",
        "type": "IntegrationRuntimeReference"
    }
}

Contoh 6: Menggunakan autentikasi kunci API

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "<endpoint of OData source>",
            "authenticationType": "Anonymous",
            "authHeader": {
                "APIKey": {
                    "type": "SecureString",
                    "value": "<API key>"
                }
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Properti himpunan data

Bagian ini menyediakan daftar properti yang didukung kumpulan data OData.

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat Himpunan data dan layanan tertaut.

Untuk menyalin data dari OData, atur properti jenis himpunan data keODataResource. Berikut adalah properti yang didukung:

Properti Deskripsi Wajib
jenis Properti jenis himpunan data harus diatur ke ODataResource. Ya
jalan Jalur ke sumber daya OData Ya

Contoh

{
    "name": "ODataDataset",
    "properties":
    {
        "type": "ODataResource",
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<OData linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties":
        {
            "path": "Products"
        }
    }
}

Properti Aktivitas Salin

Bagian ini menyediakan daftar properti yang didukung sumber data OData.

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat Alur.

OData sebagai sumber data

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

Properti Deskripsi Wajib
jenis Properti jenis sumber Aktivitas Salin harus diatur keODataSource. Ya
pertanyaan Opsi kueri OData untuk memfilter data. Contoh: "$select=Name,Description&$top=5".

Catatan: Konektor OData menyalin data dari URL gabungan: [URL specified in linked service]/[path specified in dataset]?[query specified in copy activity source]. Selengkapnya, lihat komponen URL OData.
Tidak
httpRequestTimeout Waktu habis (nilai TimeSpan) untuk permintaan HTTP untuk mendapatkan respons. Nilai ini adalah batas waktu untuk mendapatkan respons, bukan batas waktu untuk membaca data respons. Jika tidak ditentukan, nilai defaultnya adalah00:30:00 (30 menit). Tidak

Contoh

"activities":[
    {
        "name": "CopyFromOData",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<OData input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "ODataSource",
                "query": "$select=Name,Description&$top=5"
            },
            "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.

Pemetaan jenis data untuk OData

Saat menyalin data dari OData, pemetaan berikut ini digunakan antara jenis data OData dan jenis data sementara dalam layanan secara internal. Untuk mempelajari bagaimana Aktivitas Salin memetakan skema sumber dan jenis data ke sink, lihat Pemetaan skema dan jenis data.

Jenis Data OData Jenis data layanan sementara
Edm.Binary Byte[]
Edm.Boolean Bool
Edm.Byte Byte[]
Edm.DateTime DateTime
Edm.Decimal Decimal
Edm.Double Laju
Edm.Single Tunggal
Edm.Guid Guid
Edm.Int16 Int16
Edm.Int32 Int32
Edm.Int64 Int64
Edm.SByte Int16
Edm.String String
Edm.Time TimeSpan
Edm.DateTimeOffset DateTimeOffset

Catatan

Jenis data kompleks OData (sepertiObjek) tidak didukung.

Menyalin data dari Project Online

Project Online membutuhkan OAuth berbasis pengguna, yang tidak didukung oleh Azure Data Factory. Untuk menyalin data dari Project Online, gunakan konektor OData dan token akses yang diperoleh dari alat seperti Postman.

Perhatian

Token akses kedaluwarsa dalam 1 jam secara default, Anda perlu mendapatkan token akses baru ketika kedaluwarsa.

  1. Gunakan Postman untuk mendapatkan token akses:

    1. Navigasi ke tab Otorisasi di Situs Web Postman.

    2. Dalam kotak Jenis, pilih OAuth 2.0, dan dalam kotak Tambahkan data otorisasi ke, pilih Minta Header.

    3. Isi informasi berikut di halaman Mengonfigurasi Token Baru untuk mendapatkan token akses baru:

      • Jenis peruntukan: Pilih Kode Otorisasi.
      • URL Panggilan balik: Masukkan https://www.localhost.com/
      • URL Autentikasi: Masukkan https://login.microsoftonline.com/common/oauth2/authorize?resource=https://<your tenant name>.sharepoint.com. Ganti <your tenant name> dengan nama penyewa Anda sendiri.
      • URL Token Akses: Masukkan https://login.microsoftonline.com/common/oauth2/token.
      • ID Klien: Masukkan ID perwakilan layanan Microsoft Entra Anda.
      • Rahasia Klien: Masukkan rahasia perwakilan layanan Anda.
      • Autentikasi Klien: Pilih Kirim sebagai header Autentikasi Dasar.
    4. Anda akan diminta untuk masuk dengan nama pengguna dan kata sandi Anda.

    5. Setelah mendapatkan token akses Anda, silakan salin dan simpan untuk langkah berikutnya.

    Screenshot of using Postman to get the access token.

  2. Buat layanan tertaut OData:

    • URL Layanan: Masukkan https://<your tenant name>.sharepoint.com/sites/pwa/_api/Projectdata. Ganti <your tenant name> dengan nama penyewa Anda sendiri.
    • Jenis Autentikasi, pilih Anonim.
    • Header autentikasi:
      • Nama properti: Pilih Otorisasi.
      • Nilai: Masukkan Bearer <access token from step 1>.
    • Menguji server tertaut.

    Create OData linked service

  3. Membuat himpunan data OData:

    1. Buat himpunan data dengan layanan tertaut OData yang dibuat di langkah 2.
    2. Data pratinjau.

    Preview data

Properti aktivitas pencarian

Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.

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