すべてのプロダクト
Search
ドキュメントセンター

Edge Security Acceleration:Functions and Pages CLI ツール

最終更新日:Feb 12, 2026

Edge Security Acceleration (ESA) は、コマンドラインインターフェイス (CLI) ツールを提供します。この CLI ツールを使用すると、Functions and Pages のライフサイクル全体の管理、関数のデバッグ、複数ファイルのプロジェクトのデプロイが可能です。

概要

ESA CLI を使用して、以下のタスクを実行できます。

  • ローカルで Functions and Pages のライフサイクル全体を管理できます。これには、Functions and Pages の作成、バージョンの公開とデプロイ、カスタムドメイン名やルーティングの管理が含まれます。

  • ローカルまたはプライベートネットワーク環境で関数をデバッグできます。CLI はローカルデバッグサービスを起動し、本番環境をシミュレートして機能テストを行います。

  • 複数ファイルのプロジェクトをデプロイできます。CLI は、npm ファイルなどのプロジェクトの依存関係を自動的にパッケージ化してビルドします。これにより、ローカルの Node.js プロジェクトをクラウドにデプロイできます。

一般的なコマンド

ESA CLI は、Functions and Pages を管理するための多くのコマンドを提供します。すべてのコマンドの詳細については、https://github.com/aliyun/alibabacloud-esa-cli をご参照ください。

コマンド

説明

init

ESA テンプレートからプロジェクトを初期化します。

dev

ローカルデバッグサービスを自動的に開始します。

commit

プロジェクトコードをクラウドにコミットし、バージョンとして保存します。

deploy

バージョンをすべてのオンライン POP (Point of Presence) にデプロイします。

deployments

現在のバージョンのデプロイメントを表示するか、バージョンを削除します。

project

すべての Functions and Pages を表示するか、関数を削除します。

site

アカウント配下のすべてのサイトに関する情報を表示します。

domain

Functions and Pages にアタッチされたドメイン名を管理します。

route

Functions and Pages にアタッチされたルートを管理します。

login

AccessKey ID と AccessKey Secret を使用してアカウントにログインします。

logout

ログオフします。

config

ESA CLI の構成ファイルを管理します。

lang

ESA CLI の言語を選択します。

前提条件

ESA CLI をインストールする前に、Node.js と npm をインストールする必要があります。インストールには、Volta や nvm などの Node バージョンマネージャーを使用することを推奨します。

ESA CLI の使用

  1. npm を使用して ESA CLI をインストールできます。その後、CLI のバージョンとサポートされているコマンドを表示できます。

    npm install esa-cli -g    # CLI をグローバルにインストール
    esa-cli -v                    # CLI のバージョンを表示
    esa-cli --help                # CLI コマンドを表示
  2. アカウントにログイン: AccessKey ID および AccessKey Secret は、Alibaba Cloud リソースアクセス管理 (RAM) コンソール から取得できます。その後、esa login コマンドを実行してアカウントにログインできます。ローカルで CLI を使用してコードをデバッグする場合のみ、ログインは不要です。

    esa-cli login        # ログイン
    esa-cli logout       # ログオフ
  3. プロジェクトの初期化: プロジェクトを初期化するには、プロジェクト名を入力し、テンプレートを選択して、初期化コマンドのプロンプトに従ってプロセスを完了します。

    esa-cli init
  4. ローカルでのデバッグ: コーディングが完了したら、CLI を使用してコードをローカルでデバッグできます。esa-cli dev コマンドを実行すると、エントリファイルが自動的にパッケージ化され、ローカルデバッグサービスが開始されます。

    image.png

    基本的な操作:

    • インターフェイスで b キーを押すと、ブラウザでデバッグページを開くことができます。

    • d キーを押すと、デバッグガイドが表示されます。注意: Chrome では、コマンドラインからデバッグページを開くことはできません。Chrome ブラウザで Chrome://inspect#devices ページを開いてください。実行中の Remote Target が表示されます。その下にある inspect をクリックすると、コンソール情報が表示されます。EdgeRoutine コードはサーバーサイドコードであることに注意してください。このため、プレビューページのコンソールには、エントリファイルの console からの出力は表示されません。デバッグには inspect を使用する必要があります。

    • c キーを押すと、パネルがクリアされます。

    • x キーを押すと、デバッグを終了します。

    • esa-cli dev --port <port> を使用して、一時的にポートを指定できます。

    ローカルでデバッグする際に、コード内で Edge Storage API および Cache API を実行することもできます。

    説明

    オンラインデータのセキュリティを確保するため、エッジストレージサービスはローカルデバッグ中にオンラインデータの取得や設定を行いません。ローカルでデータをシミュレートするには、関数プロジェクトのルートディレクトリ、esa.jsonc 構成ファイルと同じ階層に kv.json ファイルを作成します。次のフォーマットでファイルにデータを書き込みます:

    {
      "namespace": {
        "k1": "v1",
        "k2": "v2"
        }
    }

    その後、次のコードでシミュレートされたデータを取得できます:

    const edgeKv = new EdgeKV({ namespace: 'namespace' });
    async function run() {
     const data = await edgeKv.get('k1', { type: 'text' });
     console.log(data); // 'v1'
    }
  1. バージョンの生成: ローカルでのデバッグが完了したら、デプロイ用のコードバージョンを生成できます。

    esa-cli commit      # バージョンを生成
  2. オンラインへのデプロイ: バージョンが生成されたら、デプロイメントコマンドを使用して、バージョンをパブリッククラウドの POP (Point of Presence) にデプロイできます。

    esa-cli deploy                          # プロンプトに従って、デプロイするバージョンとターゲット環境を選択
    esa-cli deployments list                # デプロイステータスを表示
    esa-cli deployments delete <versionId>  # 指定したバージョンを削除
  3. カスタムドメインまたはルートの管理

    POP (Point of Presence) へのデプロイ後、カスタムドメインまたはルートを構成して Functions and Pages にアクセスできます:

    1. ドメイン名Functions and Pages にドメイン名をアタッチできます。ドメイン名は、ご利用の ESA サイトのサブドメインである必要があります。これにより、ドメイン名を通じて関数に直接アクセスできます。この場合、Functions and Pages はドメイン名のオリジンサーバーとして機能します。

    2. ルート: ご利用の ESA サイトにルートをアタッチできます。ルートにアクセスすると、Functions and Pages の実行がトリガーされます。この場合、Functions and Pages はサイトのオリジンサーバーと通信できます。

    # ドメイン名
    esa-cli domain list
    esa-cli domain add <domainName>     # ICP 登録済みのドメイン名である必要があります
    esa-cli domain delete <domainName>
    
    # ルート
    esa-cli route list
    esa-cli route add [route] [site]
    esa-cli route delete <route>
  4. 関数の管理: CLI を使用して関数を表示および削除できます。

    esa-cli project list                  # 関数を表示
    esa-cli project delete <PROJECT_NAME>   # 関数を削除