Todos los productos
Search
Centro de documentos

Serverless App Engine:UpdateJob

Última actualización: Sep 01, 2026

Llama a la API UpdateJob para actualizar una plantilla de trabajo.

Pruébelo ahora

Pruebe esta API en OpenAPI Explorer sin necesidad de firma manual. Las llamadas exitosas generan automáticamente código SDK acorde a sus parámetros. Descárguelo con seguridad de credenciales integrada para uso local.

Test

Autorización de RAM

La siguiente tabla describe la autorización necesaria para invocar esta API. Puede definirla en una directiva de Resource Access Management (RAM). A continuación, se detallan las columnas de la tabla:

  • Action: Estas acciones se utilizan en el elemento Action de las declaraciones de directivas de permisos de RAM para otorgar permisos que permitan realizar la operación.

  • API: La API que debe invocarse para llevar a cabo la acción.

  • Nivel de acceso: Nivel de acceso predefinido que se concede para cada API. Valores válidos: create, list, get, update y delete.

  • Tipo de recurso: Tipo de recurso que admite autorización para ejecutar la acción. Indica si la acción es compatible con permisos a nivel de recurso. El recurso especificado debe ser compatible con la acción; de lo contrario, la directiva no surtirá efecto.

    • En las API con permisos a nivel de recurso, los tipos de recursos obligatorios se marcan con un asterisco (*). Especifique el Alibaba Cloud Resource Name (ARN) correspondiente en el elemento Resource de la directiva.

    • Para las API sin permisos a nivel de recurso, se muestra All Resources. Utilice un asterisco (*) en el elemento Resource de la directiva.

  • Clave de condición: Claves de condición definidas por el servicio. Permiten un control granular y se aplican ya sea solo a acciones o a acciones asociadas con recursos específicos. Además de las claves de condición específicas del servicio, Alibaba Cloud proporciona un conjunto de common condition keys aplicables a todos los servicios compatibles con RAM.

  • Acción dependiente: Acciones dependientes necesarias para ejecutar la acción principal. Para completar la operación, el usuario de RAM o el rol de RAM debe contar con permisos para realizar todas las acciones dependientes.

Action

Nivel de acceso

Tipo de recurso

Clave de condición

Acción dependiente

sae:UpdateJob

update

*All Resource

*

Ninguna Ninguna

Sintaxis de la solicitud

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

Parámetros de la solicitud

Parámetro

Tipo

Obligatorio

Descripción

Ejemplo

AppId

string

Sí

El ID de la plantilla de trabajo que se va a actualizar.

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

Jdk

string

No

La versión de Java Development Kit (JDK) de la que depende el paquete de despliegue. Se admiten las siguientes versiones:

  • Open JDK 8

  • Open JDK 7

  • Dragonwell 11

  • Dragonwell 8

  • openjdk-8u191-jdk-alpine3.9

  • openjdk-7u201-jdk-alpine3.9

Este parámetro no es compatible cuando Package Type está establecido en Image.

Open JDK 8

WebContainer

string

No

La versión de Tomcat de la que depende el paquete de despliegue. Se admiten las siguientes versiones:

  • apache-tomcat-7.0.91

  • apache-tomcat-8.5.42

Este parámetro no es compatible cuando Package Type está establecido en Image.

apache-tomcat-7.0.91

PackageVersion

string

No

La versión del paquete de despliegue. Este parámetro es obligatorio si Package Type está establecido en FatJar, War o PythonZip.

1.0.1

PackageUrl

string

No

La URL del paquete de despliegue. Este parámetro es obligatorio si Package Type está establecido en FatJar, War o PythonZip.

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

ImageUrl

string

No

La URL de la imagen. Este parámetro es obligatorio si Package Type está establecido en Image.

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

Command

string

No

El comando de inicio de la imagen. El comando debe ser un objeto ejecutable que exista en el contenedor. Ejemplo:

command:
      - echo
      - abc
      - >
      - file0

En este ejemplo, Command="echo" y CommandArgs=["abc", ">", "file0"].

echo

CommandArgs

string

No

Los argumentos del Command de inicio de la imagen. El valor debe ser una matriz JSON convertida a cadena. Formato:

