Langkah terakhir tutorial ini adalah menghosting agen Dialogflow Anda. App Engine digunakan untuk hosting karena mudah disiapkan dan diskalakan dengan baik. Integrasi Dialogflow Messenger digunakan untuk antarmuka pengguna agen.
Konfigurasi project
Idealnya, agen Dialogflow Anda dan instance App Engine berada dalam project yang sama. Selain itu, Anda harus mengaktifkan Cloud Build API.
Sebelum membuat instance, pilih project Anda dari Konsol Google Cloud.
Aktifkan Cloud Build API untuk project.
Penyiapan lingkungan
Anda perlu menginstal dan mengonfigurasi beberapa hal guna mengembangkan aplikasi Go untuk App Engine. Ikuti langkah-langkah yang belum Anda selesaikan di Menyiapkan lingkungan pengembangan Anda.
Membuat kode layanan web
Kode contoh untuk tutorial ini ditulis dalam Go, tetapi Anda dapat menggunakan bahasa apa pun yang didukung oleh App Engine. Buat struktur file berikut di mana saja di mesin lokal Anda:
go-app/
: direktori untuk layanan Go Anda.templates/
: direktori untuk template HTML Go Anda.index.html
: Template Go HTML.
app.yaml
: Setelan konfigurasi layanan Anda.main.go
: Kode aplikasi Anda.
Tiga bagian berikutnya memberikan konten untuk ketiga file tersebut.
Isi file index.html
File template Go HTML ini berisi HTML untuk halaman beranda. Isi file ini dengan konten berikut:
<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>Tutorial agent</title> </head> <body> <p>Open the chat window in the bottom right corner.</p> </body> </html>
Isi file app.yaml
File ini adalah file konfigurasi yang menentukan setelan lingkungan runtime layanan Anda. Anda dapat melihat dokumen Lingkungan Runtime Go 1.12+ untuk melihat daftar versi Go yang didukung. Isi file ini dengan konten berikut:
runtime: go116 # or another supported version
Isi file main.go
File ini berisi kode aplikasi Anda. Isi file ini dengan konten berikut:
// Package main is the main package package main import ( "log" "net/http" "os" "text/template" ) var templates *template.Template func init() { templates = template.Must(template.New("").ParseGlob("templates/*")) } // indexHandler handles the homepage. func indexHandler(w http.ResponseWriter, r *http.Request) { if r.URL.Path != "/" { http.NotFound(w, r) return } if err := templates.ExecuteTemplate(w, "index.html", nil); err != nil { log.Fatal(err) } } func main() { // Register the handlers http.HandleFunc("/", indexHandler) port := os.Getenv("PORT") if port == "" { port = "8080" log.Printf("Defaulting to port %s", port) } log.Printf("Listening on port %s", port) if err := http.ListenAndServe(":"+port, nil); err != nil { log.Fatal(err) } }
Men-deploy layanan web Anda
Kode Anda sekarang siap di-deploy. Untuk melakukan deployment, gunakan alat gcloud:
Pastikan gcloud dikonfigurasi dengan project yang sama dengan agen Dialogflow Anda. Untuk memeriksa project:
gcloud config get-value project
Untuk mengubah project:
gcloud config set project YOUR_PROJECT
Di direktori
go-app
tempat fileapp.yaml
Anda berada, deploy layanan web Anda ke App Engine menggunakan perintah berikut:gcloud app deploy
Perintah tersebut akan meminta Anda untuk memasukkan region. Pastikan untuk memilih region yang sama dengan agen Dialogflow Anda. Perintah tersebut akan menghasilkan nilai
target url
, yang merupakan URL untuk layanan web Anda.Untuk meluncurkan browser dan melihat layanan web, Anda dapat membuka URL target dari langkah sebelumnya, atau menjalankan perintah berikut:
gcloud app browse
Menyiapkan Dialogflow Messenger
Untuk menyiapkan akses tanpa autentikasi ke agen Dialogflow Messenger Anda:
- Buka Dialogflow CX Console.
- Pilih project Google Cloud Anda.
- Pilih agen Anda.
- Pilih tab Kelola.
- Klik Integrations di menu sidebar kiri.
- Klik Connect di Dialogflow Messenger.
- Dialog konfigurasi akan terbuka.
- Jika integrasi sebelumnya disiapkan untuk agen ini, Anda akan melihat kode HTML yang dapat disematkan. Terlepas dari apakah Anda menginginkan apa yang diautentikasi atau tidak diautentikasi, klik tombol Disable... di bagian bawah dialog, sehingga Anda dapat mengonfigurasi ulang setelan pada langkah berikutnya.
- Pilih Environment.
- Pilih UnAuthenticationd API.
- Pilih gaya.
- Anda juga dapat membatasi akses domain.
- Klik Aktifkan API yang tidak diautentikasi.
- Dialog tersebut akan menampilkan kode HTML yang dapat disematkan di situs web Anda. Salin kode ini.
- Klik Done.
Menyematkan agen di layanan web Anda
Tempel kode sematan yang Anda salin di atas ke dalam file index.html
.
Elemen HTML <script>
dan <df-messenger>
harus berada di elemen <body>
halaman Anda.
Deploy aplikasi layanan web Anda lagi dengan gcloud. Setelah di-deploy, Anda dapat berinteraksi dengan agen melalui halaman web dengan mengklik ikon chat di pojok kanan bawah.
Anda sekarang memiliki agen Dialogflow yang telah di-deploy sepenuhnya. Coba lakukan percakapan dengan agen.
Pembersihan
Saat menjalankan langkah-langkah dalam tutorial ini, Anda membuat resource yang dapat ditagih. Agar tidak menimbulkan biaya tambahan ke akun Google Cloud Anda:
- Hapus instance database Anda.
Hapus fungsi Anda:
gcloud functions delete tutorial-telecommunications-webhook
Informasi selengkapnya
Untuk informasi selengkapnya tentang langkah-langkah di atas, lihat: