Todos os produtos
Search
Central de documentação

Serverless App Engine:UpdateJob

Última atualização: Jun 28, 2026

Chama a API UpdateJob para atualizar um modelo de job.

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

A tabela abaixo descreve a autorização necessária para chamar esta API. Você pode defini-la em uma política do Resource Access Management (RAM). As colunas da tabela estão detalhadas abaixo:

  • Ação: As ações que podem ser usadas no elemento Action das instruções de política de permissão do RAM para conceder permissões para executar a operação.

  • API: A API que você pode chamar para executar a ação.

  • Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.

  • Tipo de recurso: O tipo de recurso que suporta autorização para executar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.

    • Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o Nome de Recurso Alibaba Cloud (ARN) correspondente no elemento Resource da política.

    • Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento Resource da política.

  • Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se somente a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, o Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços compatíveis com RAM.

  • Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para executar todas as ações dependentes.

Ação

Nível de acesso

Tipo de recurso

Chave de condição

Ação dependente

sae:UpdateJob

update

*All Resource

*

Nenhuma Nenhuma

Sintaxe da solicitação

POST /pop/v1/sam/job/updateJob HTTP/1.1

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

AppId

string

Sim

O ID do modelo de job a ser atualizado.

7171a6ca-d1cd-4928-8642-7d5cfe69****

Jdk

string

Não

A versão do Java Development Kit (JDK) da qual o pacote de implantação depende. As seguintes versões são suportadas:

  • Open JDK 8

  • Open JDK 7

  • Dragonwell 11

  • Dragonwell 8

  • openjdk-8u191-jdk-alpine3.9

  • openjdk-7u201-jdk-alpine3.9

Este parâmetro não é suportado quando Package Type está definido como Image.

Open JDK 8

WebContainer

string

Não

A versão do Tomcat da qual o pacote de implantação depende. As seguintes versões são suportadas:

  • apache-tomcat-7.0.91

  • apache-tomcat-8.5.42

Este parâmetro não é suportado quando Package Type está definido como Image.

apache-tomcat-7.0.91

PackageVersion

string

Não

A versão do pacote de implantação. Este parâmetro é obrigatório se Package Type estiver definido como FatJar, War ou PythonZip.

1.0.1

PackageUrl

string

Não

A URL do pacote de implantação. Este parâmetro é obrigatório se Package Type estiver definido como FatJar, War ou PythonZip.

http://myoss.oss-cn-hangzhou.aliyuncs.com/my-buc/2019-06-30/****.jar

ImageUrl

string

Não

A URL da imagem. Este parâmetro é obrigatório se Package Type estiver definido como Image.

registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1

Command

string

Não

O comando de inicialização da imagem. O comando deve ser um objeto executável que existe no contêiner. Exemplo:

command:
      - echo
      - abc
      - >
      - file0

Neste exemplo, Command="echo" and CommandArgs=["abc", ">", "file0"].

echo

CommandArgs

string

Não

Os argumentos do Command de inicialização da imagem. O valor deve ser um array JSON convertido em string. Formato:

["a","b"]

No exemplo anterior, CommandArgs=["abc", ">", "file0"]. O array ["abc", ">", "file0"] é convertido em uma string. Este parâmetro é opcional.

["a","b"]

Envs

string

Não

As variáveis de ambiente do contêiner. Você pode personalizar variáveis de ambiente ou referenciar variáveis de um ConfigMap. Para referenciar um ConfigMap, você deve primeiro criar uma instância de ConfigMap. Para mais informações, consulte CreateConfigMap. O valor é uma string JSON. Os seguintes campos são suportados:

  • Variáveis personalizadas

    • name: o nome da variável de ambiente.

    • value: o valor da variável de ambiente.

  • Referenciar variáveis de um ConfigMap

    • name: o nome da variável de ambiente. Você pode referenciar um único par chave-valor ou todos os pares chave-valor. Para referenciar todos os pares chave-valor, defina o valor como sae-sys-configmap-all-<nome do ConfigMap>. Exemplo: sae-sys-configmap-all-test1.

    • valueFrom: a referência da variável de ambiente. Defina o valor como configMapRef.

    • configMapId: o ID do ConfigMap.

    • key: a chave do par chave-valor. Se você deseja referenciar todos os pares chave-valor, não configure este campo.