["a","b"]

En el ejemplo anterior, CommandArgs=["abc", ">", "file0"]. La matriz ["abc", ">", "file0"] se convierte a una cadena. Este parámetro es opcional.

["a","b"]

Envs

string

No

Las variables de entorno del contenedor. Puede personalizar variables de entorno o hacer referencia a variables de un ConfigMap. Para hacer referencia a un ConfigMap, primero debe crear una instancia de ConfigMap. Para obtener más información, consulte CreateConfigMap. El valor es una cadena JSON. Se admiten los siguientes campos:

  • Variables personalizadas

    • name: el nombre de la variable de entorno.

    • value: el valor de la variable de entorno.

  • Variables de referencia de un ConfigMap

    • name: el nombre de la variable de entorno. Puede hacer referencia a un solo par clave-valor o a todos los pares clave-valor. Para hacer referencia a todos los pares clave-valor, establezca el valor en sae-sys-configmap-all-<nombre del ConfigMap>. Ejemplo: sae-sys-configmap-all-test1.

    • valueFrom: la referencia de la variable de entorno. Establezca el valor en configMapRef.

    • configMapId: el ID del ConfigMap.

    • key: la clave del par clave-valor. Si desea hacer referencia a todos los pares clave-valor, no configure este campo.

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

CustomHostAlias

string

No

La asignación personalizada entre un nombre de host y una dirección IP en el contenedor. El valor es una cadena JSON. Se admiten los siguientes campos:

  • hostName: el nombre de dominio o nombre de host.

  • ip: la dirección IP.

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

JarStartOptions

string

No

Las opciones del paquete JAR para iniciar la aplicación. El comando de inicio predeterminado de la aplicación es: $JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs

custom-option

JarStartArgs

string

No

Los argumentos del paquete JAR para iniciar la aplicación. El comando de inicio predeterminado de la aplicación es: $JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs

-Xms4G -Xmx4G

EdasContainerVersion

string

No

La versión del entorno de ejecución de la aplicación en High-speed Service Framework (HSF), como un contenedor Ali-Tomcat.

3.5.3

SlsConfigs

string

No

Las configuraciones para recopilar registros en Log Service.

  • Utilice los recursos de Log Service creados automáticamente por SAE: [{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}].

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

Se admiten los siguientes campos:

  • projectName: el nombre del proyecto de Log Service.

  • logDir: la ruta del registro.

  • logType: el tipo de registro. stdout indica el registro de salida estándar del contenedor. Solo puede especificar una salida estándar. Si no configura este campo, se recopilan los registros de archivos.

  • logstoreName: el nombre del Logstore en Log Service.

  • logtailName: el nombre del Logtail. Si no especifica este parámetro, se crea un nuevo Logtail.

Si la configuración de SLS no cambia durante un despliegue, no necesita configurar este parámetro. Para dejar de utilizar la función de recopilación de registros, establezca el valor de este parámetro en una cadena vacía ("").

Nota

Los proyectos que se crean automáticamente con una plantilla de trabajo se eliminan cuando se elimina la plantilla de trabajo. Por lo tanto, al seleccionar un proyecto existente, no seleccione un proyecto creado automáticamente por SAE.

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

Timezone

string

No

La zona horaria. Valor predeterminado: Asia/Shanghai.

Asia/Shanghai

NasId

string

No

El ID del sistema de archivos Apsara File Storage NAS. Si las configuraciones no cambian durante un despliegue, no necesita configurar este parámetro. Para borrar las configuraciones de NAS, establezca el valor de este parámetro en una cadena vacía ("").

10d3b4****

MountHost

string

No

El destino de montaje del sistema de archivos NAS en la nube privada virtual (VPC) donde se encuentra la plantilla de trabajo. Si las configuraciones no cambian durante un despliegue, no necesita configurar este parámetro. Para borrar las configuraciones de NAS, establezca el valor de este parámetro en una cadena vacía ("").

10d3b4bc9****.com

MountDesc

string

No

La descripción del montaje de NAS. Si las configuraciones no cambian durante un despliegue, no necesita configurar este parámetro. Para borrar las configuraciones de NAS, establezca el valor de este parámetro en una cadena vacía ("") en la solicitud.

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

