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:
- A Google Cloud project.
- Pengetahuan dasar tentang mengonfigurasi layanan gRPC API.
- Menginstal gRPC dan alat gRPC. Baca artikel Mulai menggunakan gRPC untuk mengetahui detailnya.
Memilih nama layanan
Cloud Endpoints menggunakan nama yang Anda konfigurasi dalam file YAML konfigurasi gRPC API sebagai nama layanan Anda.Nama layanan API Anda harus unik di Google Cloud. Karena Endpoints menggunakan nama yang kompatibel dengan DNS untuk mengidentifikasi layanan, sebaiknya Anda menggunakan nama domain atau nama subdomain API Anda sebagai nama layanan. Dengan pendekatan ini, nama layanan yang muncul di halaman Endpoints Services cocok dengan nama yang digunakan dalam permintaan ke API Anda. Endpoints memiliki persyaratan berikut untuk nama layanan:
- The maximum length of the domain name is 253 characters.
- The domain name must start with a lowercase letter.
-
Each section in the domain name, which is delimited by dots, has the following
requirements:
- Must start with a lowercase letter.
- Must not end with a dash.
- The remaining characters can be lowercase letters, numbers, or dashes.
- The maximum length is 63 characters.
Anda dapat mendaftarkan domain kustom Anda sendiri (seperti example.com), atau
Anda dapat menggunakan domain yang dikelola oleh Google.
Menggunakan domain yang dikelola oleh Google
Google memiliki dan mengelola domaincloud.goog. Jika ingin menggunakan domain yang dikelola oleh Google, Anda harus menggunakan ID project sebagai bagian dari nama layanan. Google Cloud 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 Anda dan YOUR_PROJECT_ID adalah
Google Cloud project ID 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 Anda izinkan untuk digunakan.
Sebelum men-deploy konfigurasi API, ikuti langkah-langkah di bagian
Verifikasi kepemilikan domain.
Mengonfigurasi buffer protokol
Buat file
.protountuk layanan Anda. Baca Panduan developer
untuk mengetahui detailnya.Kompilasi buffer protokol Anda menggunakan compiler
protocuntuk bahasa Anda. Contoh:protoc --proto_path=. \ --include_imports \ --include_source_info \ --descriptor_set_out=api_descriptor.pb \ bookstore.protoDalam perintah sebelumnya,
--proto_pathditetapkan ke direktori kerja saat ini. Di lingkungan build gRPC, jika Anda menggunakan direktori yang berbeda untuk file input.proto, ubah--proto_pathsehingga compiler menelusuri direktori tempat Anda menyimpan file.proto.Jika perintah
protocuntuk membuat file deskriptor gagal, pastikan bahwa:- Versi
protocAnda sudah yang terbaru. - Anda menentukan
--proto_pathatau bentuk singkatnya-Iuntuk direktori root untuk file.protoyang diimpor. Anda dapat mengetahui lebih lanjut di dokumentasi buffer 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 membuat anotasi pada API yang ditentukan dalam file
.protoAnda. Baca Mentranskode HTTP/JSON ke gRPC untuk mengetahui informasi selengkapnya.- Versi
Mengonfigurasi file konfigurasi layanan gRPC
Anda perlu membuat file YAML konfigurasi layanan gRPC. Anda menentukan nama layanan dan batasan penggunaan, seperti mewajibkan kunci API dalam file ini.
Anda dapat menggunakan file api_config.yaml dari sampel Bookstore sebagai model.
Simpan salinan
api_config.yaml.Masukkan nama layanan Anda di kolom
name. Contoh:name: bookstore.endpoints.example-project-12345.cloud.googMasukkan judul yang ditampilkan di halaman Endpoints > Services di konsol Google Cloud . Contoh:
title: Bookstore gRPC APIMasukkan nama API di kolom
apis:name. Teks yang Anda masukkan harus sama persis dengan nama API yang memenuhi syarat dari file.protoAnda. Misalnya:apis: - name: endpoints.examples.bookstore.Bookstore
Konfigurasi 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: trueBaca Aturan dan pemilih untuk mengetahui informasi selengkapnya.
Langkah berikutnya
Contoh gRPC tambahan
- Versi Java dari contoh Bookstore.
Contoh
getting-started-grpctersedia di GitHub dalam bahasa berikut: