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

Platform For AI:JSON を使用したサービスのデプロイ

最終更新日:Apr 03, 2026

Elastic Algorithm Service (EAS) では、JSON 設定ファイルを使用してオンラインサービスを定義し、デプロイできます。

クイックスタート

1. JSON ファイルの準備

サービスのデプロイには、必要なすべての構成を含む JSON ファイルが必要です。初めて利用する場合は、Custom Model Deployment > Custom Deployment でパラメーターを設定して、このファイルを自動生成することを推奨します。その後、生成された JSON コンテンツを修正および拡張できます。

以下は service.json ファイルの例です。パラメーターの完全なリストについては、「付録:JSON パラメーター」をご参照ください。

{
    "metadata": {
        "name": "demo",
        "instance": 1,
        "workspace_id": "your-workspace-id"
    },
    "cloud": {
        "computing": {
            "instances": [
                {
                    "type": "ecs.c7a.large"
                }
            ]
        }
    },
    "containers": [
        {
            "image": "eas-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai-eas/python-inference:py39-ubuntu2004",
            "script": "python app.py",
            "port": 8000
        }
    ]
}

2. サービスのデプロイ

  1. PAI コンソールにログインします。ページ上部でリージョンを選択します。次に、目的のワークスペースを選択し、[Elastic Algorithm Service (EAS)] をクリックします。

  2. Inference Service タブで、Deploy Service をクリックします。Custom Model Deployment セクションで、JSON Deployment を選択します。

  3. JSON コンテンツを貼り付け、Deploy をクリックします。サービスステータスが実行中に変わると、デプロイは成功です。

付録:JSON パラメーター

パラメーター

必須

説明

metadata

はい

サービスメタデータ。詳細については、「metadata パラメーターの説明」をご参照ください。

cloud

いいえ

計算リソースと VPC の構成。詳細については、「cloud パラメーターの説明」をご参照ください。

containers

いいえ

イメージ構成。詳細については、「containers パラメーターの説明」をご参照ください。

dockerAuth

いいえ

認証が必要なプライベートリポジトリにアクセスするには、このパラメーターを設定する必要があります。値は username:password の Base64 エンコード文字列です。

networking

いいえ

サービス呼び出しの構成。詳細については、「networking パラメーターの説明」をご参照ください。

storage

いいえ

OSS や NAS などのソースからコンテナにデータをマウントします。詳細な構成については、「ストレージマウント」をご参照ください。

token

いいえ

サービス認証用のアクセストークン。指定しない場合、システムが自動的に生成します。

aimaster

いいえ

マルチノード分散推論のための「計算能力チェックとフォールトトレランス」を有効にします。

model_path

はい

プロセッサを使用してサービスをデプロイする場合に必要です。model_pathprocessor_path パラメーターは、それぞれモデルとプロセッサのデータソースパスを指定します。両方のパラメーターは、次のパス形式をサポートしています:

  • OSS パス:パスは特定のファイルまたはディレクトリを指すことができます。

  • HTTP URL:ファイルは TAR.GZTARBZ2ZIP などの圧縮アーカイブである必要があります。

  • ローカルパス:ローカルデバッグに test コマンドを使用する場合、ローカルパスを使用できます。

oss_endpoint

いいえ

OSS エンドポイント。例:oss-cn-beijing.aliyuncs.com。その他の有効な値については、「リージョンとエンドポイント」をご参照ください。

説明

デフォルトでは、このパラメーターを指定する必要はありません。システムは現在のリージョンの内部 OSS エンドポイントを使用してモデルまたはプロセッサファイルをダウンロードします。リージョンをまたいで OSS にアクセスする場合は、このパラメーターを指定する必要があります。たとえば、中国 (杭州) リージョンでサービスをデプロイし、model_path パラメーターが中国 (北京) リージョンの OSS パスを指定している場合、このパラメーターを中国 (北京) リージョンのパブリック OSS エンドポイントに設定する必要があります。

model_entry

いいえ

