Mengimpor dan mengekspor data

Sebagai developer App Maker, Anda dapat mengimpor data dari Google Spreadsheet ke Cloud SQL dan mengekspor data dari Cloud SQL ke Google Spreadsheet.

Model Tabel Drive tidak digunakan lagi dan Anda tidak dapat mengimpor data ke model tersebut lagi, tetapi Anda masih dapat mengekspor data dari model tersebut.

Mengimpor data

Anda dapat mengimpor data dengan salah satu cara berikut:

  • Impor data dari satu sheet yang dipilih ke model yang dipilih dalam penerapan yang dipilih.
  • Impor semua data dari spreadsheet ke semua model dalam penerapan yang dipilih, dengan mempertahankan semua relasi.

App Maker mengimpor semua data dari sheet atau spreadsheet yang dipilih, bergantung pada setelan impor Anda. Anda dapat menambahkan data ke model atau memperbarui data yang ada selama proses impor, tetapi Anda tidak dapat menambahkan dan memperbarui data sekaligus. Jika Anda memerlukan kontrol lebih baik atas data yang Anda impor, gunakan skrip server.

Persyaratan impor

Sebelum mengimpor data, tinjau persyaratan berikut untuk akses aplikasi dan format data. Anda dapat secara manual memverifikasi data sebelum mengimpornya, atau Anda dapat mencoba mengimpor data. Jika App Maker menemukan masalah selama validasi data, Anda harus menyelesaikannya dan mencoba lagi.

Persyaratan untuk mengimpor data
Akses
  • Akses ke aplikasi App Maker—Anda harus menjadi pembuat aplikasi atau aplikasi harus dibagikan dengan Anda (dengan akses Dapat mengedit).
  • Akses ke penerapan—Aplikasi Anda harus dipublikasikan ke penerapan.
  • Akses ke sheet—Anda harus memiliki spreadsheet atau spreadsheet harus dibagikan dengan Anda (dengan level akses apa pun).
Jumlah data Data dibatasi oleh beberapa kondisi berikut, mana saja yang terpenuhi lebih dulu:
  • Sumber data di Google Spreadsheet tidak dapat melebihi 5.000.000 sel.
  • Operasi impor harus kurang dari 30 menit.

Untuk mengimpor lebih banyak data, Anda dapat:

  • Mengimpor data dalam batch yang lebih kecil. Misalnya, buat batch data yang hanya berisi 500.000 sel.
  • Menggunakan skrip server dan mengimpor data dari sumber yang berbeda, seperti file CSV atau database. Batas waktu 30 menit masih berlaku.
  • Menggunakan kemampuan impor bawaan Cloud SQL.
Kolom
  • Nomor dan nama kolom—App Maker mengharapkan satu kolom data untuk setiap kolom dalam model. Baris pertama dari setiap kolom harus berisi nama kolom. Nama kolom harus memiliki huruf besar atau kecil yang sama.
  • Kunci—Jika menyertakan kunci, record harus berada di kolom pertama dan kolom tersebut harus bernama _key(primary-key-id). App Maker menyimpan kunci dengan record. Untuk record dengan relasi, App Maker menggunakan kunci untuk mengaitkan record dengan record yang sesuai di model lain. Untuk mengetahui informasi selengkapnya tentang relasi dan kunci, lihat Merepresentasikan relasi di Google Spreadsheet.
  • Kolom tambahan yang tidak ada dalam model tetapi berisi data—Sheet tidak dapat memiliki kolom tambahan yang berisi data. Kolom kosong diperbolehkan.
  • Kolom yang tidak ada—Sebaiknya jangan sampai terdapat kolom yang tidak ada. Penambahan data nantinya dapat menjadi sulit dan Anda harus menggunakan skrip server.
  • Urutan kolom—Kecuali untuk kolom kunci, urutan kolom tidak menjadi masalah.
  • Kolom wajib diisi—Jika kolom sesuai dengan kolom wajib diisi dalam model, setiap sel harus berisi data, meskipun nilai defaultnya ditentukan. Nilai default tidak diterapkan ketika Anda mengimpor kolom wajib diisi, dan sel kosong menyebabkan validasi data gagal. Nilai default diterapkan ketika Anda mengimpor kolom tidak wajib diisi.
Baris App Maker mengimpor data dari sheet dari baris kedua hingga baris terakhir yang berisi data. Baris kosong diimpor sebagai record kosong.

Catatan: Jika ada kolom wajib diisi dalam model tetapi sheet berisi baris kosong, validasi data akan gagal.

Format data Sel untuk salah satu jenis data berikut ini boleh kosong. Sel kosong ditafsirkan sebagai null untuk kolom String, Number, dan Date, serta sebagai false untuk kolom boolean. Catatan: Jika kolom wajib diisi, sel tidak boleh kosong atau validasi data akan gagal.
  • String dapat berisi nilai apa pun.
  • Number harus hanya berupa digit, dengan atau tanpa titik desimal (.). Anda dapat menggunakan format angka yang berisi titik desimal, format Automatic, atau format Plain text.
  • Boolean harus bernilai true atau false, dan tidak peka huruf besar kecil.
  • Tanggal, waktu, dan zona waktu harus mematuhi ISO 8601, seperti yang berikut:
    • 2017-09-01T10:42:42.123-03:00
    • 2017-09-01T10:42:42.123-0300
    • 2017-09-01T10:42:42-03:00
    • 2017-09-01T10:42:42Z
    • 2017-09-01T10:42:42
    • 2017-09-01

    Jika data waktu diimpor tanpa menentukan zona waktu, App Maker akan menggunakan setelan zona waktu aplikasi.

Relasi Untuk mengetahui detailnya, lihat Mepresentasikan relasi di Google Spreadsheet.

Cara data diimpor

App Maker membuat record dalam model untuk setiap baris yang diimpor atau memperbarui record yang ada jika Anda menentukannya untuk proses impor.

Record dengan nilai _key atau _key(primary-key-id) diproses sebagai berikut:

  • Jika ada record dengan kunci dan perbarui data yang ada dipilih, record akan diperbarui.
  • Jika record dengan kunci tidak ada dan perbarui data yang ada dipilih, record tersebut tidak akan ditambahkan.
  • Jika record dengan kunci tidak ada dan perbarui data yang ada tidak dipilih, record akan dibuat dengan kunci tersebut.
  • Untuk model Cloud SQL dengan satu kunci utama (seperti kolom bernama _key(id) dalam contoh berikut), kolom _key memiliki prioritas yang lebih tinggi. Jika nilai _key kosong, nilai _key(id) digunakan sebagai kunci utama. Contoh:

    Screenshot tabel dengan karakteristik berikut. Tabel ini memiliki tiga kolom: _key, _key (id), dan URL. Tabel ini memiliki tiga baris: google.com, gmail.com, dan youtube.com.

    App Maker memproses nilai kunci sebagai berikut:

    • google.com—Tidak memiliki nilai _key, sehingga App Maker menggunakan kunci utama.
    • gmail.com—Memiliki nilai _key dan kunci utama. Nilai _key mengganti kunci utama.
    • youtube.com—Memiliki nilai _key, sehingga App Maker menggunakannya.

Selama operasi impor, pengguna yang sudah menggunakan aplikasi mungkin tidak melihat data yang diimpor. Visibilitas data yang diimpor bergantung pada bagaimana aplikasi ditulis dan apa yang dilakukan pengguna. Pengguna akan melihat data ketika halaman browser tempat aplikasi berjalan dimuat ulang.

