Halaman ini menjelaskan file konfigurasi yang diperlukan untuk membuat layanan gRPC yang dikelola oleh Endpoint.
Prasyarat
Sebagai titik awal, halaman ini mengasumsikan bahwa Anda telah:
- Project Google Cloud.
- Pengetahuan dasar tentang mengonfigurasi layanan gRPC API.
- Menginstal gRPC dan alat gRPC. Baca Memulai penggunaan gRPC untuk mengetahui detailnya.
Memilih nama layanan
Cloud Endpoints menggunakan nama yang Anda konfigurasikan dalam file YAML konfigurasi gRPC API sebagai nama layanan Anda.Nama layanan API Anda di Google Cloud harus unik. Karena Endpoint menggunakan nama yang kompatibel dengan DNS untuk mengidentifikasi layanan, sebaiknya gunakan nama domain atau nama subdomain API Anda sebagai nama layanan. Dengan pendekatan ini, nama layanan yang muncul di halaman Layanan Endpoint 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 Anda. Endpoint memiliki persyaratan berikut untuk nama layanan:
- Panjang maksimum nama domain adalah 253 karakter.
- Nama domain harus dimulai dengan huruf kecil.
-
Setiap bagian dalam nama domain, yang dipisahkan dengan titik, memiliki persyaratan berikut:
- Harus diawali dengan huruf kecil.
- Tidak boleh diakhiri dengan tanda hubung.
- Karakter yang tersisa dapat berupa huruf kecil, angka, atau tanda hubung.
- Panjang maksimum adalah 63 karakter.
Anda dapat mendaftarkan domain kustom Anda sendiri (seperti example.com
), atau menggunakan domain yang dikelola oleh Google.
Gunakan domain yang dikelola oleh Google
Google memiliki dan mengelola domaincloud.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
sebagai nama API dan YOUR_PROJECT_ID
sebagai 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
.
Gunakan domain kustom
Jika tidak ingin menggunakan domain yang dikelola oleh Google, Anda dapat menggunakan domain kustom (misalnya, myapi.mycompany.com
) yang diizinkan untuk digunakan.
Sebelum men-deploy konfigurasi API, ikuti langkah-langkah dalam artikel Memverifikasi kepemilikan domain.
Mengonfigurasi buffering protokol
Buat file
.proto
untuk layanan Anda. Baca Panduan developer
untuk mengetahui detailnya.Kompilasi buffering protokol 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 berbeda untuk file input.proto
, ubah--proto_path
agar compiler menelusuri direktori tempat Anda menyimpan file.proto
.Jika perintah
protoc
untuk membuat file deskriptor gagal, pastikan:- Versi
protoc
Anda sudah yang terbaru. - Anda menentukan
--proto_path
atau-I
dalam format singkatnya untuk direktori root untuk file.proto
yang diimpor. Anda dapat mencari tahu lebih lanjut di dokumentasi buffering protokol. - Anda menentukan
--include_imports
.
Jika ingin klien Anda 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 Transcoding HTTP/JSON ke gRPC untuk mengetahui informasi selengkapnya.- Versi
Mengonfigurasi file konfigurasi layanan gRPC
Anda perlu membuat file YAML konfigurasi layanan gRPC. Anda perlu menentukan nama layanan dan batasan penggunaan, seperti mewajibkan kunci API dalam file ini.
Anda dapat menggunakan file api_config.yaml
dari contoh Toko Buku sebagai model.
Simpan salinan
api_config.yaml
.Masukkan nama layanan Anda di kolom
name
. Contoh:name: bookstore.endpoints.example-project-12345.cloud.goog
Masukkan judul yang ditampilkan di halaman Endpoint > Layanan di Konsol Google Cloud. Contoh:
title: Bookstore gRPC API
Masukkan nama API di kolom
apis:name
. Teks yang Anda masukkan harus sama persis dengan nama API yang sepenuhnya memenuhi syarat dari file.proto
Anda. Misalnya:apis: - name: endpoints.examples.bookstore.Bookstore
Konfigurasi 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
Sampel gRPC tambahan
- Contoh versi Java dari Bookstore.
Contoh
getting-started-grpc
tersedia di GitHub dalam bahasa berikut: