Dapatkan akses ke 700+ lab dan kursus

Menggunakan Layanan Google Cloud dengan Apigee X

Lab 1 jam 30 menit universal_currency_alt 5 Kredit show_chart Menengah
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Dapatkan akses ke 700+ lab dan kursus

GSP845

Logo lab mandiri Google Cloud

Ringkasan

Apigee adalah platform untuk mengembangkan dan mengelola API. Apigee dapat membantu Anda memanfaatkan layanan Google Cloud seperti Pub/Sub, Cloud Logging, atau layanan cloud lainnya yang menyediakan REST API. Dalam lab ini, proxy API Apigee Anda akan memanfaatkan beberapa layanan Google Cloud.

Dalam lab ini, Anda akan menggunakan beberapa layanan Google Cloud dari proxy API Apigee untuk menangani komentar pengguna.

Tujuan

Di lab ini, Anda akan mempelajari cara melakukan tugas-tugas berikut:

  • Mengaktifkan Google Cloud API yang diperlukan
  • Membuat akun layanan dan menerapkan peran yang sesuai
  • Menjalankan layanan Google Cloud menggunakan Google Cloud REST API
  • Melakukan analisis sentimen dengan menjalankan Cloud Natural Language API
  • Memublikasikan pesan Pub/Sub menggunakan kebijakan PublishMessage
  • Mencatat pesan error ke Cloud Logging

Penyiapan dan persyaratan

Sebelum mengklik tombol Start Lab

Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.

Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.

Untuk menyelesaikan lab ini, Anda memerlukan:

  • Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
  • Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.

Cara memulai lab dan login ke Google Cloud Console

  1. Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran. Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:

    • Tombol Open Google Cloud console
    • Waktu tersisa
    • Kredensial sementara yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
  2. Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).

    Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.

    Tips: Atur tab di jendela terpisah secara berdampingan.

    Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
  3. Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.

    {{{user_0.username | "Username"}}}

    Anda juga dapat menemukan Username di panel Lab Details.

  4. Klik Next.

  5. Salin Password di bawah dan tempel ke dialog Welcome.

    {{{user_0.password | "Password"}}}

    Anda juga dapat menemukan Password di panel Lab Details.

  6. Klik Next.

    Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
  7. Klik halaman berikutnya:

    • Setujui persyaratan dan ketentuan.
    • Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
    • Jangan mendaftar uji coba gratis.

Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.

Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search. Ikon Navigation menu dan kolom Search

Mengaktifkan Cloud Shell

Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.

  1. Klik Activate Cloud Shell Ikon Activate Cloud Shell di bagian atas Konsol Google Cloud.

  2. Klik jendela berikut:

    • Lanjutkan melalui jendela informasi Cloud Shell.
    • Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.

Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:

Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}

gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.

  1. (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
  1. Klik Authorize.

Output:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} Untuk menetapkan akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project

Output:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.

Tugas 1. Mengaktifkan Google Cloud API

Dalam tugas ini, Anda akan mengaktifkan API yang akan digunakan oleh proxy Apigee API.

  1. Di Konsol Cloud, pada Menu navigasi (Ikon Menu navigasi), buka APIs & Services > Library.

    Dari halaman ini, Anda bisa mengaktifkan API yang akan digunakan oleh proxy Apigee API.

  2. Di kotak Search for APIs & Services, masukkan Cloud Natural Language, lalu klik Enter.

    Cloud Natural Language API memberikan insight bahasa alami seperti analisis sentimen dan pengenalan entity. API ini akan digunakan untuk menentukan indikasi ketidakpuasan pengguna dari sebuah komentar.

  3. Klik Cloud Natural Language API.

    API sudah diaktifkan.

    Perintah gcloud juga dapat digunakan untuk mengaktifkan API.

  4. Di Cloud Shell, untuk mengaktifkan API yang diperlukan, gunakan perintah berikut:

    gcloud services enable language.googleapis.com pubsub.googleapis.com logging.googleapis.com

    Selain Cloud Natural Language API, Anda juga akan mengaktifkan Pub/Sub API dan Cloud Logging API.

    Pub/Sub akan digunakan untuk memublikasikan pesan ke topik saat Natural Language API menunjukkan bahwa pengguna tidak puas. Anda dapat memilih untuk membuat Cloud Function yang berjalan untuk setiap pesan, menghubungi pengguna dalam upaya menyelesaikan masalah dan meningkatkan kepuasan pelanggan.

    Cloud Logging akan digunakan untuk merekam entri log untuk setiap komentar yang diterima. Log ini dapat mencakup detail API internal yang dapat membantu mendeteksi masalah pada layanan atau aplikasi.