PostStart

string

No

El script que se ejecuta después de iniciar el contenedor. Ejemplo: {"exec":{"command":["sh","-c","echo hello"]}}

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

PreStop

string

No

El script que se ejecuta antes de detener el contenedor. Ejemplo: {"exec":{"command":["sh","-c","echo hello"]}}

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

WarStartOptions

string

No

El comando de inicio para la aplicación desplegada en un paquete WAR. El procedimiento es el mismo que para configurar el comando de inicio de una imagen. Para obtener más información, consulte Establecer un comando de inicio.

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

ConfigMapMountDesc

string

No

La descripción de la instancia de ConfigMap montada en el contenedor. Puede utilizar la instancia de ConfigMap creada en la página de Configuraciones de espacio de nombres para inyectar configuraciones en el contenedor. El valor es una cadena JSON. Se admiten los siguientes campos:

  • configMapId: el ID de la instancia de ConfigMap. Puede llamar a la operación ListNamespacedConfigMaps para obtener el ID.

  • key: la clave del par clave-valor.

Nota

Puede pasar el parámetro sae-sys-configmap-all para montar todos los pares clave-valor.

  • mountPath: la ruta de montaje.

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

TerminationGracePeriodSeconds

integer

No

El periodo de tiempo de espera para terminación graceful. Valor predeterminado: 30. Unidad: segundos. Valores válidos: de 1 a 300.

10

PhpConfigLocation

string

No

La ruta en la que se monta el archivo de configuración de inicio de la aplicación PHP. Asegúrese de que el servidor PHP utilice este archivo de configuración para iniciar la aplicación.

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

PhpConfig

string

No

El contenido del archivo de configuración de PHP.

k1=v1

TomcatConfig

string

No

Las configuraciones del archivo de Tomcat. Si establece este parámetro en "" o "{}", las configuraciones se eliminan. El valor es una cadena JSON. Se admiten los siguientes campos:

  • port: el número de puerto. Valores válidos: de 1024 a 65535. Se requiere permiso de root para realizar operaciones en puertos cuyo número sea menor que 1024. El contenedor está configurado con permiso de administrador. Por lo tanto, especifique un puerto cuyo número sea mayor que 1024. Si no configura este campo, se utiliza el puerto predeterminado 8080.

  • contextPath: la ruta de contexto. Valor predeterminado: /.

  • maxThreads: el número máximo de conexiones en el pool de conexiones. Valor predeterminado: 400.

  • uriEncoding: el esquema de codificación URI en Tomcat. Valores admitidos: UTF-8, ISO-8859-1, GBK y GB2312. Si no establece este parámetro, se utiliza el valor predeterminado ISO-8859-1.

  • useBodyEncodingForUri: especifica si se debe utilizar BodyEncoding for URL. Valor predeterminado: true.

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

OssMountDescs

string

No

La descripción del montaje de OSS. El valor es una cadena JSON. Se admiten los siguientes parámetros:

  • bucketName: el nombre del bucket.

  • bucketPath: el directorio u objeto que creó en OSS. Se produce una excepción si el directorio de montaje de OSS especificado no existe.

  • mountPath: la ruta en el contenedor SAE. Si la ruta existe, la nueva ruta sobrescribe la existente. Si la ruta no existe, se crea una nueva ruta.

  • readOnly: especifica si un contenedor tiene permiso de solo lectura sobre los recursos en el directorio de montaje.

    • true: el contenedor tiene permiso de solo lectura.

    • false: el contenedor tiene permisos de lectura y escritura.

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

OssAkId

string

No

El AccessKey ID que se utiliza para leer datos de OSS y escribir datos en OSS.

xxxxxx

OssAkSecret

string

No

El AccessKey secret que se utiliza para leer datos de OSS y escribir datos en OSS.

xxxxxx

Php

string

No

El ID de la instancia de Container Registry Enterprise Edition.

cri-xxxxxx

AcrInstanceId

string

No

El ID de la instancia de Container Registry Enterprise Edition. Este parámetro es obligatorio si ImageUrl está establecido en una imagen en una instancia de Container Registry Enterprise Edition.

