Todos los productos
Search
Centro de documentos

Serverless App Engine:DeployApplication

Última actualización: Sep 01, 2026

Despliega una aplicación.

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:DeployApplication

update

*All Resource

*

Ninguna Ninguna

Sintaxis de la solicitud

POST /pop/v1/sam/app/deployApplication HTTP/1.1

Parámetros de la solicitud

Parámetro

Tipo

Obligatorio

Descripción

Ejemplo

AppId

string

Sí

El ID de la aplicación que se va a desplegar.

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

Jdk

string

No

La versión de JDK de la que depende el paquete de despliegue. Valores válidos:

  • 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 Tipo de paquete está configurado como Imagen.

Open JDK 8

WebContainer

string

No

La versión de Tomcat de la que depende el paquete de despliegue. Valores válidos:

  • apache-tomcat-7.0.91

  • apache-tomcat-8.5.42

Este parámetro no es compatible cuando Tipo de paquete está configurado como Imagen.

apache-tomcat-7.0.91

PackageVersion

string

No

El número de versión del paquete de despliegue. Este parámetro es obligatorio cuando Tipo de paquete está configurado como FatJar, War o PythonZip.

1.0.1

PackageUrl

string

No

La URL del paquete de despliegue. Este parámetro es obligatorio cuando Tipo de paquete está configurado como 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 cuando Tipo de paquete está configurado como Imagen.

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 en el contenedor. Ejemplo:

command:
      - echo
      - abc
      - >
      - file0

Según el ejemplo anterior, Command="echo", CommandArgs=["abc", ">", "file0"].

echo

CommandArgs

string

No

Los argumentos del comando de inicio de la imagen. Estos son los argumentos requeridos por el comando de inicio especificado en Command. Formato:

["a","b"]

En el ejemplo anterior, CommandArgs=["abc", ">", "file0"], donde ["abc", ">", "file0"] debe convertirse al tipo String, y el formato interno es una matriz JSON. Si este parámetro no es necesario, déjelo vacío.

["a","b"]

Envs

string

No

Los parámetros de variables de entorno del contenedor. Puede personalizar las variables de entorno o hacer referencia a elementos de ConfigMap. Para hacer referencia a un elemento de ConfigMap, primero cree una instancia de ConfigMap. Para obtener más información, consulte CreateConfigMap. Valores válidos:

  • Configuración personalizada
    • name: el nombre de la variable de entorno.

    • value: el valor de la variable de entorno. Esto tiene prioridad sobre valueFrom.

  • Referencia a un elemento de ConfigMap (valueFrom)
    • name: el nombre de la variable de entorno. Para hacer referencia a todas las claves, ingrese sae-sys-configmap-all-<nombre de ConfigMap>, como sae-sys-configmap-all-test1.

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

    • configMapId: el ID de ConfigMap.

    • key: la clave. No configure este campo si desea hacer referencia a todas las claves.

  • Referencia a un secreto (valueFrom)
    • name: el nombre de la variable de entorno. Para hacer referencia a todas las claves, ingrese sae-sys-secret-all-<nombre del secreto>, como sae-sys-secret-all-test1.

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

    • secretId: el ID del secreto.

    • key: la clave. No configure este campo si desea hacer referencia a todas las claves.

[ { "name": "sae-sys-configmap-all-hello", "valueFrom": { "configMapRef": { "configMapId": 100, "key": "" } } }, { "name": "hello", "valueFrom": { "configMapRef": { "configMapId": 101, "key": "php-fpm" } } }, { "name": "sae-sys-secret-all-hello", "valueFrom": { “secretRef": { “secretId": 100, "key": "" } } }, { "name": “password”, "valueFrom": { “secretRef": { “secretId": 101, "key": “password” } } }, { "name": "envtmp", "value": "newenv" } ]

CustomHostAlias

string

No

La asignación de host personalizada en el contenedor. Valores válidos:

  • 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 de inicio para una aplicación basada en paquetes JAR. El comando de inicio predeterminado es $JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs.

custom-option

JarStartArgs

string

No

Los argumentos de inicio para una aplicación basada en paquetes JAR. El comando de inicio predeterminado es $JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs.

-Xms4G -Xmx4G

