Cria um modelo de tarefa.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
sae:CreateJob |
create |
*All Resource
|
Nenhuma | Nenhuma |
Sintaxe da solicitação
POST /pop/v1/sam/job/createJob HTTP/1.1
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| AppName |
string |
Sim |
O nome do modelo de tarefa. O nome pode conter letras, dígitos e hifens (-). Deve começar com uma letra e ter no máximo 36 caracteres. |
test |
| NamespaceId |
string |
Não |
O ID do namespace do SAE. O nome do namespace pode conter apenas letras minúsculas e hifens (-) e deve começar com uma letra. |
cn-beijing:test |
| AppDescription |
string |
Não |
A descrição do modelo de tarefa. Não pode exceder 1.024 caracteres. |
This is a test description. |
| VpcId |
string |
Não |
O ID da VPC para o namespace do SAE. No SAE, um namespace pode ser vinculado a apenas uma VPC, e esse vínculo não pode ser alterado. O vínculo é estabelecido quando você cria o primeiro modelo de tarefa do SAE no namespace. Uma única VPC pode ser associada a vários namespaces. Se você não especificar este parâmetro, o ID da VPC vinculada ao namespace será usado por padrão. |
vpc-bp1aevy8sofi8mh1q**** |
| VSwitchId |
string |
Não |
O ID do vSwitch para a interface de rede elástica da instância de tarefa. O vSwitch deve estar localizado na VPC especificada. O vSwitch também está vinculado ao namespace do SAE. Se você não especificar este parâmetro, o ID do vSwitch vinculado ao namespace será usado por padrão. |
vsw-bp12mw1f8k3jgygk9**** |
| PackageType |
string |
Sim |
O tipo do pacote de implantação. Valores válidos:
|
FatJar |
| PackageVersion |
string |
Não |
A versão do pacote de implantação. Este parâmetro é obrigatório quando PackageType é 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 quando PackageType é 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 quando PackageType é definido como Image. |
registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1 |
| Jdk |
string |
Não |
A versão do JDK exigida pelo pacote de implantação. As seguintes versões são suportadas:
Este parâmetro não é suportado quando PackageType é definido como Image. |
Open JDK 8 |
| WebContainer |
string |
Não |
A versão do Tomcat exigida pelo pacote de implantação. As seguintes versões são suportadas:
Este parâmetro não é suportado quando PackageType é definido como Image. |
apache-tomcat-7.0.91 |
| Cpu |
integer |
Não |
A CPU necessária para cada instância, em milicores. Este valor não pode ser 0. Atualmente, apenas as seguintes especificações fixas são suportadas:
|
1000 |
| Memory |
integer |
Não |
A memória necessária para cada instância, em MB. Este valor não pode ser 0. As especificações de CPU e memória são acopladas. Atualmente, as seguintes especificações são suportadas:
|
1024 |
| Replicas |
integer |
Sim |
O número de instâncias de tarefa simultâneas. |
3 |
| Command |
string |
Não |
O comando de ponto de entrada para o contêiner. O comando deve ser um executável dentro do contêiner. Exemplo:
Para o exemplo anterior, Command="echo", CommandArgs=["abc", ">", "file0"]. |
echo |
| CommandArgs |
string |
Não |
Argumentos para o comando de ponto de entrada (Command). O formato é o seguinte: |
["a","b"] |
| Envs |
string |
Não |
Variáveis de ambiente a serem definidas no contêiner. Para referenciar variáveis, o ConfigMap já deve existir. Para mais informações, consulte CreateConfigMap. O valor pode ser configurado de uma das seguintes maneiras:
|
[{"name":"envtmp","value":"0"}] |
| CustomHostAlias |
string |
Não |
O alias de host que mapeia um nome de host para um endereço IP no contêiner. Os parâmetros são descritos da seguinte forma:
|
[{"hostName":"samplehost","ip":"127.0.0.1"}] |
| JarStartOptions |
string |
Não |
As opções de inicialização para o pacote JAR. O comando de inicialização padrão é: $JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs. |
custom-option |
| JarStartArgs |
string |
Não |
Os argumentos de inicialização para o pacote JAR. O comando de inicialização padrão é: $JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs. |
-Xms4G -Xmx4G |
| EdasContainerVersion |
string |
Não |
A versão do ambiente de tempo de execução HSF para a tarefa, como um contêiner Ali-Tomcat. |
3.5.3 |
| Timezone |
string |
Não |
O fuso horário. Valor padrão: Asia/Shanghai. |
Asia/Shanghai |
| SlsConfigs |
string |
Não |
A configuração para coleta de logs no Simple Log Service (SLS).
Os parâmetros são descritos da seguinte forma:
Se a configuração de coleta de logs não mudar durante as implantações subsequentes, você não precisa definir este parâmetro (a solicitação não precisa incluir o campo SlsConfigs). Se você não precisar mais usar o recurso de coleta de logs, defina o valor deste parâmetro como uma string vazia ("") em sua solicitação. Nota
O SAE exclui um projeto que criou automaticamente quando você exclui o modelo de tarefa correspondente. Portanto, se você especificar um projeto existente, não use um que foi criado automaticamente pelo SAE. |
[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}] |
| NasId |
string |
Não |
O ID do sistema de arquivos NAS. Se esta configuração não mudar nas implantações subsequentes, você pode omitir este parâmetro. Para limpar a configuração do NAS, defina este parâmetro como uma string vazia (""). |
10d3b4**** |
| MountHost |
string |
Não |
O destino de montagem do NAS na VPC do modelo de tarefa. Se esta configuração não mudar nas implantações subsequentes, você pode omitir este parâmetro. Para limpar a configuração do NAS, defina este parâmetro como uma string vazia (""). |
10d3b4bc9****.com |
| MountDesc |
string |
Não |
A descrição da montagem do NAS. Se esta configuração não mudar nas implantações subsequentes, você pode omitir este parâmetro. Para limpar a configuração do NAS, defina este parâmetro como uma string vazia (""). |
[{mountPath: "/tmp", nasPath: "/"}] |
| PreStop |
string |
Não |
Um hook PreStop. Este script é executado imediatamente antes de o contêiner ser parado. O valor deve ser uma string JSON, por exemplo: {"exec":{"command":["sh","-c","echo hello"]}} |
{"exec":{"command":["sh","-c","echo hello"]}} |
| PostStart |
string |
Não |
Um hook PostStart. Este script é executado imediatamente após a criação do contêiner. O valor deve ser uma string JSON, por exemplo: {"exec":{"command":["sh","-c","echo hello"]}} |
{"exec":{"command":["sh","-c","echo hello"]}} |
| WarStartOptions |
string |
Não |
O comando de inicialização para uma implantação de pacote WAR. As etapas de configuração são as mesmas de uma implantação baseada em 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 montagem do ConfigMap. Use um ConfigMap criado no namespace para injetar configurações no contêiner. Os parâmetros são descritos da seguinte forma:
Nota
Você pode passar o parâmetro sae-sys-configmap-all para montar todas as chaves.
|
[{"configMapId":16,"key":"test","mountPath":"/tmp"}] |
| SecurityGroupId |
string |
Não |
O ID do grupo de segurança. |
sg-wz969ngg2e49q5i4**** |
| AutoConfig |
boolean |
Não |
Especifica se o ambiente de rede deve ser configurado automaticamente. Valores válidos:
|
false |
| TerminationGracePeriodSeconds |
integer |
Não |
O tempo limite de desligamento graceful, em segundos. O valor deve ser um número inteiro de 1 a 300. Padrão: 30. |
10 |
| PhpConfigLocation |
string |
Não |
O caminho de montagem do arquivo de configuração de inicialização para uma tarefa PHP. Você deve garantir que o servidor PHP use este arquivo de configuração na inicialização. |
/usr/local/etc/php/php.ini |
| PhpConfig |
string |
Não |
O conteúdo do arquivo de configuração do PHP. |
k1=v1 |
| TomcatConfig |
string |
Não |
A configuração do Tomcat. Para excluir a configuração, defina este parâmetro como "" ou {}. Os parâmetros são descritos da seguinte forma:
|
{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true} |
| OssMountDescs |
string |
Não |
A descrição da montagem do Object Storage Service (OSS). Os parâmetros são descritos da seguinte forma:
|
[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}] |
| OssAkId |
string |
Não |
O AccessKey ID para leitura e gravação no OSS. |
xxxxxx |
| OssAkSecret |
string |
Não |
O AccessKey secret para leitura e gravação no OSS. |
xxxxxx |
| AcrInstanceId |
string |
Não |
O ID da instância do Container Registry (ACR) Enterprise Edition. Este parâmetro é obrigatório quando ImageUrl aponta para uma imagem em uma instância do ACR Enterprise Edition. |
cri-xxxxxx |
| AcrAssumeRoleArn |
string |
Não |
O Alibaba Cloud Resource Name (ARN) da função RAM necessária para realizar pull de imagens entre contas. Para mais informações, consulte Conceder permissões para realizar pull de imagens entre contas da Alibaba Cloud usando uma função RAM. |
acs:ram::123456789012****:role/adminrole |
| ImagePullSecrets |
string |
Não |
O ID do secret usado para realizar o pull da imagem. |
10 |
| EnableImageAccl |
boolean |
Não |
Especifica se a aceleração de imagem deve ser ativada. Valores válidos:
|
false |
| Workload |
string |
Sim |
A carga de trabalho. Defina o valor como job. |
job |
| TriggerConfig |
string |
Não |
A configuração do gatilho da tarefa, que varia de acordo com o tipo de tarefa.
|
{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"} |
| ConcurrencyPolicy |
string |
Não |
A política de simultaneidade para a tarefa. Valores válidos:
|
Allow |
| Timeout |
integer |
Não |
O tempo limite da tarefa, em segundos. |
3600 |
| BackoffLimit |
integer |
Não |
O número máximo de tentativas para uma tarefa antes que ela seja marcada como falha. |
3 |
| Slice |
boolean |
Não |
Especifica se o sharding de tarefas deve ser ativado. |
true |
| SliceEnvs |
string |
Não |
Os parâmetros para o sharding de tarefas. |
[0,1,2] |
| RefAppId |
string |
Não |
O ID da tarefa referenciada. |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| ProgrammingLanguage |
string |
Não |
A linguagem de programação. Valores válidos: 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 |
Dependências do Python a serem instaladas usando o pip. Se você não definir este parâmetro, o SAE instalará as dependências do arquivo 'requirements.txt' no diretório raiz do seu projeto. |
Flask==2.0 |
| NasConfigs |
string |
Não |
As configurações para montar um sistema de arquivos NAS. |
|
| BestEffortType |
string |
Não |
A política BestEffort. |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
Detalhes do modelo de tarefa criado. |
||
| RequestId |
string |
O ID da solicitação. |
01CF26C7-00A3-4AA6-BA76-7E95F2A3*** |
| Message |
string |
Informações adicionais. Valores válidos:
|
success |
| TraceId |
string |
O ID de rastreamento da chamada. Você pode usar este ID para consultar informações detalhadas sobre a chamada. |
ac1a0b2215622246421415014e**** |
| Data |
object |
Os dados retornados. |
|
| ChangeOrderId |
string |
O ID da ordem de alteração. Você pode usar este ID para verificar o status de execução da tarefa. |
01db03d3-3ee9-48b3-b3d0-dfce2d88**** |
| AppId |
string |
O ID do modelo de tarefa. |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| ErrorCode |
string |
O código de erro.
|
|
| Code |
string |
O código de status HTTP ou um código de erro POP. Valores válidos:
|
200 |
| Success |
boolean |
Indica se o modelo de tarefa foi criado com sucesso. Valores válidos:
|
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 | 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 Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.