BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Google Registry APIを使用したAPI情報の整理

Google Registry APIを使用したAPI情報の整理

ブックマーク

原文(投稿日:2021/01/09)へのリンク

Google Registry APIは、開発者が開発で使用するAPIの機械可読な説明をアップロードして共有することにより、APIに関する情報を整理できるようにすることを目的としている。

Registry APIはgRPCサービスである。Protocol Buffersによって形式的に記述され、aip.devのGoogle API設計ガイドラインに厳密に従っています。Registry APIの説明には、gRPC HTTP/JSOトランスコーディングをサポートするようにアノテーションが付けられています。これにより、プロキシを使用してJSON REST APIとして自動的に公開できます。

APIは、OpenAPIGoogle API Discovery Service Format形式、Protocol Buffersなどのさまざまな形式を使用して記述される。Registry API自体は、Protocol Buffers言語で記述されている。これは、サーバに登録され、指定のプロジェクトに属するすべてのAPIのリストを取得する方法である。そして、特定のAPI対する使用可能なすべてのバージョンを取得する方法である。

curl "https://<registry-api-server>/v1alpha1/projects/<prj>/apis"
curl "https://<registry-api-server>/v1alpha1/projects/<prj>/apis/<api>/versions"

projectsapisversionsに加えて、Registry APIによって管理される他の高レベルのエンティティはspecsである。これは、構造化された方法でAPIバージョンを説明するドキュメントに対応する。それは、propertieslabelsから構成される。propertiesは、プロジェクト、API、およびバージョンに関連付けることができる名前付きの値である。labelsはプロパティに似ているが、値はない。

Googleは、Registry APIのリファレンス実装を開発チームのためにデプロイして実行できるようにした。Goで記述されたRegistry APIサーバは、ローカルにデプロイすることも、提供されたDockerイメージを使用してGoogle Cloud Runでデプロイすることもできる。どちらの場合も、サーバはデフォルトでリモートNoSQLデータベースサービスであるCloud Datastore APIを使用する。ただし、registry-serverを起動し、ストレージバックエンド構成を含むYAMLファイルを渡すときに、-cオプションを使用してリレーショナルデータベースを使用するように構成できる。現在、リポジトリにはPostgreSQLSQLiteの構成ファイルが含まれている。

Registry APIのリファレンス実装は、make allを使って構築できる。これにより、GoコンパイラとProtocol Bufferコンパイラを除き、必要なすべての依存関係もダウンロードされる。これにより、Goクライアントライブラリコマンドラインインターフェイスが生成され、APIの操作が簡単になる。

現在、Registry APIとそのリファレンス実装は「アルファ版」と見なされており、変更される可能性がある。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT