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

Function Compute:カスタムイメージの関数の状態と呼び出し

最終更新日:Aug 27, 2026

カスタムコンテナ関数は、Function Compute がユーザーに代わって予約するリソースに依存します。これには、コールドスタートのレイテンシーを低減するために Alibaba Cloud Container Registry (ACR) からキャッシュされるイメージが含まれます。イメージキャッシングはバックグラウンドで非同期に実行されるため、関数は作成または更新の直後に呼び出しを処理できる状態になっていない場合があります。関数の状態を確認すると、関数を呼び出せるタイミングを正確に把握できます。

関数の状態

Function Compute は、各カスタムコンテナ関数に次のいずれかの状態を割り当てます。

状態呼び出し可否説明
Pendingいいえ関数の作成直後の初期状態です。Function Compute がリソースを予約し、イメージをキャッシュしています。イメージの準備が完了すると Active に移行します。
Activeはいリソースの予約が完了しています。関数は通常どおり呼び出しを処理します。
Failedいいえリソースの準備またはイメージへのアクセスでエラーが発生しました。復旧手順については、「Failed 状態」をご参照ください。
Inactiveいいえ関数が一定時間アイドル状態だったため、Function Compute がキャッシュされたリソースを解放しました。再デプロイするか、関数をトリガーして Pending に戻します。リソースの準備に成功した場合、関数は Active に戻ります。失敗した場合、Inactive のままになります。

Failed 状態

関数が Failed 状態になるのは、次の 2 つのケースです:

  • 作成または更新中のリソース準備に失敗した場合:リソースの準備中に問題が発生したため、関数を呼び出せません。

  • 元のイメージにアクセスできなくなった場合:Function Compute はコールドスタートを高速化するためにイメージをキャッシュしますが、呼び出し中は ACR 内の元のイメージに引き続きアクセスできる必要があります。イメージが削除された場合、またはタグが別のダイジェストで上書きされた場合、関数は Failed 状態になります。有効なイメージ情報で関数を更新し、再デプロイしてください。

重要

Function Compute は、関数の作成または更新時に選択したイメージバージョンのタグとダイジェストの両方を記録します。そのダイジェストが後から ACR で上書きされると、関数は呼び出しに失敗します。デプロイ後にイメージタグを上書きしないようにしてください。上書きした場合は、最新のイメージ情報を使用して関数を再デプロイしてください。

更新状態

関数の更新が進行中の場合、LastUpdateStatus フィールドは、関数のメインの状態とは別に更新状況を追跡します。

LastUpdateStatus説明呼び出しのルーティング
InProgressFunction Compute が更新のためのリソースを準備しています。更新前のコードにルーティングされます
Successful更新が完了しました。更新後のコードにルーティングされます
Failed更新のためのリソース準備に失敗しました。更新前のコードにルーティングされます

呼び出し前の状態確認

GetFunction API を呼び出して、関数の状態とイメージのダイジェストを取得できます。SDK または Serverless Devs を使用してカスタムコンテナ関数を作成または更新する場合は、呼び出し前に GetFunction API を呼び出して関数の状態を確認してください。

  • 新規に作成した関数:状態が Active であることを確認してください。それ以外の状態の関数は呼び出せません。

  • 更新した関数LastUpdateStatusSuccessful であることを確認してください。

状態図

次の出力は、Pending 状態の新規作成関数に対する s info の結果です (Function Compute がリソースを予約し、イメージをキャッシュしています)。

s info

Steps for [info] of [hello-world-app]
====================
✔ [hello_world] completed (3.68s)