Liveness

string

No

La verificación de estado del contenedor. Los contenedores que no superan la verificación de estado se apagan y se recuperan. Se admiten los siguientes métodos:

  • exec: por ejemplo, {"exec":{"command":["sh","-c","cat/home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}

  • httpGet: por ejemplo, {"httpGet":{"path":"/","port":18091,"scheme":"HTTP","isContainKeyWord":true,"keyWord":"SAE"},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}

  • tcpSocket: por ejemplo, {"tcpSocket":{"port":18091},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}

Nota

Solo se puede seleccionar un método para las verificaciones de estado.

Configuraciones:

  • exec.command: establece el comando de verificación de estado.

  • httpGet.path: la ruta de acceso.

  • httpGet.scheme: HTTP o HTTPS.

  • httpGet.isContainKeyWord: true indica que la palabra clave está incluida, false indica que la palabra clave no está incluida, y la ausencia de este campo indica que no se utiliza la función avanzada.

  • httpGet.keyWord: la palabra clave personalizada. El campo isContainKeyWord debe estar presente cuando se utiliza este parámetro.

  • tcpSocket.port: el puerto para la detección de conexiones TCP.

  • initialDelaySeconds: establece el retraso inicial para la verificación de estado. Valor predeterminado: 10. Unidad: segundos.

  • periodSeconds: establece el intervalo de la verificación de estado. Valor predeterminado: 30. Unidad: segundos.

  • timeoutSeconds: establece el periodo de tiempo de espera de la verificación de estado. Valor predeterminado: 1. Unidad: segundos. Si este parámetro se establece en 0 o no se configura, el periodo de tiempo de espera predeterminado es de 1 segundo.

{"exec":{"command":["sleep","5s"]},"initialDelaySeconds":10,"timeoutSeconds":11}

Readiness

string

No

La verificación del estado de inicio de la aplicación. Los contenedores que fallan en múltiples verificaciones de estado se apagan y se reinician. Los contenedores que no superan la verificación de estado no reciben tráfico del SLB. Se admiten los métodos exec, httpGet y tcpSocket. Para ver ejemplos específicos, consulte el parámetro Liveness.

Nota

Solo se puede seleccionar un método para las verificaciones de estado.

{"exec":{"command":["sleep","6s"]},"initialDelaySeconds":15,"timeoutSeconds":12}

MinReadyInstances

integer

No

El número mínimo de instancias disponibles. Valores válidos:

  • Si este parámetro se establece en 0, el servicio se interrumpe durante la actualización.

  • Si este parámetro se establece en -1, se utiliza el valor recomendado por el sistema, que es el 25% del número actual de instancias. Si el número actual de instancias es 5, 5 × 25% = 1.25, que se redondea hacia arriba a 2.

Nota

El número mínimo de instancias disponibles para cada despliegue continuo debe ser ≥ 1 para evitar la interrupción del servicio.

1

MinReadyInstanceRatio

integer

No

El porcentaje mínimo de instancias disponibles. Valores válidos:

  • -1: el valor de inicialización, que indica que no se utiliza el porcentaje.

  • 0~100: la unidad es porcentaje, redondeado hacia arriba. Por ejemplo, si este parámetro se establece en 50% y el número actual de instancias es 5, el número mínimo de instancias disponibles es 3.

Nota

Cuando se especifican tanto MinReadyInstance como MinReadyInstanceRatio y el valor de MinReadyInstanceRatio no es -1, el parámetro MinReadyInstanceRatio tiene prioridad. Por ejemplo, si MinReadyInstances se establece en 5 y MinReadyInstanceRatio se establece en 50, se utiliza el valor 50 para calcular el número mínimo de instancias disponibles.

-1

BatchWaitTime

integer

No

El intervalo entre lotes de despliegue. Unidad: segundos.

10

EdasContainerVersion

string

No

La versión del entorno de ejecución de la aplicación en el framework HSF, como el contenedor Ali-Tomcat.

3.5.3

UpdateStrategy

string

No

La política de despliegue. Cuando el número mínimo de instancias disponibles es 1, el valor del campo UpdateStrategy es "". Cuando el número mínimo de instancias disponibles es mayor que 1, los ejemplos son los siguientes:

  • Escala de grises de 1 instancia + 2 lotes subsiguientes + procesamiento por lotes automático + intervalo de lote de 1 minuto: {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}

  • Escala de grises de 1 instancia + 2 lotes subsiguientes + procesamiento por lotes manual: {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}

  • 2 lotes + procesamiento por lotes automático + intervalo de lote de 0 minutos: {"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}

Configuraciones:

  • type: el tipo de política de publicación. Valores válidos: GrayBatchUpdate (publicación en escala de grises) y BatchUpdate (publicación por lotes).

  • batchUpdate: la política de publicación por lotes.

    • batch: el número de lotes de publicación.

    • releaseType: el método de procesamiento entre lotes. Valores válidos: auto (automático) y manual (manual).

    • batchWaitTime: el intervalo entre lotes. Unidad: minutos.

  • grayUpdate: el número de instancias en escala de grises. Este parámetro es obligatorio cuando type se establece en GrayBatchUpdate.

{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}

SlsConfigs

string

No

La configuración para la recopilación de registros en Simple Log Service.

  • Utilice recursos de SLS creados automáticamente por Serverless App Engine: [{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}].

  • Utilice recursos de SLS personalizados: [{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}].

Configuraciones:

  • projectName: el nombre del proyecto en Simple Log Service.

  • logDir: la ruta del registro.

  • logType: el tipo de registro. stdout indica registros de salida estándar del contenedor, y solo se puede configurar una entrada. Si este parámetro no se establece, se recopilan registros de archivos.

  • logstoreName: el nombre del Logstore en Simple Log Service.

  • logtailName: el nombre del Logtail en Simple Log Service. Si este parámetro no se especifica, se crea un nuevo Logtail mediante creación automática.

Si la configuración de recopilación de SLS no ha cambiado durante múltiples despliegues, no necesita configurar este parámetro (es decir, no es necesario incluir el campo SlsConfigs en la solicitud). Si ya no necesita la función de recopilación de SLS, establezca el valor de este campo en una cadena vacía (es decir, establezca el valor del campo SlsConfigs en "" en la solicitud).

Nota

Un proyecto que se crea automáticamente con la aplicación se elimina cuando se elimina la aplicación. Por lo tanto, no seleccione un proyecto creado automáticamente por Serverless App Engine al seleccionar un proyecto existente.

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

Timezone

string

No

La zona horaria. Valor predeterminado: Asia/Shanghai.

Asia/Shanghai

NasId

string

No

No se recomienda configurar este campo. Configure NasConfigs en su lugar. El ID del sistema de archivos NAS. Si la configuración no ha cambiado durante el despliegue, no necesita configurar este parámetro (es decir, no es necesario incluir el campo NasId en la solicitud). Para borrar la configuración de NAS, establezca el valor de este campo en una cadena vacía (es decir, establezca el valor del campo NasId en "" en la solicitud).

10d3b4****

MountHost

string

No

No se recomienda configurar este campo. Configure NasConfigs en su lugar. El punto de montaje del sistema de archivos NAS en la VPC de la aplicación. Si la configuración no ha cambiado durante el despliegue, no necesita configurar este parámetro (es decir, no es necesario incluir el campo MountHost en la solicitud). Para borrar la configuración de NAS, establezca el valor de este campo en una cadena vacía (es decir, establezca el valor del campo MountHost en "" en la solicitud).

10d3b4bc9****.com

MountDesc

string

No

No se recomienda configurar este campo. Configure NasConfigs en su lugar. La descripción del montaje de NAS. Si la configuración no ha cambiado durante el despliegue, no necesita configurar este parámetro (es decir, no es necesario incluir el campo MountDesc en la solicitud). Para borrar la configuración de NAS, establezca el valor de este campo en una cadena vacía (es decir, establezca el valor del campo MountDesc en "" en la solicitud).

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

PostStart

string

No

El script que se ejecuta después de que se inicia el contenedor. Un script se activa inmediatamente después de crear el contenedor. Formato: {"exec":{"command":["sh","-c","echo hello"]}}.

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

PreStop

string

No

El script que se ejecuta antes de que se detenga el contenedor. Un script se activa antes de eliminar el contenedor. Formato: {"exec":{"command":["sh","-c","echo hello"]}}.

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

ChangeOrderDesc

string

No

La descripción de la orden de cambio.

Iniciar aplicación

WarStartOptions

string

No

El comando de inicio para desplegar una aplicación basada en paquetes WAR. El procedimiento de configuración es el mismo que para el comando de inicio de un despliegue basado en imágenes. Para obtener más información, consulte Configurar un comando de inicio.

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

AutoEnableApplicationScalingRule

boolean

No

Especifica si se debe habilitar automáticamente la política de escalado elástico de la aplicación. Valores válidos:

  • true: habilitado.

  • false: deshabilitado.

true

ConfigMapMountDesc

string

No

La descripción del montaje de ConfigMap. Utilice un ConfigMap creado en la página de elementos de configuración del espacio de nombres para inyectar información de configuración en el contenedor. Configuraciones:

  • configMapId: el ID de la instancia de ConfigMap. Puede obtenerlo llamando a la operación ListNamespacedConfigMaps.

  • key: la clave.

Nota

Puede montar todas las claves pasando el parámetro sae-sys-configmap-all.

  • mountPath: la ruta de montaje.

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

TerminationGracePeriodSeconds

integer

No

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

10

EnableAhas

string

No

Especifica si se debe habilitar Application High Availability Service (AHAS). Valores válidos:

  • true: habilita AHAS.

  • false: no habilita AHAS.

false

PhpArmsConfigLocation

string

No

La ruta de montaje para el monitoreo de aplicaciones PHP. Asegúrese de que el servidor PHP cargue el archivo de configuración desde esta ruta. No necesita administrar el contenido de la configuración porque Serverless App Engine genera automáticamente el archivo de configuración correcto.

/usr/local/etc/php/conf.d/arms.ini

PhpConfigLocation

string

No

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

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

PhpConfig

string

No

El contenido del archivo de configuración de PHP.

k1=v1

TomcatConfig

string

No

La configuración de Tomcat. Establezca este parámetro en "" o "{}" para eliminar la configuración. Valores válidos:

  • port: el número de puerto. Valores válidos: de 1024 a 65535. Los puertos menores que 1024 requieren permisos de root. Dado que el contenedor está configurado con permisos de administrador, especifique un puerto mayor que 1024. Valor predeterminado: 8080.

  • contextPath: la ruta de acceso. Valor predeterminado: directorio raíz "/".

  • maxThreads: el tamaño del pool de conexiones. Valor predeterminado: 400.

  • uriEncoding: el formato de codificación de Tomcat. Valores válidos: UTF-8, ISO-8859-1, GBK y GB2312. Valor predeterminado: ISO-8859-1.

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

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

OssMountDescs

string

No

La descripción de montaje de OSS. Configuraciones de parámetros:

  • bucketName: el nombre del bucket.

  • bucketPath: la carpeta u objeto que creó en OSS. Si la carpeta de montaje de OSS no existe, se activa una excepción.

  • mountPath: la ruta del contenedor en Serverless App Engine. Si la ruta ya existe, es una relación de sobrescritura. Si la ruta no existe, se crea.

  • readOnly: especifica si la ruta del contenedor tiene permiso de solo lectura sobre los recursos de la carpeta montada. Valores válidos:
    • true: permiso de solo lectura.

    • false: permiso de lectura y escritura.

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

OssAkId

string

No

El AccessKey ID para operaciones de lectura y escritura en OSS.

xxxxxx

OssAkSecret

string

No

El AccessKey Secret para operaciones de lectura y escritura en OSS.

xxxxxx

EnableGreyTagRoute

boolean

No

Especifica si se deben habilitar reglas de lanzamiento canary de tráfico. Esta regla solo se aplica a aplicaciones que utilizan el framework Spring Cloud o Dubbo. Valores válidos:

  • true: habilita las reglas de lanzamiento canary.

  • false: deshabilita las reglas de lanzamiento canary.

false

Php

string

No

La versión de PHP de la que depende el paquete de despliegue. No compatible con imágenes.

PHP-FPM 7.0

AcrInstanceId

string

No

El ID de la instancia Enterprise de Container Registry. Este parámetro es obligatorio cuando ImageUrl se establece en una imagen de instancia Enterprise de Container Registry.

cri-xxxxxx

AcrAssumeRoleArn

string

No

El ARN del rol de RAM necesario para la extracción de 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 de secreto correspondiente.

10

AssociateEip

boolean

No

Especifica si se debe asociar una dirección IP elástica (EIP). Valores válidos:

  • true: asocia una EIP.

  • false: no asocia una EIP.

true

KafkaConfigs

string

No

El resumen de las configuraciones de recopilación de registros para Kafka. Valores válidos:

  • kafkaEndpoint: el endpoint de la API de Kafka.

  • kafkaInstanceId: el ID de la instancia de Kafka.

  • kafkaConfigs: el resumen de configuración para una o más entradas de registro. Para valores de ejemplo y descripciones de parámetros, consulte el parámetro de solicitud kafkaConfigs en este tema.

{"kafkaEndpoint":"10.0.X.XXX:XXXX,10.0.X.XXX:XXXX,10.0.X.XXX:XXXX","kafkaInstanceId":"alikafka_pre-cn-7pp2l8kr****","kafkaConfigs":[{"logType":"file_log","logDir":"/tmp/a.log","kafkaTopic":"test2"},{"logType":"stdout","logDir":"","kafkaTopic":"test"}]}

PvtzDiscoverySvc

string

No

Habilita el registro y descubrimiento de servicios basado en K8s Service. Valores válidos:

  • portProtocols: el puerto y protocolo. Valores de puerto válidos: [1,65535]. Valores de protocolo válidos: TCP y UDP.

  • portAndProtocol: el puerto y protocolo. Valores de puerto válidos: [1,65535]. Valores de protocolo válidos: TCP y UDP. Se recomienda portProtocols. Si se establece portProtocols, solo portProtocols surte efecto.

  • enable: habilita el registro y descubrimiento de servicios basado en K8s Service.

{"portProtocols":[{"port":18012,"protocol":"TCP"}],"portAndProtocol":{"18012":"TCP"},"enable":true}

SwimlanePvtzDiscoverySvc

string

No

Configura el registro y descubrimiento de servicios basado en K8s Service con lanzamiento canary de extremo a extremo:

  • enable: especifica si se debe habilitar el lanzamiento canary de extremo a extremo basado en K8s Service.
    • true: habilitado.

    • false: deshabilitado.

  • namespaceId: el ID del espacio de nombres.

  • portAndProtocol: el puerto de escucha y protocolo. Formato: {"puerto:tipo de protocolo":"puerto del contenedor"}.

  • portProtocols: define el puerto y protocolo del servicio.
    • port: el puerto.

    • protocol: el protocolo.

    • targetPort: el puerto del contenedor.

  • pvtzDiscoveryName: el nombre de descubrimiento de servicio.

  • serviceId: el ID del servicio.

  • serviceName: el nombre del servicio.

{\"enable\":\"false\",\"namespaceId\":\"cn-beijing:test\",\"portAndProtocol\":{\"2000:TCP\":\"18081\"},\"portProtocols\":[{\"port\":2000,\"protocol\":\"TCP\",\"targetPort\":18081}],\"pvtzDiscoveryName\":\"cn-beijing-1421801774382676\",\"serviceId\":\"3513\",\"serviceName\":\"demo-gray.test\"}

MicroRegistration

string

No

Especifica el registro de Nacos. Valores válidos:

  • 0: Nacos integrado de Serverless App Engine.

  • 1: Nacos autogestionado.

  • 2: Nacos de edición comercial de Microservices Engine (MSE).

Nota

Si selecciona Nacos integrado de Serverless App Engine, no puede obtener la configuración del Nacos integrado.

"0"

MicroRegistrationConfig

string

No

La configuración de registro, que solo surte efecto cuando el tipo de registro es MSE Nacos Enterprise Edition.

{\"instanceId\":\"mse-cn-zvp2bh6h70r\",\"namespace\":\"4c0aa74f-57cb-423c-b6af-5d9f2d0e3dbd\"}

NasConfigs

string

No

La configuración de montaje de NAS. Valores válidos:

  • mountPath: la ruta de montaje del contenedor.

  • readOnly: establézcalo en false para permiso de lectura y escritura.

  • nasId: el ID de NAS.

  • mountDomain: la dirección del punto de montaje del contenedor. Para obtener más información, consulte DescribeMountTargets.

  • nasPath: el directorio de archivos relativo de NAS.

[{"mountPath":"/test1","readOnly":false,"nasId":"nasId1","mountDomain":"nasId1.cn-shenzhen.nas.aliyuncs.com","nasPath":"/test1"},{"nasId":"nasId2","mountDomain":"nasId2.cn-shenzhen.nas.aliyuncs.com","readOnly":false,"nasPath":"/test2","mountPath":"/test2"}]

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 de instalación personalizada. De forma predeterminada, se instalan las dependencias definidas en el archivo requirements.txt en la carpeta raíz. Si no hay dependencias configuradas o se necesitan paquetes personalizados, puede especificar las dependencias a instalar.

Flask==2.0

Dotnet

string

No

La versión del framework .NET:

  • .NET 3.1

  • .NET 5.0

  • .NET 6.0

  • .NET 7.0

  • .NET 8.0

.NET 3.1

Deploy

string

No

Este parámetro solo surte efecto para aplicaciones en estado detenido. Si llama a la operación DeployApplication para una aplicación en ejecución, la aplicación se vuelve a desplegar inmediatamente.

  • true: valor predeterminado. Despliega inmediatamente, aplica la nueva configuración de despliegue e inicia instancias.

  • false: aplica solo la nueva configuración de despliegue, sin iniciar instancias de la aplicación.

true

PackageType

string

No

El tipo de paquete de la aplicación. Valores válidos:

  • Cuando despliega con Java, se admiten los siguientes tipos: FatJar, War e Image.

  • Cuando despliega con PHP, se admiten los siguientes tipos:
    • PhpZip

    • IMAGE_PHP_5_4

    • IMAGE_PHP_5_4_ALPINE

    • IMAGE_PHP_5_5

    • IMAGE_PHP_5_5_ALPINE

    • IMAGE_PHP_5_6

    • IMAGE_PHP_5_6_ALPINE

    • IMAGE_PHP_7_0

    • IMAGE_PHP_7_0_ALPINE

    • IMAGE_PHP_7_1

    • IMAGE_PHP_7_1_ALPINE

    • IMAGE_PHP_7_2

    • IMAGE_PHP_7_2_ALPINE

    • IMAGE_PHP_7_3

    • IMAGE_PHP_7_3_ALPINE

  • Cuando despliega con Python, se admiten los siguientes tipos: PythonZip e Image.

FatJar

Cpu

integer

No

Los recursos de CPU necesarios para cada instancia. Unidad: milinúcleos. Este parámetro no se puede establecer en 0. Solo se admiten las siguientes especificaciones definidas:

  • 500

  • 1000

  • 2000

  • 4000

  • 8000

  • 12000

  • 16000

  • 32000

1000

Memory

integer

No

La memoria necesaria para cada instancia. Unidad: MB. Este parámetro no se puede establecer en 0. La memoria tiene una asignación uno a uno con la CPU. Solo se admiten las siguientes especificaciones definidas:

  • 1024: corresponde a 500 y 1000 milinúcleos de CPU.

  • 2048: corresponde a 500, 1000 y 2000 milinúcleos de CPU.

  • 4096: corresponde a 1000, 2000 y 4000 milinúcleos de CPU.

  • 8192: corresponde a 2000, 4000 y 8000 milinúcleos de CPU.

  • 12288: corresponde a 12000 milinúcleos de CPU.

  • 16384: corresponde a 4000, 8000 y 16000 milinúcleos de CPU.

  • 24576: corresponde a 12000 milinúcleos de CPU.

  • 32768: corresponde a 16000 milinúcleos de CPU.

  • 65536: corresponde a 8000, 16000 y 32000 milinúcleos de CPU.

  • 131072: corresponde a 32000 milinúcleos de CPU.

1024

Replicas

integer

No

El número de instancias.

1

SecurityGroupId

string

No

El ID del grupo de seguridad.

sg-wz969ngg2e49q5i4****

VSwitchId

string

No

El vSwitch donde residen los controladores de interfaz de red (NIC) de la instancia de la aplicación. El vSwitch debe estar en la VPC especificada.

vsw-bp12mw1f8k3jgygk9****

ServiceTags

string

No

Las etiquetas de lanzamiento canary configuradas para la aplicación.

{\"alicloud.service.tag\":\"g1\"}

EnableNewArms

boolean

No

Especifica si se debe habilitar la nueva función de ARMS:

  • true: habilitado.

  • false: deshabilitado.

true

EnableCpuBurst

boolean

No

Especifica si se debe habilitar la función CPU Burst:

  • true: habilitado.

  • false: deshabilitado.

true

OidcRoleName

string

No

El rol de RAM para la autenticación de identidad.

Nota

Cree un proveedor de identidad OIDC y un rol de proveedor de identidad en la misma región con anticipación. Para obtener más información, consulte Crear un proveedor de identidad OIDC y Crear un rol para proveedor de identidad SSO.

sae-test

SidecarContainersConfig

array

No

La configuración del contenedor sidecar.

SidecarContainerConfig

No

La configuración del contenedor sidecar.

SecretMountDesc

string

No

La descripción del montaje de Secret. Utilice un secreto creado en la página de secretos del espacio de nombres para inyectar información confidencial en el contenedor. Configuraciones:

  • secretId: el ID de la instancia de secreto. Puede obtenerlo llamando a la operación ListSecrets.

  • key: la clave.

Nota

Puede montar todas las claves pasando el parámetro sae-sys-secret-all.

  • mountPath: la ruta de montaje.

[{“secretId":10,”key":"test","mountPath":"/tmp"}]

EnableSidecarResourceIsolated

boolean

No

Especifica si se debe habilitar el aislamiento de recursos del sidecar:

  • true: habilita el aislamiento.

  • false: no habilita el aislamiento.

true

CustomImageNetworkType

string

No

El tipo de imagen personalizada. Si la imagen no es una imagen personalizada, establezca este parámetro en una cadena vacía:

  • internet: imagen pública.

  • intranet: imagen privada.

internet

MicroserviceEngineConfig

string

No

Configura la gobernanza de microservicios.

  • Especifica si se debe habilitar la gobernanza de microservicios (enable):

    • true: habilitado.

    • false: deshabilitado.

  • Configura la conexión y desconexión sin pérdidas (mseLosslessRule):

    • delayTime: el tiempo de retraso.

    • enable: especifica si se debe habilitar la función de conexión sin pérdidas. true indica habilitado y false indica deshabilitado.

    • notice: especifica si se debe habilitar la función de notificación. true indica habilitado y false indica deshabilitado.

    • warmupTime: la duración del calentamiento para escenarios de bajo tráfico. Unidad: segundos.

{"enable": true,"mseLosslessRule": {"delayTime": 0,"enable": false,"notice": false,"warmupTime": 120}}

NewSaeVersion

string

No

La versión de la aplicación:

  • lite: edición lite.

  • std: edición estándar.

  • pro: edición profesional.

pro

InitContainersConfig

array

No

La configuración del contenedor de inicialización.

InitContainerConfig

No

La configuración del contenedor de inicialización.

GpuConfig

string

No

StartupProbe

string

No

Habilita la sonda de inicio de la aplicación.

  • Verificación exitosa: indica que la aplicación se inició correctamente. Si configuró las verificaciones de Liveness y Readiness, estas se realizan después de que la aplicación se inicia correctamente.

  • Verificación fallida: indica que la aplicación no se pudo iniciar. Se reporta una excepción y la aplicación se reinicia automáticamente.

Nota

Este es el contenido de la descripción.

  • Se admiten los métodos exec, httpGet y tcpSocket. Para ejemplos específicos, consulte el parámetro Liveness.

  • Solo se puede seleccionar un método para las verificaciones de estado.

{"exec":{"command":["sh","-c","cat /home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}

EnablePrometheus

boolean

No

Especifica si se debe habilitar la recopilación de métricas personalizadas de Prometheus.

false

Html

string

No

La versión de Nginx.

  • nginx 1.20

  • nginx 1.22

  • nginx 1.24

  • nginx 1.26

  • nginx 1.28

nginx 1.28

EmptyDirDesc

string

No

La configuración de almacenamiento efímero compartido.

[{\"name\":\"workdir\",\"mountPath\":\"/usr/local/tomcat/webapps\"}]

AlbIngressReadinessGate

string

No

La configuración de ReadinessGate de la puerta de enlace ALB.

default

MaxSurgeInstances

integer

No

El número máximo de instancias adicionales. Valores válidos:

Si el número mínimo de instancias disponibles es del 100%, el valor máximo de instancias adicionales no se puede establecer en 0. Si este parámetro se establece en -1, se utiliza el valor recomendado por el sistema del 30%, que corresponde al 30% del número actual de instancias. Por ejemplo, si el número actual de instancias es 10, el valor es 10 × 30% = 3.

-1

MaxSurgeInstanceRatio

integer

No

El porcentaje máximo de instancias adicionales. Valores válidos:

Si el número mínimo de instancias disponibles es del 100%, el valor máximo de instancias adicionales no se puede establecer en 0. Si este parámetro se establece en -1, se utiliza el valor recomendado por el sistema del 30%, que corresponde al 30% del número actual de instancias. Por ejemplo, si el número actual de instancias es 10, el valor es 10 × 30% = 3.

-1

AgentVersion

string

No

La versión de AliyunAgent.

4.4.2

EnableNamespaceAgentVersion

boolean

No

Especifica si se debe reutilizar la configuración de versión del Agent del espacio de nombres.

true

SlsLogEnvTags

string

No

Etiquetas de registro de SLS.

LokiConfigs

string

No

Labels

object

No

string

No

RaspConfig

object

No

EnableRasp

boolean

No

RaspAppName

string

No

RaspAppKey

string

No

Elementos de la respuesta

Elemento

Tipo

Descripción

Ejemplo

object

La información de la aplicación desplegada.

RequestId

string

El ID de la solicitud.

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

Message

string

La información adicional. Valores válidos:

  • Si la solicitud es exitosa, se devuelve success.

  • Si la solicitud falla, se devuelve un código de error específico.

success

TraceId

string

El ID de rastreo, que se utiliza para consultar los detalles de una solicitud.

ac1a0b2215622246421415014e****

Data

object

El resultado devuelto.

ChangeOrderId

string

El ID de orden de cambio devuelto, que se utiliza para consultar el estado de ejecución de la tarea.

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

AppId

string

El ID de la aplicación.

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

IsNeedApproval

boolean

Indica si el cambio publicado por un usuario de Resource Access Management (RAM) requiere aprobación. Valores válidos:

  • true: se requiere aprobación.

  • false: no se requiere aprobación.

true

ErrorCode

string

El código de error. Valores válidos:

  • Si la solicitud es exitosa, no se devuelve el campo ErrorCode.

  • Si la solicitud falla, se devuelve el campo ErrorCode. Para obtener más información, consulte la sección Códigos de error en este tema.

空

Code

string

El estado de la API o el código de error POP. Valores válidos:

  • 2xx: éxito.

  • 3xx: redirección.

  • 4xx: error de solicitud.

  • 5xx: error del servidor.

200

Success

boolean

Indica si el despliegue de la aplicación fue exitoso. Valores válidos:

  • true: el despliegue fue exitoso.

  • false: el despliegue falló.

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****",
    "IsNeedApproval": true
  },
  "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.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 MinReadyInstanceRatio.Invalid The ratio of minimum available instances must be between 0 and 100.
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.
400 InvalidParameter.FileName The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). For deploying java package, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only. For deploying php package, you can upload ZIP files only if the selected deployment version supports ZIP file.
400 Sls.Logtail.Name.Invalid The specified name of Logtail is invalid. The Logtail name must not contain the prefix sae-.
400 InvalidImageUrl.MissingAcrInstanceId The specified domain of ImageUrl is from ACREE, but you are not specified AcrInstanceId.
400 EnvFromSecretIdConflict.AlreadyExist The specified SecretId [%s] already exist in the specified Envs.
400 MountConflict.Secret Conflict detected for Secret path %s. Secret mount path% s has conflict.
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.