メインコンテンツまでスキップ

ローカル開発と CLI

Squid を使用したローカル開発では、アプリケーションをテストし、本番環境にデプロイする前にコードに変更を加えることができます。

Squid CLI (Command Line Interface) は、Squid との通信、バックエンドコードの生成、およびプロジェクトのローカル実行を簡単に行う方法を提供します。

Squid で開発する際、アプリケーション内で管理するアーキテクチャのコンポーネントは2つあります:

  1. The client application(s) - これは開発中のクライアントアプリケーションまたはフロントエンドです。通常、Squid Client SDK を利用し、React、Angular、mobile などのクライアントフレームワークと併用されます。
  2. The application backend - Squid によって実行される TypeScript プロジェクトで、アプリケーションのバックエンドをカスタマイズするために使用されます。Squid Backend SDK へのアクセスが可能です。

ローカルで開発するには、まず Squid CLI を使用してバックエンドプロジェクトを作成する必要があります。

Installation

CLI をインストールするには、以下の npm コマンドを実行してください:

npm install -g @squidcloud/cli

もし権限エラーが表示された場合は、npm の 公式ガイド をお読みください。

The init command

アプリケーション用の新しいバックエンドプロジェクトを作成するには、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 - このファイルは、バックエンドコードの出発点として使用することができます。
Important

あなたの .env ファイルは、機密情報を含み各開発者ごとにユニークなものであるため、自動的に .gitignore ファイルに追加されます。
開発環境のセキュリティおよび整合性を確保するため、このファイルをバージョン管理システムに含めないようにしてください。

The start command

Squid にデプロイする前に、バックエンドの迅速な修正やデバッグを行うため、ローカルで開発およびテストすることができます。
バックエンドプロジェクトをローカルで実行するには、以下のコマンドを使用してください。このコマンドは、dev 環境に接続されたバックエンドのローカルバージョンを起動します:

squid start

このコマンド実行後、environmentId: 'dev' および squidDeveloperId: YOUR_SQUID_DEVELOPER_ID オプションを設定することで、ローカルバックエンドと通信するために Squid クライアントアプリケーションを初期化することができます。
このコードはクライアントアプリケーションによって多少異なる場合があります:

Client code
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',
});

この時点で、クライアントアプリケーションはローカルバックエンドと同時に実行され、通信することができます。クライアントとバックエンドのコード両方に変更を加え、即座にテストすることが可能です。

Extend backend logging

場合によっては、Squid がコアバックエンドからのログメッセージをローカルバックエンドに送信します。これらのメッセージを表示するためには、受信したいメッセージの種類にサブスクライブする必要があります。
これは、先ほど作成した .env ファイル内で SQUID_LOG_TYPES 環境変数を設定することで行われます。利用可能なログタイプは、ALLQUERYMUTATIONAIAPI、および ERROR(将来的にさらに追加予定)です。これらは任意の順序で組み合わせ、カンマで区切ることができます:

SQUID_LOG_TYPES=QUERY,MUTATION,AI,API,ERROR

The deploy command

バックエンドのデプロイは、dev または prod 環境のいずれかで実行できます。
dev 環境にデプロイすることで、本番環境でのバックエンドの動作をテストできます。バックエンドに変更を加えることは可能ですが、その変更を有効にするには再デプロイが必要です。

プロジェクトを本番環境にプッシュする準備ができたら、squid deploy コマンドを使用できます。
deploy コマンドを実行する前に、クライアントコードの設定で environmentId 属性が prod に設定されていることを確認してください。
また、本番環境用には squidDeveloperId オプションを削除する必要があります。

Tip

もし 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 セクションからこの機能にアクセスしてください。

Note

コマンドラインでパラメーターが指定されない場合、deploy コマンドはそれらを .env ファイルから読み取ります。