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ファイルのサービス名をリスト内で確認することができます。

新規gRPCリソース用フォームサービス名はprotoファイルから構文解析されます。

 
リソースを接続すると、これを利用したクエリーを作成できます。このサービスに対するメソッド/RPCはクエリー内で使用することができます。JSONのプレースホルダーはリクエスト・メッセージに合わせて生成されます。

 
これで、アプリ内でクエリーを使用できるようになります。

 
ご質問がある場合や障害が発生した場合は、ご連絡ください。