cri-xxxxxx

AcrAssumeRoleArn

string

No

El Alibaba Cloud Resource Name (ARN) del rol de RAM necesario para extraer imágenes entre cuentas. Para obtener más información, consulte Otorgar permisos entre cuentas de Alibaba Cloud mediante un rol de RAM.

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

ImagePullSecrets

string

No

El ID del secreto.

10

EnableImageAccl

boolean

No

Especifica si se debe habilitar la aceleración de imágenes.

TriggerConfig

string

No

La configuración del disparador. Configure este parámetro según el tipo de trabajo.

  • Trabajo Cron: establezca el campo type en time, el campo config en una expresión cron y el campo timezone en la zona horaria deseada. Ejemplo: {"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}

  • Trabajo único: establezca el campo type en http y configure el campo config con reglas específicas de disparador HTTP. Para obtener más información, consulte SourceHttpEventParameters. Ejemplo: {"type":"http","config":{"type":"HTTPS","method":["GET"],"ip":[],"referer":[],"securityConfig":"none"}}

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

ConcurrencyPolicy

string

No

La política de ejecución de trabajos concurrentes. Valores válidos:

  • Forbid: no se crea un nuevo trabajo si el trabajo anterior no ha finalizado.

  • Allow: se permiten trabajos concurrentes.

  • Replace: cuando llega el momento de crear un nuevo trabajo, el nuevo trabajo reemplaza al anterior si este no ha finalizado.

Allow

Timeout

integer

No

El periodo de tiempo de espera para el trabajo. Unidad: segundos.

3600

BackoffLimit

integer

No

El número de reintentos para el trabajo.

3

Slice

boolean

No

Habilita la fragmentación de trabajos.

true

SliceEnvs

string

No

Los parámetros para la fragmentación de trabajos.

[0,1,2]

Replicas

string

No

El número de instancias concurrentes para el trabajo.

3

RefAppId

string

No

El ID de la aplicación referenciada.

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

ProgrammingLanguage

string

No

El lenguaje de programación. Valores admitidos: java, php, python y shell.

java

Python

string

No

El entorno de Python. Se admite PYTHON 3.9.15.

PYTHON 3.9.15

PythonModules

string

No

Las dependencias de módulos personalizados. De forma predeterminada, se instalan las dependencias definidas en el archivo requirements.txt en el directorio raíz del paquete. Si no configura este parámetro o el paquete no tiene un archivo requirements.txt, puede especificar las dependencias que desea instalar.

Flask==2.0

NasConfigs

string

No

Las configuraciones para montar un sistema de archivos NAS.

BestEffortType

string

No

La política BestEffort.

Elementos de la respuesta

Elemento

Tipo

Descripción

Ejemplo

object

Información sobre la plantilla de trabajo actualizada.

RequestId

string

El ID de la solicitud.

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

Message

string

El mensaje de respuesta.

  • success si la solicitud se realiza correctamente.

  • Un código de error si la solicitud falla.

success

TraceId

string

El ID de rastreo que puede utilizar para consultar los detalles de una solicitud.

ac1a0b2215622246421415014e****

Data

object

Los datos devueltos.

ChangeOrderId

string

El ID de la orden de cambio. Puede utilizar este ID para consultar el estado de ejecución del trabajo.

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

AppId

string

El ID de la plantilla de trabajo.

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

ErrorCode

string

  • Este parámetro no se devuelve si la solicitud se realiza correctamente.

  • Este parámetro se devuelve si la solicitud falla. Para obtener más información, consulte la sección Códigos de error de este tema.

Code

string

El código de estado HTTP.

  • 2xx: la solicitud se realizó correctamente.

  • 3xx: la solicitud se redirigió.

  • 4xx: la solicitud no es válida.

  • 5xx: ocurrió un error del servidor.

200

Success

boolean

Indica si se actualizó la plantilla de trabajo. Valores válidos:

  • true

  • false

true

Ejemplos

Respuesta exitosa

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 error

Código de estado HTTP

Código de error

Mensaje de error

Descripción

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 error para ver la lista completa.

Notas de la versión

Consulte Notas de la versión para ver la lista completa.