ローカル開発と CLI
Squid を使用したローカル開発により、アプリケーションをテストし、本番環境にデプロイする前にコードの変更を加えることができます。
Squid CLI (Command Line Interface) は、Squid と容易に通信し、バックエンドコードを生成し、ローカルでプロジェクトを実行する簡単な方法を提供します。
Squid を使用して開発する際、アプリケーション内で管理するアーキテクチャコンポーネントは以下の 2 つです:
- The client application(s) - 開発中のクライアントアプリケーション(またはフロントエンド)です。これは、通常 React、Angular、mobile などのクライアントフレームワークと連携する Squid Client SDK を使用します。
- The application backend - Squid によって実行され、アプリケーションのバックエンドをカスタマイズするために使用される TypeScript プロジェクトです。Squid Backend SDK にアクセスできます。
ローカルで開発するには、まず Squid CLI を使用してバックエンドプロジェクトを作成する必要があります.
インストール
CLI をインストールするためには、以下の npm コマンドを実行してください:
npm install -g @squidcloud/cli
もしパーミッションエラーが発生した場合は、npm の official guide をご参照ください.
init
コマンド
アプリケーションの新しいバックエンドプロジェクトを作成するには、init
コマンドを使用します.
プロジェクトのルートディレクトリに移動し、squid init
コマンドを実行します。Squid Console の application overview page からフルコマンドをコピーすることもできます.
コマンドにアクセスするには、コンソール内の Initialize Backend
ボタンをクリックしてください。コンソールが自動的に、アカウントとアプリケーションに対して正しい値を設定したコマンドを生成します.
コマンドは以下のようになります:
cd YOUR_APP_DIRECTORY
squid init YOUR_APP_NAME-backend --appId YOUR_APP_ID --apiKey YOUR_API_KEY --environmentId TARGET_ENVIRONMENT_ID --squidDeveloperId YOUR_SQUID_DEVELOPER_ID --region YOUR_REGION
コマンドを実行すると、新しく作成されたバックエンドディレクトリ内に以下の主要なファイルが生成されます:
.env
- あなたのアプリケーションID、region、Squid Developer ID、および environment ID を含みます。これらの値はローカル開発に必要です。
このファイルはsquid init-env
コマンドを使用して、個別に生成することもできます (Squid Console 内でも見つけることができます)。/src/service/example-service.ts
- このファイルはバックエンドコードの出発点として使用できます。
あなたの .env
ファイルは、機密情報を含み、各開発者ごとに固有のため、自動的に .gitignore
ファイルに追加されます。
開発環境のセキュリティと整合性を確保するため、このファイルをバージョン管理システムに含めないようにしてください.
start
コマンド
バックエンドに迅速な変更を加え、デバッグするために、Squid にデプロイする前にローカルで開発およびテストできます.
ローカルでバックエンドプロジェクトを実行するには、以下のコマンドを使用します. このコマンドは dev
環境に接続されたバックエンドのローカルバージョンを起動します:
squid start
このコマンドを実行した後、environmentId: 'dev'
および squidDeveloperId: YOUR_SQUID_DEVELOPER_ID
オプションを設定することで、ローカルバックエンドと通信するように Squid クライアントアプリケーションを初期化できます。
この具体的なコードは、クライアントアプリケーションによって異なる場合があります:
import { Squid } from '@squidcloud/client';
const squid = new Squid({
appId: 'YOUR_APP_ID',
region: 'YOUR_REGION', // example: 'us-east-1.aws'
environmentId: 'dev',
squidDeveloperId: 'YOUR_SQUID_DEVELOPER_ID',
});
この時点で、クライアントアプリケーションはローカルバックエンドと並行して実行され、通信することができます。
クライアントとバックエンド両方のコードに変更を加えて、即座に変更をテストすることができます.
バックエンドのロギングを拡張する
一部の場合、Squid は Squid のコアバックエンドからローカルバックエンドへログメッセージを送信します。これらのメッセージを表示するためには、受信したいメッセージの種類にサブスクライブする必要があります。
これは、先ほど作成した .env
ファイル内で SQUID_LOG_TYPES
環境変数を設定することで行います。利用可能なログタイプは、ALL
、QUERY
、MUTATION
、AI
、API
、ERROR
(今後さらに追加予定) であり、任意の順序で組み合わせ、カンマで区切ることができます:
SQUID_LOG_TYPES=QUERY,MUTATION,AI,API,ERROR
deploy
コマンド
バックエンドのデプロイは、dev
または prod
のいずれかの環境で行うことができます。
dev
へのデプロイにより、本番稼働時にバックエンドがどのように機能するかをテストできます。バックエンドに変更を加えることは可能ですが、変更を有効にするためには再デプロイが必要です.
プロジェクトを本番環境にプッシュする準備ができたら、squid deploy
コマンドを使用できます。
deploy
コマンドを実行する前に、クライアントコードの設定で environmentId
属性が prod
に設定されていることを確認してください。
また、本番環境では squidDeveloperId
オプションを削除する必要があります.
もし dev
環境下でプロジェクト用のコネクタを作成している場合、本番環境 (prod
) でデプロイする前に、これらを再作成する必要があります.
バックエンドをデプロイするには、まずプロジェクトのルートディレクトリに移動してください.
その後、Squid Console の application overview page からコピーできる deploy
コマンドを実行します.
正しい deploy
コマンドにアクセスするには、コンソール内の Deploy Backend
ボタンをクリックしてください。
コンソールは自動的に、アカウントとアプリケーションに対して正しい値を設定したコマンドを生成します。
コマンドは以下のようになります:
squid deploy --apiKey YOUR_API_KEY --environmentId TARGET_ENVIRONMENT_ID
デプロイが成功すると、Squid Console にバックエンド関数の更新されたリストが表示されるはずです。
この機能は、Console の backend セクションからアクセスできます.
コマンドラインでパラメーターが提供されていない場合、deploy
コマンドはこれらを .env ファイルから読み込みます.