gRPCのインテグレーション
gRPCは現在オンプレミス・デプロイメントで利用することができ、単項のリクエストやレスポンスに対応しています。
RetoolはRESTとGraphQLベースのAPIだけでなく、gRPCによるサービスへの接続にも対応しています。ここでは、デプロイメント用のgRPCエンドポイントの設定方法について説明します。
gRPCの設定
1. Retoolを最新のビルドに更新する
./update_retool.sh
2. protoファイルを追加する
ホスト・マシンでprotos/フォルダーを作成し、.protoファイルをそこに追加します。
3. ボリュームをマウントする
docker-compose.yml
において、
- ./protos:/retool_backend/protos
をapi、db-connector、db-ssh-connectorの3つのボリューム・セクションに追加します。
4. 環境変数でフォルダー・パスを追加する
docker.env
で、protoファイルへのパスを追加します。
PROTO_DIRECTORY_PATH=/retool_backend/protos
RetoolはGoogle protoファイルと「/retool_backend/protos」フォルダーをインクルード・ディレクトリーに自動的に組み込みます。protoファイルが他のベース・フォルダーに依存するインポートを使用する場合は、そのディレクトリーをPROTO_IMPORT_DIRECTORY_PATH
環境変数に追加すると、そのパスも組み込まれます。
5. Retoolを再起動する
sudo docker-compose up -d
gRPCリソースの作成
protoファイルが設定されました。これで、API下でgRPCを選択してprotoファイルのサービス名をリスト内で確認することができます。
リソースを接続すると、これを利用したクエリーを作成できます。このサービスに対するメソッド/RPCはクエリー内で使用することができます。JSONのプレースホルダーはリクエスト・メッセージに合わせて生成されます。
これで、アプリ内でクエリーを使用できるようになります。
ご質問がある場合や障害が発生した場合は、ご連絡ください。
Updated over 3 years ago