Mengimpor data dari Google Spreadsheet

  1. (Opsional) Pastikan bahwa data dalam sheet memenuhi persyaratan data.
  2. Di App Maker, buka aplikasi tempat Anda ingin mengimpor data.
  3. Di panel navigasi, klik model mana pun.
  4. Di pojok kiri atas, klik Impor Data dari Sheet.
  5. Di menu drop-down Penerapan yang dipublikasikan, pilih penerapan sebagai tujuan impor data.
  6. Pilih jenis impor:
    • Untuk mengimpor semua data dari spreadsheet ke semua model, pilih Semua data model dan relasi.
    • Untuk mengimpor data dari satu sheet ke satu model, pilih Data model tunggal.
  7. Jika Anda memilih Data model tunggal, klik menu drop-down Model dan pilih model sebagai tujuan impor data.
  8. Klik Pilih, pilih spreadsheet yang ingin diimpor datanya, lalu klik Pilih lagi.
  9. Jika Anda memilih Data model tunggal, klik menu drop-down Sheet lalu pilih sheet yang memiliki data untuk diimpor.
  10. Pilih opsi untuk memperbarui atau menambahkan data:

    1. Untuk memperbarui data model yang ada dengan data yang diimpor, klik Lanjutan lalu pilih Data sudah ada? perbarui data yang ada.

      • Record harus memiliki nilai kunci, _key atau _key(primary-key-id). App Maker menggunakan nilai kunci untuk menghubungkan data yang diimpor dengan data yang ada. Data yang ada akan diperbarui.
      • Data baru tidak ditambahkan ketika Data sudah ada? perbarui data yang ada dipilih.
    2. Untuk menambahkan data pada model, jangan pilih Data sudah ada? perbarui data yang ada. Jika Anda memilih Semua data model dan relasi, Anda dapat menghapus semua data yang ada sebelum menambahkan data baru. Klik Lanjutan lalu pilih Hapus semua data yang ada sebelum diimpor.

      • Jika data baru tidak memiliki nilai kunci, record baru ditambahkan dan nilai kunci dibuat untuk record tersebut. Jika Anda mengimpor data yang sama lagi tanpa menghapus data yang ada, record akan ditambahkan lagi dengan kunci baru. Data model Anda akan berisi record duplikat dengan kunci yang berbeda.
      • Jika data yang diimpor memiliki nilai kunci, nilai kunci tidak bisa cocok dengan nilai record yang ada kecuali Anda menghapus data yang ada. Operasi impor akan gagal karena dua record tidak dapat memiliki kunci yang sama.
  11. Klik Impor.

    App Maker memvalidasi data sumber terhadap persyaratan data. Jika validasi berhasil, App Maker akan mengimpor data.

    Saat operasi validasi dan impor sedang berlangsung, Anda dapat mengerjakan halaman lain di editor App Maker. Pesan status impor muncul di bagian bawah UI App Maker.

  12. Jika App Maker melaporkan error, perbaiki error di sheet lalu klik Impor.

  13. Ketika App Maker melaporkan bahwa impor berhasil, klik Selesai.

Mengekspor data

Anda dapat mengekspor data dari setiap model atau semua data dari aplikasi termasuk relasi apa pun. App Maker mengekspor semua data dalam model yang dipilih pada penerapan yang dipilih. Jika Anda perlu kontrol lebih baik atas data apa yang Anda ekspor, gunakan skrip server.

App Maker tidak memvalidasi data ekspor. Kriteria validasi model hanya berlaku untuk entri data di UI aplikasi dan untuk impor data.

Persyaratan ekspor

Sebelum mengekspor data, tinjau persyaratan berikut untuk akses aplikasi dan format data.

Persyaratan untuk mengekspor data
Akses
  • Akses ke aplikasi App Maker—Anda harus menjadi pembuat aplikasi atau aplikasi harus dibagikan dengan Anda (dengan akses Dapat mengedit atau Dapat melihat).
  • Akses ke penerapan—Aplikasi Anda harus dipublikasikan ke penerapan.
  • Akses ke Sheet—Anda akan memiliki spreadsheet karena App Maker membuatnya di Google Drive Anda.
Jumlah data Data dibatasi oleh beberapa kondisi berikut, mana saja yang terpenuhi lebih dulu:
  • Data sumber tidak melebihi 5.000.000 juta sel.
  • Operasi ekspor kurang dari 30 menit.

