Memanggil API dari project Google Cloud

1. Sebelum memulai

Codelab ini menunjukkan cara membuat project Google Cloud, lalu memanggil Google Cloud API dari project tersebut.

Prasyarat

  • Kemampuan untuk menjelajahi Konsol Google Cloud.

Yang akan Anda pelajari

  • Cara membuat project Google Cloud.
  • Cara menyiapkan akun penagihan.
  • Cara menyiapkan Cloud Shell.
  • Cara mengaktifkan API.
  • Cara memberi otorisasi API dengan kunci API.
  • Cara memberi otorisasi API dengan akun layanan.

Yang Anda butuhkan

2. Memulai persiapan

Bagian ini menunjukkan cara membuat project Google Cloud, menyiapkan akun penagihan, dan menyiapkan Cloud Shell.

Membuat project Google Cloud dan menyiapkan akun penagihan

  1. Login ke Cloud Console, lalu pilih atau buat project.

Google Cloud

Panel project baru

Panel Project Baru yang menampilkan kolom Project name, Organization, dan Location.

Ingat project ID, yang ditampilkan di kolom Project name. ID adalah nama unik di semua project Google Cloud (nama di atas telah digunakan), dan selanjutnya disebut sebagai PROJECT_ID dalam codelab ini.

  1. Selanjutnya, aktifkan penagihan di Konsol Cloud untuk menggunakan resource Google Cloud.

Meskipun codelab ini tidak akan memakan banyak biaya, jika ada, ikuti petunjuk di bagian Pembersihan untuk menonaktifkan resource dan menghindari biaya di luar codelab ini. Perhatikan bahwa pengguna baru Google Cloud memenuhi syarat untuk mendapatkan uji coba gratis senilai US$300.

Menyiapkan Cloud Shell

Dalam codelab ini, Anda menggunakan Cloud Shell, lingkungan command line yang berjalan di Google Cloud. Cloud Shell adalah mesin virtual berbasis Debian yang dilengkapi dengan semua alat pengembangan yang Anda perlukan. Layanan ini menawarkan direktori beranda tetap sebesar 5 GB, yang sangat meningkatkan performa dan autentikasi jaringan. Artinya, semua yang Anda perlukan untuk codelab ini adalah browser.

Untuk mengaktifkan Cloud Shell dari Cloud Console:

  1. Klik a8460e837e9f5fda.png Activate Cloud Shell.

Mungkin perlu waktu beberapa saat untuk menyediakan dan terhubung ke lingkungan.

Opsi Aktifkan Cloud Shell.

Cloud Shell menampilkan prompt command line.

Setelah terhubung ke Cloud Shell, Anda akan melihat bahwa Anda sudah diautentikasi dan project sudah ditetapkan ke PROJECT_ID Anda.

  1. Buat daftar akun yang memiliki kredensial:
gcloud auth list

Anda akan melihat output ini:

Credentialed accounts:
 - <MY_ACCOUNT>@<MY_DOMAIN>.com (active)
  1. Untuk melihat daftar project Anda, masukkan perintah ini.
gcloud config list project

Anda akan melihat output ini:

[core]
project = <PROJECT_ID>

Jika project belum disetel karena beberapa alasan, jalankan perintah ini untuk menyiapkan project.

gcloud config set project <PROJECT_ID>

PROJECT_ID adalah ID yang Anda gunakan di langkah-langkah penyiapan. Anda juga dapat mencarinya di dasbor Konsol Cloud:

Panel info project yang menampilkan project ID.

Cloud Shell juga menetapkan beberapa variabel lingkungan secara default, yang mungkin berguna saat Anda menjalankan perintah di masa mendatang.

  1. Untuk melihat project ID Anda, masukkan perintah berikut.
echo $GOOGLE_CLOUD_PROJECT

Anda akan melihat output berikut:

<PROJECT_ID>
  1. Terakhir, tetapkan zona dan konfigurasi project default.
gcloud config set compute/zone us-central1-f

Anda dapat memilih berbagai zona yang berbeda. Untuk mengetahui informasi selengkapnya, lihat Region dan zona.

3. Memanggil API dari project

Codelab ini menunjukkan cara menggunakan contoh API (Natural Language API) untuk menemukan entity (seperti orang, tempat, dan peristiwa) dalam teks, dan cara memperkirakan sentimen (tingkat kesukaan) teks tersebut. Anda akan mempelajari cara:

  • Aktifkan Google Cloud API.
  • Dapatkan otorisasi untuk API dengan kunci API dan akun layanan.
  • Panggil API dengan curl dan library klien.

Mengaktifkan API

  1. Pilih APIs & Services dari menu utama di Konsol Cloud.

Menu utama Konsol Cloud yang menampilkan opsi APIs & Services.

  1. Pilih + ENABLE APIS AND SERVICES dari bagian atas layar.

Opsi AKTIFKAN API DAN LAYANAN.

  1. Pada tahap ini, Anda dapat memfilter dan menjelajahi API, atau langsung membuka API dengan kotak Penelusuran. Telusuri Natural Language, lalu pilih Cloud Natural Language API.

Panel Cloud Natural Language API yang menampilkan tombol AKTIFKAN dan COBA API INI.

  1. Klik TRY THIS API.

Jika tombol TRY THIS API tidak ditampilkan, klik salah satu Metode yang tercantum untuk mencoba metode tersebut.

