ローカル開発と CLI
Squid を使用したローカル開発では、production に deploy する前に application をテストし、code を変更できます。
Squid CLI(Command Line Interface)は、Squid との通信、backend code の生成、project のローカル実行を簡単に行う方法を提供します。
Squid で開発する際、application 内では次の 2 つの architectural component を管理します。
- client application - 開発する client application または frontend です。Squid Client SDK を使用し、多くの場合は client framework(React、Angular、mobile など)と組み合わせます。
- application backend - Squid によって実行され、application backend のカスタマイズに使用される TypeScript project です。Squid Backend SDK にアクセスできます。
ローカル開発を行うには、まず Squid CLI を使用して backend project を作成する必要があります。
インストール
CLI をインストールするには、次の npm command を実行します。
npm install -g @squidcloud/cli
permission error が表示された場合は、npm の公式ガイドを参照してください。
init command
application 用の新しい backend project を作成するには、init command を使用します。
project の root directory に移動し、squid init command を実行します。完全な command は Squid Console のapplication overview pageからコピーできます。
command にアクセスするには、console の Initialize Backend button をクリックします。console は、account と application に対応する正しい値を含んだ command を自動的に生成します。
command は次のようになります。
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
command を実行すると、新しく作成された backend directory 内に次の主要 file が生成されます。
.env- application ID、region、Squid Developer ID、environment ID が含まれます。これらの値はローカル開発に必要です。 この file は、squid init-envcommand(Squid Console でも確認可能)を使用して個別に生成することもできます。/src/service/example-service.ts- backend code の開始点として使用できる file です。
機密情報を含み、developer ごとに固有の .env file は、自動的に .gitignore file に追加されます。
開発環境の security と integrity を確保するため、この file を version control system に含めないでください。
start command
Squid に deploy する前に、backend をローカルで開発・テストして、迅速な変更や debug を行えます。
backend project をローカルで実行するには、次の command を使用します。この command は、dev environment に接続された backend のローカル版を起動します。
squid start
この command を実行した後、environmentId: 'dev' と squidDeveloperId: YOUR_SQUID_DEVELOPER_ID option を設定することで、ローカル backend と通信するように Squid client application を初期化できます。正確な code は client application によって異なる場合があります。
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',
});
これで、client application をローカル backend と並行して実行し、通信できるようになります。client と backend の両方の code を変更し、その変更をすぐにテストできます。
Backend logging を拡張する
場合によっては、Squid が Squid core backend からの log message をローカル backend に送信します。これらの message を表示するには、受信したい message type を subscribe する必要があります。
これは、作成した .env file 内で SQUID_LOG_TYPES environment variable を設定して行います。利用可能な log type は ALL、QUERY、MUTATION、AI、API、ERROR であり、今後さらに追加される予定です。任意の順序で組み合わせ、comma で区切ることができます。
SQUID_LOG_TYPES=QUERY,MUTATION,AI,API,ERROR
deploy command
backend は dev または prod environment のいずれにも deploy できます。dev への deploy では、backend が live になった際の動作をテストできます。backend を変更することは引き続き可能ですが、変更を有効にするには再 deploy が必要です。
project を production に push する準備ができたら、squid deploy command を使用できます。
deploy command を実行する前に、client code configuration の environmentId attribute が prod に設定されていることを確認してください。
また、production で使用する場合は squidDeveloperId option を削除してください。
dev environment で project 用の connector を作成した場合、deploy 前にまず prod environment でそれらを再作成する必要があります。
backend を deploy するには、まず project の root directory に移動します。
次に、Squid Console の
application overview pageからコピーできる deploy command を実行します。正しい deploy command にアクセスするには、
console の Deploy Backend button をクリックします。console は、account と application に対応する正しい値を含む command を
自動的に生成します。command は次のようになります。
squid deploy --apiKey YOUR_API_KEY --environmentId TARGET_ENVIRONMENT_ID
deploy が正常に完了すると、Squid Console に backend function の更新された list が反映されます。 この機能は、Console の backend section から確認できます。
parameter が command line で指定されていない場合、deploy command は .env file からそれらを読み取ります。