Esta operación crea una plantilla de trabajo.
Pruébelo ahora
Test
Autorización de RAM
|
Action |
Nivel de acceso |
Tipo de recurso |
Clave de condición |
Acción dependiente |
|
sae:CreateJob |
create |
*All Resource
|
Ninguna | Ninguna |
Sintaxis de la solicitud
POST /pop/v1/sam/job/createJob HTTP/1.1
Parámetros de la solicitud
|
Parámetro |
Tipo |
Obligatorio |
Descripción |
Ejemplo |
| AppName |
string |
Sí |
El nombre de la plantilla de trabajo. El nombre puede contener letras, dígitos y guiones (-). Debe comenzar con una letra y no exceder los 36 caracteres. |
test |
| NamespaceId |
string |
No |
El ID del espacio de nombres de SAE. El nombre del espacio de nombres solo puede contener letras minúsculas y guiones (-), y debe comenzar con una letra. |
cn-beijing:test |
| AppDescription |
string |
No |
La descripción de la plantilla de trabajo. No puede exceder los 1,024 caracteres. |
Esta es una descripción de prueba |
| VpcId |
string |
No |
El ID de la VPC para el espacio de nombres de SAE. En SAE, un espacio de nombres solo se puede vincular a una VPC, y esta vinculación no se puede modificar. La vinculación se establece cuando crea la primera plantilla de trabajo de SAE en el espacio de nombres. Una sola VPC se puede asociar con múltiples espacios de nombres. Si no especifica este parámetro, se utiliza de forma predeterminada el ID de la VPC vinculada al espacio de nombres. |
vpc-bp1aevy8sofi8mh1q**** |
| VSwitchId |
string |
No |
El ID del vSwitch para la interfaz de red elástica de la instancia de tarea. El vSwitch debe estar ubicado en la VPC especificada. El vSwitch también está vinculado al espacio de nombres de SAE. Si no especifica este parámetro, se utiliza de forma predeterminada el ID del vSwitch vinculado al espacio de nombres. |
vsw-bp12mw1f8k3jgygk9**** |
| PackageType |
string |
Sí |
El tipo de paquete de despliegue. Valores válidos:
|
FatJar |
| PackageVersion |
string |
No |
La versión del paquete de despliegue. Este parámetro es obligatorio cuando PackageType se establece en FatJar, War o PythonZip. |
1.0.1 |
| PackageUrl |
string |
No |
La URL del paquete de despliegue. Este parámetro es obligatorio cuando PackageType se establece 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 cuando PackageType se establece en Image. |
registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1 |
| Jdk |
string |
No |
La versión de JDK que requiere el paquete de despliegue. Se admiten las siguientes versiones:
Este parámetro no se admite cuando PackageType se establece en Image. |
Open JDK 8 |
| WebContainer |
string |
No |
La versión de Tomcat que requiere el paquete de despliegue. Se admiten las siguientes versiones:
Este parámetro no se admite cuando PackageType se establece en Image. |
apache-tomcat-7.0.91 |
| Cpu |
integer |
No |
La CPU requerida para cada instancia, en milinúcleos. Este valor no puede ser 0. Actualmente solo se admiten las siguientes especificaciones fijas:
|
1000 |
| Memory |
integer |
No |
La memoria requerida para cada instancia, en MB. Este valor no puede ser 0. Las especificaciones de CPU y memoria están acopladas. Actualmente se admiten las siguientes especificaciones:
|
1024 |
| Replicas |
integer |
Sí |
El número de instancias de tarea concurrentes. |
3 |
| Command |
string |
No |
El comando de punto de entrada para el contenedor. El comando debe ser un ejecutable dentro del contenedor. Ejemplo:
Para el ejemplo anterior, |
echo |
| CommandArgs |
string |
No |
Argumentos para el comando de punto de entrada (Command). El formato es el siguiente:
En el ejemplo del parámetro |
["a","b"] |
| Envs |
string |
No |
Variables de entorno para configurar en el contenedor. Para hacer referencia a variables, el ConfigMap ya debe existir. Para obtener más información, consulte CreateConfigMap. El valor se puede configurar de una de las siguientes maneras:
|
[{"name":"envtmp","value":"0"}] |
| CustomHostAlias |
string |
No |
El alias de host que asigna un nombre de host a una dirección IP en el contenedor. Los parámetros se describen a continuación:
|
[{"hostName":"samplehost","ip":"127.0.0.1"}] |
| JarStartOptions |
string |
No |
Las opciones de inicio para el paquete JAR. El comando de inicio predeterminado es: |
custom-option |
| JarStartArgs |
string |
No |
Los argumentos de inicio para el paquete JAR. El comando de inicio predeterminado es: |
-Xms4G -Xmx4G |
| EdasContainerVersion |
string |
No |
La versión del entorno de ejecución HSF para la tarea, como un contenedor Ali-Tomcat. |
3.5.3 |
| Timezone |
string |
No |
La zona horaria. Valor predeterminado: Asia/Shanghai. |
Asia/Shanghai |
| SlsConfigs |
string |
No |
La configuración para recopilar registros en Simple Log Service (SLS).
Los parámetros se describen a continuación:
Si la configuración de recopilación de registros no cambia durante los despliegues posteriores, no necesita establecer este parámetro (la solicitud no necesita incluir el campo SlsConfigs). Si ya no necesita usar la función de recopilación de registros, establezca el valor de este parámetro en una cadena vacía ("") en su solicitud. Nota
SAE elimina un proyecto que creó automáticamente cuando elimina la plantilla de trabajo correspondiente. Por lo tanto, si especifica un proyecto existente, no utilice uno que haya sido creado automáticamente por SAE. |
[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}] |
| NasId |
string |
No |
El ID del sistema de archivos NAS. Si esta configuración no cambia en despliegues posteriores, puede omitir este parámetro. Para borrar la configuración de NAS, establezca este parámetro en una cadena vacía (""). |
10d3b4**** |
| MountHost |
string |
No |
El destino de montaje de NAS en la VPC de la plantilla de trabajo. Si esta configuración no cambia en despliegues posteriores, puede omitir este parámetro. Para borrar la configuración de NAS, establezca este parámetro en una cadena vacía (""). |
10d3b4bc9****.com |
| MountDesc |
string |
No |
La descripción del montaje de NAS. Si esta configuración no cambia en despliegues posteriores, puede omitir este parámetro. Para borrar la configuración de NAS, establezca este parámetro en una cadena vacía (""). |
[{mountPath: "/tmp", nasPath: "/"}] |
| PreStop |
string |
No |
Un gancho PreStop. Este script se ejecuta inmediatamente antes de que se detenga el contenedor. El valor debe ser una cadena JSON, por ejemplo: |
{"exec":{"command":["sh","-c","echo hello"]}} |
| PostStart |
string |
No |
Un gancho PostStart. Este script se ejecuta inmediatamente después de que se crea el contenedor. El valor debe ser una cadena JSON, por ejemplo: |
{"exec":{"command":["sh","-c","echo hello"]}} |
| WarStartOptions |
string |
No |
El comando de inicio para un despliegue de paquete WAR. Los pasos de configuración son los mismos que para un despliegue basado en imágenes. 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 del montaje de ConfigMap. Utilice un ConfigMap creado en el espacio de nombres para inyectar configuraciones en el contenedor. Los parámetros se describen a continuación:
Nota
Puede pasar el parámetro
|
[{"configMapId":16,"key":"test","mountPath":"/tmp"}] |
| SecurityGroupId |
string |
No |
El ID del grupo de seguridad. |
sg-wz969ngg2e49q5i4**** |
| AutoConfig |
boolean |
No |
Especifica si se debe configurar automáticamente el entorno de red. Valores válidos:
|
false |
| TerminationGracePeriodSeconds |
integer |
No |
El tiempo de espera para el apagado graceful, en segundos. El valor debe ser un número entero de 1 a 300. Valor predeterminado: 30. |
10 |
| PhpConfigLocation |
string |
No |
La ruta de montaje del archivo de configuración de inicio para una tarea PHP. Debe asegurarse de que el servidor PHP utilice este archivo de configuración al iniciarse. |
/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. Para eliminar la configuración, establezca este parámetro en
|
{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true} |
| OssMountDescs |
string |
No |
La descripción del montaje de Object Storage Service (OSS). Los parámetros se describen a continuación:
|
[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}] |
| OssAkId |
string |
No |
El AccessKey ID para leer y escribir en OSS. |
xxxxxx |
| OssAkSecret |
string |
No |
El AccessKey secret para leer y escribir en OSS. |
xxxxxx |
| AcrInstanceId |
string |
No |
El ID de la instancia de Container Registry (ACR) Enterprise Edition. Este parámetro es obligatorio cuando ImageUrl apunta a una imagen en una instancia de ACR 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 para extraer imágenes entre cuentas de Alibaba Cloud mediante un rol de RAM. |
acs:ram::123456789012****:role/adminrole |
| ImagePullSecrets |
string |
No |
El ID del secreto utilizado para extraer la imagen. |
10 |
| EnableImageAccl |
boolean |
No |
Especifica si se debe habilitar la aceleración de imágenes. Valores válidos:
|
false |
| Workload |
string |
Sí |
La carga de trabajo. Establezca el valor en |
job |
| TriggerConfig |
string |
No |
La configuración del disparador de tareas, que varía según el tipo de tarea.
|
{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"} |
| ConcurrencyPolicy |
string |
No |
La política de concurrencia para la tarea. Valores válidos:
|
Allow |
| Timeout |
integer |
No |
El tiempo de espera de la tarea, en segundos. |
3600 |
| BackoffLimit |
integer |
No |
El número máximo de reintentos para una tarea antes de que se marque como fallida. |
3 |
| Slice |
boolean |
No |
Especifica si se debe habilitar la fragmentación de tareas. |
true |
| SliceEnvs |
string |
No |
Los parámetros para la fragmentación de tareas. |
[0,1,2] |
| RefAppId |
string |
No |
El ID del trabajo referenciado. |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| ProgrammingLanguage |
string |
No |
El lenguaje de programación. Valores válidos: java, php, python y shell. |
java |
| Python |
string |
No |
El entorno Python. Se admite PYTHON 3.9.15. |
PYTHON 3.9.15 |
| PythonModules |
string |
No |
Dependencias de Python para instalar mediante pip. Si no establece este parámetro, SAE instala las dependencias desde el archivo 'requirements.txt' en el directorio raíz de su proyecto. |
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 |
Detalles de la plantilla de trabajo creada. |
||
| RequestId |
string |
El ID de la solicitud. |
01CF26C7-00A3-4AA6-BA76-7E95F2A3*** |
| Message |
string |
Información adicional. Valores válidos:
|
success |
| TraceId |
string |
El ID de seguimiento de la llamada. Puede utilizar este ID para consultar información detallada sobre la llamada. |
ac1a0b2215622246421415014e**** |
| Data |
object |
Los datos devueltos. |
|
| ChangeOrderId |
string |
El ID de la orden de cambio. Puede utilizar este ID para verificar el estado de ejecución de la tarea. |
01db03d3-3ee9-48b3-b3d0-dfce2d88**** |
| AppId |
string |
El ID de la plantilla de trabajo. |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| ErrorCode |
string |
El código de error.
|
|
| Code |
string |
El código de estado HTTP o un código de error POP. Valores válidos:
|
200 |
| Success |
boolean |
Indica si la plantilla de trabajo se creó correctamente. Valores válidos:
|
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 | 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 | JarApplication.MissingJdk | A FatJar application must contain JDK. | |
| 400 | NoAvailableCluster.NotFound | No clusters are available for the current region. | |
| 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 | InvalidParameter.WithMessage | The parameter is invalid {%s}: %s | |
| 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 | InvalidServerlessRegion.Unsupported | The current region is not supported: %s | |
| 400 | WarApplication.MissingJdkWebcontainer | A War application must contain JDK and Tomcat. | |
| 400 | InvalidNamespace.WithUppercase | This namespace does not support creating SAE apps because it contains uppercase letters. | |
| 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 | vswitch.not.exist | The specified VSwitch does not exist. | |
| 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 | 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 | 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 | 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 | Associate.Eip.Not.Enough | No sufficient EIPs are available. | |
| 404 | InvalidNamespaceId.NotFound | The specified NamespaceId does not exist. | |
| 404 | InvalidVpcId.NotFound | The specified VpcId does not exist. | |
| 404 | InvalidAcrInstanceId.NotFound | The specified AcrInstanceId does not exist. |
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.