モデルのエントリファイルで、任意のファイルが指定できます。指定しない場合、model_path のファイル名が使用されます。エントリファイルのパスは、プロセッサの initialize() 関数に渡されます。

model_config

いいえ

モデルの構成を指定し、任意のテキストをサポートします。このパラメーターの値は、プロセッサの initialize() 関数の 2 番目のパラメーターに渡されます。

processor

いいえ

  • ビルド済みプロセッサを使用する場合は、そのコードを指定します。eascmd で使用されるコードについては、「ビルド済みプロセッサ」をご参照ください。

  • カスタムプロセッサを使用する場合は、このパラメーターを省略し、代わりに processor_pathprocessor_entryprocessor_mainclassprocessor_type パラメーターを設定します。

processor_path

いいえ

プロセッサパッケージへのパス。詳細については、model_path パラメーターの説明をご参照ください。

processor_entry

いいえ

プロセッサのメインファイルで、libprocessor.soapp.py など、予測に必要な initialize() および process() 関数の実装を含みます。

processor_typecpp または python に設定されている場合、このパラメーターは必須です。

processor_mainclass

いいえ

JAR パッケージ内のプロセッサのメインクラス。例:com.aliyun.TestProcessor

processor_typejava に設定されている場合、このパラメーターは必須です。

processor_type

いいえ

processor が実装されている言語。有効な値は次のとおりです:

  • cpp

  • java

  • python

warm_up_data_path

いいえ

モデルプリフェッチに使用されるリクエストファイルへのパス。この機能の詳細については、「モデルプリフェッチ」をご参照ください。

runtime.enable_crash_block

いいえ

プロセッサコードの例外によりサービスインスタンスがクラッシュした後に自動的に再起動するかどうかを指定します。有効な値:

  • true:サービスインスタンスは自動的に再起動しません。これにより、トラブルシューティングのために実行環境を保持できます。

  • false:サービスインスタンスは自動的に再起動します。これはデフォルト値です。

autoscaler

いいえ

モデルサービスの水平オートスケーリングの構成。詳細については、「水平オートスケーリング」をご参照ください。

labels

いいえ

EAS のラベルを構成します。フォーマットは key:value です。

unit.size

いいえ

分散推論デプロイメントにおけるサービスインスタンスあたりのマシン数。デフォルト値は 2 です。

sinker

いいえ

すべてのサービスリクエストとレスポンスを MaxCompute または Simple Log Service (SLS) に永続化します。詳細については、「sinker パラメーターの説明」をご参照ください。

confidential

いいえ

システム信頼管理サービスを構成することで、安全で暗号化された推論サービスを有効にできます。これにより、データ、モデル、コードなどの情報が、サービスのデプロイおよび呼び出し中に安全に暗号化されることが保証されます。フォーマットは次のとおりです:

説明

この安全な暗号化機能は、マウントされたストレージ上のファイルに適用されます。この機能を有効にする前に、必要なストレージファイルをマウントしてください。

"confidential": {
        "trustee_endpoint": "xxxx",
        "decryption_key": "xxxx"
    }

パラメーターは次のとおりです。

  • trustee_endpoint:システム信頼管理サービス Trustee の URI。

  • decryption_key:復号鍵の KBS URI。例:kbs:///default/key/test-key

Metadata パラメーター

一般パラメーター

パラメーター

必須

説明

name

はい

サービス名。リージョン内で一意である必要があります。

instance

はい

起動するサービスインスタンスの数。

workspace_id

いいえ

PAI ワークスペースの ID。設定した場合、サービスは指定された PAI ワークスペースに制限されます。例:1405**

cpu

いいえ

各インスタンスが必要とする CPU コアの数。

memory

いいえ

各インスタンスのメモリ (メガバイト単位)。例:"memory": 4096 は、各インスタンスが 4 GB のメモリを必要とすることを意味します。

gpu

いいえ

各インスタンスが必要とする GPU の数。

gpu_memory

いいえ

GPU スライシングに使用され、複数のインスタンスが単一の GPU を共有できます。この機能は、EAS リソースグループまたはリソースクォータでのみ利用可能です。

gpu_core_percentage

qos

いいえ

インスタンスのサービス品質 (QoS) を指定します。有効な値は空の値または BestEffort です。qosBestEffort に設定すると、CPU 共有モードが有効になります。このモードでは、インスタンスはメモリと GPU メモリに基づいてスケジュールされ、ノードの CPU コア数による制限を受けなくなります。ノード上のすべてのインスタンスが CPU リソースを共有します。cpu パラメーターは、このモードで単一のインスタンスが使用できる最大 CPU クォータを指定します。

resource

いいえ

リソースグループの ID。

  • サービスがパブリックリソースグループにデプロイされている場合、このパラメーターは省略できます。サービスは従量課金制で課金されます。

  • サービスが専用リソースグループにデプロイされている場合、このパラメーターをリソースグループの ID に設定します。例:eas-r-6dbzve8ip0xnzt****

cuda

いいえ

サービスが必要とする CUDA バージョン。実行時に、EAS は指定された CUDA バージョンをインスタンスの /usr/local/cuda ディレクトリに自動的にマウントします。

サポートされているバージョン:8.0、9.0、10.0、10.1、10.2、11.0、11.1、11.2。例:"cuda":"11.2"

rdma

いいえ

分散推論のためにリモートダイレクトメモリアクセス (RDMA) ネットワーキングを有効にするには 1 に設定します。省略した場合、RDMA は無効になります。

説明

現在、RDMA ネットワーキングは Lingjun インテリジェントコンピューティングリソースでデプロイされたサービスでのみ利用可能です。

enable_grpc

いいえ

サービスゲートウェイの gRPC 接続を有効または無効にします。有効な値:

  • false:デフォルト値。gRPC 接続は無効になり、ゲートウェイはデフォルトで HTTP リクエストをサポートします。

  • true:ゲートウェイの gRPC 接続が有効になります。

説明

gRPC サーバーサイド実装を持つカスタムイメージを使用してサービスをデプロイするには、このパラメーターを true に設定してゲートウェイプロトコルを gRPC に切り替えます。

enable_webservice

いいえ

サービスを AI-Web アプリケーションとしてデプロイするために Web サーバーを有効にするかどうかを指定します。

  • false:デフォルト値。Web サーバーは有効になりません。

  • true:Web サーバーが有効になります。

type

いいえ

LLM インテリジェントルーターをデプロイするには、このパラメーターを LLMGatewayService に設定します。JSON ファイルの構成方法については、「ステップ 1:LLM インテリジェントルーターのデプロイ」をご参照ください。

高度なパラメーター

重要

これらのパラメーターは注意して調整してください。

パラメーター

必須

説明

rpc

batching

いいえ

GPU モデル推論を高速化するためにサーバーサイドバッチ処理を有効にするかどうかを指定します。この機能は、ビルド済みプロセッサモードでのみサポートされます。有効な値:

  • false:デフォルト値。サーバーサイドバッチ処理は無効です。

  • true:サーバーサイドバッチ処理が有効です。

keepalive

いいえ

単一リクエストの最大処理時間 (ミリ秒単位)。リクエストがこの処理時間を超えると、サーバーは 408 タイムアウトエラーを返し、接続を閉じます。専用ゲートウェイのデフォルト値は 600,000 です。このパラメーターは、Application Load Balancer (ALB) を使用する専用ゲートウェイではサポートされていません。

io_threads

いいえ

インスタンスあたりのネットワーク I/O スレッド数。デフォルト値は 4 です。

max_batch_size

いいえ

各バッチの最大サイズ。デフォルト値は 16 です。このパラメーターは、ビルド済みプロセッサモードでのみサポートされ、rpc.batchingtrue に設定されている場合にのみ有効になります。

max_batch_timeout

いいえ

各バッチの最大タイムアウト (ミリ秒単位)。デフォルト値は 50 です。このパラメーターは、ビルド済みプロセッサモードでのみサポートされ、rpc.batchingtrue に設定されている場合にのみ有効になります。

max_queue_size