Membuat Kunci API

Karena Anda menggunakan curl untuk mengirim permintaan ke Natural Language API, Anda harus membuat kunci API untuk meneruskan URL permintaan.

  1. Di Konsol Cloud, pilih Navigation menu > APIs & Services > Credentials.

Menu navigasi yang menampilkan opsi APIs & Services dan Credentials.

  1. Klik BUAT KREDENSIAL, lalu pilih Kunci API:

Panel Credentials yang menampilkan opsi CREATE CREDENTIALS dan API key.

  1. Salin kunci API yang dibuat, lalu klik Close.

Menggunakan kunci API untuk memanggil API

  1. Di command line Cloud Shell, ekspor kunci API Anda.
export API_KEY=<YOUR_API_KEY>

Ganti <YOUR_API_KEY> dengan kunci yang Anda buat sebelumnya.

  1. Buat permintaan untuk API di Cloud Shell Editor atau dengan editor Linux, seperti Vim atau Emacs. Anda dapat menemukan detail parameter di Method: documents.analyzeEntities. Simpan output dalam file bernama request.json:
{
  "document":{
    "type":"PLAIN_TEXT",
    "content":"Google, headquartered in Mountain View (1600 Amphitheatre Pkwy, Mountain View, CA 940430), unveiled the new Android phone for $799 at the Consumer Electronic Show. Sundar Pichai said in his keynote that users love their new Android phones."
  },
  "encodingType":"UTF8"
}
  1. Panggil API dengan informasi permintaan.
curl "https://language.googleapis.com/v1/documents:analyzeEntities?key=${API_KEY}" \
  -s -X POST -H "Content-Type: application/json" --data-binary @request.json
  1. Jalankan kembali perintah, alihkan output ke file, lalu periksa hasilnya. Detail output file JSON juga ada di Method: documents.analyzeEntities.
  2. Untuk mengubah teks yang akan dianalisis dalam file request.json, ganti nilai content dengan teks pilihan Anda.

4. Memberikan otorisasi dengan akun layanan

Akun layanan sering kali lebih disukai daripada kunci API karena menyediakan autentikasi dan otorisasi. Anda dapat menganggap akun layanan sebagai alamat email untuk aplikasi Anda.

  1. Kembali ke bagian Kredensial di menu API & Layanan.
  2. Pilih Buat Kredensial, tetapi kali ini, pilih Akun Layanan.

Panel detail akun layanan.

  1. Berikan Nama akun layanan yang menjelaskan tujuannya, seperti "Natural Language Service Account". Sistem akan menyarankan ID. Anda juga dapat menambahkan deskripsi. Saat Anda mempelajari lebih lanjut akun layanan, Anda akan memberikan akses akun layanan ke project dan memberikan akses pengguna ke akun layanan, tetapi untuk saat ini, cukup klik Selesai untuk membuat akun layanan.
  2. Untuk membuat pasangan kunci yang akan digunakan akun layanan, klik d489bd059474ae59.png untuk mengedit akun layanan.

Panel akun layanan yang menampilkan daftar akun.

Detail akun layanan Anda akan ditampilkan.

Panel detail akun layanan yang menampilkan detail untuk akun layanan Natural Language.

  1. Salin alamat email akun layanan dan kembali ke Cloud Shell.
  2. Di Cloud Shell, buat pasangan kunci untuk akun layanan Anda dan tetapkan variabel lingkungan agar mengarah ke pasangan kunci tersebut:
gcloud iam service-accounts keys create ~/key.json \
  --iam-account <your service account email>
export GOOGLE_APPLICATION_CREDENTIALS="/home/$USER/key.json"

Google Cloud menggunakan variabel lingkungan ini untuk menemukan kredensial, sehingga kredensial tidak perlu disertakan dalam panggilan API.

  1. Sekarang Anda dapat memanggil API dengan perintah:
gcloud ml language analyze-entities --content="Michelangelo Caravaggio, Italian painter, is known for 'The Calling of Saint Matthew'." 

Hasilnya akan sama seperti sebelumnya.

Banyak API memiliki library klien yang ekstensif untuk mengekstrak detail ini. Untuk mempelajari lebih lanjut library klien, lihat Library Klien Cloud. Anda juga dapat membaca dokumentasi untuk API yang Anda gunakan untuk melihat library klien yang tersedia untuk API tersebut.

5. Pembersihan

Memiliki kunci API yang tidak dibatasi untuk project adalah praktik yang buruk. Jika seseorang mendapatkan akses ke pengelola sandi, orang tersebut dapat menggunakannya tanpa perlu autentikasi lebih lanjut.

Untuk menghapus kunci API ini:

  1. Klik f6b6844bf5688982.png Navigation menu > APIs & Services > Credentials.
  2. Di bagian Kunci API, pilih kunci yang akan dihapus, lalu klik 247adf2e1d1eae4b.pngHapus.
  3. Demikian pula, daripada mengkhawatirkan Kunci Pribadi Akun Layanan Anda tidak terlindungi, di bagian Service Accounts, pilih akun layanan yang akan dihapus, lalu klik 247adf2e1d1eae4b.pngDelete.

6. Selamat

Selamat! Anda telah mempelajari cara membuat project Google Cloud dan cara memanggil API dari dalam project.