Quickstarters

Pythonのバックエンドを構築する方法は?

36min

はじめに

このステップバイステップのチュートリアルでは、Back4Appを使用してPythonアプリケーションの完全なバックエンドを構築する方法を学びます。

データベース管理、Cloud Code Functions、RESTおよびGraphQL API、ユーザー認証、リアルタイムクエリなど、Back4Appの重要な機能を統合する方法を説明し、Pythonコードとシームレスに通信する安全でスケーラブル、かつ堅牢なバックエンドを作成します。

Pythonは、シンプルさとサーバーサイドの管理の容易さを提供するため、バックエンド開発においてプログラミング言語の中で人気の選択肢です。

Django、Flaskなどのフレームワークやライブラリは、長い間Pythonをウェブ開発プロセスの定番にしてきました。

Back4Appを活用することで、Python開発者はデータベーススキーマを迅速に設定し、データの整合性を確保し、複雑なインフラを管理することなく機械学習タスクを組み込むことができます。

その過程で、高度なセキュリティ機能、Cloud Jobsを使用したタスクのスケジューリング、外部統合のためのWebhookの設定など、重要な機能に関する実践的な経験を得ることができます。

このチュートリアルの終わりまでには、この基盤構造を本番環境に適したPythonバックエンドアプリケーションに拡張する準備が整い、プロジェクトがスケールする際にDockerやKubernetesなどの他のツールと簡単に統合できるようになります。

信頼できるプラットフォームと堅牢なPythonライブラリを使用することで、Pythonバックエンド開発の旅をスタートさせることができます。

前提条件

このチュートリアルを完了するには、次のものが必要です:

  • Back4Appアカウントと新しいBack4Appプロジェクト Back4Appの始め方。 まだサインアップしていない場合は無料でサインアップし、新しいプロジェクトを作成してください。
  • Python 3.xがインストールされていること マシンにPython 3.xがセットアップされていることを確認してください。 Pythonをダウンロード。
  • Parse Python SDK 次のコマンドでpipを使用してインストールします: pip install parse-rest. このSDKをデータのやり取りに使用します。
  • 基本的なPythonの概念に慣れていること Pythonが初めての場合は、次のリンクを確認してください: 公式Pythonドキュメント。 または初心者向けのチュートリアル。

これらの前提条件が整っていることで、Back4App上でPythonのバックエンドを構築する方法を探求する際に、スムーズに進めることができます。

ステップ1 – Back4Appプロジェクトの設定

新しいプロジェクトを作成する

Back4App上でPythonバックエンドを構築する最初のステップは、新しいプロジェクトを作成することです。まだ作成していない場合は、次の手順に従ってください:

  1. Back4Appアカウントにログインする
  2. Back4Appダッシュボードで「新しいアプリ」ボタンをクリックする
  3. アプリに名前を付ける(例:「Python-Backend-Tutorial」)。
Document image


プロジェクトが作成されると、Back4Appダッシュボードにリストされているのが見えます。このプロジェクトは、このチュートリアルで説明するすべてのバックエンド設定の基盤となります。

Parse SDKを接続する

Back4Appは、データを管理し、リアルタイム機能を提供し、ユーザー認証を処理するためにParseプラットフォームに依存しています。

PythonコードをBack4Appに接続するには、関連するParse SDKをインストールし、Back4Appダッシュボードの資格情報で初期化する必要があります。

