Quickstarters
Feature Overview
How to Build a Backend for C#?
25 分
はじめに このチュートリアルでは、あなたは c# のバックエンドを構築する方法 を back4app を使用して学びます。 私たちは、データベース管理、クラウド機能、rest および graphql api、ユーザー認証、リアルタイムクエリなどの主要な back4app 機能を統合する方法を探ります。これにより、c# アプリケーションのための安全でスケーラブルかつ非常に効率的なバックエンド開発環境を作成します。 asp net core を使用している場合でも、 net framework をターゲットにしている場合でも、back4app は バックエンドアプリケーション を構築するための重要なインフラストラクチャツールを提供することで、あなたのワークフローを加速します。 この効率的なアプローチは、サーバーやデータベースを手動で設定する必要を排除することで、時間を節約できます。 その過程で、あなたは高度なセキュリティオプションの適用方法、cloud jobsを使用したタスクのスケジューリング、拡張機能のためのwebhookの統合方法を学ぶことができます。 このガイドの終わりまでに、あなたは ウェブアプリケーション または他の バックエンドアプリケーション をc#で作成するためのしっかりとした基盤を持つことになります。この基本的なセットアップをより複雑なビジネスロジックや外部api統合のためにカスタマイズする準備が整います。 前提条件 このチュートリアルを完了するには、次のものが必要です back4appアカウントと新しいback4appプロジェクト back4appの始め方。 https //www back4app com/docs/get started/new parse app アカウントがない場合は無料でサインアップできます。このガイドでは、back4appプロジェクトの作成と設定方法を示します。 c#開発環境 asp net coreまたは net frameworkプロジェクトには、 visual studio または visual studio code を使用できます。 netダウンロードページ https //dotnet microsoft com/en us/download c#に関する知識 c# プログラミング言語 とオブジェクト指向の概念に関する基本的な知識。 microsoft c#ドキュメント。 https //learn microsoft com/en us/dotnet/csharp/ net sdk (asp net coreまたは net framework用) プラットフォーム用の最新の net sdkがインストールされていることを確認してください。 netダウンロードページ https //dotnet microsoft com/en us/download これらを整えてから始めることで、手順がスムーズに進むことを確認してください。 ステップ 1 – back4app で新しいプロジェクトを作成し、接続する back4app にログイン し、新しいプロジェクトを作成します。これがあなたの c# バックエンドの基盤となります。 back4app ダッシュボードで「新しいアプリ」をクリックします。 プロジェクトに名前を付けます(例:「csharp backend tutorial」)。 作成後、ダッシュボードにリスト表示されます。この新しいプロジェクトは、データベース操作、認証、リアルタイムクエリなどを処理します。 parse net sdk をインストール (該当する場合)。 c# プロジェクト(asp net core または net framework)で、 parse sdk を nuget を通じて追加します。 parse を初期化 します:あなたの アプリケーション id , クライアントキー (時には net キーと呼ばれる)、および サーバー url を back4app プロジェクトの「アプリ設定」または「セキュリティとキー」から取得します。 このステップで、c#アプリケーションがback4appバックエンドと安全に通信できるように設定しました。これで、parse net sdkを介してアプリデータと対話できるようになります。 ステップ2 – データベースの設定 データモデルの作成 back4appダッシュボードを通じて、またはコードからオブジェクトを保存することで、スキーマ(例:「todo」クラス)を定義します。 aiエージェントを使用したデータモデルの作成 back4appダッシュボードで aiエージェント を開きます。 データモデルを説明します(例:「c#デモ用のtodoスキーマを作成」)。 aiエージェントにクラスとフィールドを自動的に生成させます。 sdkを使用したデータの読み書き rest apiを使用したデータの読み書き graphql apiを使用したデータの読み書き ライブクエリの使用(オプション) back4appの サーバー設定 でライブクエリを有効にします。 c#アプリでは、利用可能な場合は専用ライブラリを使用して、またはwebsocketを介して購読できます。現在のサポートについては net sdkのドキュメントを確認してください。この機能は、リアルタイム更新が必要な ウェブアプリケーション を構築する際に役立ちます。 ステップ 3 – acl と clp を使用したセキュリティの適用 概要 acl オブジェクトレベルでの読み取り/書き込みアクセスを制御します。 clp クラスレベルでのアクションを制限します(公開 vs 認証ユーザー vs 特定の役割)。 クラスレベルの権限の設定 back4app ダッシュボードの「データベース」セクションに移動します。 クラス(例:「todo」)を選択し、 クラスレベルの権限 を開きます。 必要に応じて「認証が必要」またはより制限的な設定を構成します。 c# での acl の構成 このアプローチは、認可されたユーザーのみがバックエンドデータを読み取ったり変更したりできることを保証し、あなたの バックエンド開発 を不正アクセスから保護します。 ステップ 4 – クラウドコード関数の作成 なぜクラウドコードなのか クラウドコードを使用すると、javascriptでサーバーサイドのロジックを実行できます(クライアントがc#であっても)。検証、トリガー、またはカスタムビジネスロジックに使用します。別のサーバーは必要ありません—back4appがあなたのコードをホストし、スケールします。 例の関数 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 cli を実行します または、アプリのダッシュボードの cloud code > functions に関数を貼り付けます。 関数の呼び出し c# コードから var parameters = new dictionary\<string, object> { { "text", "hello from c#" } }; var result = await parsecloud callfunctionasync\<idictionary\<string, object>>("calculatetextlength", parameters); console writeline("text length " + result\["length"]); または、他の バックエンドアプリケーション に対してrest/graphqlを介して呼び出します。 ステップ5 – 認証の設定 back4appにおけるユーザー認証 back4appの parse user クラスは、パスワードのハッシュ化、セッショントークン、セキュアなログインフローを処理します。これは、ユーザーアカウントが必要な ウェブアプリケーション にとって重要です。 サインアップ / ログイン (c#) public async task signupuser(string username, string password, string email) { var user = new parseuser() { username = username, password = password, email = email }; await user signupasync(); } public async task\<parseuser> loginuser(string username, string password) { return await parseuser loginasync(username, password); } ソーシャルログイン ソーシャルログイン(例:google、apple、facebook)を統合したい場合は、 ソーシャルログインのドキュメント。 https //www back4app com/docs/platform/sign in with apple 多くの場合、資格情報を設定し、特化したparseメソッドを呼び出すか、 netエコシステムで利用可能な追加パッケージを追加します。 ステップ6 – ファイルストレージの処理 c#でのファイルアップロード public async task\<string> uploadfile(string filepath) { byte\[] data = file readallbytes(filepath); var parsefile = new parsefile(path getfilename(filepath), data); await parsefile saveasync(); return parsefile url tostring(); } オブジェクトへのファイルの添付 public async task\<parseobject> createphotoobject(string filepath) { var photo = new parseobject("photo"); byte\[] data = file readallbytes(filepath); var parsefile = new parsefile(path getfilename(filepath), data); photo\["imagefile"] = parsefile; await photo saveasync(); return photo; } アップロードが完了すると、クライアントアプリケーションで表示するためのurlを取得できます。また、ファイルアップロードを認証されたユーザーに制限するためのセキュリティルールを設定することもできます。 ステップ7 – メール確認とパスワードリセット 概要 メール確認はユーザーアカウントの所有権を確認するのに役立ち、パスワードリセットはユーザーの利便性とセキュリティを向上させます。両方ともback4appダッシュボードで設定できます。 ダッシュボードの設定 「 アプリ設定 」に移動し、 メール設定 を選択します。 「 メール確認 」と「 パスワードリセット 」を有効にします。 必要に応じてメールテンプレートをカスタマイズします。 コード/実装 c#では、これらの機能を有効にすると、新しいユーザーは自動的に確認メールを受け取ります。また、プログラム的にパスワードリセットをトリガーすることもできます await parseuser requestpasswordresetasync("user\@example com"); ステップ8 – クラウドジョブによるタスクのスケジューリング クラウドジョブの機能 「 クラウドジョブ 」を使用して、データのクリーンアップや定期的なレポートの送信などのタスクを自動化します。これらは、直接のユーザー入力なしでback4appのサーバー上で実行されます。 例ジョブ(クラウドコードのjavascript) 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 – ウェブフックの統合 定義 webhooksを使用すると、特定のイベントがアプリで発生するたびにback4appが外部エンドポイントにhttp postリクエストを送信できます。 設定 アプリのダッシュボードで more > webhooks に移動します。 新しい webhook を追加し、エンドポイントurl(slack webhookやカスタムサーバーなど)を指定します。 イベントトリガーを選択します(例:「todoクラスの新しいレコード」)。 より複雑なロジックが必要な場合は、 cloud code トリガー(beforesaveやaftersaveなど)でhttpリクエストを行うことでこれを拡張できます。 ステップ10 – back4app管理パネルの探索 どこで見つけるか アプリのダッシュボードで、 more > admin app に移動します。 機能 admin appはcrud操作、ログ、バックグラウンドジョブ、分析のための視覚的インターフェースを提供します。これは、技術的でないユーザーや迅速なデータ修正に最適です。 admin appを有効にして設定することで、あなたの ウェブアプリケーション における日常的なデータ管理タスクを便利に処理できます。 結論 おめでとうございます!あなたは c#のバックエンドを構築する方法 をback4appを使用して学びました。このガイドでは、あなたが以下のことを行う方法を示しました 新しいback4appプロジェクトを作成し、 c#バックエンド開発 のために設定します。 net sdkを使用して、リレーショナルデータを保存、クエリ、および管理します。 データを acls と clps で保護します。 ユーザー認証とセッション管理を実装します。 サーバーサイドのロジックを cloud code に書き、 cloud jobs でタスクをスケジュールします。 ファイルのアップロードとwebhookを使用した外部統合を処理します。 簡単なデータベース管理のために管理パネルを探索します。 これらのスキルは、c#での高度な バックエンドアプリケーション を構築するための堅実な基盤です。 これで、カスタムビジネスロジックを統合し、より複雑なリレーショナル構造を追加し、実際のシナリオのために外部apiを組み合わせることができます。 asp net coreを使用している場合でも、 net frameworkをターゲットにしている場合でも、back4appはサーバーの維持管理ではなく、素晴らしいアプリの構築に集中できるようにサポートします。 次のステップ c#とback4appの知識を深める ために、より高度なデータモデルやパフォーマンス最適化を探求してください。 外部apiを統合する ことで、機能を強化します—例えば、決済ゲートウェイやメッセージングサービスなど。 back4appの公式ドキュメントをチェックする ことで、高度なセキュリティのヒント、ログ分析、リアルタイム分析を得ることができます。 本番環境に適したアプリケーションを構築する ために、このセットアップを拡張し、プロジェクトをクラウドにデプロイしてください。 この柔軟でスケーラブルなセットアップを使用すれば、back4appを使ってc#での バックエンド開発 の課題に取り組む準備が整います。コーディングを楽しんでください!