Result for [info] of [hello-world-app]
====================
hello_world:
  region:               us-east-1
  codeChecksum:
  codeSize:             0
  cpu:                  0.5
  createdTime:          2023-10-27T06:56:00Z
  customContainerConfig:
    image:              registry.us-east-1.aliyuncs.com/fxxx2/flask_xxx_ask_v001
    resolvedImageUri:   registry.us-east-1.aliyuncs.com/fc-dxxx_ask@shaxxx9e19867xxx23c4xxx78ffxxx4116cd9xxx9cde7370b43dd889
  description:          hello world by serverless devs
  diskSize:             512
  functionArn:          acs:fc:us-east-1:143*********149:functions/start-python-xxx:3
  functionId:           b24c69ed-0xxx-xxx-5ff3f51c4190
  functionName:         start-pxxx_xilixxx_est3
  handler:              handler
  instanceConcurrency:  1
  internetAccess:       true
  lastModifiedTime:     2023-10-27T06:56:00Z
  memorySize:           512
  role:
  runtime:              custom-container
  state:                Pending
  stateReason:          The function is being created.
  stateReasonCode:      Creating
  timeout:              60

A complete log of this run can be found in: /home/admin/.s/logs/1027145606

次の出力は、更新中の関数 (LastUpdateStatusInProgress) に対する s info の結果です。

admin  ~/workspace/xxx/demo-3  s info
  Steps for [ixxx-app]
========================

✔ [hello_world] completed (4.97s)

Result for [info] of [hello-world-app]
========================
hello_world:
  region:               us-east-1
  codeChecksum:
  codeSize:             0
  cpu:                  0.5
  createdTime:          2023-10-27T05:45:30Z
  customContainerConfig:
    image:              registry.us-east-1.aliyuncs.comxxx k:f   k_vxxx
    resolvedImageUri: registry.us-east-1.aliyuncs.com/fcxxx k@sha256:f65d0acd5xxx ab9cd923f3afxxx b9exxx 2cdxxx 99d51bbae2fe0ba
  description:          hello world by serverless devs
  diskSize:             512
  functionArn:          acs:fc:us-east-1:143**********149:functions/start-pxxx xilxxx
  functionId:           82597d19xxx f-9581fe2429d7
  functionName:         start-pythonxxx t1
  handler:              handler
  instanceConcurrency:  1
  internetAccess:       true
  lastModifiedTime:     2023-10-27T06:52:03Z
  lastUpdateStatus:     InProgress
  memorySize:           512
  role:
  runtime:              custom-container
  state:                Active
  timeout:              60

A complete log of this run can be found in: /home/admin/.s/logs/xxx5200

次の出力は、更新が成功した後の s info の結果です。lastUpdateStatusSuccessful で、stateActive の場合、関数の更新は完了しており、関数は Active 状態です。

admin  ~/wc       xxx       mo-3    s info
Steps for [info] of [hello-world-app]
====================
✔ [hello_world] completed (1.32s)

Result for [info] of [hello-world-app]
====================
hello_world:
  region:               us-east-1
  codeChecksum:
  codeSize:             0
  cpu:                  0.5
  createdTime:          2023-10-27T05:45:30Z
  customContainerConfig:
    image:              registry.us-east-1.aliyuncs.com,xxx/flask:flask_v001
    resolvedImageUri:   registry.us-east-1.aliyuncs.com,xxx/mo2/flask@sha256:9614366c50xxx4bcxxxxxxxxxxxxxxxx/cae95c74f44
  description:          hello world by serverless dexxx
  diskSize:             512
  functionArn:          acs:fc:us-east-1:xxx:49:functions/start-pyxxxxxxxx
  functionId:           82597d19-2bc0-41c3-92f1-xxx429d7
  functionName:         start-pyxxx-n-xxxxxx1
  handler:              handler
  instanceConcurrency:  1
  internetAccess:       true
  lastModifiedTime:     2023-10-27T05:56:10Z
  lastUpdateStatus:     Successful
  logConfig:
    enableInstanceMetrics: true
    enableRequestMetrics:  true
    logBeginRule:       DefaultRegex
    logstore:           function-log
    project:            aliyun-fc xxx0908f0a5f
  memorySize:           512
  role:
  runtime:              custom-container
  state:                Active
  timeout:              60

A complete log of this run can be found in: /home/admin/.s/logs/xxx