ローカル開発と 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 ファイルから読み込みます.