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

ローカル開発と CLI

Squid を使用したローカル開発では、production に deploy する前に application をテストし、code を変更できます。​

Squid CLI(Command Line Interface)は、Squid との通信、backend code の生成、project のローカル実行を簡単に行う方法を提供します。

Squid で開発する際、application 内では次の 2 つの architectural component を管理します。

  1. client application - 開発する client application または frontend です。Squid Client SDK を使用し、多くの場合は client framework(React、Angular、mobile など)と組み合わせます。
  2. 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-env command(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 によって異なる場合があります。

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

これで、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 からそれらを読み取ります。