Chama a API UpdateJob para atualizar um modelo de job.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
sae:UpdateJob |
update |
*All Resource
|
Nenhuma | Nenhuma |
Sintaxe da solicitação
POST /pop/v1/sam/job/updateJob HTTP/1.1
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| AppId |
string |
Sim |
O ID do modelo de job a ser atualizado. |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| Jdk |
string |
Não |
A versão do Java Development Kit (JDK) da qual o pacote de implantação depende. As seguintes versões são suportadas:
Este parâmetro não é suportado quando Package Type está definido como Image. |
Open JDK 8 |
| WebContainer |
string |
Não |
A versão do Tomcat da qual o pacote de implantação depende. As seguintes versões são suportadas:
Este parâmetro não é suportado quando Package Type está definido como Image. |
apache-tomcat-7.0.91 |
| PackageVersion |
string |
Não |
A versão do pacote de implantação. Este parâmetro é obrigatório se Package Type estiver definido como FatJar, War ou PythonZip. |
1.0.1 |
| PackageUrl |
string |
Não |
A URL do pacote de implantação. Este parâmetro é obrigatório se Package Type estiver definido como FatJar, War ou PythonZip. |
http://myoss.oss-cn-hangzhou.aliyuncs.com/my-buc/2019-06-30/****.jar |
| ImageUrl |
string |
Não |
A URL da imagem. Este parâmetro é obrigatório se Package Type estiver definido como Image. |
registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1 |
| Command |
string |
Não |
O comando de inicialização da imagem. O comando deve ser um objeto executável que existe no contêiner. Exemplo:
Neste exemplo, |
echo |
| CommandArgs |
string |
Não |
Os argumentos do Command de inicialização da imagem. O valor deve ser um array JSON convertido em string. Formato:
No exemplo anterior, |
["a","b"] |
| Envs |
string |
Não |
As variáveis de ambiente do contêiner. Você pode personalizar variáveis de ambiente ou referenciar variáveis de um ConfigMap. Para referenciar um ConfigMap, você deve primeiro criar uma instância de ConfigMap. Para mais informações, consulte CreateConfigMap. O valor é uma string JSON. Os seguintes campos são suportados:
|
[{"name":"envtmp","value":"0"}] |
| CustomHostAlias |
string |
Não |
O mapeamento personalizado entre um hostname e um endereço IP no contêiner. O valor é uma string JSON. Os seguintes campos são suportados:
|
[{"hostName":"samplehost","ip":"127.0.0.1"}] |
| JarStartOptions |
string |
Não |
As opções do pacote JAR para iniciar a aplicação. O comando de inicialização padrão da aplicação é: |
custom-option |
| JarStartArgs |
string |
Não |
Os argumentos do pacote JAR para iniciar a aplicação. O comando de inicialização padrão da aplicação é: |
-Xms4G -Xmx4G |
| EdasContainerVersion |
string |
Não |
A versão do ambiente de execução da aplicação no High-speed Service Framework (HSF), como um contêiner Ali-Tomcat. |
3.5.3 |
| SlsConfigs |
string |
Não |
As configurações de coleta de logs para o Log Service.
Os seguintes campos são suportados:
Se a configuração do SLS não for alterada durante uma implantação, você não precisa configurar este parâmetro. Para parar de usar o recurso de coleta de logs, defina o valor deste parâmetro como uma string vazia ( Nota
Projetos criados automaticamente com um modelo de job são excluídos quando o modelo de job é excluído. Portanto, ao selecionar um projeto existente, não selecione um projeto criado automaticamente pelo SAE. |
[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}] |
| Timezone |
string |
Não |
O fuso horário. Valor padrão: Asia/Shanghai. |
Asia/Shanghai |
| NasId |
string |
Não |
O ID do sistema de arquivos Apsara File Storage NAS. Se as configurações não forem alteradas durante uma implantação, você não precisa configurar este parâmetro. Para limpar as configurações do NAS, defina o valor deste parâmetro como uma string vazia ( |
10d3b4**** |
| MountHost |
string |
Não |
O destino de montagem do sistema de arquivos NAS na virtual private cloud (VPC) onde o modelo de job está localizado. Se as configurações não forem alteradas durante uma implantação, você não precisa configurar este parâmetro. Para limpar as configurações do NAS, defina o valor deste parâmetro como uma string vazia ( |
10d3b4bc9****.com |
| MountDesc |
string |
Não |
A descrição da montagem do NAS. Se as configurações não forem alteradas durante uma implantação, você não precisa configurar este parâmetro. Para limpar as configurações do NAS, defina o valor deste parâmetro como uma string vazia ( |
[{mountPath: "/tmp", nasPath: "/"}] |
| PostStart |
string |
Não |
O script que é executado após o contêiner ser iniciado. Exemplo: |
{"exec":{"command":["sh","-c","echo hello"]}} |
| PreStop |
string |
Não |
O script que é executado antes do contêiner ser parado. Exemplo: |
{"exec":{"command":["sh","-c","echo hello"]}} |
| WarStartOptions |
string |
Não |
O comando de inicialização para a aplicação implantada em um pacote WAR. O procedimento é o mesmo que o de configuração do comando de inicialização para uma imagem. Para mais informações, consulte Definir um comando de inicialização. |
CATALINA_OPTS=\"$CATALINA_OPTS $Options\" catalina.sh run |
| ConfigMapMountDesc |
string |
Não |
A descrição da instância de ConfigMap montada no contêiner. Você pode usar a instância de ConfigMap criada na página de Configurações de Namespace para injetar configurações no contêiner. O valor é uma string JSON. Os seguintes campos são suportados:
Nota
Você pode passar o parâmetro
|
[{"configMapId":16,"key":"test","mountPath":"/tmp"}] |
| TerminationGracePeriodSeconds |
integer |
Não |
O período de timeout de encerramento gracioso. Valor padrão: 30. Unidade: segundos. Valores válidos: 1 a 300. |
10 |
| PhpConfigLocation |
string |
Não |
O caminho no qual o arquivo de configuração de inicialização da aplicação PHP é montado. Certifique-se de que o servidor PHP use este arquivo de configuração para iniciar a aplicação. |
/usr/local/etc/php/php.ini |
| PhpConfig |
string |
Não |
O conteúdo do arquivo de configuração PHP. |
k1=v1 |
| TomcatConfig |
string |
Não |
As configurações do arquivo Tomcat. Se você definir este parâmetro como "" ou "{}", as configurações serão excluídas. O valor é uma string JSON. Os seguintes campos são suportados:
|
{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true} |
| OssMountDescs |
string |
Não |
A descrição da montagem do OSS. O valor é uma string JSON. Os seguintes parâmetros são suportados:
|
[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}] |
| OssAkId |
string |
Não |
O AccessKey ID usado para ler e gravar dados no OSS. |
xxxxxx |
| OssAkSecret |
string |
Não |
O AccessKey secret usado para ler e gravar dados no OSS. |
xxxxxx |
| Php |
string |
Não |
O ID da instância do Container Registry Enterprise Edition. |
cri-xxxxxx |
| AcrInstanceId |
string |
Não |
O ID da instância do Container Registry Enterprise Edition. Este parâmetro é obrigatório se ImageUrl estiver definido como uma imagem em uma instância do Container Registry Enterprise Edition. |
cri-xxxxxx |
| AcrAssumeRoleArn |
string |
Não |
O Alibaba Cloud Resource Name (ARN) da função RAM necessária para puxar imagens entre contas. Para mais informações, consulte Conceder permissões entre contas Alibaba Cloud usando uma função RAM. |
acs:ram::123456789012****:role/adminrole |
| ImagePullSecrets |
string |
Não |
O ID do secret. |
10 |
| EnableImageAccl |
boolean |
Não |
Especifica se a aceleração de imagem deve ser ativada. |
|
| TriggerConfig |
string |
Não |
A configuração de trigger. Configure este parâmetro com base no tipo de job.
|
{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"} |
| ConcurrencyPolicy |
string |
Não |
A política de execução de jobs concorrentes. Valores válidos:
|
Allow |
| Timeout |
integer |
Não |
O período de timeout para o job. Unidade: segundos. |
3600 |
| BackoffLimit |
integer |
Não |
O número de tentativas para o job. |
3 |
| Slice |
boolean |
Não |
Ativa o sharding de job. |
true |
| SliceEnvs |
string |
Não |
Os parâmetros para sharding de job. |
[0,1,2] |
| Replicas |
string |
Não |
O número de instâncias concorrentes para o job. |
3 |
| RefAppId |
string |
Não |
O ID da aplicação referenciada. |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| ProgrammingLanguage |
string |
Não |
A linguagem de programação. Valores suportados: java, php, python e shell. |
java |
| Python |
string |
Não |
O ambiente Python. PYTHON 3.9.15 é suportado. |
PYTHON 3.9.15 |
| PythonModules |
string |
Não |
As dependências de módulos personalizados. Por padrão, as dependências definidas no arquivo requirements.txt no diretório raiz do pacote são instaladas. Se você não configurar este parâmetro ou o pacote não tiver um arquivo requirements.txt, você pode especificar as dependências que deseja instalar. |
Flask==2.0 |
| NasConfigs |
string |
Não |
As configurações de montagem de um sistema de arquivos NAS. |
|
| BestEffortType |
string |
Não |
A política BestEffort. |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
Informações sobre o modelo de job atualizado. |
||
| RequestId |
string |
O ID da solicitação. |
01CF26C7-00A3-4AA6-BA76-7E95F2A3*** |
| Message |
string |
A mensagem de resposta.
|
success |
| TraceId |
string |
O ID de rastreamento que você pode usar para consultar os detalhes de uma solicitação. |
ac1a0b2215622246421415014e**** |
| Data |
object |
Os dados retornados. |
|
| ChangeOrderId |
string |
O ID da ordem de alteração. Você pode usar este ID para consultar o status de execução do job. |
01db03d3-3ee9-48b3-b3d0-dfce2d88**** |
| AppId |
string |
O ID do modelo de job. |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| ErrorCode |
string |
|
|
| Code |
string |
O código de status HTTP.
|
200 |
| Success |
boolean |
Indica se o modelo de job foi atualizado. 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 | InvalidApplication.NotFound | The current application does not exist. | |
| 400 | InvalidComponent.NotFound | The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist. | |
| 400 | InvalidHostnameIp.Invalid | The hostname and/or IP is invalid: Hostname [%s], IP [%s]. | |
| 400 | InvalidInstanceSpecification.Unsupported | The instance specification is not supported: CPU [%s], memory [%s]. | |
| 400 | InvalidPackageType.NotFound | The package type must be War, FatJar, or Image. | |
| 400 | InvalidParameter.FileName | The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). In addition, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only. | |
| 400 | InvalidParameter.NotEmpty | You must specify the parameter %s. | |
| 400 | InvalidParameter.Obviously | The specified parameter is invalid {%s}. | |
| 400 | InvalidParameter.WithMessage | The parameter is invalid {%s}: %s | |
| 400 | JarApplication.MissingJdk | A FatJar application must contain JDK. | |
| 400 | NoComputeResourceQuota.Exceed | Your compute resource is insufficient. Please contact us to raise the quota. | |
| 400 | PandoraApplication.MissingJdk | The Pandora application is missing a JDK component. | |
| 400 | PandoraApplication.OnlyJdk | A Pandora application only requires JDK component. | |
| 400 | WarApplication.MissingJdkWebcontainer | A War application must contain JDK and Tomcat. | |
| 400 | LogService.ConfigQuotaExceed | The maximum number of Log Service configs is exceeded. | The maximum number of Log Service configs is exceeded, please join the DingTalk group 32874633 for technical support. |
| 400 | LogService.InternalError | An exception occurred while calling Log Service. Please submit a ticket to solve the problem. | An exception occurred while calling log service. please join the DingTalk group 32874633 for technical support. |
| 400 | LogService.LogDirInvalid | The log collection path is invalid. | The log collection path is invalid. |
| 400 | LogService.NotAvailable | Log Service is unavailable. Please activate Log Service first. | The log service is not available. Please open the log service first. |
| 400 | LogService.ProjectNumQuotaExceed | The maximum number of Log Service projects is exceeded. | The maximum number of Log Service projects is exceeded, please join the DingTalk group 32874633 for technical support. |
| 400 | user.indebt | The user has an outstanding payment. | |
| 400 | NoComputeResourceQuota.App.Exceed | You can create %s instances for each application. Please submit a ticket to raise the quota. | You can create %s instances for each application. please join the DingTalk group 32874633 for technical support. |
| 400 | NoComputeResourceQuota.User.Exceed | Your account is limited to create %s instances. Please submit a ticket to raise the quota. | Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support. |
| 400 | System.Upgrading | The system is being upgraded. Please try again later. | |
| 400 | VolumnPath.Conflict | Conflict between log collection directory and persistent storage directory. | Conflict between log collection directory and persistent storage directory. |
| 400 | Application.ChangerOrderRunning | An application change process is in progress. Please try again later. | An application change process is in progress. Please try again later. |
| 400 | Application.InvalidStatus | The application status is abnormal. Please try again later. | The application status is abnormal. Please try again later. |
| 400 | MountConflict.ConfigMap | Conflict detected for ConfigMap path %s. | |
| 400 | NotFound.ConfigMap | The ConfigMap object (ID: %s) does not exist. | |
| 400 | NotFound.ConfigMapKey | The key %s of ConfigMap object (ID: %s) does not exist. | |
| 400 | Package.Version.Too.Long | The maximum length of package version is exceeded. | This package version is too long. |
| 400 | App.Package.Version.Exists | The package version of application already exists. | The package version of application already exists. |
| 400 | Slb.Occupied | The SLB instance is occupied. | This SLB is occupied. |
| 400 | Slb.Tag.Not.Qualified | The current SLB instance cannot be reused because it may have been occupied by %s. | The current SLB instance cannot be reused because it may have been occupied by %s. |
| 400 | MinReadyInstances.Not.Smaller.Replicas | The minimum number of available instances must be less than the number of application instances. | The minimum number of available instances must be less than the number of application instances. |
| 400 | BatchWaitTime.Not.Smaller.Zero | BatchWaitTime must not be smaller than zero. | BatchWaitTime must not be smaller than zero. |
| 400 | Sls.Config.Mixed.Multi.Project | The specified Config contains multiple projects. | |
| 400 | Sls.Config.User.Defined.Missing.Logstore.Info | The specified Config is invalid. Both Project and Logstore must be specified. | |
| 400 | Sls.Config.User.Defined.Missing.Project.Info | The specified Config is invalid. Both Project and Logstore must be specified. | |
| 400 | Sls.Logstore.Name.Invalid | The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-". | |
| 400 | Sls.Logstore.User.Defined.Not.Exist | The user defined Logstore does not exist. | |
| 400 | Sls.Project.Name.Invalid | The specified project name is invalid. The project name must not contain the prefix "sae-". | |
| 400 | Sls.Project.User.Defined.Not.Exist | The user defined project does not exist. | |
| 400 | Sae.Errorcode.Ahas.Create.Error.Message | Failed to create AHAS. | |
| 400 | InvalidImageUrl.AcrInstanceId.Domain.NotMatch | The specified domain of ImageUrl does not match AcrInstanceId domains. | |
| 400 | PhpApplication.MissingPhpRuntime | A PHP application must contain PHP Runtime. | |
| 404 | InvalidNamespaceId.NotFound | The specified NamespaceId does not exist. | |
| 404 | InvalidAcrInstanceId.NotFound | The specified AcrInstanceId does not exist. | |
| 404 | Associate.Eip.Not.Enough | No sufficient EIPs are available. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.