Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
13 KiB
Hasura GraphQL Engine
Hasura GraphQLエンジンは Postgres上で瞬時にリアルタイムのGraphQL API をウェブフックトリガーをデータベースイベントで起動し、ビジネスロジック用のリモートスキーマを提供する、非常に高速なGraphQLサーバーです。
Hasuraは、Postgresをバックエンドに持つGraphQLアプリケーションを構築したり、Postgresを使用して既存のアプリケーションをGraphQLに段階的に移行したりするのに役立ちます。
こちらと hasura.io こちらから docs 詳細を読んでください。
機能一覧
- 強力なクエリ: 組み込みフィルタリング、ページ付け、パターン検索、一括挿入、更新、削除などのmutations
- リアルタイム: subscriptions使って様々なGraphQLクエリをライブクエリに変換
- リモートスキーマのマージ: 単一のGraphQLエンジンエンドポイントを介してビジネスロジック用のカスタムGraphQLスキーマにアクセスカスタムのGraphQLスキーマにアクセス 続きを読む.
- ウェブフックやサーバーレス機能を起動する: Postgresのinsert / update / deleteイベント時 (続きを読む)
- 既存のライブデータベースと連携: 既存のPostgresデータベースから、すぐに使えるGraphQL APIが即座に作られます
- きめ細かいアクセス制御: 認証システムと統合する動的アクセス制御(例:auth0、firebase-auth)
- 管理UIと移行: 最大15MBのドッカーイメージ。最大50MB RAM @ 1000 req/s。マルチコア対応
- Postgres ❤️: Postgresの型(PostGIS/地理位置など)をサポートし、ビューをグラフに変え、保存された関数や手順を変更した手続きを起動
こちらと hasura.io こちらから docs詳細を読んでください。
目次
目次
クイックスタート:
Herokuへのワンクリックでのデプロイ
Hasuraを試す最も早い方法はHerokuを使うことです。
-
無料のPostgresアドオン経由でHerokuにGraphQLエンジンをデプロイするには、次のボタンをクリックしてください:
-
Hasuraコンソールを開きます。
こちらのリンクから
https://<app-name>.herokuapp.com
(<app-name>を自分のアプリ名で置き換えます) 管理コンソールにアクセスしてください。 -
最初のGraphQLのクエリを発行
テーブルを作成して、最初のクエリを実行します。こちらの シンプルなガイドを参考にしてください。
他のワンクリックでデプロイする方法
以下のワンクリックデプロイの方法もチェックしてみてください:
インフラ業者 | ワンクリックリンク | 追加情報 |
---|---|---|
DigitalOcean | ドキュメント | |
Azure | ドキュメント |
他のデプロイ方法
Dockerでのデプロイと高度なカスタマイズオプションについては デプロイガイド か インストールマニフェストを参考にしてください。
アーキテクチャ
Hasura GraphQLエンジンはPostgresデータベースインスタンスの前で動作し、クライアントアプリケーションからGraphQLのリクエストを受け取ることができます。既存の認証システムと連携するように設定でき、認証システムからの動的変数を含むフィールドレベルのルールを使用してアクセス制御を処理できます。
リモートのGraphQLスキーマをマージして、統一されたGraphQL APIを提供することもできます。
クライアント側ツール
HasuraはどのGraphQLクライアントでも動作します。Apolloクライアントを使うのをおすすめします。. awesome-graphqlにクライアントのリストがあります。
ビジネスロジックの追加
GraphQLエンジンは、バックエンドにカスタムビジネスロジックを追加するための、理解しやすくスケーラブルで高性能なメソッドを提供します。
リモートスキーマ
HasuraのPostgresベースのGraphQLスキーマに加えて、リモートスキーマにカスタムリゾルバを追加します。支払いAPIの実装、データベースに無いデータの問い合わせなどのユースケースに最適です - 続きを読む。
データベースイベントによるウェブフックの起動
データベースイベントから起動する非同期ビジネスロジックを追加します。 通知、Postgresからのデータパイプライン、または非同期に最適です - 続きを読む。
派生データまたはデータ変換
PostgreSQLのデータを変換するか、あるいはその上でビジネスロジックを実行することでGraphQLエンジンを使用して問い合わせることができる別のデータセットを派生させる事ができます。続きを読む.
デモ
コミュニティ・サンプル ディレクトリにあるサンプルアプリケーションをチェックできます。
リアルタイムアプリケーション
-
Reactを使用して構築されたグループチャットアプリケーション。タイピングインジケーター、オンラインユーザー、新しいメッセージ通知が含まれます。
-
現在の場所を追跡できるアプリ。地図上を移動する乗り物の現在のGPS座標を表示します。
-
常にに変化するデータを集約するリアルタイムダッシュボード。
動画
- サーバーにホストされたGitlabのインスタンスにGraphQLを追加 (3分44秒)
- Auth0とGraphQLバックエンドに持つTodoアプリ (4分00秒)
- GitLab上のGitLab Authと動作するGraphQL (4分05秒)
- GPS位置情報の付いた1000万回の乗車のダッシュボード (PostGIS, Timescale) (3分06秒)
サポート&トラブルシューティング
ドキュメントとコミュニティは、ほとんどの問題のトラブルシューティングに役立ちます。あなたがバグに遭遇したか、または私達と連絡をとる必要があるならば、あなたは以下の方法の1つを使ってコンタクトすることができます:
- サポート&フィードバック: Discord
- 問題&バグトラッキング: GitHub issues
- プロダクトアップデートをフォロー: @HasuraHQ
- 直接話す ウェブサイトチャット
私たちはこのコミュニティの中でオープンで心地よい環境を達成することを約束します。 行動規範をご覧ください。
セキュリティに関する問題はこちらから報告をお願いします。詳細を読む.
開発への参加
開発者へのガイド を参照してください。
ブランド資産
Hasuraブランドの資産(ロゴ、Hasuraマスコット、バッジなどを使用)ブランド資産フォルダにあります。自由に使用してください。 あなたが作ったアプリに"Powered by Hasura"を追加してもらえるととてもうれしいです!
<!-- 明るいバックグラウンド用 -->
<a href="https://hasura.io">
<img width="150px" src="https://graphql-engine-cdn.hasura.io/img/powered_by_hasura_black.svg" />
</a>
<!-- 暗いバックグラウンド用 -->
<a href="https://hasura.io">
<img width="150px" src="https://graphql-engine-cdn.hasura.io/img/powered_by_hasura_white.svg" />
</a>
ライセンス
GraphQLエンジンのコアはApache License 2.0(Apache-2.0)の下で提供されています。
全ての その他のコンテンツ (サーバー
, クライアント
と
コンソール
ディレクトリ以外) は MITライセンスの下に提供されます。
これは ドキュメント
と コミュニティ
ディレクトリに入っているもの全てを含みます。