いいえ

非同期推論サービスの場合、このパラメーターは最大キュー長を指定します。デフォルト値は 64 です。キューがいっぱいになると、サーバーは 450 エラーを返し、接続を閉じます。サーバーの過負荷を防ぐため、キューはクライアントに他のインスタンスでリクエストを再試行するように事前に通知できます。応答時間が長いサービスの場合は、リクエストのバックログとタイムアウトを避けるためにキュー長を短くすることを検討してください。

worker_threads

いいえ

同時リクエスト処理のためのインスタンスあたりのワーカースレッド数。デフォルト値は 5 です。このパラメーターは、ビルド済みプロセッサモードでのみサポートされます。

rate_limit

いいえ

QPS レート制限を有効にし、インスタンスあたりの最大 QPS を設定します。デフォルト値は 0 で、QPS レート制限は無効になります。

たとえば、このパラメーターを 2000 に設定すると、QPS が 2000 を超えた場合にリクエストは 429 (Too Many Requests) エラーで拒否されます。

enable_sigterm

いいえ

有効な値:

  • false:デフォルト値。インスタンスが終了状態に入っても、システムは SIGTERM シグナルを送信しません。

  • true:サービスインスタンスが終了状態に入ると、システムはすぐにメインプロセスに SIGTERM シグナルを送信します。ご利用のサービス内のプロセスは、カスタムのグレースフルターミネーションを実行するためにこのシグナルを処理する必要があります。シグナルが処理されない場合、メインプロセスがすぐに終了し、グレースフルターミネーションが失敗する可能性があります。

rolling_strategy

max_surge

いいえ

ローリングアップデート中に、このパラメーターは目的の数を超えて作成される追加インスタンスの最大数を指定します。この値は正の整数またはパーセンテージ (例:2%) にすることができます。デフォルトは 2% です。この値を増やすと、サービスの更新が高速化されます。

たとえば、サービスに 100 個のインスタンスがあり、このパラメーターを 20 に設定した場合、更新が始まるとシステムはすぐに 20 個の新しいインスタンスを作成します。

max_unavailable

いいえ

ローリングアップデート中に、このパラメーターは利用できなくなる可能性のあるインスタンスの最大数を指定します。このパラメーターにより、システムは新しいインスタンスのためにリソースを解放し、アイドルリソースの不足による更新の停滞を防ぎます。デフォルト値は、専用リソースグループでは 1、パブリックリソースグループでは 0 です。

たとえば、このパラメーターを N に設定した場合、更新が始まるとシステムは N 個のインスタンスを停止します。

説明

十分なアイドルリソースがある場合は、このパラメーターを 0 に設定してください。高い値を設定すると、更新中に利用可能なインスタンスの数が減少し、残りの各インスタンスのトラフィック負荷が増加するため、サービスの安定性に影響を与える可能性があります。このパラメーターを設定する際は、サービスの安定性とリソースの可用性のバランスを取る必要があります。

eas.termination_grace_period

いいえ

インスタンスのグレースフルターミネーション期間を秒単位で指定します。デフォルト値は 30 です。

EAS サービスはローリングアップデート戦略を使用します。インスタンスはまず終了状態に入り、その間トラフィックはそこからルーティングされなくなります。その後、インスタンスは指定された期間待機して処理中のリクエストを完了させてからシャットダウンします。リクエストの処理に時間がかかる場合は、この値を増やして、更新中にすべての処理中のリクエストが完了するようにできます。

重要

この値を小さくすると、サービスの安定性に影響を与える可能性があります。高く設定しすぎると、更新プロセスが遅くなる可能性があります。特定の要件がない限り、このパラメーターは変更しないでください。

scheduling

spread.policy

いいえ

サービスインスタンスをスケジューリングするための分散ポリシー。サポートされているポリシー:

  • host:インスタンスを異なるノードに分散させます。

  • zone:インスタンスを異なるアベイラビリティーゾーンに分散させます。

  • default:アクティブな分散戦略なしでデフォルトのスケジューリングポリシーを使用します。

