Firebaseの代替バックエンド、Supabaseを使ってみよう
今日はSupabaseを紹介します。 「Supabase」は、オープンソースのプラットフォームで、バックエンドサーバー、データベース、認証、リアルタイムデータ、ストレージなどの機能を提供するBaaS(Backend as a Service)プロバイダーです。Supabaseは、アプリケーションの開発者がアプリケーションのバックエンド機能を迅速かつ簡単に構築および管理できるようにするために設計されています。 主な特徴と機能: Supabaseは、モダンなWebおよびモバイルアプリケーションのバックエンドを効率的に構築するための強力なツールとして広く利用されています。アプリケーションのバックエンドを設計、実装、デプロイするプロセスを簡素化し、開発者がフロントエンドに焦点を当てるのに役立ちます。 更にFirebaseではNoSQLしか提供していないのでPostgreSQLを使い方は必然的にこちらになりますね。 Supabaseのプロジェクトを始める では下記のサインインのページからSupabaseにサインインしましょう。 https://supabase.com/dashboard/sign-in? メールアドレスでサインアップしてもよいですし、GitGubのアカウントからサインインしてもOKですね。 サインイン後にダッシュボードからNew Projectを選択して新しいプロジェクトを作成しましょう。プロジェクトはOrganization(組織)に紐づくので組織を作成することになります。ここで無料のプランを選んでおきましょうね。 そのままDBのパスワードの設定の画面へ。 セットアップが完了するとダッシュボードのページにもどされ、APIキーやらが表示されます。 もちろん、公開しないこと! テーブルエディター 左側にあるメニューの上にテーブルエディターがあります。ここでUI上でPostgreSQLデータベースのテーブルを作成してデータを作成することもできますね。 Enable Row Level Security (RLS)とは Enable Row Level Security (RLS)は、テーブルへのアクセスを制限するためのセキュリティ機能です。RLSは行ベースのセキュリティ制御を提供し、データベース内の各行に対してアクセスポリシーを設定できます。この機能を有効にすることにより、データベースの安全性を向上させ、機密性の高いデータを保護できます。 RLSの利点は以下の通りです: RLSを有効にすると、ポリシーを設定してデータベースのセキュリティを強化できます。ポリシーは、特定のユーザーやロールに対するアクセス権を制御し、データのプライバシーとセキュリティを確保します。RLSは特に多くのユーザーやロールが存在し、データへの細かいアクセス制御が必要な場合に有用です。 データの挿入 次にInsertボタンを使って手動でデータを入力してみましょう。わかりやすいので説明不要ですね。 参考API 次に右上の<>APIのボタンをクリックします。 ここで使えるAPIの一覧が例で出てきます。