Tugas 2. Membuat akun layanan

Dalam tugas ini, Anda akan membuat akun layanan yang akan digunakan oleh proxy Apigee.

Membuat akun layanan IAM

  1. Dari Menu navigasi (Ikon Menu navigasi), buka IAM & Admin > Service Accounts.

  2. Klik + Create Service Account.

  3. Untuk Service account name, isi sesuai berikut:

    apigee-gc-service-access

    Dengan akun layanan ini, proxy Apigee API Anda bisa mengakses layanan Google Cloud yang Anda tentukan.

  4. Klik Create and Continue.

  5. Untuk Select a role, pilih Pub/Sub > Pub/Sub Publisher.

    Proxy Apigee API akan melakukan publikasi ke topik Pub/Sub.

  6. Klik + Add Another Role.

  7. Untuk Select a role, pilih Logging > Logs Writer.

    Proxy API Apigee akan menulis pesan log ke Cloud Logging.

Catatan: Tidak ada peran yang diperlukan untuk memanggil Natural Language API.
  1. Klik Done.

    Akun layanan telah dibuat.

Klik Check my progress untuk memverifikasi tujuan. Membuat akun layanan dan menetapkan peran

Tugas 3. Membuat proxy API

Dalam tugas ini, Anda akan membuat proxy Apigee API. Proxy API akan menggunakan kebijakan untuk memanggil layanan, sehingga tidak ada target yang diperlukan.

Membuka konsol Apigee

Untuk membuka konsol Apigee:

  • Di Konsol Google Cloud, di kolom Search, masukkan Apigee, lalu klik Apigee API Management di hasil penelusuran.

Konsol Apigee akan terbuka, dan halaman landing akan menampilkan link cepat ke lokasi yang biasa digunakan.

  • Di Navigation menu (Menu navigasi), di samping Apigee, klik Pin (Ikon pin).

Apigee kini disematkan ke Navigation menu.

Membuat proxy Apigee API

  1. Di menu navigasi, pilih Proxy development > API proxies.

  2. Untuk membuat proxy baru menggunakan wizard proxy, klik Create.

  3. Untuk Proxy template, pilih General template > No target.

    Proxy tidak akan menggunakan layanan backend. Semua komunikasi dengan layanan eksternal akan dilakukan menggunakan kebijakan.

Catatan: Jangan gunakan pilihan No target dalam bagian OpenAPI spec template.
  1. Tentukan hal berikut untuk Proxy details:

    Properti Nilai
    Nama proxy services-v1
    Jalur dasar /services/v1
    Catatan: Pastikan Anda menggunakan /services/v1 untuk jalur dasar, bukan /services-v1.
  2. Klik Next.

  3. Biarkan setelan Deploy (opsional) dalam nilai default-nya, lalu klik Create.

Membuat alur bersyarat baru

  1. Klik tab Develop di Editor Proxy.

  2. Pilih Proxy endpoints > default di panel sebelah kiri.

  3. Klik tombol + di atas panel Response.

  4. Dalam dialog Add conditional flow, tentukan nilai berikut:

    Properti Nilai
    Nama Alur postComment
    Deskripsi post a comment for a particular category
    Jenis Kondisi pilih Path and Verb
    Jalur /comments
    Kata kerja pilih POST

    Biarkan Target URL kosong.

  5. Klik Add.

