Memindahkan data dari Web Table menggunakan Azure Data Factory

Catatan

Artikel ini berlaku untuk versi 1 dari Data Factory. Jika Anda menggunakan versi layanan Azure Data Factory saat ini, lihat Konektor Web Table di V2.

Artikel ini menguraikan cara menggunakan Aktivitas Salin di Azure Data Factory untuk memindahkan data dari tabel di halaman Web ke penyimpanan data sink yang didukung. Artikel ini dibangun berdasarkan artikel aktivitas pergerakan data yang menyajikan gambaran umum pergerakan data dengan aktivitas salin dan daftar penyimpanan data yang didukung sebagai sumber/sink.

Pabrik data saat ini hanya mendukung pemindahan data dari tabel Web ke penyimpanan data lain, tetapi tidak memindahkan data dari penyimpanan data lain ke tujuan tabel Web.

Penting

Konektor Web ini saat ini hanya mendukung ekstraksi konten tabel dari halaman HTML. Untuk mengambil data dari titik akhir HTTP/s, gunakan konektor HTTP sebagai gantinya.

Prasyarat

Untuk menggunakan konektor tabel Web ini, Anda perlu menyiapkan Microsoft Integration Runtime yang dihosting sendiri (atau Data Management Gateway) dan mengonfigurasi properti gatewayName di layanan tertaut sink. Misalnya, untuk menyalin dari tabel Web ke Microsoft Azure Storage Blob, konfigurasikan layanan yang tertaut dengan Microsoft Azure Storage sebagai berikut:

{
  "name": "AzureStorageLinkedService",
  "properties": {
    "type": "AzureStorage",
    "typeProperties": {
      "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>",
      "gatewayName": "<gateway name>"
    }
  }
}

Memulai

Anda dapat membuat alur dengan aktivitas salin yang memindahkan data dari penyimpanan data Cassandra lokal dengan menggunakan alat/API yang berbeda.

  • Cara termudah untuk membuat alur adalah dengan menggunakan Wizard Salin. Lihat Tutorial: Membuat alur menggunakan Wizard Salin untuk panduan singkat tentang membuat alur menggunakan Wizard Salin data.
  • Anda juga dapat menggunakan alat berikut untuk membuat pipeline: Visual Studio, Azure PowerShell, template Azure Resource Manager, .NET API, dan REST API. Lihat Tutorial aktivitas penyalinan untuk instruksi langkah demi langkah guna membuat alur dengan aktivitas penyalinan.

Baik Anda menggunakan alat atau API, Anda melakukan langkah-langkah berikut untuk membuat alur yang memindahkan data dari penyimpanan data sumber ke penyimpanan data sink:

  1. Buat layanan tertaut untuk menautkan penyimpanan data input dan output ke pabrik data Anda.
  2. Buat kumpulan data untuk mewakili data input dan output untuk operasi salin.
  3. Buat jalur dengan aktivitas salinan yang mengambil set data sebagai input dan set data sebagai output.

Saat Anda menggunakan wizard, definisi JSON untuk entitas Data Factory ini (layanan tertaut, himpunan data, dan alur) secara otomatis dibuat untuk Anda. Saat Anda menggunakan alat/API (kecuali .NET API), Anda menentukan entitas Data Factory ini dengan menggunakan format JSON. Untuk sampel dengan definisi JSON untuk entitas Pabrik Data yang digunakan untuk menyalin data dari tabel web, lihat contoh JSON: Menyalin data dari tabel Web ke bagian Azure Blob di artikel ini.

Bagian berikut ini menyediakan detail tentang properti JSON yang digunakan untuk menentukan entitas Azure Data Factory khusus untuk tabel Web:

Properti layanan tertaut

Tabel berikut ini menyediakan deskripsi untuk elemen JSON khusus untuk layanan tertaut Azure Synapse Analytics.

Properti Deskripsi Diperlukan
jenis Properti jenis harus disetel ke: Web Ya
URL URL ke sumber Web Ya
authenticationType Anonim. Ya

Menggunakan autentikasi anonim

{
    "name": "web",
    "properties":
    {
        "type": "Web",
        "typeProperties":
        {
            "authenticationType": "Anonymous",
            "url" : "https://en.wikipedia.org/wiki/"
        }
    }
}

