Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Petunjuk
Data Factory di Microsoft Fabric adalah generasi Azure Data Factory berikutnya, dengan arsitektur yang lebih sederhana, AI bawaan, dan fitur baru. Jika Anda baru menggunakan integrasi data, mulailah dengan Fabric Data Factory. Beban kerja ADF yang ada dapat ditingkatkan ke Fabric untuk mengakses kemampuan baru di seluruh ilmu data, analitik real time, dan pelaporan.
Artikel ini menguraikan cara menggunakan Aktivitas Salin di Azure Data Factory dan Azure Synapse untuk menyalin data dari titik akhir HTTP. Artikel ini dibangun atas Aktivitas Menyalin, yang menyajikan ikhtisar umum mengenai Aktivitas Menyalin.
Perbedaan di antara konektor HTTP ini, Konektor REST dan Konektor tabel web adalah:
- Konektor REST secara khusus mendukung penyalinan data dari API RESTful;
- Konektor HTTP bersifat umum untuk mengambil data dari titik akhir HTTP apa pun, misalnya untuk mengunduh file. Sebelum konektor REST tersedia, Anda mungkin menggunakan konektor HTTP untuk menyalin data dari RESTful API, yang didukung tetapi kurang berfungsi dibandingkan dengan konektor REST.
- Konektor tabel web mengekstrak konten tabel dari halaman web HTML.
Kemampuan yang didukung
Konektor HTTP ini didukung untuk kemampuan berikut:
| Kemampuan yang didukung | IR |
|---|---|
| Aktivitas menyalin (sumber/-) | (1) (2) |
| Aktivitas pencarian | (1) (2) |
(1) Azure runtime integrasi (2) Runtime integrasi yang dihost sendiri
Untuk mengetahui daftar penyimpanan data yang didukung sebagai sumber/sink, lihat Penyimpanan data yang didukung.
Anda bisa menggunakan konektor HTTP ini untuk:
- Mengambil data dari titik akhir HTTP/S dengan menggunakan metode HTTP GET atau POST.
- Mengambil data dengan menggunakan salah satu autentikasi berikut: Anonymous, Basic, Digest, Windows, atau ClientCertificate.
- Salin respons HTTP apa adanya atau pilah dengan menggunakan format file dan codec pemadatan yang didukung.
Petunjuk
Untuk menguji permintaan HTTP untuk pengambilan data sebelum Anda mengonfigurasi konektor HTTP, pelajari tentang spesifikasi API untuk persyaratan header dan body. Anda dapat menggunakan alat seperti Visual Studio, Invoke-RestMethod PowerShell, atau browser web untuk memvalidasi.
Prasyarat
Jika penyimpanan data Anda terletak di dalam jaringan lokal, jaringan virtual Azure, atau Amazon Virtual Private Cloud, Anda perlu mengonfigurasi runtime integrasi yang dihosting sendiri self-hosted integration runtime untuk menyambungkannya.
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 managed virtual network integration runtime di Azure Data Factory untuk mengakses jaringan di lokasi 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 sekarang
Untuk melakukan aktivitas salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:
- Alat Salin Data
- Portal Azure
- .NET SDK
- Python SDK
- Azure PowerShell
- REST API
- templat Azure Resource Manager
Membuat layanan tertaut ke sumber HTTP menggunakan UI
Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke sumber HTTP di UI portal Azure.
Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:
Cari HTTP dan pilih konektor HTTP.
Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.
Detail konfigurasi konektor
Bagian berikut memberikan detail tentang properti yang dapat Anda gunakan untuk menentukan entitas yang khusus untuk konektor HTTP.
Properti layanan terhubung
Properti berikut didukung untuk layanan tertaut HTTP:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti jenis harus diatur ke HttpServer. | Ya |
| url | URL dasar ke server web. | Ya |
| aktifkanValidasiSertifikatServer | Tentukan apakah akan mengaktifkan validasi sertifikat TLS/SSL server saat Anda tersambung ke titik akhir HTTP. Jika server HTTPS Anda menggunakan sertifikat yang ditandatangani sendiri, atur properti ini ke false. | Tidak (defaultnya adalah true) |
| jenisOtentikasi | Menentukan jenis autentikasi. Nilai yang diizinkan adalah Anonymous, Basic, Digest, Windows, dan ClientCertificate. Anda juga dapat mengonfigurasi header autentikasi di properti authHeader. Lihat bagian setelah tabel ini untuk properti lainnya dan sampel JSON untuk jenis autentikasi ini. |
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 |
| connectVia | Integration Runtime untuk digunakan untuk menyambungkan ke penyimpanan data. Pelajari selengkapnya dari bagian Prasyarat. Jika tidak ditentukan, Azure Integration Runtime default digunakan. | Tidak |
Menggunakan Basic, Digest, atau Windows authentication
Atur properti authenticationType ke Basic, Digest, atau Windows. Selain properti generik yang dijelaskan di bagian sebelumnya, atur properti berikut:
| Properti | Deskripsi | Wajib |
|---|---|---|
| userName | Nama pengguna yang digunakan untuk mengakses titik akhir HTTP. | Ya |
| kata sandi | Kata sandi untuk pengguna (nilai userName). Tandai bidang ini sebagai jenis SecureString untuk menyimpannya dengan aman. Anda juga dapat merujuk pada rahasia yang disimpan di Azure Key Vault. | Ya |
Contoh
{
"name": "HttpLinkedService",
"properties": {
"type": "HttpServer",
"typeProperties": {
"authenticationType": "Basic",
"url" : "<HTTP endpoint>",
"userName": "<user name>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Menggunakan autentikasi ClientCertificate
Untuk menggunakan autentikasi ClientCertificate, atur properti authenticationType ke ClientCertificate. Selain properti generik yang dijelaskan di bagian sebelumnya, atur properti berikut:
| Properti | Deskripsi | Wajib |
|---|---|---|
| DataSertifikasiTertanam | Data sertifikat yang dikodekan base64. | Tentukan embeddedCertData atau certThumbprint. |
| certThumbprint | Thumbprint sertifikat yang diinstal pada penyimpanan sertifikasi mesin Integration Runtime yang dihost sendiri. Hanya berlaku ketika jenis Integration Runtime yang dihost sendiri ditentukan dalam properti connectVia. | Tentukan embeddedCertData atau certThumbprint. |
| kata sandi | Kata sandi yang terkait dengan sertifikat. Tandai bidang ini sebagai jenis SecureString untuk menyimpannya dengan aman. Anda juga dapat merujuk pada rahasia yang disimpan di Azure Key Vault. | Tidak |
Jika Anda menggunakan certThumbprint untuk autentikasi dan sertifikat diinstal di penyimpanan pribadi komputer lokal, berikan izin baca ke Integration Runtime yang dihost sendiri:
- Buka Konsol Manajemen Microsoft (MMC). Tambahkan snap-in Sertifikat yang menargetkan Komputer Lokal.
- Perluas Sertifikat>Pribadi, lalu pilih Sertifikat.
- Klik kanan sertifikat dari penyimpanan pribadi, lalu pilih Semua Tugas>Kelola Kunci Privat.
- Pada tab Security, tambahkan akun pengguna tempat Layanan Host Integration Runtime (DIAHostService) berjalan, dengan akses baca ke sertifikat.
- Konektor HTTP hanya memuat sertifikat tepercaya. Jika Anda menggunakan sertifikat yang diterbitkan oleh CA yang ditandatangani sendiri atau tidak terintegrasi, untuk memungkinkan kepercayaan, sertifikat juga harus diinstal dalam salah satu lokapas penyimpanan berikut:
- Orang Tepercaya
- Otoritas Sertifikasi Akar Pihak Ketiga
- Otoritas Sertifikasi Akar Tepercaya
Contoh 1: Menggunakan certThumbprint
{
"name": "HttpLinkedService",
"properties": {
"type": "HttpServer",
"typeProperties": {
"authenticationType": "ClientCertificate",
"url": "<HTTP endpoint>",
"certThumbprint": "<thumbprint of certificate>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Contoh 2: Menggunakan embeddedCertData
{
"name": "HttpLinkedService",
"properties": {
"type": "HttpServer",
"typeProperties": {
"authenticationType": "ClientCertificate",
"url": "<HTTP endpoint>",
"embeddedCertData": "<Base64-encoded cert data>",
"password": {
"type": "SecureString",
"value": "password of cert"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Menggunakan header autentikasi
Selain itu, Anda dapat mengonfigurasikan header permintaan untuk autentikasi bersama dengan jenis autentikasi bawaan.
Contoh: Menggunakan autentikasi kunci API
{
"name": "HttpLinkedService",
"properties": {
"type": "HttpServer",
"typeProperties": {
"url": "<HTTP endpoint>",
"authenticationType": "Anonymous",
"authHeader": {
"x-api-key": {
"type": "SecureString",
"value": "<API key>"
}
}
},
"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.
Azure Data Factory mendukung format file berikut. Lihat setiap artikel untuk mengetahui cara melakukan pengaturan berbasis format.
- Format Avro
- Format Biner
- Format teks berbatas
- format Excel
- Format JSON
- Format ORC
- Format Parquet
- Format XML
Properti berikut ini didukung untuk HTTP di bawah pengaturan location dalam himpunan data berbasis format:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti tipe di bawah location dalam kumpulan data harus disetel ke HttpServerLocation. |
Ya |
| relativeUrl | URL relatif menuju sumber daya yang berisi data. Konektor HTTP menyalin data dari URL gabungan: [URL specified in linked service][relative URL specified in dataset]. |
Tidak |
Catatan
Ukuran muatan permintaan HTTP yang didukung adalah sekitar 500 KB. Jika ukuran muatan yang ingin Anda berikan ke titik akhir web Anda lebih besar dari 500 KB, pertimbangkan untuk mem-batch muatan dalam potongan yang lebih kecil.
Contoh:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<HTTP linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "HttpServerLocation",
"relativeUrl": "<relative url>"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
Properti Aktivitas Salin
Bagian ini menyediakan daftar properti yang didukung sumber HTTP.
Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat Pipelines.
HTTP sebagai sumber
Azure Data Factory mendukung format file berikut. Lihat setiap artikel untuk mengetahui cara melakukan pengaturan berbasis format.
- Format Avro
- Format Biner
- Format teks berbatas
- format Excel
- Format JSON
- Format ORC
- Format Parquet
- Format XML
Properti berikut ini didukung untuk HTTP di bawah pengaturan storeSettings dalam sumber salinan berbasis format:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti jenis di bawah storeSettings harus diatur ke HttpReadSettings. |
Ya |
| requestMethod | Metode HTTP. Nilai yang diizinkan adalah Get (default) dan Post. |
Tidak |
| headerTambahan | Tajuk permintaan HTTP tambahan. | Tidak |
| requestBody | Isi untuk permintaan HTTP. | Tidak |
| httpRequestTimeout | Batas waktu (nilai TimeSpan) untuk permintaan HTTP agar memperoleh respons. Nilai ini adalah batas waktu untuk mendapatkan respons, bukan batas waktu untuk membaca data respons. Nilai defaultnya adalah 00:01:40. | Tidak |
| maxConcurrentConnections | Batas atas koneksi bersamaan yang ditetapkan ke penyimpanan data selama pelaksanaan aktivitas. Menentukan nilai hanya saat Anda ingin membatasi koneksi bersamaan. | Tidak |
Contoh:
"activities":[
{
"name": "CopyFromHTTP",
"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": "HttpReadSettings",
"requestMethod": "Post",
"additionalHeaders": "<header key: header value>\n<header key: header value>\n",
"requestBody": "<body for POST HTTP request>"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Properti aktivitas pencarian Lookup
Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.
Model sistem lama
Catatan
Model berikut ini masih didukung tanpa perubahan untuk kompatibilitas mundur. Anda disarankan untuk kedepannya menggunakan model baru yang disebutkan di bagian sebelumnya, dan antarmuka pengguna penulisan telah beralih untuk menghasilkan model baru.
Model himpunan data lawas
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti jenis himpunan data harus diatur ke HttpFile. | Ya |
| relativeUrl | URL relatif menuju sumber daya yang berisi data. Jika properti ini tidak ditentukan, hanya URL yang ditentukan dalam definisi layanan tertaut yang digunakan. | Tidak |
| requestMethod | Metode HTTP. Nilai yang diizinkan adalah Get (default) dan Post. | Tidak |
| headerTambahan | Tajuk permintaan HTTP tambahan. | Tidak |
| requestBody | Isi untuk permintaan HTTP. | Tidak |
| format | Jika Anda ingin mengambil data dari titik akhir HTTP apa adanya tanpa memilahnya, lalu menyalin data ke penyimpanan berbasis file, lewati bagian format dalam definisi himpunan data input dan output. Jika Anda ingin memilah konten respons HTTP selama penyalinan, jenis format berikut didukung: TextFormat, JsonFormat, AvroFormat, OrcFormat, dan ParquetFormat. Di bawah format, atur properti jeniske salah satu nilai ini. Untuk informasi selengkapnya, lihat Format JSON, Format Teks, Format Avro, Format Orc, dan Format Parquet. |
Tidak |
| pemadatan | Tentukan jenis dan tingkat kompresi untuk data. Untuk informasi selengkapnya, lihat Format file yang didukung dan kodek pemadatan. Jenis yang didukung: GZip, Deflate, BZip2, dan ZipDeflate. Tingkat yang didukung: Optimal dan Tercepat. |
Tidak |
Catatan
Ukuran muatan permintaan HTTP yang didukung adalah sekitar 500 KB. Jika ukuran muatan yang ingin Anda berikan ke titik akhir web Anda lebih besar dari 500 KB, pertimbangkan untuk mem-batch muatan dalam potongan yang lebih kecil.
Contoh 1: Menggunakan metode Get (default)
{
"name": "HttpSourceDataInput",
"properties": {
"type": "HttpFile",
"linkedServiceName": {
"referenceName": "<HTTP linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"relativeUrl": "<relative url>",
"additionalHeaders": "Connection: keep-alive\nUser-Agent: Mozilla/5.0\n"
}
}
}
Contoh 2: Menggunakan metode Post
{
"name": "HttpSourceDataInput",
"properties": {
"type": "HttpFile",
"linkedServiceName": {
"referenceName": "<HTTP linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"relativeUrl": "<relative url>",
"requestMethod": "Post",
"requestBody": "<body for POST HTTP request>"
}
}
}
Model sumber aktivitas menyalin versi lama
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti jenis sumber aktivitas salin harus diatur ke HttpSource. | Ya |
| httpRequestTimeout | Batas waktu (nilai TimeSpan) untuk permintaan HTTP agar memperoleh respons. Nilai ini adalah batas waktu untuk mendapatkan respons, bukan batas waktu untuk membaca data respons. Nilai defaultnya adalah 00:01:40. | Tidak |
Contoh
"activities":[
{
"name": "CopyFromHTTP",
"type": "Copy",
"inputs": [
{
"referenceName": "<HTTP input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "HttpSource",
"httpRequestTimeout": "00:01:00"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Konten terkait
Untuk daftar penyimpanan data yang didukung Aktivitas Salin sebagai sumber dan sink, lihat Penyimpanan dan format data yang didukung.