Men-deploy API

  1. Klik Save. Jika Anda diberi tahu bahwa proxy disimpan sebagai revisi baru, klik Save as new revision.

  2. Klik Deploy.

  3. Untuk Environment, pilih eval.

  4. Untuk Service Account, tentukan alamat email akun layanan:

    apigee-gc-service-access@{{{ project_0.project_id | PROJECT }}}.iam.gserviceaccount.com
  5. Klik Deploy, lalu klik Confirm.

    Tunggu hingga deployment selesai.

Klik Check my progress untuk memverifikasi tujuan. Membuat proxy API

Tugas 4. Memanggil Natural Language API

Dalam tugas ini, Anda akan menambahkan kebijakan ServiceCallout untuk memanggil Natural Language API guna menentukan sentimen komentar yang masuk.

Mengekstrak parameter input

Resource POST /comments akan menggunakan payload JSON dengan dua parameter: comment, teks bebas yang dimasukkan oleh pengguna, dan category, yang menentukan jenis komentar. Kebijakan ExtractVariables akan mengekstrak input.

  1. Di panel Flow, klik + di samping alur postComment di panel Request.

  2. Dalam dialog Add policy step, klik Create new policy.

  3. Di dropdown Select Policy, pilih jenis kebijakan Extract Variables dari bagian Mediation.

  4. Tentukan nilai berikut:

    Properti Nilai
    Nama Tampilan EV-ExtractRequest
    Nama EV-ExtractRequest
  5. Klik Add.

  6. Klik kebijakan EV-ExtractRequest dan ganti konfigurasi XML ExtractVariables dengan:

<ExtractVariables name="EV-ExtractRequest"> <Source>request</Source> <JSONPayload> <Variable name="comment"> <JSONPath>$.comment</JSONPath> </Variable> <Variable name="category"> <JSONPath>$.category</JSONPath> </Variable> </JSONPayload> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> </ExtractVariables>

Kebijakan ini mengekstrak comment dan category dari permintaan JSON POST /comments. Elemen IgnoreUnresolvedVariables ditetapkan ke salah (false), yang menyebabkan kesalahan muncul jika kedua input tersebut tidak ditentukan.

Catatan: Dalam API produksi, Anda sebaiknya menambahkan penanganan kesalahan untuk menulis ulang sebagian besar error yang berasal dari kebijakan. Dalam lab ini, penanganan kesalahan tidak akan ditambahkan.

Memanggil Natural Language API

Kebijakan ServiceCallout akan digunakan untuk memanggil Natural Language API guna menampilkan sentimen untuk komentar.

  1. Klik alur postComment jika tidak ditandai, lalu klik + di samping alur postComment di panel Response.

    Respons dari panggilan Natural Language API akan ditampilkan kepada pemanggil.

  2. Dalam dialog Add policy step, klik Create new policy.

  3. Di dropdown Select Policy, pilih jenis kebijakan Service Callout dari bagian Extension.

  4. Tentukan nilai berikut:

    Properti Nilai
    Nama Tampilan SC-NaturalLanguage
    Nama SC-NaturalLanguage
  5. Klik Add.

    Alurnya akan terlihat seperti ini:

    Alur postComment, yang mencakup kartu Request dan Response.

  6. Klik kebijakan SC-NaturalLanguage.

  7. Ganti konfigurasi XML ServiceCallout dengan:

    <ServiceCallout name="SC-NaturalLanguage"> <Request clearPayload="true"> <Set> <Verb>POST</Verb> <Payload contentType="application/json">{ "document": { "content": "{comment}", "type": "PLAIN_TEXT" } } </Payload> </Set> </Request> <Response>response</Response> <HTTPTargetConnection> <Properties/> <URL>https://language.googleapis.com/v1/documents:analyzeSentiment</URL> <Authentication> <GoogleAccessToken> <Scopes> <Scope>https://www.googleapis.com/auth/cloud-language</Scope> </Scopes> </GoogleAccessToken> </Authentication> </HTTPTargetConnection> </ServiceCallout>

    Bagian Request dari kebijakan ServiceCallout menentukan permintaan yang di-POST ke layanan. Format payload ini khusus untuk Natural Language API.

    Elemen Response menunjukkan bahwa respons Natural Language API akan disimpan dalam pesan respons.

    Bagian HTTPTargetConnection menentukan URL layanan yang dipanggil. URL serta format permintaan dan respons dapat ditemukan dalam referensi Natural Language API.

    Bagian Authentication menentukan autentikasi untuk Google Cloud API. Token akses OAuth Google akan otomatis ditambahkan ke permintaan info. Scope menentukan bahwa token akses akan digunakan untuk memberikan akses ke Natural Language API.

  8. Klik Save.

Mengonfirmasi bahwa instance runtime telah tersedia

  • Di Cloud Shell, tempel dan jalankan rangkaian perintah berikut:

    export INSTANCE_NAME=eval-instance; export ENV_NAME=eval; export PREV_INSTANCE_STATE=; echo "waiting for runtime instance ${INSTANCE_NAME} to be active"; while : ; do export INSTANCE_STATE=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${GOOGLE_CLOUD_PROJECT}/instances/${INSTANCE_NAME}" | jq "select(.state != null) | .state" --raw-output); [[ "${INSTANCE_STATE}" == "${PREV_INSTANCE_STATE}" ]] || (echo; echo "INSTANCE_STATE=${INSTANCE_STATE}"); export PREV_INSTANCE_STATE=${INSTANCE_STATE}; [[ "${INSTANCE_STATE}" != "ACTIVE" ]] || break; echo -n "."; sleep 5; done; echo; echo "instance created, waiting for environment ${ENV_NAME} to be attached to instance"; while : ; do export ATTACHMENT_DONE=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${GOOGLE_CLOUD_PROJECT}/instances/${INSTANCE_NAME}/attachments" | jq "select(.attachments != null) | .attachments[] | select(.environment == \"${ENV_NAME}\") | .environment" --join-output); [[ "${ATTACHMENT_DONE}" != "${ENV_NAME}" ]] || break; echo -n "."; sleep 5; done; echo "***ORG IS READY TO USE***";

    Rangkaian perintah ini menggunakan API Apigee untuk menentukan kapan instance runtime Apigee dibuat dan lingkungan eval dilampirkan.

Tunggu hingga instance siap digunakan.

Ketika teks ***ORG IS READY TO USE*** ditampilkan, artinya instance sudah siap digunakan. Organisasi Apigee (org) mungkin telah dibuat sebelum Anda memulai lab, sehingga Anda tidak perlu menunggu proses pembuatan instance.

Sambil menunggu organisasi siap, Anda dapat menjelajahi produk dan layanan AI di Google Cloud.

Men-deploy API

  1. Kembali ke proxy API services-v1, lalu klik tab Develop.

  2. Klik Deploy.

  3. Untuk Environment, pilih eval.

  4. Untuk Service Account, tentukan alamat email akun layanan:

    apigee-gc-service-access@{{{ project_0.project_id | PROJECT }}}.iam.gserviceaccount.com
  5. Klik Deploy dan Confirm.

  6. Klik tab Overview, lalu tunggu hingga status deployment untuk lingkungan eval menunjukkan bahwa proxy berhasil di-deploy.

Klik Check my progress untuk memverifikasi tujuan. Memanggil Natural Language API

Menguji API

Lingkungan eval dalam organisasi Apigee dapat dipanggil menggunakan hostname eval.example.com. Entri DNS untuk hostname ini telah dibuat di dalam project Anda, dan diarahkan ke alamat IP dari instance runtime Apigee. Entri DNS ini dibuat di zona pribadi, yang berarti hanya dapat dilihat di jaringan internal.

Karena Cloud Shell tidak berada di jaringan internal, perintah yang dijalankan di Cloud Shell tidak dapat menyelesaikan entri DNS ini. Virtual machine (VM) dalam project Anda dapat mengakses DNS zona pribadi. Virtual machine bernama apigeex-test-vm telah dibuat secara otomatis. Anda dapat menggunakan mesin ini untuk memanggil proxy API.

  1. Di Cloud Shell, buka koneksi SSH ke VM pengujian Anda:

    TEST_VM_ZONE=$(gcloud compute instances list --filter="name=('apigeex-test-vm')" --format "value(zone)") gcloud compute ssh apigeex-test-vm --zone=${TEST_VM_ZONE} --force-key-file-overwrite

    Jika ditanya Do you want to continue (Y/n)?, masukkan Y.

  2. Untuk setiap pertanyaan yang diajukan di Cloud Shell, klik Enter atau Return untuk menentukan input default.

    Identitas yang Anda gunakan untuk login adalah project owner, sehingga SSH ke mesin ini diizinkan.

    Sesi Cloud Shell Anda kini berjalan di dalam VM.

  3. Panggil proxy API services-v1 yang di-deploy di lingkungan eval:

    curl -i -k -X POST -H "Content-Type: application/json" 'https://eval.example.com/services/v1/comments' -d '{"comment":"Jane orangnya baik sampai rela kembali ke mobilnya buat membawakan sambal tambahan untukku. Terima kasih, Jane!", "category":"delivery-reviews"}'

    Respons dari Natural Language API akan terlihat seperti ini:

{ "documentSentiment": { "magnitude": 1.8, "score": 0.9 }, "language": "en", "sentences": [ { "documentSentiment": { "magnitude": 1.8, "score": 0.9 }, "language": "en", "sentences": [ { "text": { "content": "Jane orangnya baik sampai rela kembali ke mobilnya buat membawakan sambal tambahan untukku.", "beginOffset": -1 }, "sentiment": { "magnitude": 0.9, "score": 0.9 } }, { "text": { "content": "Terima kasih, Jane!", "beginOffset": -1 }, "sentiment": { "magnitude": 0.9, "score": 0.9 } } ] } ] }

Skor documentSentiment berkisar dari 1 hingga -1, dengan 1 sangat positif, dan -1 sangat negatif. Di contoh ini, sentimennya sangat positif.

  1. Buat panggilan lain ke proxy API:

    curl -i -k -X POST -H "Content-Type: application/json" 'https://eval.example.com/services/v1/comments' -d '{"comment":"Pengemudi tidak pernah datang membawa makan malam saya. :(", "category":"delivery-reviews"}'

    Untuk komentar ini, sentimennya cukup negatif.

  2. Masukkan perintah exit untuk keluar dari sesi SSH dan kembali ke Cloud Shell.

Tugas 5. Memublikasikan pesan ke Pub/Sub untuk komentar negatif

Dalam tugas ini, Anda akan menambahkan kebijakan PublishMessage untuk memublikasikan pesan Pub/Sub ke topik Pub/Sub setiap kali komentar negatif diterima. Pelanggan topik dapat menjalankan alur kerja yang mencoba menyelesaikan masalah bagi pemberi komentar.

Membuat topik Pub/Sub untuk ulasan pengiriman

Topik Pub/Sub akan dibuat untuk setiap kategori. Topik harus dibuat sebelum pesan dapat dipublikasikan ke topik tersebut.

  1. Di Menu navigasi (Ikon Menu navigasi), buka Pub/Sub > Topics.

  2. Klik + Create topic.

  3. Untuk ID topik, masukkan apigee-services-v1-delivery-reviews, lalu klik Create.

    Topik dan langganan baru akan dibuat.