Untuk mengekspor lebih banyak data, Anda dapat:

  • Menggunakan skrip server dan mengekspor data ke tujuan yang berbeda, misalnya ke file CSV atau database. Batas waktu 30 menit masih berlaku.
  • Menggunakan kemampuan ekspor bawaan Cloud SQL.

Cara data diekspor

App Maker membuat spreadsheet dalam Spreadsheet dengan karakteristik berikut:

Mengekspor data ke Google Spreadsheet

  1. Di App Maker, buka aplikasi.
  2. Klik Setelan Penerapan.
  3. Di samping penerapan yang memiliki data untuk diekspor, klik Panah bawah , lalu klik Ekspor data.
  4. Pilih opsi ekspor:

    • Untuk mengekspor semua data ke spreadsheet, pilih Semua data model dan relasi.
    • Untuk mengekspor data dari satu atau beberapa model ke spreadsheet, pilih Data model yang dipilih.
  5. Klik Ekspor.

Merepresentasikan relasi di Google Spreadsheet

Cara Anda merepresentasikan relasi di Google Spreadsheet bergantung pada apakah relasinya one-to-one, many-to-one, atau many-to-many.

Relasi one-to-one dan many-to-one

Di sheet untuk model yang menggunakan relasi one-to-one atau many-to-one, kolom terakhir diberi nama untuk tepi relasi. Nilai kolom adalah nama kunci utama untuk record terkait dalam model.

Dalam contoh berikut:

  • Model CompanyRating melacak data peringkat perusahaan.
  • Model Company melacak informasi perusahaan, termasuk data peringkat yang dikompilasi.
  • Model CompanyRating memiliki relasi many-to-one antara "Ratings" dan "Company".
  • Kolom terakhir di sheet CompanyRating bernama "Company", untuk tepi relasi. Kolom ini berisi nama kunci utama untuk perusahaan yang dikaitkan dengan setiap peringkat.

Relasi many-to-many

Untuk relasi many-to-many, relasi tercantum dalam sheet terpisah yang bernama relation-name (start-model-name - end-model-name). Sheet ini berisi 2 kolom, satu kolom untuk setiap model dalam relasi. Baris mencantumkan pasangan kunci lokal untuk semua pengaitan. Jika tidak memiliki pengaitan, record tidak akan disertakan dalam sheet ini.

Dalam contoh berikut:

  • Sheet Company mencantumkan tiga perusahaan dan sheet Region mencantumkan empat region.
  • Sheet Companies - CompanyRegions (Company - Region) berisi data relasi. "Companies - CompanyRegions" adalah nama relasi.
  • Relasi many-to-many diwakili dengan dua kolom, "Company" dan "CompanyRegions", masing-masing untuk setiap model dalam relasi. Nilainya adalah nama kunci utama dari model tepi relasi.
  • Data relasi menunjukkan bahwa perusahaan Vendor 3 memiliki keterkaitan dengan dua region dan region Amerika Utara memiliki keterkaitan dengan dua perusahaan.

Untuk mempelajari lebih lanjut cara relasi model diekspor, Anda dapat menggunakan template Vendor Ratings. Terapkan aplikasi dan tambahkan beberapa data ke dalamnya. Kemudian, ekspor data dan lihat spreadsheet-nya.

Operasi impor dan ekspor secara bersamaan

Meskipun satu operasi impor atau ekspor dalam waktu bersamaan selalu berhasil, App Maker mendukung operasi simultan berikut oleh Anda dan developer lain untuk aplikasi Anda:

  • Anda dapat secara bersamaan menjalankan ekspor data jenis apa pun untuk penerapan mana pun.
  • Anda dapat secara bersamaan mengimpor data ke penerapan yang berbeda.
  • Saat Anda mengimpor semua model dan relasi ke penerapan, Anda tidak dapat secara bersamaan menjalankan jenis impor data lain ke penerapan yang sama.
  • Saat Anda mengimpor data ke model tunggal, Anda dapat secara bersamaan mengimpor data ke model lain. Namun, Anda tidak dapat secara bersamaan mengimpor data ke model yang sama.