設定例:

{
  "metadata": {
    "scheduling": {
      "spread": {
        "policy": "host"
      }
    }
}

resource_rebalancing

いいえ

有効な値:

  • false:デフォルト値。この機能は無効です。

  • true:EAS は高優先度のリソースで定期的にプローブインスタンスを作成します。プローブインスタンスが正常にスケジュールされると、EAS はスケジューリングが失敗するまで指数関数的に多くのプローブインスタンスを作成します。正常にスケジュールされたプローブインスタンスが準備完了になると、低優先度のリソースで実行されているインスタンスを置き換えます。

この機能は、次の問題を解決するのに役立ちます:

  • ローリングアップデート中、終了中のインスタンスがリソースを占有し、新しいインスタンスがパブリックリソースグループにスケジュールされることを強制する可能性があります。これらのインスタンスは後で専用リソースグループに再スケジュールされます。

  • スポットインスタンスと通常インスタンスの両方を使用する場合、EAS は定期的にスポットインスタンスが利用可能かどうかを確認します。利用可能な場合、EAS は通常インスタンスをスポットインスタンスに移行します。

workload_type

いいえ

EAS サービスをジョブとしてデプロイするには、このパラメーターを elasticjob に設定します。Elastic Job サービスの詳細については、「Elastic Job サービス」をご参照ください。

resource_burstable

いいえ

専用リソースグループにデプロイされた EAS サービスの弾性リソースプール機能を有効にします:

  • true:機能を有効にします。

  • false:機能を無効にします。

shm_size

いいえ

インスタンスの共有メモリのサイズを GB 単位で指定します。共有メモリにより、データレプリケーションや転送を必要とせずに直接の読み書き操作が可能になります。

Cloud パラメーター

パラメーター

必須

説明

computing

instances

いいえ

パブリックリソースグループにサービスをデプロイする際に使用するインスタンスタイプを指定します。スポットインスタンスの入札に失敗した場合や、インスタンスタイプの在庫が不足している場合、システムは構成された順序で次のインスタンスタイプを使用してサービスの作成を試みます。

  • type:インスタンスタイプ

  • spot_price_limit:オプション。

    • 設定した場合、インスタンスはスポットインスタンスとなり、この値がUSDでの最大指値価格となります。

    • 省略した場合、対応するインスタンスは通常の従量課金インスタンスになります。

  • capacity:このインスタンスタイプの最大インスタンス数。「500」のような数値、または「20%」のようなパーセンテージを文字列として指定できます。この制限に達すると、たとえ在庫がさらにあっても、システムはこのタイプのインスタンスの作成を停止します。

    たとえば、サービスに合計 200 のインスタンスがあり、インスタンスタイプ A の capacity を「20%」に設定した場合、サービスは最大で 40 のタイプ A インスタンスを使用します。システムは残りのインスタンスに他のインスタンスタイプを使用します。

disable_spot_protection_period

いいえ

このパラメーターはスポットインスタンスに適用されます。有効な値:

  • false (デフォルト):スポットインスタンスが作成された後、デフォルトで 1 時間の保護期間があります。この期間中、市場価格が入札額を超えてもインスタンスは回収されません。

  • true:保護期間を無効にします。保護期間のないインスタンスは通常、約 10% 安くなります。

networking

vpc_id

いいえ

VPC の ID。

vswitch_id

いいえ

VSwitch の ID。

security_group_id

いいえ

セキュリティグループの ID。

destination_cidrs

いいえ

構成した VSwitch の CIDR ブロックが EAS 管理 CIDR ブロック (10.224.0.0/16 または 10.240.0.0/12) と競合する場合、このフィールドを VSwitch の CIDR ブロックに明示的に設定する必要があります。
例:

"cloud": {
    "networking": {
      "destination_cidrs": "10.241.28.0/22"
    }
  } 

10.241.28.0/22 をご利用の VSwitch の実際の CIDR ブロックに置き換えてください。

例:

{
    "cloud": {
        "computing": {
            "instances": [
                {
                    "type": "ecs.c8i.2xlarge",
                    "spot_price_limit": 1
                },
                {
                    "type": "ecs.c8i.xlarge",
                    "capacity": "20%"
                }
            ],
            "disable_spot_protection_period": false
        },
        "networking": {
            "vpc_id": "vpc-bp1oll7xawovg9*****",
            "vswitch_id": "vsw-bp1jjgkw51nsca1e****",
            "security_group_id": "sg-bp1ej061cnyfn0b*****"
        }
    }
}

パラメーター containers

カスタムイメージでサービスをデプロイするには、「カスタムイメージ」をご参照ください。

パラメーター

必須

説明

image

はい

モデルサービスのイメージのアドレス。

env

name

いいえ

環境変数の名前。

value

いいえ

環境変数の値。

command

command または script のいずれかが必要です。

コンテナのエントリポイントコマンド。単一のコマンドのみがサポートされます。cd xxx && python app.py のような複雑なスクリプトの場合は、代わりに script パラメーターを使用してください。イメージに /bin/sh コマンドが含まれていない場合は、command パラメーターを使用してください。

script

コンテナ内で実行されるエントリポイントスクリプト。このパラメーターは複雑なスクリプトをサポートします。複数のコマンドを区切るには、\n またはセミコロン (;) を使用します。

port

いいえ

コンテナポート。

重要
  • EAS エンジン用に予約されているため、ポート 8080 と 9090 は避けてください。

  • このポートは、commandxxx.py ファイルで構成されたポートと一致する必要があります。

prepare

pythonRequirements

いいえ

サービスインスタンスが開始する前にインストールする Python パッケージのリスト。pythonpip コマンドは、イメージのシステムパスにある必要があります。例:

"prepare": {
  "pythonRequirements": [
    "numpy==1.16.4",
    "absl-py==0.11.0"
  ]
}

pythonRequirementsPath

いいえ

requirements.txt ファイルへのパス。このファイル内のパッケージは、サービスインスタンスが開始する前にインストールされます。pythonpip コマンドは、イメージのシステムパスにある必要があります。requirements.txt ファイルは、イメージに組み込むか、外部ストレージからサービスインスタンスにマウントできます。例:

"prepare": {
  "pythonRequirementsPath": "/data_oss/requirements.txt"
}

Networking パラメーター

パラメーター

必須

説明

gateway

いいえ

EAS サービス用に構成された専用ゲートウェイ

gateway_policy

いいえ

  • rate_limit: サービスのグローバルレート制限を定義し、1 秒あたりに受信できるリクエストの最大数を指定します。

    • enable:レート制限を有効にするかどうかを指定します。有効にするには true、無効にするには false に設定します。

    • limit:1 秒あたりの最大リクエスト数。

      説明

      共有ゲートウェイを使用するサービスの場合、単一サービスのデフォルトのレート制限は 1,000 QPS、サーバーグループのデフォルトのレート制限は 10,000 QPS です。専用ゲートウェイにはデフォルト値がありません。

  • concurrency_limit: サービスのグローバル同時実行制御を定義します。これは、最大同時リクエスト数です。Application Load Balancer (ALB) を使用する専用ゲートウェイは、この設定をサポートしていません。

    • enable:同時実行制御を有効にするかどうかを指定します。有効にするには true、無効にするには false に設定します。

    • limit:最大同時リクエスト数。

設定例:

{
    "networking": {
        "gateway_policy": {
            "rate_limit": {
                "enable": true,
                "limit": 100
            },
            "concurrency_limit": {
                "enable": true,
                "limit": 50
            }
        }
    }
}

Sinker パラメーター

パラメーター

必須

説明

type

いいえ

ストレージタイプ。サポートされているタイプは次のとおりです:

  • maxcompute:MaxCompute。

  • sls:Log Service (SLS)。

config

maxcompute.project

いいえ

MaxCompute プロジェクト名。

maxcompute.table

いいえ

MaxCompute テーブル名。

sls.project

いいえ

Log Service (SLS) プロジェクト名。

sls.logstore

いいえ

Logstore 名。

設定例:

MaxCompute

"sinker": {
        "type": "maxcompute",
        "config": {
            "maxcompute": {
                "project": "cl****",
                "table": "te****"
            }
        }
    }

Log Service (SLS)

"sinker": {
        "type": "sls",
        "config": {
            "sls": {
                "project": "k8s-log-****",
                "logstore": "d****"
            }
        }
    }

JSON 設定例

以下は、上記で説明したパラメーターの JSON 設定のサンプルです:

{
  "token": "****M5Mjk0NDZhM2EwYzUzOGE0OGMx****",
  "processor": "tensorflow_cpu_1.12",
  "model_path": "oss://examplebucket/exampledir/",
  "oss_endpoint": "oss-cn-beijing.aliyuncs.com",
  "model_entry": "",
  "model_config": "",
  "processor_path": "",
  "processor_entry": "",
  "processor_mainclass": "",
  "processor_type": "",
  "warm_up_data_path": "",
  "runtime": {
    "enable_crash_block": false
  },
  "unit": {
        "size": 2
    },
  "sinker": {
        "type": "MaxCompute",
        "config": {
            "maxcompute": {
                "project": "cl****",
                "table": "te****"
            }
        }
    },
  "cloud": {
    "computing": {
      "instances": [
        {
          "capacity": 800,
          "type": "dedicated_resource"
        },
        {
          "capacity": 200,
          "type": "ecs.c7.4xlarge",
          "spot_price_limit": 3.6
        }
      ],
      "disable_spot_protection_period": true
    },
    "networking": {
            "vpc_id": "vpc-bp1oll7xawovg9t8****",
            "vswitch_id": "vsw-bp1jjgkw51nsca1e****",
            "security_group_id": "sg-bp1ej061cnyfn0b****"
        }
  },
  "autoscaler": {
    "min": 2,
    "max": 5,
    "strategies": {
      "qps": 10
    }
  },
  "storage": [
    {
      "mount_path": "/data_oss",
      "oss": {
        "endpoint": "oss-cn-shanghai-internal.aliyuncs.com",
        "path": "oss://bucket/path/"
      }
    }
  ],
  "confidential": {
        "trustee_endpoint": "xx",
        "decryption_key": "xx"
    },
  "metadata": {
    "name": "test_eascmd",
    "resource": "eas-r-9lkbl2jvdm0puv****",
    "instance": 1,
    "workspace_id": "1405**",
    "gpu": 0,
    "cpu": 1,
    "memory": 2000,
    "gpu_memory": 10,
    "gpu_core_percentage": 10,
    "qos": "",
    "cuda": "11.2",
    "enable_grpc": false,
    "enable_webservice": false,
    "rdma": 1,
    "rpc": {
      "batching": false,
      "keepalive": 5000,
      "io_threads": 4,
      "max_batch_size": 16,
      "max_batch_timeout": 50,
      "max_queue_size": 64,
      "worker_threads": 5,
      "rate_limit": 0,
      "enable_sigterm": false
    },
    "rolling_strategy": {
      "max_surge": 1,
      "max_unavailable": 1
    },
    "eas.termination_grace_period": 30,
    "scheduling": {
      "spread": {
        "policy": "host"
      }
    },
    "resource_rebalancing": false,
    "workload_type": "elasticjob",
    "shm_size": 100
  },
  "features": {
    "eas.aliyun.com/extra-ephemeral-storage": "100Gi",
    "eas.aliyun.com/gpu-driver-version": "tesla=550.127.08"
  },
  "networking": {
    "gateway": "gw-m2vkzbpixm7mo****"
  },
  "containers": [
    {
      "image": "registry-vpc.cn-shanghai.aliyuncs.com/xxx/yyy:zzz",
      "prepare": {
        "pythonRequirements": [
          "numpy==1.16.4",
          "absl-py==0.11.0"
        ]
      },
      "command": "python app.py",
      "port": 8000
    }
  ],
  "dockerAuth": "dGVzdGNhbzoxM*******"
}