Mengekstrak skor dari respons Natural Language API

  1. Kembali ke Apigee di konsol cloud.

  2. Di menu navigasi sebelah kiri, pilih Proxy development > API Proxies, lalu klik services-v1.

  3. Buka tab Develop. Klik alur postComment.

  4. Di panel Flow, klik + di samping alur postComment di panel Response.

  5. Dalam dialog Add policy step, klik Create new policy.

  6. Di dropdown Select Policy, pilih jenis kebijakan Extract Variables dari bagian Mediation.

  7. Tentukan nilai berikut:

    Properti Nilai
    Nama Tampilan EV-ExtractSentiment
    Nama EV-ExtractSentiment
  8. Klik Add, lalu klik kebijakan EV-ExtractSentiment.

  9. Ganti konfigurasi XML ExtractVariables dengan:

    <ExtractVariables name="EV-ExtractSentiment"> <Source>response</Source> <JSONPayload> <Variable name="sentimentScore"> <JSONPath>$.documentSentiment.score</JSONPath> </Variable> </JSONPayload> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> </ExtractVariables>

Menambahkan kebijakan PublishMessage

  1. Klik alur postComment, lalu klik tombol + di bawah alur Response.

  2. Di bagian Extension, pilih jenis kebijakan Publish Message.

  3. Tentukan nilai berikut:

    Properti Nilai
    Nama Tampilan PM-PublishScore
    Nama PM-PublishScore
  4. Klik Add, lalu klik kebijakan PM-PublishScore.

  5. Ganti konfigurasi XML PublishMessage dengan:

    <PublishMessage continueOnError="true" name="PM-PublishScore"> <Source>{response.content}</Source> <CloudPubSub> <Topic>projects/{organization.name}/topics/apigee-services-v1-{category}</Topic> </CloudPubSub> </PublishMessage>
  6. Klik Save. Jika Anda diberi tahu bahwa proxy disimpan sebagai revisi baru, klik Save as new revision.

    response.content adalah payload yang ditampilkan oleh Natural Language API, dan akan menjadi pesan Pub/Sub. Category dari permintaan digunakan untuk membuat nama topik Pub/Sub.

    Category yang salah akan menghasilkan nama topik yang tidak ada. Di API produksi, sebaiknya verifikasi kategori yang ditentukan sebelum mencoba memublikasikan pesan Pub/Sub. Dalam contoh ini, continueOnError disetel ke benar (true) di kebijakan, sehingga, jika topik tidak ada, kesalahan tidak akan muncul.

Menambahkan pemeriksaan bersyarat untuk kebijakan PublishMessage

Condition dapat digunakan untuk melewati kebijakan secara opsional dalam alur.

  1. Di Menu navigasi proxy, di bagian Proxy Endpoints, klik default.

    Konfigurasi ProxyEndpoint ditampilkan.

  2. Untuk menambahkan kondisi ke langkah PM-PublishScore, ganti kode ini:

<Step> <Name>PM-PublishScore</Name> </Step>

dengan kode ini:

<Step> <Name>PM-PublishScore</Name> <Condition>sentimentScore LesserThan 0.0</Condition> </Step>

Kebijakan PublishMessage hanya akan dijalankan jika skor sentimen kurang dari 0.

Men-deploy API

  1. Klik Save. Jika Anda diberi tahu bahwa proxy disimpan sebagai revisi baru, klik Save as new revision.

  2. Klik Deploy.

  3. Untuk Environment, pilih eval.

  4. Untuk Service Account, tentukan alamat email akun layanan:

    apigee-gc-service-access@{{{ project_0.project_id | PROJECT }}}.iam.gserviceaccount.com
  5. Klik Deploy dan Confirm.

Klik Check my progress untuk memverifikasi tujuan. Memublikasikan pesan ke Pub/Sub untuk komentar negatif