Properti himpunan data

Untuk daftar lengkap bagian properti & yang tersedia untuk menentukan himpunan data, lihat artikel Membuat himpunan data. Bagian-bagian seperti struktur, ketersediaan, dan kebijakan himpunan data JSON mirip untuk semua jenis himpunan data (Azure SQL, blob Azure, tabel Azure, dll.).

Bagian typeProperties berbeda untuk setiap jenis set data dan menyediakan informasi tentang lokasi data di penyimpanan data. Bagian typeProperties untuk kumpulan data jenis WebTable memiliki properti berikut ini

Properti Deskripsi Diperlukan
jenis jenis himpunan data. harus diatur ke WebTable Ya
jalur URL relatif terhadap sumber daya yang berisi tabel. Nomor. Ketika jalur tidak ditentukan, hanya URL yang ditentukan dalam definisi layanan tertaut yang digunakan.
indeks Indeks tabel dalam sumber daya. Lihat Mendapatkan indeks tabel di bagian halaman HTML untuk langkah-langkah mendapatkan indeks tabel di halaman HTML. Ya

Contoh:

{
    "name": "WebTableInput",
    "properties": {
        "type": "WebTable",
        "linkedServiceName": "WebLinkedService",
        "typeProperties": {
            "index": 1,
            "path": "AFI's_100_Years...100_Movies"
        },
        "external": true,
        "availability": {
            "frequency": "Hour",
            "interval":  1
        }
    }
}

Properti aktivitas salin

Untuk daftar lengkap bagian & properti yang tersedia untuk menentukan aktivitas, lihat artikel Membuat Alur. Properti seperti nama, deskripsi, tabel input dan output, dan kebijakan tersedia untuk semua jenis aktivitas.

Sedangkan properti yang tersedia di bagian typeProperties aktivitas bervariasi menurut setiap jenis aktivitas. Untuk aktivitas Salin, mereka bervariasi tergantung pada jenis sumber dan sink.

Saat ini, ketika sumber dalam aktivitas salin berjenis WebSource, tidak ada properti tambahan yang didukung.

Contoh JSON: Menyalin data dari tabel Web ke Azure Blob

Contoh berikut menunjukkan:

  1. Layanan tertaut jenis Web.
  2. Layanan tertaut jenis AzureStorage.
  3. Kumpulan data input jenis WebTable.
  4. Kumpulan data output jenis AzureBlob.
  5. Jalur dengan Aktivitas Salin yang menggunakan WebSource danBlobSink.

Sampel menyalin data dari tabel Web ke blob Azure setiap jam. Properti JSON yang digunakan dalam sampel ini dijelaskan dalam beberapa bagian setelah sampel.

Contoh berikut ini memperlihatkan cara menyalin data dari tabel Web ke blob Azure. Namun, data dapat disalin langsung ke salah satu sink yang dinyatakan dalam artikel Aktivitas Pergerakan Data dengan menggunakan Aktivitas Salin di Azure Data Factory.

Layanan web tertaut Contoh ini menggunakan layanan web yang ditautkan dengan autentikasi anonim. Lihat Bagian layanan tertaut web untuk berbagai jenis autentikasi yang bisa Anda gunakan.

{
    "name": "WebLinkedService",
    "properties":
    {
        "type": "Web",
        "typeProperties":
        {
            "authenticationType": "Anonymous",
            "url" : "https://en.wikipedia.org/wiki/"
        }
    }
}

Layanan tertaut Microsoft Azure Storage

{
  "name": "AzureStorageLinkedService",
  "properties": {
    "type": "AzureStorage",
    "typeProperties": {
      "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>",
      "gatewayName": "<gateway name>"
    }
  }
}

Kumpulan data input WebTable Pengaturan eksternal ke true menginformasikan layanan Data Factory bahwa set data berada di luar pabrik data dan tidak dihasilkan oleh aktivitas di pabrik data.

Catatan

Lihat Mendapatkan indeks tabel di bagian halaman HTML untuk langkah-langkah mendapatkan indeks tabel di halaman HTML.

{
    "name": "WebTableInput",
    "properties": {
        "type": "WebTable",
        "linkedServiceName": "WebLinkedService",
        "typeProperties": {
            "index": 1,
            "path": "AFI's_100_Years...100_Movies"
        },
        "external": true,
        "availability": {
            "frequency": "Hour",
            "interval":  1
        }
    }
}

Set data output Azure Blob

Data ditulis ke blob baru setiap jam (frekuensi: jam, interval: 1).

{
    "name": "AzureBlobOutput",
    "properties":
    {
        "type": "AzureBlob",
        "linkedServiceName": "AzureStorageLinkedService",
        "typeProperties":
        {
            "folderPath": "adfgetstarted/Movies"
        },
        "availability":
        {
            "frequency": "Hour",
            "interval": 1
        }
    }
}

Jalur dengan aktivitas Salin

Jalur berisi Aktivitas Salin yang dikonfigurasi untuk menggunakan set data input dan output dan dijadwalkan untuk berjalan setiap jam. Dalam definisi jalur JSON, jenis sumber diatur ke WebSource dan jenis sink diatur ke BlobSink.

Lihat Properti jenis WebSource untuk daftar properti yang didukung oleh WebSource.

{  
    "name":"SamplePipeline",
    "properties":{  
    "start":"2014-06-01T18:00:00",
    "end":"2014-06-01T19:00:00",
    "description":"pipeline with copy activity",
    "activities":[  
      {
        "name": "WebTableToAzureBlob",
        "description": "Copy from a Web table to an Azure blob",
        "type": "Copy",
        "inputs": [
          {
            "name": "WebTableInput"
          }
        ],
        "outputs": [
          {
            "name": "AzureBlobOutput"
          }
        ],
        "typeProperties": {
          "source": {
            "type": "WebSource"
          },
          "sink": {
            "type": "BlobSink"
          }
        },
       "scheduler": {
          "frequency": "Hour",
          "interval": 1
        },
        "policy": {
          "concurrency": 1,
          "executionPriorityOrder": "OldestFirst",
          "retry": 0,
          "timeout": "01:00:00"
        }
      }
      ]
   }
}

Mendapatkan indeks tabel dalam halaman HTML

  1. Luncurkan Excel 2016 dan beralih ke tab Data.

  2. Klik Kueri Baru pada toolbar, arahkan ke Dari Sumber Lain dan klik Dari Web.

    Power Query menu

  3. Di kotak dialog Dari Web, masukkan URL yang akan Anda gunakan di layanan tertaut JSON (misalnya: https://en.wikipedia.org/wiki/) bersama dengan jalur yang akan Anda tentukan untuk himpunan data (misalnya: AFI%27s_100_Years...100_Movies), dan klik Oke.

    From Web dialog

    URL yang digunakan dalam contoh ini: https://en.wikipedia.org/wiki/AFI%27s_100_Years...100_Movies

  4. Jika Anda melihat kotak dialog Konten Access Web, pilih URLyang tepat, autentikasi, dan klik Sambungkan.

    Access Web content dialog box

  5. Klik item tabel dalam tampilan pohon untuk melihat konten dari tabel lalu klik tombol Edit di bagian bawah.

    Navigator dialog

  6. Di jendela Editor Kueri, klik tombol Editor Lanjutan pada toolbar.

    Advanced Editor button

  7. Dalam kotak dialog Editor Lanjutan, angka di samping "Sumber" adalah indeks.

    Advanced Editor - Index

Jika Anda menggunakan Excel 2013, gunakan Microsoft Power Query for Excel untuk mendapatkan indeks. Lihat Menyambungkan ke artikel halaman web untuk detailnya. Langkah-langkahnya mirip jika Anda menggunakan Microsoft Power BI for Desktop.

Catatan

Untuk memetakan kolom dari set data sumber ke kolom dari set data sink, lihat Memetakan kolom set data di Azure Data Factory.

Kinerja dan Penyetelan

Lihat Performa Aktivitas Penyalinan & Panduan Pengaturan untuk mempelajari tentang faktor utama yang memengaruhi performa perpindahan data (Aktivitas Penyalinan) di Azure Data Factory dan berbagai cara untuk mengoptimalkannya.