Apakah ada cara untuk menjadwalkan pengeditan pada database firebase?

Saya mencoba membuat pengeditan otomatis pada database di firebase. Apakah ada cara untuk melakukan itu di sisi server? Saya baru dalam pengembangan iOS dan cepat sehingga bantuan apa pun akan sangat dihargai.

Selain itu, saya sudah mencoba Zapier tetapi layanannya tidak cukup spesifik untuk kebutuhan saya.


person ndduong    schedule 05.06.2016    source sumber
comment
Posting silang: groups.google.com/forum/#! topik/firebase-talk/4P5u2MLx-TU   -  person Frank van Puffelen    schedule 05.06.2016


Jawaban (1)


Ya - Firebase memiliki serangkaian opsi yang cukup fleksibel untuk pembaruan sisi server dan cukup sederhana untuk menjadwalkan cronjob agar terhubung ke firebase dan melakukan beberapa pembaruan atau pengeditan terjadwal. Pendekatan paling umum adalah dengan menggunakan REST API untuk melakukan pembaruan meskipun ada perpustakaan khusus untuk mendukung Node dan platform lainnya. Perlu diketahui bahwa upgrade besar-besaran baru-baru ini ke Firebase versi 3 telah memperkenalkan beberapa perubahan signifikan - contoh-contoh lama yang beredar dengan API baru dapat dengan mudah tertukar, jadi waspadai perbedaannya saat Anda membuat API pertama. contoh bukti konsep.

Saya berasumsi bahwa Anda ingin menjalankannya di server Anda sendiri meskipun alternatif lain adalah menggunakan lingkungan hosting kontainer (Google Apps dll).

Jika Anda memiliki server sendiri dan ingin mengintegrasikannya, saya sarankan memulai dengan: https://firebase.google.com/docs/server/setup#prerequisites

Maka mungkin sekilas melihat:

https://firebase.googleblog.com/docs/web/quickstart.html

Dan

https://www.firebase.com/docs/rest/

Jika Anda baru memulai, saya menyarankan tugas pertama adalah mengautentikasi, mengambil, dan memperbarui catatan Firebase. Anda dapat mengonfigurasi kunci autentikasi server melalui konsol FB dan menggunakannya sebagai bagian dari proses autentikasi Anda.

Jika Anda belum terbiasa dengan JWT, ada baiknya meluangkan sedikit waktu untuk memahami hal ini dan mempelajari contoh di https://www.firebase.com/docs/rest/guide/user-auth.html

Selanjutnya komentar Anda: Jadi pendekatan pertama yang terlintas dalam pikiran adalah menjalankan semacam pekerjaan terjadwal di Cron Anda yang akan terhubung menggunakan REST API, melakukan semacam kueri pada data yang ada untuk mengidentifikasi catatan yang memerlukan pembaruan dan menghapus atau memodifikasinya.

Memberikan sedikit lebih banyak meskipun Anda dapat memperluas pendekatan ini tanpa harus menjalankan pada periode berulang kurang dari waktu penghapusan minimal yang diantisipasi Anda dapat menjalankan penjadwal hanya untuk membersihkan pada periode yang lebih lama tetapi memfilter hasil Anda ke klien sehingga Anda tidak termasuk data basi. Pendekatan ini dibahas sedikit di Firebase chat - menghapus pesan lama

Mendapatkan solusi yang tepat untuk skenario khusus Anda akan sangat bergantung pada seberapa baik Anda menyusun data, yang mungkin kontra-intuitif; khususnya bagi pengguna yang berasal dari latar belakang RDBMS.

Mungkin ada kecenderungan untuk menjaga data tetap ramping dan tidak tercemar dengan data lama yang tidak relevan, namun Firebase cukup baik dalam mengelola data berstruktur minimal berukuran besar dan overhead dari pembengkakan ini mungkin tidak seburuk yang Anda bayangkan.

Jika pemfilteran itu sendiri tidak memadai dan Anda tidak memiliki server yang dapat melakukan CRON untuk proses pembersihan, maka Anda dapat menerapkan proses pekerja firebase di Node atau serupa dan menjalankannya di layanan kontainer seperti Heroku atau Google Apps. Lihat Pemberitahuan push Firebase - pekerja node untuk mengetahui beberapa ide tentang cara melakukan pendekatan ini. Saat bertanya, Google menyarankan agar mereka tidak melakukannya mereka tidak memberikan saran mengenai tempat terbaik untuk menghosting layanan pekerja, namun mereka menyebutkan Google App Engine dan Heroku.

Pendekatan lain jika Anda tidak ingin mengimplementasikan dan menghosting proses pengamat/pekerja adalah dengan menyertakan beberapa kode di klien yang memeriksa dan menghapus data lama secara berkala.

Antrian firebase sangat keren tetapi mungkin sedikit berlebihan karena masa berlakunya sudah basi data.

person Peter Scott    schedule 05.06.2016
comment
Hai, terima kasih atas jawabannya. Saya dapat mengautentikasi pengguna, memperbarui dan mengambil data. Namun, saya tidak tahu bagaimana cara menghapus data dari database secara otomatis. Katakanlah pengguna ingin data 'x' dihapus dalam 1 jam, saya ingin mengotomatisasi agar Firebase menghapusnya dalam 1 jam tanpa saya melakukannya secara manual. Saya belum pernah melakukan REST API sebelumnya dan belum menyiapkan server saya sendiri. Jadi cara paling sederhana untuk mengotomatiskan proses ini akan sangat dihargai. - person ndduong; 05.06.2016