Menguji API

  1. Di Cloud Shell, buka koneksi SSH ke VM pengujian Anda:

    TEST_VM_ZONE=$(gcloud compute instances list --filter="name=('apigeex-test-vm')" --format "value(zone)") gcloud compute ssh apigeex-test-vm --zone=${TEST_VM_ZONE} --force-key-file-overwrite

    Jika diminta untuk memberikan otorisasi, klik Authorize.

  2. Panggil proxy API services-v1 yang di-deploy di lingkungan eval:

    curl -i -k -X POST -H "Content-Type: application/json" 'https://eval.example.com/services/v1/comments' -d '{"comment":"Pengemudi tidak pernah datang membawa makan malam saya. :(", "category":"delivery-reviews"}'
  3. Dari Menu navigasi (Ikon Menu navigasi), buka Pub/Sub > Topics.

  4. Klik topik apigee-services-v1-delivery-reviews.

  5. Scroll ke bawah, lalu klik langganan apigee-services-v1-delivery-reviews-sub.

  6. Klik tab Messages, lalu klik Pull.

  7. Dalam pesan tersebut, klik tombol dropdown View all row content.

    Anda dapat melihat payload JSON yang dikirim untuk komentar apa pun dengan sentimen negatif.

Tugas 6. Menambahkan kebijakan MessageLogging

Dalam tugas ini, Anda akan menambahkan kebijakan MessageLogging untuk mencatat pesan ke Cloud Logging.

Membuat PostClientFlow

ProxyEndpoint memiliki alur opsional yang disebut PostClientFlow. Kebijakan yang dilampirkan ke alur ini berjalan setelah respons dikembalikan ke pemanggil. Lokasi ini dapat menjadi lokasi yang ideal untuk melakukan pencatatan pesan, karena pencatatan tidak akan menambahkan latensi tambahan kepada permintaan.

  1. Kembali ke tab Apigee dan, jika perlu, kembali ke halaman Develop services-v1.

  2. Di Menu navigasi proxy, di bagian Proxy Endpoints, klik default.

    Konfigurasi ProxyEndpoint ditampilkan.

  3. Tepat di atas bagian HTTPProxyConnection, tambahkan baris berikut:

    <PostClientFlow/>

    Setelah menambahkan baris ini, bagian bawah kode ProxyEndpoint Anda akan terlihat seperti ini:

<PostFlow name="PostFlow"> <Request/> <Response/> </PostFlow> <PostClientFlow/> <HTTPProxyConnection> <BasePath>/services/v1</BasePath> </HTTPProxyConnection> <RouteRule name="noroute"/> </ProxyEndpoint>

Tindakan ini akan menambahkan PostClientFlow kosong ke ProxyEndpoint.

Menambahkan kebijakan MessageLogging

  1. Dalam Menu navigasi proxy, di bagian Proxy Endpoints, klik PostClientFlow, lalu klik tombol + di bawah alur Response.

  2. Dalam dialog Add policy step, klik Create new policy.

  3. Di dropdown Select Policy, pilih jenis kebijakan Message Logging dari bagian Extension.

  4. Tentukan nilai berikut:

    Properti Nilai
    Nama Tampilan ML-LogToCloudLogging
    Nama ML-LogToCloudLogging
  5. Klik Add, lalu klik kebijakan ML-LogToCloudLogging.

  6. Ganti konfigurasi XML PublishMessage dengan:

    <MessageLogging name="ML-LogToCloudLogging"> <CloudLogging> <LogName>projects/{organization.name}/logs/apiproxy-{apiproxy.name}</LogName> <Message contentType="application/json">{ "messageid": "{messageid}", "environment": "{environment.name}", "apiProxy": "{apiproxy.name}", "proxyRevision": "{apiproxy.revision}", "uri": "{request.uri}", "statusCode": "{response.status.code}", "category": "{category}", "score": "{sentimentScore}", "publishFailed": "{publishmessage.failed}" }</Message> <Labels> <Label> <Key>proxyName</Key> <Value>services-v1</Value> </Label> </Labels> </CloudLogging> </MessageLogging>

    Bagian CloudLogging menentukan informasi yang akan dicatat ke Cloud Logging. Kebijakan ini menggunakan nama proxy sebagai bagian dari LogName, sehingga mudah ditemukan di Cloud Logging.

    Pesan dalam kebijakan ini merupakan pesan JSON, tetapi semua jenis pesan teks dapat digunakan dalam log Anda. Isi log Anda biasanya harus mencakup variabel alur proxy yang akan membantu Anda men-debug masalah apa pun. Misalnya, variabel publishmessage.failed akan bernilai benar (true) jika pesan Pub/Sub tidak dikirim.

    Label juga dapat ditambahkan ke pesan yang dicatat untuk mengategorikan konten pesan.

