Mengonfigurasi Cloud Endpoints

Halaman ini menjelaskan file konfigurasi yang diperlukan untuk membuat layanan gRPC yang dikelola oleh Endpoints.

Prasyarat

Sebagai titik awal, halaman ini mengasumsikan bahwa Anda telah:

Memilih nama layanan

Cloud Endpoints menggunakan nama yang Anda konfigurasikan dalam file YAML konfigurasi gRPC API sebagai nama layanan Anda.

Nama layanan API Anda harus unik di Google Cloud. Karena Endpoint menggunakan nama yang kompatibel dengan DNS untuk mengidentifikasi layanan, sebaiknya Anda menggunakan nama domain atau nama subdomain API sebagai nama layanan. Dengan pendekatan ini, nama layanan yang muncul di halaman Endpoints Services cocok dengan nama yang digunakan dalam permintaan ke API Anda. Selain itu, jika nama layanan dan nama domain Anda sama, Anda dapat membuat Portal Cloud Endpoints untuk pengguna API. Endpoint memiliki persyaratan berikut untuk nama layanan:

  • Panjang maksimum nama domain adalah 253 karakter.
  • Nama domain harus diawali dengan huruf kecil.
  • Setiap bagian dalam nama domain, yang dipisahkan dengan titik, memiliki persyaratan berikut:
    • Harus dimulai dengan huruf kecil.
    • Tidak boleh diakhiri dengan tanda hubung.
    • Karakter yang tersisa dapat berupa huruf kecil, angka, atau tanda hubung.
    • Panjang maksimumnya adalah 63 karakter.

Anda dapat mendaftarkan domain kustom Anda sendiri (seperti example.com), atau menggunakan domain yang dikelola oleh Google.

Menggunakan domain yang dikelola oleh Google

Google memiliki dan mengelola domain cloud.goog. Jika ingin menggunakan domain yang dikelola oleh Google, Anda harus menggunakan project ID Google Cloud sebagai bagian dari nama layanan. Karena project Google Cloud memiliki project ID yang unik secara global, persyaratan ini memastikan bahwa Anda memiliki nama layanan yang unik. Jika Anda ingin menggunakan domain cloud.goog, nama layanan harus dalam format, dengan YOUR_API_NAME adalah nama API dan YOUR_PROJECT_ID adalah project ID Google Cloud Anda:

YOUR_API_NAME.endpoints.YOUR_PROJECT_ID.cloud.goog`

Untuk menggunakan domain ini sebagai nama domain API, baca Mengonfigurasi DNS di domain cloud.goog.

Menggunakan domain kustom

Jika tidak ingin menggunakan domain yang dikelola oleh Google, Anda dapat menggunakan domain kustom (misalnya, myapi.mycompany.com) yang diizinkan untuk Anda gunakan. Sebelum men-deploy konfigurasi API, ikuti langkah-langkah di bagian Memverifikasi kepemilikan domain.

Mengonfigurasi buffering protokol

  1. Buat file .proto untuk layanan Anda. Baca Panduan developer
    untuk mengetahui detailnya.

  2. Kompilasi buffering protokol Anda menggunakan compiler protoc untuk bahasa Anda. Contoh:

    protoc
      --proto_path=. \
      --include_imports \
      --include_source_info \
      --descriptor_set_out=api_descriptor.pb \
      bookstore.proto
    

    Dalam perintah sebelumnya, --proto_path ditetapkan ke direktori kerja saat ini. Di lingkungan build gRPC, jika Anda menggunakan direktori yang berbeda untuk file input .proto, ubah --proto_path agar compiler menelusuri direktori tempat Anda menyimpan file .proto.

    Jika perintah protoc untuk membuat file deskripsi gagal, pastikan:

    • Versi protoc Anda sudah yang terbaru.
    • Anda menentukan --proto_path atau -I bentuk singkatnya untuk direktori root untuk file .proto yang diimpor. Anda dapat mengetahui lebih lanjut di dokumentasi buffering protokol.
    • Anda menentukan --include_imports.

    Jika ingin klien mengakses layanan gRPC menggunakan HTTP dengan JSON, Anda harus menentukan cara data diterjemahkan dari HTTP dengan JSON ke gRPC. Sebaiknya Anda menganotasi API yang ditentukan dalam file .proto. Baca artikel Mentranskode HTTP/JSON ke gRPC untuk mengetahui informasi selengkapnya.

Mengonfigurasi file konfigurasi layanan gRPC

Anda perlu membuat file YAML konfigurasi layanan gRPC. Anda menentukan nama layanan dan pembatasan penggunaan, seperti mewajibkan kunci API dalam file ini. Anda dapat menggunakan file api_config.yaml dari contoh Toko Buku sebagai model.

  1. Simpan salinan api_config.yaml.

  2. Masukkan nama layanan Anda di kolom name. Contoh:

    name: bookstore.endpoints.example-project-12345.cloud.goog
    
  3. Masukkan judul yang ditampilkan di halaman Endpoints > Services di konsol Google Cloud. Contoh:

    title: Bookstore gRPC API
    
  4. Masukkan nama API di kolom apis:name. Teks yang Anda masukkan harus sama persis dengan nama API yang memenuhi syarat dari file .proto Anda. Misalnya:

    apis:
      - name: endpoints.examples.bookstore.Bookstore
    
  5. Konfigurasikan bagian file lainnya. Contoh:

    #
    # API usage restrictions.
    #
    usage:
      rules:
      # ListShelves methods can be called without an API Key.
      - selector: endpoints.examples.bookstore.Bookstore.ListShelves
        allow_unregistered_calls: true
    

    Baca Aturan dan pemilih untuk mengetahui informasi selengkapnya.

Langkah selanjutnya

Contoh gRPC tambahan