[{"name":"envtmp","value":"0"}]

CustomHostAlias

string

Não

O mapeamento personalizado entre um hostname e um endereço IP no contêiner. O valor é uma string JSON. Os seguintes campos são suportados:

  • hostName: o nome de domínio ou hostname.

  • ip: o endereço IP.

[{"hostName":"samplehost","ip":"127.0.0.1"}]

JarStartOptions

string

Não

As opções do pacote JAR para iniciar a aplicação. O comando de inicialização padrão da aplicação é: $JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs

custom-option

JarStartArgs

string

Não

Os argumentos do pacote JAR para iniciar a aplicação. O comando de inicialização padrão da aplicação é: $JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs

-Xms4G -Xmx4G

EdasContainerVersion

string

Não

A versão do ambiente de execução da aplicação no High-speed Service Framework (HSF), como um contêiner Ali-Tomcat.

3.5.3

SlsConfigs

string

Não

As configurações de coleta de logs para o Log Service.

  • Usar os recursos do Log Service criados automaticamente pelo SAE: [{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}].

  • Usar um recurso personalizado do Log Service: [{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}].

Os seguintes campos são suportados:

  • projectName: o nome do projeto do Log Service.

  • logDir: o caminho do log.

  • logType: o tipo de log. stdout indica o log de saída padrão do contêiner. Você pode especificar apenas uma saída padrão. Se você não configurar este campo, os logs de arquivo serão coletados.

  • logstoreName: o nome do Logstore no Log Service.

  • logtailName: o nome do Logtail. Se você não especificar este parâmetro, um novo Logtail será criado.

Se a configuração do SLS não for alterada durante uma implantação, você não precisa configurar este parâmetro. Para parar de usar o recurso de coleta de logs, defina o valor deste parâmetro como uma string vazia ("").

Nota

Projetos criados automaticamente com um modelo de job são excluídos quando o modelo de job é excluído. Portanto, ao selecionar um projeto existente, não selecione um projeto criado automaticamente pelo SAE.

[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]

Timezone

string

Não

O fuso horário. Valor padrão: Asia/Shanghai.

Asia/Shanghai

NasId

string

Não

O ID do sistema de arquivos Apsara File Storage NAS. Se as configurações não forem alteradas durante uma implantação, você não precisa configurar este parâmetro. Para limpar as configurações do NAS, defina o valor deste parâmetro como uma string vazia ("").

10d3b4****

MountHost

string

Não

O destino de montagem do sistema de arquivos NAS na virtual private cloud (VPC) onde o modelo de job está localizado. Se as configurações não forem alteradas durante uma implantação, você não precisa configurar este parâmetro. Para limpar as configurações do NAS, defina o valor deste parâmetro como uma string vazia ("").

10d3b4bc9****.com

MountDesc

string

Não

A descrição da montagem do NAS. Se as configurações não forem alteradas durante uma implantação, você não precisa configurar este parâmetro. Para limpar as configurações do NAS, defina o valor deste parâmetro como uma string vazia ("") na solicitação.

[{mountPath: "/tmp", nasPath: "/"}]

PostStart

string

Não

O script que é executado após o contêiner ser iniciado. Exemplo: {"exec":{"command":["sh","-c","echo hello"]}}

{"exec":{"command":["sh","-c","echo hello"]}}

PreStop

string

Não

O script que é executado antes do contêiner ser parado. Exemplo: {"exec":{"command":["sh","-c","echo hello"]}}

{"exec":{"command":["sh","-c","echo hello"]}}

WarStartOptions

string

Não

O comando de inicialização para a aplicação implantada em um pacote WAR. O procedimento é o mesmo que o de configuração do comando de inicialização para uma imagem. Para mais informações, consulte Definir um comando de inicialização.

CATALINA_OPTS=\"$CATALINA_OPTS $Options\" catalina.sh run

ConfigMapMountDesc

string

Não

A descrição da instância de ConfigMap montada no contêiner. Você pode usar a instância de ConfigMap criada na página de Configurações de Namespace para injetar configurações no contêiner. O valor é uma string JSON. Os seguintes campos são suportados:

  • configMapId: o ID da instância de ConfigMap. Você pode chamar a operação ListNamespacedConfigMaps para obter o ID.

  • key: a chave do par chave-valor.