Men-deploy API

  1. Klik Save. Jika Anda diberi tahu bahwa proxy disimpan sebagai revisi baru, klik Save as new revision.

  2. Klik Deploy.

  3. Untuk Environment, pilih eval.

  4. Untuk Service Account, tentukan alamat email akun layanan:

    apigee-gc-service-access@{{{ project_0.project_id | PROJECT }}}.iam.gserviceaccount.com
  5. Klik Deploy dan Confirm.

    Tunggu hingga deployment selesai.

Klik Check my progress untuk memverifikasi tujuan. Menambahkan kebijakan MessageLogging

Menguji API

  1. Di Cloud Shell, jika koneksi SSH Anda telah ditutup, buka koneksi SSH ke VM pengujian Anda:

    TEST_VM_ZONE=$(gcloud compute instances list --filter="name=('apigeex-test-vm')" --format "value(zone)") gcloud compute ssh apigeex-test-vm --zone=${TEST_VM_ZONE} --force-key-file-overwrite

    Jika diminta untuk memberikan otorisasi, klik Authorize.

  2. Panggil proxy API services-v1 yang di-deploy di lingkungan eval:

    curl -i -k -X POST -H "Content-Type: application/json" 'https://eval.example.com/services/v1/comments' -d '{"comment":"Pengemudi tidak pernah datang membawa makan malam saya. :(", "category":"invalid-category"}'

    Kategori yang diberikan (invalid-category) tidak memiliki topik Pub/Sub yang sesuai.

  3. Dari Menu navigasi (Ikon Menu navigasi), buka Logging > Logs Explorer.

  4. Di kotak Query, masukkan kueri berikut:

    "invalid-category"
  5. Klik Run query.

  6. Luaskan entri log di panel Query Results, lalu luaskan jsonPayload.

Dengan memperluas entri log, akan menampilkan pesan JSON yang dicatat dan metadata lainnya. jsonPayload akan terlihat seperti ini:

{ "apiProxy": "services-v1", "category": "invalid-category", "environment": "eval", "messageid": "32c1eda7-f661-98f4-8d66-3c1c158dc620", "proxyRevision": "4", "publishFailed": "true", "score": "-0.8", "statusCode": "200", "uri": "/services/v1/comments" }

publishFailed bernilai benar karena tidak ada topik yang dibuat untuk kategori ini. Log yang dirancang dengan baik dapat membantu menemukan masalah di proxy API dan layanan backend Anda.

Selamat!

Di lab ini, Anda telah mengaktifkan Google Cloud API, dan membuat akun layanan. Anda memanggil Cloud Natural Language API menggunakan kebijakan ServiceCallout, dengan memanfaatkan autentikasi akun layanan yang disediakan oleh Apigee. Anda menggunakan kebijakan PublishMessage untuk memublikasikan pesan ke topik Pub/Sub. Terakhir, Anda menggunakan kebijakan MessageLogging untuk mencatat pesan ke Cloud Logging.

Langkah berikutnya / Pelajari lebih lanjut

Manual terakhir diperbarui pada 8 Agustus 2025

Manual terakhir diuji pada 8 Agustus 2025

Hak cipta 2025 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia

Satu lab dalam satu waktu

Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

Gunakan penjelajahan rahasia untuk menjalankan lab

Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.