Todos os produtos
Search
Central de documentação

Function Compute:Estados e invocação de funções para imagens personalizadas

Última atualização: Aug 26, 2026

Funções de Custom Container dependem de recursos que o Function Compute reserva em seu nome, incluindo imagens em cache do Alibaba Cloud Container Registry (ACR) para reduzir a latência de cold start. Como o cache da imagem ocorre de forma assíncrona em segundo plano, a função pode não estar pronta para processar invocações imediatamente após a criação ou atualização. Os estados da função indicam exatamente quando ela está pronta para invocação.

Estados da função

O Function Compute atribui um dos seguintes estados a cada função de Custom Container.

Estado

Invocável

Descrição

Pending

Não

Estado inicial após a criação da função. O Function Compute reserva recursos e armazena a imagem em cache. A transição para Active ocorre quando a imagem fica pronta.

Active

Sim

Reserva de recursos concluída. A função processa invocações normalmente.

Failed

Não

Erro durante o preparo dos recursos ou acesso à imagem. Consulte Estado Failed para ver as etapas de recuperação.

Inactive

Não

A função permaneceu ociosa por tempo suficiente para o Function Compute liberar os recursos em cache. Reimplante ou acione a função para retorná-la ao estado Pending. Se o preparo dos recursos for bem-sucedido, a função volta para Active; caso contrário, permanece Inactive.

Estado Failed

Uma função entra no estado Failed em duas situações:

  • Falha no preparo de recursos durante a criação ou atualização: Não é possível invocar a função devido a um problema ocorrido durante o preparo dos recursos.

  • Imagem original inacessível: O Function Compute armazena imagens em cache para acelerar cold starts, mas a imagem original no ACR deve permanecer acessível durante as invocações. Se a imagem for excluída ou se a tag for sobrescrita com um digest diferente, a função entrará no estado Failed. Atualize a função com informações válidas da imagem e reimplante-a.

Importante

O Function Compute registra tanto a tag quanto o digest da versão da imagem selecionada durante a criação ou atualização da função. Se esse digest for posteriormente sobrescrito no ACR, a invocação da função falhará. Garanta que as tags das imagens não sejam sobrescritas após a implantação. Em caso de sobrescrita, reimplante a função utilizando as informações mais recentes da imagem.

Estados de atualização

Durante uma atualização de função em andamento, o campo LastUpdateStatus rastreia a atualização separadamente do estado principal da função.

**LastUpdateStatus**

Descrição

Roteamento de invocação

InProgress

O Function Compute prepara recursos para a atualização.

Direcionado para o código anterior à atualização

Successful

Atualização concluída.

Direcionado para o código atualizado

Failed

Falha no preparo de recursos para a atualização.

Direcionado para o código anterior à atualização

Verifique o estado antes da invocação

Chame a operação GetFunction para obter o estado e o digest da imagem de uma função. Ao utilizar um SDK ou Serverless Devs para criar ou atualizar uma função de Custom Container, chame a operação GetFunction para verificar o estado da função antes de invocá-la.

  • Funções recém-criadas: confirme se o estado é Active. Funções em outros estados não podem ser invocadas.

  • Funções atualizadas: confirme se LastUpdateStatus é Successful.

Diagramas de estado

A saída abaixo mostra o resultado de s3 info para uma função recém-criada no estado Pending (o Function Compute reserva recursos e armazena a imagem em cache).

s3 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

A saída a seguir exibe o resultado de s3 info para uma função em processo de atualização (LastUpdateStatus: InProgress).

admin  ~/workspace/xxx/demo-3  s3 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

O exemplo abaixo apresenta o resultado de s3 info após uma atualização bem-sucedida. Quando lastUpdateStatus é Successful e state é Active, a atualização da função foi concluída e ela encontra-se no estado ativo.

admin  ~/wc       xxx       mo-3    s3 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