Quickstarters
Feature Overview
How to Build a Backend for ASP.NET Core?
31 分
はじめに このチュートリアルでは、back4appを使用してasp net coreのバックエンドを構築する方法を学びます。 データベース管理、cloud code、restおよびgraphql api、ユーザー認証、リアルタイムクエリなど、back4appの基本機能を統合することで、asp net coreアプリケーションのための完全なバックエンドソリューションを得ることができます。 このアプローチは、最小限のセットアップでサーバーサイドのロジックを処理し、スケーラブルなwebアプリケーションの構築をサポートします。 back4appを使用すると、asp net coreプロジェクトのバックエンド開発を加速できます。信頼性の高いweb apiインフラストラクチャ、データベース接続、および堅牢なクラウド機能をサポートするオープンソースプラットフォームを活用できます。 このチュートリアルの終わりまでには、安全で拡張可能なバックエンドの作業基盤が得られ、ユーザーエクスペリエンスが向上し、リアルタイムデータを処理できるようになります。その後、必要に応じて net coreソリューションを拡張したり、他のサービスと統合したりできます。 前提条件 back4appアカウントと新しいback4appプロジェクト back4appの始め方。 https //www back4app com/docs/get started/new parse app アカウントをお持ちでない場合は、無料で作成できます。 asp net core開発環境 net sdk(バージョン6 0以上)がインストールされていることを確認してください。 netをダウンロード https //dotnet microsoft com/en us/download c#とasp net coreの知識 公式asp net coreドキュメント。 https //learn microsoft com/en us/aspnet/core/?view=aspnetcore 6 0 オプション parse net sdkを使用する予定がある場合は、 parse sdk dotnet https //github com/parse community/parse sdk dotnet または csprojファイル内の参照が必要です。 始める前に、これらの前提条件がすべて整っていることを確認してください。back4appプロジェクトと asp net core 環境が整っていると、手順がはるかに簡単に進められます。 ステップ1 – back4appで新しいプロジェクトを作成し、接続する なぜこのステップ? あなたの asp net core バックエンドはback4appプロジェクトから始まります。このプロジェクトは、データベース、セキュリティルール、アプリ設定を管理するサーバーサイドの基盤です。 プロジェクトの作成 ログイン あなたのback4appアカウントに。 “新しいアプリ”をクリック ダッシュボードから。 アプリの名前を付ける (例:“aspnetcore backend tutorial”)。 作成後、ダッシュボードにリストされているのが見えます。この新しいアプリはあなたの バックエンド開発 タスクの主要なハブです。 parse net sdkのインストール(オプション) 直接 rest api または graphql を使用できますが、 parse net sdk はあなたの asp net core ソリューションでのデータ操作を簡素化できます。統合したい場合は parse sdkを追加 あなたの csprojまたはnugetパッケージマネージャー経由で sdkを初期化 あなたのasp net coreアプリケーションで(例、 program cs または startup cs ) プレースホルダーをあなたのback4appアプリの“アプリ設定” > “セキュリティとキー”からの資格情報で置き換えます。これにより、あなたの asp net core プロジェクトがback4appの サーバーサイド 環境に接続されます。 ステップ2 – データベースの設定 1\ データモデルの作成 back4appダッシュボードを使用してクラススキーマを定義します。例えば、 todo クラスには title (文字列)や iscompleted (ブール値)などの列があります。 2\ aiエージェントを使用したデータモデルの作成 back4appダッシュボードでaiエージェントを開き、データモデルを説明します。例えば、“私の asp net coreアプリケーション のために新しいtodoクラスを作成します。” aiエージェントがスキーマを設定します。 3\ parse net sdkを使用したデータの読み取りと書き込み c#での todo アイテムの作成と取得の方法は次のとおりです using parse; // create a new todo public async task\<parseobject> createtodo(string title, bool iscompleted) { var todo = new parseobject("todo") { { "title", title }, { "iscompleted", iscompleted } }; return await todo saveasync(); } // fetch all todos public async task\<ienumerable\<parseobject>> fetchtodos() { var query = new parsequery\<parseobject>("todo"); return await query findasync(); } 4\ rest apiを使用したデータの読み取りと書き込み また、 rest api アプローチを使用することもできます curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo 5\ graphql apiを使用したデータの読み取りと書き込み graphql を使用するには、back4app graphqlエンドポイントにクエリまたはミューテーションを送信します mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } 6\ ライブクエリの使用 ダッシュボードでライブクエリをオンにして リアルタイム 更新を有効にします( サーバー設定 の下)。次に、 netまたはwebsocketアプローチを使用して購読します。これにより、追加の呼び出しなしで ウェブアプリケーション のデータが新鮮に保たれます。 ステップ3 – aclとclpを使用したセキュリティの適用 aclとclpの概要 acl(アクセス制御リスト) は個々のオブジェクトを保護します。 clp(クラスレベルの権限) は全体のクラスを保護します。この層状のアプローチは、あなたの asp net core 環境でデータを安全に保ちます。 クラスレベルの権限の設定 back4appダッシュボードの データベース タブを開きます。 todo クラスを選択します。 クラスレベルの権限 をクリックします。 公開または認証されたロールのために読み取り/書き込みをカスタマイズします。 コード内でのaclの設定 parse net sdkを使用すると、オブジェクトレベルでaclを設定できます var todo = new parseobject("todo") { { "title", "private task" } }; // restrict read/write to only a particular user var acl = new parseacl(); acl setpublicreadaccess(false); acl setpublicwriteaccess(false); acl setreadaccess(user objectid, true); acl setwriteaccess(user objectid, true); todo acl = acl; await todo saveasync(); ステップ4 – クラウドコード関数の作成 なぜクラウドコード? クラウドコード はback4appの サーバーサイド これは、あなたの asp net coreプロジェクト のための検証、トリガー、または追加のロジックに最適です。機密性の高いプロセスを安全に保ち、クライアントから切り離すことができます。 例:クラウド関数 // main js example parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); デプロイメント クラウドコードをデプロイするには back4app cli b4a deploy ダッシュボード コードを cloud code > functions に貼り付けて deploy をクリックします。 クラウドファンクションの呼び出し net で public async task\<dictionary\<string, object>> gettextlength(string text) { var parameters = new dictionary\<string, object> { { "text", text } }; var result = await parsecloud callfunctionasync\<dictionary\<string, object>>("calculatetextlength", parameters); return result; } または rest curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"text" "hello back4app"}' \\ https //parseapi back4app com/functions/calculatetextlength ステップ 5 – 認証の設定 ユーザー認証を有効にする asp net core は独自のアイデンティティを管理できます。しかし、希望する場合は、parse の user クラスにオフロードできます。back4app はパスワードのハッシュ化、 rest api セッション、およびその他のセキュリティの詳細を処理します。 // sign up public async task signupuser(string username, string password, string email) { var user = new parseuser { username = username, password = password, email = email }; await user signupasync(); } // log in public async task\<parseuser> loginuser(string username, string password) { return await parseuser loginasync(username, password); } ソーシャルログイン 統合する facebook , google , または必要に応じて他のプロバイダーを back4app ダッシュボードのoauth設定で構成します。 ソーシャルログインのドキュメント。 https //www back4app com/docs/platform/sign in with apple ステップ6 – ファイルストレージの取り扱い ファイルのアップロード 画像やドキュメントをアップロードするには、 parsefile を使用します public async task\<parsefile> uploadimage(byte\[] filebytes, string filename) { var parsefile = new parsefile(filename, filebytes); await parsefile saveasync(); return parsefile; } ファイルのセキュリティ ファイルのアップロードを アプリ設定 > セキュリティとキー , 誰がファイルをアップロードまたはアクセスできるかを調整します。これにより、あなたの ウェブアプリケーション のユーザーデータが保護されます。 ステップ7 – メール確認とパスワードリセット なぜ重要なのか メール確認は、ユーザーが提供したメールを所有していることを保証します。パスワードリセットは、あなたの asp net core ソリューションにおける安全なユーザー体験にとって重要です。 back4appで有効にする back4appダッシュボードの メール設定 に移動します。 「 メール確認を有効にする 」をオンにします。 ブランドに合わせて パスワードリセット テンプレートを調整します。 ステップ8 – クラウドジョブによるタスクのスケジューリング バックグラウンドタスクの自動化 古いデータの削除やリマインダーの送信など、定期的なタスクを実行するためにクラウドジョブを使用します。例えば、 cleanupoldtodos // main js parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); back4appダッシュボードの サーバー設定 > バックグラウンドジョブ の下にスケジュールを設定します。 ステップ9 – ウェブフックの統合 ウェブフックの使用 ウェブフックを使用すると、 asp net core バックエンドがデータが変更されるたびに外部サービスを呼び出すことができます。例えば、新しい todo が作成されたときにslackチャンネルに通知します。 ウェブフックに移動します > その他 > webhooks の下に。 新しいエンドポイントを追加します。 イベントを選択します(例: todoを作成 )。 ステップ10 – back4app管理パネルの探索 概要 back4app管理アプリは、非技術的なユーザーがコードにアクセスせずにデータを管理(crud)するのを助けます。モデル中心で、わかりやすいです。 有効にする は アプリダッシュボード > その他 > 管理アプリ > 管理アプリを有効にする 管理ユーザーを作成し、サブドメインを選択します。次に、新しい資格情報でログインします 管理アプリを使用すると、あなたとあなたのチームは重要なデータタスクを迅速に処理でき、コラボレーションを促進し、開発時間を確保できます。 結論 あなたは、データ、セキュリティ、機能を効率化するためにback4appを使用してasp net coreのバックエンドを構築する方法を学びました。オープンソースプラットフォームとあなたのネットコアスキルを組み合わせることで、あなたは今、以下のものを持っています aclとclpを持つスケーラブルなデータベース構造。 即時データ更新のためのリアルタイムライブクエリ。 安全なサーバーサイドロジックのためのクラウドコード。 ウェブ開発フローのための統合されたweb apiエンドポイント。 バックエンドを拡張するための自動化されたクラウドジョブとウェブフック。 データ管理のための使いやすい管理パネル。 これらの基盤が整ったことで、あなたは優れたユーザー体験を提供し、大規模なトラフィックを容易に処理する完全なasp net coreアプリケーションを開発できます。 次のステップ 本番環境に移行 セキュリティルールを強化し、パフォーマンスを最適化し、back4appの分析を活用します。 高度な機能を追加 ロール、ロールベースのアクセス、またはサードパーティapi(例:stripe、slack)を試してみてください。 クラウドコードを深く掘り下げる カスタムトリガーを作成し、外部サービスと統合し、複雑なワークフローを処理します。 公式のback4appドキュメントを確認 back4appドキュメント https //www back4app com/docs/ は高度な使用法に関するガイダンスを提供します。 asp net coreプロジェクトを拡張 し、よりリッチな mvc パターン、マイクロサービス、または専門的な認証フローを追加します。