Parseキーを取得する: Back4Appダッシュボードで、アプリのアプリ設定またはセキュリティとキーセクションに移動して、アプリケーションIDREST APIキーを見つけます。ParseサーバーURL(通常はhttps://parseapi.back4app.com)も見つかります。

Document image


Parse REST Python SDKをインストールする:

Bash


PythonスクリプトでParseを初期化する:

通常、プロジェクト内にファイル(例:parse_config.py)を作成します:

parse_config.py


このコードは、あなたがPythonアプリケーションの他の場所でparse_configモジュールをインポートするたびに、特定のBack4Appインスタンスに接続するように事前設定されていることを保証します。これで、PythonコードとBack4Appバックエンドの間に安全な接続が確立されました。

ステップ2 – データベースの設定

堅牢なデータベーススキーマは、Pythonバックエンド開発にとって不可欠です。Back4Appのデータ管理機能を使用すると、テーブル(クラス)、フィールド、およびリレーションシップを定義でき、Pythonのウェブフレームワークや選択した他のPythonライブラリでデータを簡単に保存および取得できます。

データモデルの作成

Back4Appは、コードからオブジェクトを最初に保存するときに自動的にクラススキーマを作成します。または、ダッシュボードでスキーマを定義することもできます:

  1. 「データベース」セクションに移動 あなたのBack4Appダッシュボードで。
  2. 新しいクラスを作成(例:「Todo」)し、タイトル(String)やisCompleted(Boolean)などの関連するカラムを追加します。
新しいクラスを作成
新しいクラスを作成


AIエージェントを使用したデータモデルの作成

Back4AppのAIエージェントは、データベーススキーマを迅速に作成するのに役立ちます。

  1. AIエージェントを開く あなたのアプリダッシュボードから。
  2. データモデルを説明する 自然言語で(例:「完全なクラススキーマを持つToDoアプリを作成。」)。
  3. AIエージェントにスキーマを自動生成させる
Document image


Python Parse SDKを使用したデータの読み書き

スキーマが準備できたら、データの保存とクエリは簡単です。例えば:

models.py


REST APIを使用したデータの読み取りと書き込み

RESTを介して対話することを好む場合は、リクエストを直接送信できます。

Bash


GraphQL APIを使用したデータの読み取りと書き込み

Back4Appは、データをクエリおよび変更するためのGraphQLエンドポイントも提供しています。

GraphQL


ライブクエリを使用する(オプション)

ライブクエリを使用すると、データが変更されるたびにリアルタイムで更新を受け取ることができます。それを有効にするには:

  1. ライブクエリをオンにする あなたの Back4App サーバー設定.
  2. Python WebSocketアプローチを使用する 変更を購読するために。ライブクエリ用のPython SDKはコミュニティ主導ですが、アプリケーションがリアルタイムの更新を要求する場合は、WebSocketライブラリを統合できます。

ステップ3 – ACLとCLPを使用したセキュリティの適用

簡単な概要

Back4Appは アクセス制御リスト (ACL)クラスレベルの権限 (CLP) を提供して、データの整合性を確保するのに役立ちます。これらの機能は、一般ユーザーまたは認証されたユーザーがデータにアクセスまたは変更できる方法を定義します。

Document image


クラスレベルの権限の設定

  1. Back4Appダッシュボードに移動する, アプリを選択し、 データベース セクションを開きます。
  2. クラスを選択する (例:“Todo”)。
  3. クラスレベルの権限に移動する そして一般ユーザーまたは認証されたユーザーのためのルールを設定します。

コード内でのACLの設定

ACLは、個々のオブジェクトに設定された細かい権限です。例えば:

Python


ACLとCLPを使用することで、Pythonアプリケーションを構築する際にセキュリティと利便性のバランスを取ることができます。

ステップ4 – クラウドコード関数の作成

クラウドコードの理由

クラウドコードを使用すると、重要なビジネスロジックをサーバー側にオフロードできます。これには、バリデーション、トリガー、または機械学習ツールや外部APIをPythonバックエンド開発に統合するような高度なタスクが含まれる可能性があります。

例の関数

あなたは、Back4Appの main.js(JavaScriptベースのクラウドコード)に関数を書くかもしれません。アプリケーションをPythonで開発している間、Back4Appのクラウドコード環境はNode.js/JavaScriptを使用していることに注意してください。これらの関数は、Pythonコードや他のクライアントから呼び出すことができます。

JS


この関数はPythonのRESTまたはGraphQL機能を使用して呼び出すことができます:

Python


デプロイメントとNPM

Back4AppのCloud Codeは、Back4App CLIを使用してデプロイされるか、ダッシュボードを介してデプロイされます。データ操作や外部API呼び出しのためのNPMパッケージをインストールし、main.jsで参照することができます。このアプローチは、サーバー側でコードを効率的かつ安全に保つことができます。

ステップ5 – 認証の設定

ユーザー認証の有効化または設定

Back4Appは、Parse Userクラスを認証に利用しています。これにより、パスワードのハッシュ化、セッショントークンなどが自動的に処理されます。サインアップ、ログイン、またはパスワードリセットを最小限のオーバーヘッドで管理できます。

Pythonからのサインアップとログイン

Python


セッションはParseによって自動的に処理されます。ログインしているユーザーを追跡し、必要に応じて .logout() を呼び出すことができます。詳細については、公式の ユーザークラスのドキュメント を参照してください。

ソーシャルログイン

OAuthフローを設定するか、特化したアダプターを使用することで、FacebookやGoogleなどの人気プロバイダーを統合できます。詳細については、ソーシャルログインのドキュメント を参照してください。これらの機能をPythonプロジェクトに設定する方法についての詳細が記載されています。

ステップ6 – ファイルストレージの処理

ファイルストレージの設定

Parseプラットフォームにはネイティブファイルストレージが含まれています:

Python


このファイルをParseオブジェクトにURLを保存することで添付できます。これにより、メディアがBack4Appによって安全にホストされている間、データの整合性が保たれます。

セキュリティの考慮事項

認証されたユーザーのみを許可するようにParseサーバーの設定を構成することで、誰がファイルをアップロードまたはアクセスできるかを制御できます。このアプローチにより、プロダクションのPythonアプリケーションが安全に保たれます。

ステップ7 – メール確認とパスワードリセット

概要

メール確認とパスワードリセットはユーザー管理において重要です。これにより、ユーザーの身元を確認し、アカウントのセキュリティを維持します。

Back4Appダッシュボードの設定

  1. メール確認を有効にするアプリ設定 > メール設定 にて設定します。
  2. メールテンプレートを設定する、例えば「From」アドレスやパスワードリセットの指示を設定します。

コードの実装

Pythonから、RESTエンドポイントまたはパースライブラリを介してパスワードリセットメールをトリガーできます。例えば:

Bash


これにより、Pythonバックエンドまたは他のインターフェースから直接パスワードリセットのシームレスなフローが確保されます。

ステップ8 – クラウドジョブによるタスクのスケジューリング

クラウドジョブの機能

クラウドジョブを使用すると、古いレコードのクリーンアップや定期的なレポートの生成などのタスクを自動化できます。これらは指定された間隔でBack4Appのインフラストラクチャ上で実行されます。

あなたの main.js:

JS


このジョブを毎日または毎週実行するようにスケジュールできます バックグラウンドジョブ セクションを使用してBack4Appダッシュボードで。

クラウドジョブのスケジューリング
クラウドジョブのスケジューリング


ステップ9 – ウェブフックの統合

定義

ウェブフックを使用すると、Back4Appアプリが特定のイベントが発生したときに外部サービスに通知できます。これは、支払いゲートウェイや分析プラットフォームとの統合に役立ち、開発プロセスを拡張します。

設定

  1. ナビゲート して Webhooks をあなたのBack4Appダッシュボードで。
  2. 新しいウェブフック エンドポイントを追加します(例: https://your-service.com/webhook-endpoint)。
  3. 選択 ウェブフックをトリガーするイベント(例:オブジェクトの作成または更新)を。
ウェブフックの追加
ウェブフックの追加


Cloud Codeトリガーでウェブフックを定義することもできます。例えば、beforeSave または afterSave を使用して外部APIにデータを投稿します。

BeforeSave WebHook
BeforeSave WebHook


ステップ10 – Back4App管理パネルの探索

どこで見つけるか

Back4App管理アプリは、Back4App Admin App ウェブベースの管理インターフェースです。チームがCRUD操作を実行し、データを管理し、追加のコードを書くことなく日常業務を処理できるようにします。これにより、Pythonバックエンド開発プロセスが効率化されます。

機能

有効にする 管理者アプリを アプリダッシュボード > その他 > 管理者アプリ から選択し、手順に従ってください:

管理者アプリを有効にする
管理者アプリを有効にする


最初の管理者ユーザーを作成します。新しい役割 (B4aAdminUser) とクラスが自動的にスキーマに追加されます。

Document image


管理インターフェースのサブドメインを選択し、確定します。次に、新しい管理者アプリにアクセスするためにログインします。

Document image

Document image


管理者アプリは、レコードの更新や削除、データの管理を簡単に行えます。適切なアクセス制御を行えば、プロジェクトマネージャーやステークホルダーと安全に共有できます。

結論

このガイドに従って Pythonのバックエンドの構築方法を学んだことで、あなたは:

  • 安全なバックエンドを作成しました Back4App上のPythonアプリケーション用。
  • 柔軟なスキーマと関係を持つ データベースを構成しました。
  • リアルタイムクエリを実装しました インスタントデータ更新のために(ライブクエリをオプションで使用)。
  • セキュリティ対策を適用しました ACLとCLPを使用してデータを保護しました。
  • サーバーサイドロジックを処理するために JavaScriptでCloud Codeを書きました。Pythonから簡単に呼び出せます。
  • ユーザー認証を設定しました メール確認とパスワードリセットフローを使用。
  • ファイルアップロードを処理しました Pythonコード内でオプションのファイルセキュリティを使用。
  • 自動化されたタスクのために 定期的なジョブをスケジュールしました。
  • Webhookを使用して 外部サービスを統合しました。
  • データ管理とコラボレーションのために 管理パネルを探索しました。

堅牢なPythonコードベースと強力なBack4Appバックエンドを持って、あなたは今、進んだデータ構造に取り組み、DjangoやFlaskのようなフレームワークを組み込み、さらには機械学習を統合する準備が整いました。

Pythonは無限の可能性を提供し、Back4Appと組み合わせることで、サーバーのメンテナンスではなく、コアビジネスロジックに集中しながら迅速に反復することができます。

次のステップ

  • 本番環境向けのPythonアプリを構築する データベーススキーマを洗練させ、キャッシングを追加し、パフォーマンスの最適化を管理することによって。
  • 高度な機能を探求する ロールベースのアクセス制御、高度なロギング、または分析のためのサードパーティAPIの接続など。
  • Back4Appの公式ドキュメントをレビューする セキュリティ、パフォーマンスチューニング、ログ分析についての深い洞察を得るために。
  • DockerやKubernetesなどのツールを使って実験する 必要に応じてアプリケーションをコンテナ化し、スケールさせるために。

Pythonの強力なライブラリとBack4Appのスケーラブルなインフラストラクチャを活用することで、自信を持ってバックエンド開発の旅を加速させることができます。