Nota

Você pode passar o parâmetro sae-sys-configmap-all para montar todos os pares chave-valor.

  • mountPath: o caminho de montagem.

[{"configMapId":16,"key":"test","mountPath":"/tmp"}]

TerminationGracePeriodSeconds

integer

Não

O período de timeout de encerramento gracioso. Valor padrão: 30. Unidade: segundos. Valores válidos: 1 a 300.

10

PhpConfigLocation

string

Não

O caminho no qual o arquivo de configuração de inicialização da aplicação PHP é montado. Certifique-se de que o servidor PHP use este arquivo de configuração para iniciar a aplicação.

/usr/local/etc/php/php.ini

PhpConfig

string

Não

O conteúdo do arquivo de configuração PHP.

k1=v1

TomcatConfig

string

Não

As configurações do arquivo Tomcat. Se você definir este parâmetro como "" ou "{}", as configurações serão excluídas. O valor é uma string JSON. Os seguintes campos são suportados:

  • port: o número da porta. Valores válidos: 1024 a 65535. A permissão root é necessária para realizar operações em portas com número inferior a 1024. O contêiner é configurado com a permissão de administrador. Portanto, especifique uma porta com número superior a 1024. Se você não configurar este campo, a porta padrão 8080 será usada.

  • contextPath: o caminho de contexto. Valor padrão: /.

  • maxThreads: o número máximo de conexões no pool de conexões. Valor padrão: 400.

  • uriEncoding: o esquema de codificação de URI no Tomcat. Valores suportados: UTF-8, ISO-8859-1, GBK e GB2312. Se você não definir este parâmetro, o valor padrão ISO-8859-1 será usado.

  • useBodyEncodingForUri: especifica se deve usar BodyEncoding for URL. Valor padrão: true.

{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}

OssMountDescs

string

Não

A descrição da montagem do OSS. O valor é uma string JSON. Os seguintes parâmetros são suportados:

  • bucketName: o nome do bucket.

  • bucketPath: o diretório ou objeto que você criou no OSS. Uma exceção ocorre se o diretório de montagem do OSS especificado não existir.

  • mountPath: o caminho no contêiner SAE. Se o caminho existir, o novo caminho substituirá o existente. Se o caminho não existir, um novo caminho será criado.

  • readOnly: especifica se um contêiner tem permissão somente leitura nos recursos do diretório de montagem.

    • true: o contêiner tem permissão somente leitura.

    • false: o contêiner tem permissões de leitura e gravação.

[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}]

OssAkId

string

Não

O AccessKey ID usado para ler e gravar dados no OSS.

xxxxxx

OssAkSecret

string

Não

O AccessKey secret usado para ler e gravar dados no OSS.

xxxxxx

Php

string

Não

O ID da instância do Container Registry Enterprise Edition.

cri-xxxxxx

AcrInstanceId

string

Não

O ID da instância do Container Registry Enterprise Edition. Este parâmetro é obrigatório se ImageUrl estiver definido como uma imagem em uma instância do Container Registry Enterprise Edition.

cri-xxxxxx

AcrAssumeRoleArn

string

Não

O Alibaba Cloud Resource Name (ARN) da função RAM necessária para puxar imagens entre contas. Para mais informações, consulte Conceder permissões entre contas Alibaba Cloud usando uma função RAM.

acs:ram::123456789012****:role/adminrole

ImagePullSecrets

string

Não

O ID do secret.

10

EnableImageAccl

boolean

Não

Especifica se a aceleração de imagem deve ser ativada.

TriggerConfig

string

Não

A configuração de trigger. Configure este parâmetro com base no tipo de job.

  • Job cron: defina o campo type como time, o campo config como uma expressão cron e o campo timezone como o fuso horário desejado. Exemplo: {"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}

  • Job único: defina o campo type como http e configure o campo config com regras de trigger HTTP específicas. Para mais informações, consulte SourceHttpEventParameters. Exemplo: {"type":"http","config":{"type":"HTTPS","method":["GET"],"ip":[],"referer":[],"securityConfig":"none"}}

{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}

ConcurrencyPolicy

string

Não

A política de execução de jobs concorrentes. Valores válidos:

  • Forbid: um novo job não é criado se o job anterior não foi concluído.

  • Allow: jobs concorrentes são permitidos.

  • Replace: quando chega o momento de criar um novo job, o novo job substitui o job anterior se o job anterior não foi concluído.

Allow

Timeout

integer

Não

O período de timeout para o job. Unidade: segundos.

3600

BackoffLimit

integer

Não

O número de tentativas para o job.

3

Slice

boolean

Não

Ativa o sharding de job.

true

SliceEnvs

string

Não

Os parâmetros para sharding de job.

[0,1,2]

Replicas

string

Não

O número de instâncias concorrentes para o job.

3

RefAppId

string

Não

O ID da aplicação referenciada.

7171a6ca-d1cd-4928-8642-7d5cfe69****

ProgrammingLanguage

string

Não

A linguagem de programação. Valores suportados: java, php, python e shell.

java

Python

string

Não

O ambiente Python. PYTHON 3.9.15 é suportado.

PYTHON 3.9.15

PythonModules

string

Não

As dependências de módulos personalizados. Por padrão, as dependências definidas no arquivo requirements.txt no diretório raiz do pacote são instaladas. Se você não configurar este parâmetro ou o pacote não tiver um arquivo requirements.txt, você pode especificar as dependências que deseja instalar.

Flask==2.0

NasConfigs

string

Não

As configurações de montagem de um sistema de arquivos NAS.

BestEffortType

string

Não

A política BestEffort.

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

Informações sobre o modelo de job atualizado.

RequestId

string

O ID da solicitação.

01CF26C7-00A3-4AA6-BA76-7E95F2A3***

Message

string

A mensagem de resposta.

  • success se a solicitação for bem-sucedida.

  • Um código de erro se a solicitação falhar.

success

TraceId

string

O ID de rastreamento que você pode usar para consultar os detalhes de uma solicitação.

ac1a0b2215622246421415014e****

Data

object

Os dados retornados.

ChangeOrderId

string

O ID da ordem de alteração. Você pode usar este ID para consultar o status de execução do job.

01db03d3-3ee9-48b3-b3d0-dfce2d88****

AppId

string

O ID do modelo de job.

7171a6ca-d1cd-4928-8642-7d5cfe69****

ErrorCode

string

  • Este parâmetro não é retornado se a solicitação for bem-sucedida.

  • Este parâmetro é retornado se a solicitação falhar. Para mais informações, consulte a seção Códigos de erro deste tópico.

Code

string

O código de status HTTP.

  • 2xx: a solicitação foi bem-sucedida.

  • 3xx: a solicitação foi redirecionada.

  • 4xx: a solicitação é inválida.

  • 5xx: ocorreu um erro no servidor.

200

Success

boolean

Indica se o modelo de job foi atualizado. Valores válidos:

  • true

  • false

true

Exemplos

Resposta de sucesso

JSON formato

{
  "RequestId": "01CF26C7-00A3-4AA6-BA76-7E95F2A3***",
  "Message": "success",
  "TraceId": "ac1a0b2215622246421415014e****",
  "Data": {
    "ChangeOrderId": "01db03d3-3ee9-48b3-b3d0-dfce2d88****",
    "AppId": "7171a6ca-d1cd-4928-8642-7d5cfe69****"
  },
  "ErrorCode": "",
  "Code": "200",
  "Success": true
}

Códigos de erro

Código de status HTTP

Código de erro

Mensagem de erro

Descrição

400 Application.MissingJdk Your application must at least contain a JDK component.
400 InvalidApplication.NotFound The current application does not exist.
400 InvalidComponent.NotFound The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist.
400 InvalidHostnameIp.Invalid The hostname and/or IP is invalid: Hostname [%s], IP [%s].
400 InvalidInstanceSpecification.Unsupported The instance specification is not supported: CPU [%s], memory [%s].
400 InvalidPackageType.NotFound The package type must be War, FatJar, or Image.
400 InvalidParameter.FileName The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). In addition, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only.
400 InvalidParameter.NotEmpty You must specify the parameter %s.
400 InvalidParameter.Obviously The specified parameter is invalid {%s}.
400 InvalidParameter.WithMessage The parameter is invalid {%s}: %s
400 JarApplication.MissingJdk A FatJar application must contain JDK.
400 NoComputeResourceQuota.Exceed Your compute resource is insufficient. Please contact us to raise the quota.
400 PandoraApplication.MissingJdk The Pandora application is missing a JDK component.
400 PandoraApplication.OnlyJdk A Pandora application only requires JDK component.
400 WarApplication.MissingJdkWebcontainer A War application must contain JDK and Tomcat.
400 LogService.ConfigQuotaExceed The maximum number of Log Service configs is exceeded. The maximum number of Log Service configs is exceeded, please join the DingTalk group 32874633 for technical support.
400 LogService.InternalError An exception occurred while calling Log Service. Please submit a ticket to solve the problem. An exception occurred while calling log service. please join the DingTalk group 32874633 for technical support.
400 LogService.LogDirInvalid The log collection path is invalid. The log collection path is invalid.
400 LogService.NotAvailable Log Service is unavailable. Please activate Log Service first. The log service is not available. Please open the log service first.
400 LogService.ProjectNumQuotaExceed The maximum number of Log Service projects is exceeded. The maximum number of Log Service projects is exceeded, please join the DingTalk group 32874633 for technical support.
400 user.indebt The user has an outstanding payment.
400 NoComputeResourceQuota.App.Exceed You can create %s instances for each application. Please submit a ticket to raise the quota. You can create %s instances for each application. please join the DingTalk group 32874633 for technical support.
400 NoComputeResourceQuota.User.Exceed Your account is limited to create %s instances. Please submit a ticket to raise the quota. Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support.
400 System.Upgrading The system is being upgraded. Please try again later.
400 VolumnPath.Conflict Conflict between log collection directory and persistent storage directory. Conflict between log collection directory and persistent storage directory.
400 Application.ChangerOrderRunning An application change process is in progress. Please try again later. An application change process is in progress. Please try again later.
400 Application.InvalidStatus The application status is abnormal. Please try again later. The application status is abnormal. Please try again later.
400 MountConflict.ConfigMap Conflict detected for ConfigMap path %s.
400 NotFound.ConfigMap The ConfigMap object (ID: %s) does not exist.
400 NotFound.ConfigMapKey The key %s of ConfigMap object (ID: %s) does not exist.
400 Package.Version.Too.Long The maximum length of package version is exceeded. This package version is too long.
400 App.Package.Version.Exists The package version of application already exists. The package version of application already exists.
400 Slb.Occupied The SLB instance is occupied. This SLB is occupied.
400 Slb.Tag.Not.Qualified The current SLB instance cannot be reused because it may have been occupied by %s. The current SLB instance cannot be reused because it may have been occupied by %s.
400 MinReadyInstances.Not.Smaller.Replicas The minimum number of available instances must be less than the number of application instances. The minimum number of available instances must be less than the number of application instances.
400 BatchWaitTime.Not.Smaller.Zero BatchWaitTime must not be smaller than zero. BatchWaitTime must not be smaller than zero.
400 Sls.Config.Mixed.Multi.Project The specified Config contains multiple projects.
400 Sls.Config.User.Defined.Missing.Logstore.Info The specified Config is invalid. Both Project and Logstore must be specified.
400 Sls.Config.User.Defined.Missing.Project.Info The specified Config is invalid. Both Project and Logstore must be specified.
400 Sls.Logstore.Name.Invalid The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-".
400 Sls.Logstore.User.Defined.Not.Exist The user defined Logstore does not exist.
400 Sls.Project.Name.Invalid The specified project name is invalid. The project name must not contain the prefix "sae-".
400 Sls.Project.User.Defined.Not.Exist The user defined project does not exist.
400 Sae.Errorcode.Ahas.Create.Error.Message Failed to create AHAS.
400 InvalidImageUrl.AcrInstanceId.Domain.NotMatch The specified domain of ImageUrl does not match AcrInstanceId domains.
400 PhpApplication.MissingPhpRuntime A PHP application must contain PHP Runtime.
404 InvalidNamespaceId.NotFound The specified NamespaceId does not exist.
404 InvalidAcrInstanceId.NotFound The specified AcrInstanceId does not exist.
404 Associate.Eip.Not.Enough No sufficient EIPs are available.

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.