Todos os produtos
Search
Central de documentação

Serverless App Engine:DeployApplication

Última atualização: Oct 21, 2026

Implanta um aplicativo.

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

A tabela abaixo descreve a autorização necessária para chamar esta API. Você pode defini-la em uma política do Resource Access Management (RAM). As colunas da tabela estão detalhadas abaixo:

  • Ação: As ações que podem ser usadas no elemento Action das instruções de política de permissão do RAM para conceder permissões para executar a operação.

  • API: A API que você pode chamar para executar a ação.

  • Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.

  • Tipo de recurso: O tipo de recurso que suporta autorização para executar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.

    • Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o Nome de Recurso Alibaba Cloud (ARN) correspondente no elemento Resource da política.

    • Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento Resource da política.

  • Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se somente a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, o Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços compatíveis com RAM.

  • Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para executar todas as ações dependentes.

Ação

Nível de acesso

Tipo de recurso

Chave de condição

Ação dependente

sae:DeployApplication

update

*Todos os recursos.

*

Nenhuma Nenhuma

Sintaxe da solicitação

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

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

AppId

string

Sim

O ID do aplicativo a ser implantado.

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

Jdk

string

Não

A versão do JDK exigida pelo pacote de deploy. 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 não é suportado quando Tipo de pacote está definido como Image.

Open JDK 8

WebContainer

string

Não

A versão do Tomcat exigida pelo pacote de deploy. Valores válidos:

  • apache-tomcat-7.0.91

  • apache-tomcat-8.5.42

Este parâmetro não é suportado quando Tipo de pacote está definido como Image.

apache-tomcat-7.0.91

PackageVersion

string

Não

O número da versão do pacote de deploy. Este parâmetro é obrigatório quando Tipo de pacote está definido como FatJar, War ou PythonZip.

1.0.1

PackageUrl

string

Não

A URL do pacote de deploy. Este parâmetro é obrigatório quando Tipo de pacote está 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 Tipo de pacote está 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 exista no contêiner. Exemplo:

command:
      - echo
      - abc
      - >
      - file0

Com base no exemplo anterior, Command="echo" e CommandArgs=["abc", ">", "file0"].

echo

CommandArgs

string

Não

Os argumentos para o comando de inicialização da imagem. Estes são os argumentos exigidos pelo comando de inicialização Command. Formato:

["a","b"]

No exemplo anterior, CommandArgs=["abc", ">", "file0"]. A parte ["abc", ">", "file0"] deve ser convertida em uma string no formato de array JSON. Se este parâmetro não for necessário, deixe-o vazio.

["a","b"]

Envs

string

Não

As variáveis de ambiente para o contêiner. Você pode especificar variáveis de ambiente personalizadas ou referenciar ConfigMaps. Para referenciar um ConfigMap, você deve criar uma instância de ConfigMap primeiro. Para mais informações, consulte CreateConfigMap. Valores válidos:

  • Variáveis de ambiente personalizadas
    • name: o nome da variável de ambiente.

    • value: o valor da variável de ambiente. Este parâmetro tem uma prioridade maior que valueFrom.

  • Referenciar um ConfigMap (valueFrom)
    • name: o nome da variável de ambiente. Você pode referenciar uma única chave ou todas as chaves. Para referenciar todas as chaves, insira sae-sys-configmap-all-<nome do ConfigMap>, como sae-sys-configmap-all-test1.

    • valueFrom: a referência da variável de ambiente. Defina o valor como configMapRef.

    • configMapId: o ID do ConfigMap.

    • key: a chave. Se você referenciar todos os pares chave-valor, não defina este campo.

  • Referenciar um secret (valueFrom)
    • name: o nome da variável de ambiente. Você pode referenciar uma única chave ou todas as chaves. Para referenciar todas as chaves, insira sae-sys-secret-all-<nome do secret>, como sae-sys-secret-all-test1.

    • valueFrom: a referência da variável de ambiente. Defina o valor como secretRef.

    • secretId: o ID do secret.

    • key: a chave. Se você referenciar todos os pares chave-valor, não defina este campo.

[ { "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

Não

Os mapeamentos de host personalizados no contêiner. Valores válidos:

  • hostName: o nome de domínio ou nome do host.

  • ip: o endereço IP.

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

JarStartOptions

string

Não

As opções de inicialização para o pacote JAR. 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. Comando de inicialização padrão: $JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs.

-Xms4G -Xmx4G

Liveness

string

Não

A sonda de atividade para o contêiner. Contêineres que falham na verificação de integridade são encerrados e recuperados. Valores válidos:

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

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

  • tcpSocket: Exemplo: {"tcpSocket":{"port":18091},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}.

Nota

Você pode selecionar apenas um método para a verificação de integridade.

Descrição do parâmetro:

  • exec.command: Configurações para o comando de verificação de integridade.

  • httpGet.path: o caminho de acesso.

  • httpGet.scheme: HTTP ou HTTPS.

  • httpGet.isContainKeyWord: true indica que a palavra-chave está incluída, e false indica que a palavra-chave não está incluída. Se este campo estiver ausente, o recurso avançado não é usado.

  • httpGet.keyWord: a palavra-chave personalizada. O campo isContainKeyWord é obrigatório quando este campo é usado.

  • tcpSocket.port: a porta para detecção de conexão TCP.

  • initialDelaySeconds: Configurações para o tempo de detecção de atraso da verificação de integridade. Valor padrão: 10. Unidade: segundos.

  • periodSeconds: Configurações para a época da verificação de integridade. Valor padrão: 30. Unidade: segundos.

  • timeoutSeconds: Configurações para o tempo de espera de timeout da verificação de integridade. Valor padrão: 1. Unidade: segundos. Se este parâmetro for definido como 0 ou não for definido, o tempo de espera de timeout padrão é de 1 segundo.

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

Readiness

string

Não

A sonda de prontidão para o aplicativo. Contêineres que falham em várias verificações de integridade são parados e reiniciados. O tráfego da instância SLB não é roteado para contêineres que falham na verificação de integridade. Os métodos exec, httpGet e tcpSocket são suportados. Para exemplos específicos, consulte o parâmetro Liveness.

Nota

Você pode selecionar apenas um método para a verificação de integridade.

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

MinReadyInstances

integer

Não

O número mínimo de instâncias prontas. Valores válidos:

  • Se você definir este parâmetro como 0, os serviços serão interrompidos durante a atualização do aplicativo.

  • Se você definir este parâmetro como -1, o valor recomendado pelo sistema será usado, que é 25% do número atual de instâncias. Por exemplo, se o número atual de instâncias for 5, 5 × 25% = 1,25. Após o arredondamento para cima, o número mínimo de instâncias prontas é 2.

Nota

Defina o número mínimo de instâncias prontas com um valor maior ou igual a 1 para cada implantação gradual para garantir a continuidade do serviço.

1

MinReadyInstanceRatio

integer

Não

A porcentagem do número mínimo de instâncias prontas. Valores válidos:

  • -1: o valor inicial, que indica que a porcentagem não é usada.

  • 0~100: a porcentagem, arredondada para cima. Por exemplo, se você definir este parâmetro como 50 e o número atual de instâncias for 5, o número mínimo de instâncias prontas será 3.

Nota

Quando MinReadyInstance e MinReadyInstanceRatio são passados e o valor de MinReadyInstanceRatio não é -1, o parâmetro MinReadyInstanceRatio prevalece. Por exemplo, se MinReadyInstances estiver definido como 5 e MinReadyInstanceRatio estiver definido como 50, 50 será usado para calcular o número mínimo de instâncias prontas.

-1

BatchWaitTime

integer

Não

O intervalo entre os lotes de deploy. Unidade: segundos.

10

EdasContainerVersion

string

Não

A versão do ambiente de execução do aplicativo na estrutura HSF, como o contêiner Ali-Tomcat.

3.5.3

UpdateStrategy

string

Não

A política de deploy. Quando o número mínimo de instâncias prontas é 1, o valor do campo UpdateStrategy é "". Quando o número mínimo de instâncias prontas é maior que 1, os exemplos são os seguintes:

  • 1 instância em escala de cinza + 2 lotes subsequentes + lotes automáticos + intervalo de 1 minuto entre lotes: {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}

  • 1 instância em escala de cinza + 2 lotes subsequentes + lotes manuais: {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}

  • 2 lotes + lotes automáticos + intervalo de 0 minuto entre lotes: {"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}

Descrição do parâmetro:

  • type: o tipo de política de publicação. Valores válidos: GrayBatchUpdate para publicação em escala de cinza e BatchUpdate para publicação em lotes.

  • batchUpdate: a política de publicação em lotes.

    • batch: o número de lotes de publicação.

    • releaseType: o método de processamento entre lotes. Valores válidos: auto para automático e manual para manual.

    • batchWaitTime: o intervalo entre lotes. Unidade: minutos.

  • grayUpdate: o número de instâncias em escala de cinza. Este parâmetro é obrigatório quando type está definido como GrayBatchUpdate.

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

SlsConfigs

string

Não

As configurações para coleta de logs no Simple Log Service (SLS).

  • Use recursos do SLS criados automaticamente pelo SAE: [{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}].

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

Descrição do parâmetro:

  • projectName: o nome do projeto do SLS.

  • logDir: o caminho do log.

  • logType: o tipo de log. stdout indica logs de saída padrão do contêiner. Você pode definir apenas 1 log de saída padrão. Se este parâmetro não for definido, os logs de arquivo serão coletados.

  • logstoreName: o nome do Logstore do SLS.

  • logtailName: o nome do Logtail do SLS. Se este parâmetro não for especificado, um novo Logtail será criado.

Se as configurações de coleta do SLS permanecerem inalteradas durante vários deploys, você não precisa definir este parâmetro. Ou seja, você não precisa incluir o campo SlsConfigs na solicitação. Se você não precisar mais do recurso de coleta do SLS, deverá definir o valor deste campo como uma string vazia na solicitação. Ou seja, defina o campo SlsConfigs como "".

Nota

Os projetos que são criados automaticamente com o aplicativo são excluídos quando o aplicativo é excluído. Portanto, ao selecionar um projeto existente, você não pode selecionar um projeto que foi 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

Este campo não é recomendado. Configure NasConfigs em vez disso. O ID do sistema de arquivos NAS. Se as configurações permanecerem inalteradas durante o deploy, você não precisa definir este parâmetro. Ou seja, você não precisa incluir o campo NasId na solicitação. Se você precisar limpar as configurações do NAS, deverá definir o valor deste campo como uma string vazia na solicitação. Ou seja, defina o campo NasId como "".

10d3b4****

MountHost

string

Não

Este campo não é recomendado. Configure NasConfigs em vez disso. O destino de montagem do sistema de arquivos NAS na VPC do aplicativo. Se as configurações permanecerem inalteradas durante o deploy, você não precisa definir este parâmetro. Ou seja, você não precisa incluir o campo MountHost na solicitação. Se você precisar limpar as configurações do NAS, deverá definir o valor deste campo como uma string vazia na solicitação. Ou seja, defina o campo MountHost como "".

10d3b4bc9****.com

MountDesc

string

Não

Este campo não é recomendado. Configure NasConfigs em vez disso. A descrição da montagem do NAS. Se as configurações permanecerem inalteradas durante o deploy, você não precisa definir este parâmetro. Ou seja, você não precisa incluir o campo MountDesc na solicitação. Se você precisar limpar as configurações do NAS, deverá definir o valor deste campo como uma string vazia na solicitação. Ou seja, defina o campo MountDesc como "".

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

PostStart

string

Não

O script a ser executado após a inicialização do contêiner. Um script é acionado imediatamente após a criação do contêiner. Formato: {"exec":{"command":["sh","-c","echo hello"]}}.

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

PreStop

string

Não

O script a ser executado antes da parada do contêiner. Um script é acionado antes da exclusão do contêiner. Formato: {"exec":{"command":["sh","-c","echo hello"]}}.

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

ChangeOrderDesc

string

Não

A descrição da ordem de mudança.

Start application

WarStartOptions

string

Não

O comando de inicialização para o aplicativo implantado usando um pacote WAR. O procedimento é o mesmo para configurar o comando de inicialização para deploy de imagem. Para mais informações, consulte Configure a startup command.

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

AutoEnableApplicationScalingRule

boolean

Não

Especifica se a política de dimensionamento elástico para o aplicativo é ativada automaticamente. Valores válidos:

  • true: ativa a política.

  • false: desativa.

true

ConfigMapMountDesc

string

Não

A descrição da montagem do ConfigMap. Usa o item de configuração criado na página de itens de configuração do namespace para injetar informações de configuração no contêiner. Descrição do parâmetro:

  • configMapId: o ID da instância da instância do ConfigMap. Você pode invocar a operação ListNamespacedConfigMaps para obter o ID da instância.

  • key: o valor da chave.

Nota

Você pode montar todas as chaves passando o parâmetro sae-sys-configmap-all.

  • mountPath: o caminho de montagem.

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

TerminationGracePeriodSeconds

integer

Não

O período de timeout para desligamento graceful. Valor padrão: 30. Unidade: segundos. Valores válidos: 1 a 300.

10

EnableAhas

string

Não

Especifica se deve se conectar ao AHAS. Valores válidos:

  • true: conecta ao AHAS.

  • false: não se conecta ao AHAS.

false

PhpArmsConfigLocation

string

Não

O caminho de montagem para monitoramento de aplicativos PHP. Você deve garantir que o servidor PHP carregue o arquivo de configuração neste caminho. Você não precisa se preocupar com o conteúdo da configuração. O SAE renderiza automaticamente o arquivo de configuração correto.

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

PhpConfigLocation

string

Não

O caminho de montagem para a configuração de inicialização do aplicativo PHP. Você deve garantir que o servidor PHP use este arquivo de configuração para iniciar.

/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 arquivo Tomcat. Defina o valor como "" ou "{}" para excluir a configuração. Valores válidos:

  • port: o intervalo de portas é de 1024 a 65535. Portas menores que 1024 requerem permissões de root. Como o contêiner é configurado com permissões de administrador, especifique uma porta maior que 1024. Se este parâmetro não for configurado, o valor padrão é 8080.

  • contextPath: o caminho de acesso. Valor padrão: o diretório raiz "/".

  • maxThreads: o número máximo de conexões no pool de conexões. Valor padrão: 400.

  • uriEncoding: o formato de codificação do Tomcat. Valores válidos: UTF-8, ISO-8859-1, GBK e GB2312. Se este parâmetro não for definido, o valor padrão é ISO-8859-1.

  • useBodyEncodingForUri: especifica se deve usar BodyEncoding for URL. Valor padrão: true.

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

OssMountDescs

string

Não

A descrição da montagem do OSS. Descrição do parâmetro:

  • bucketName: o nome do bucket.

  • bucketPath: a pasta ou objeto que você criou no OSS. Se a pasta de montagem do OSS não existir, uma exceção será acionada.

  • mountPath: o caminho do contêiner no SAE. Se o caminho já existir, é uma relação de sobrescrita. Se o caminho não existir, ele será criado.

  • readOnly: especifica se o caminho do contêiner tem permissões de leitura nos recursos do diretório de montagem. Valores válidos:
    • true: permissões somente leitura.

    • false: permissões de leitura e gravação.

[{"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 do OSS.

xxxxxx

OssAkSecret

string

Não

O AccessKey Secret usado para ler e gravar dados do OSS.

xxxxxx

EnableGreyTagRoute

boolean

Não

Especifica se devem ser ativadas as regras de liberação canário para tráfego. Esta regra se aplica apenas a aplicativos que usam as estruturas Spring Cloud e Dubbo. Valores válidos:

  • true: ativa as regras de liberação canário.

  • false: desativa as regras de liberação canário.

false

Php

string

Não

A versão do PHP exigida pelo pacote de deploy PHP. Imagens não são suportadas.

PHP-FPM 7.0

AcrInstanceId

string

Não

O ID da instância do ACR Enterprise. Este parâmetro é obrigatório quando ImageUrl está definido como uma imagem de instância do ACR Enterprise.

cri-xxxxxx

AcrAssumeRoleArn

string

Não

O ARN da função do RAM necessária para realizar pull de imagens entre contas. Para mais informações, consulte Use RAM roles to authorize access across Alibaba Cloud accounts.

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

ImagePullSecrets

string

Não

O ID do secret correspondente.

10

AssociateEip

boolean

Não

Especifica se deve associar um elastic IP address (EIP). Valores válidos:

  • true: associa um EIP.

  • false: não associa um EIP.

true

KafkaConfigs

string

Não

O resumo das configurações para coleta de logs no Kafka. Valores válidos:

  • kafkaEndpoint: o endereço de registro de serviço da API do Kafka.

  • kafkaInstanceId: o ID da instância do Kafka.

  • kafkaConfigs: o resumo das configurações para um ou mais logs. Para valores de exemplo e descrição de parâmetros, consulte o parâmetro de solicitação kafkaConfigs neste tópico.

{"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

Não

Ativa o registro e a descoberta de serviços para Kubernetes Services. Valores válidos:

  • portProtocols: a porta e o protocolo. Valores válidos para a porta: 1 a 65535. Valores válidos para o protocolo: TCP e UDP.

  • portAndProtocol: a porta e o protocolo. Valores válidos para a porta: 1 a 65535. Valores válidos para o protocolo: TCP e UDP. Use portProtocols em vez disso. Se portProtocols estiver definido, apenas portProtocols terá efeito.

  • enable: ativa o registro e a descoberta de serviços para Kubernetes Services.

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

SwimlanePvtzDiscoverySvc

string

Não

Configura o registro e a descoberta de serviços e a liberação canário de ponta a ponta com base em Kubernetes Services:

  • enable: especifica se deve ativar o recurso de liberação canário de ponta a ponta com base em Kubernetes Services.
    • true: ativa o recurso.

    • false: desativa o recurso.

  • namespaceId: o ID do namespace.

  • portAndProtocol: a porta de escuta e o protocolo. Formato: {"port:protocol type":"container port"}.

  • portProtocols: define a porta e o protocolo do serviço.
    • port: a porta.

    • protocol: o protocolo.

    • targetPort: a porta do contêiner.

  • pvtzDiscoveryName: nome do serviço da descoberta de serviço.

  • serviceId: o ID do serviço.

  • serviceName: nome do serviço do serviço.

{\"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

Não

O registro do Nacos. Valores válidos:

  • 0: o Nacos integrado do SAE.

  • 1: um Nacos autogerenciado.

  • 2: Microservices Engine (MSE) Nacos Commercial Edition.

Nota

Se você selecionar o Nacos integrado do SAE, não poderá obter as configurações do Nacos integrado.

"0"

MicroRegistrationConfig

string

Não

As configurações de registro. Este parâmetro só entra em vigor quando o tipo de registro é MSE Nacos Enterprise Edition.

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

NasConfigs

string

Não

As configurações para montar um sistema de arquivos NAS. Valores válidos:

  • mountPath: o caminho de montagem no contêiner.

  • readOnly: Um valor false indica permissões de leitura e gravação.

  • nasId: o ID do sistema de arquivos NAS.

  • mountDomain: o endereço de destino de montagem do contêiner. Para mais informações, consulte DescribeMountTargets.

  • nasPath: o diretório de arquivo relativo do sistema de arquivos 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

Não

O ambiente Python. PYTHON 3.9.15 é suportado.

PYTHON 3.9.15

PythonModules

string

Não

As dependências do módulo de instalação personalizada. Por padrão, as dependências definidas no arquivo requirements.txt na pasta raiz são instaladas. Se este parâmetro não for configurado ou se um pacote de software personalizado for usado, você pode especificar as dependências a serem instaladas.

Flask==2.0

Dotnet

string

Não

A versão da estrutura .NET. Valores válidos:

  • .NET 3.1

  • .NET 5.0

  • .NET 6.0

  • .NET 7.0

  • .NET 8.0

.NET 3.1

Deploy

string

Não

Este parâmetro só entra em vigor para aplicativos no estado parado. Se um aplicativo em execução chamar a operação DeployApplication, o aplicativo será imediatamente reimplementado. Valores válidos:

  • true: o valor padrão. Implanta o aplicativo imediatamente, aplica as novas configurações de deploy e inicia as instâncias imediatamente.

  • false: aplica apenas as novas configurações de deploy sem iniciar as instâncias do aplicativo.

true

PackageType

string

Não

O tipo de pacote do aplicativo. Valores válidos:

  • Se você usar Java para o deploy, os valores válidos são FatJar, War e Image.

  • Se você usar PHP para o deploy, os valores válidos são:
    • 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

  • Se você usar Python para o deploy, os valores válidos são PythonZip e Image.

FatJar

Cpu

integer

Não

A CPU necessária para cada instância. Unidade: milicores. O valor não pode ser 0. Apenas as seguintes especificações definidas são suportadas:

  • 500

  • 1000

  • 2000

  • 4000

  • 8000

  • 12000

  • 16000

  • 32000

1000

Memory

integer

Não

A memória necessária para cada instância. Unidade: MB. O valor não pode ser 0. A memória tem um mapeamento um para um com a CPU. Apenas as seguintes especificações definidas são suportadas:

  • 1024: corresponde a 500 e 1000 milicores.

  • 2048: corresponde a 500, 1000 e 2000 milicores.

  • 4096: corresponde a 1000, 2000 e 4000 milicores.

  • 8192: corresponde a 2000, 4000 e 8000 milicores.

  • 12288: corresponde a 12000 milicores.

  • 16384: corresponde a 4000, 8000 e 16000 milicores.

  • 24576: corresponde a 12000 milicores.

  • 32768: corresponde a 16000 milicores.

  • 65536: corresponde a 8000, 16000 e 32000 milicores.

  • 131072: corresponde a 32000 milicores.

1024

Replicas

integer

Não

O número de instâncias.

1

SecurityGroupId

string

Não

O ID do grupo de segurança.

sg-wz969ngg2e49q5i4****

VSwitchId

string

Não

O vSwitch onde reside o controlador de interface de rede (NIC) da instância do aplicativo. O vSwitch deve estar localizado na VPC mencionada anteriormente.

vsw-bp12mw1f8k3jgygk9****

ServiceTags

string

Não

As tags canário configuradas para o aplicativo.

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

EnableNewArms

boolean

Não

Especifica se devem ser ativados os novos recursos do ARMS. Valores válidos:

  • true: ativa os recursos.

  • false: desativa os recursos.

true

EnableCpuBurst

boolean

Não

Especifica se deve ser ativado o recurso CPU Burst. Valores válidos:

  • true: ativa o recurso.

  • false: desativa o recurso.

true

OidcRoleName

string

Não

A função do RAM para o serviço de autenticação de identidade.

Nota

Você deve criar um provedor de identidade OIDC e uma função de provedor de identidade na mesma região com antecedência. Para mais informações, consulte Create an OIDC identity provider e Create an IdP for role-based SSO.

sae-test

SidecarContainersConfig

array

Não

As informações de configuração do contêiner.

SidecarContainerConfig

Não

As informações de configuração do contêiner.

SecretMountDesc

string

Não

A descrição da montagem do Secret. Usa o secret criado na página de Secrets do namespace para injetar informações confidenciais no contêiner. Descrição do parâmetro:

  • secretId: o ID da instância da instância do secret. Você pode obter o ID da instância chamando a operação ListSecrets.

  • key: o valor da chave.

Nota

Você pode montar todas as chaves passando o parâmetro sae-sys-secret-all.

  • mountPath: o caminho de montagem.

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

EnableSidecarResourceIsolated

boolean

Não

Especifica se deve ser ativado o isolamento de recursos do sidecar. Valores válidos:

  • true: ativa o isolamento.

  • false: desativa o isolamento.

true

CustomImageNetworkType

string

Não

O tipo de rede da imagem personalizada. Se a imagem não for uma imagem personalizada, defina este parâmetro como uma string vazia. Valores válidos:

  • internet: imagem pública.

  • intranet: imagem privada.

internet

MicroserviceEngineConfig

string

Não

Configura os recursos de governança de microsserviços.

  • enable: Especifica se a governança de microsserviços deve ser ativada. Valores válidos:
    • true: Ativado.

    • false: Desativado.

  • mseLosslessRule: Configura regras online e offline sem perdas.
    • delayTime: O tempo de atraso.

    • enable: Especifica se o recurso online sem perdas deve ser ativado. Valores válidos:
      • true: Ativado.

      • false: Desativado.

    • notice: Especifica se o recurso de notificação deve ser ativado. Valores válidos:
      • true: Ativado.

      • false: Desativado.

    • warmupTime: A duração do aquecimento para tráfego baixo, em segundos.

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

NewSaeVersion

string

Não

A edição do aplicativo. Valores válidos:

  • lite: Edição Lite.

  • std: Edição Standard.

  • pro: Edição Professional.

pro

InitContainersConfig

array

Não

A configuração do contêiner de inicialização.

InitContainerConfig

Não

A configuração do contêiner de inicialização.

GpuConfig

string

Não

A configuração de GPU.

{ "gpuType":"PPU810E", "gpuCount":"1" }

StartupProbe

string

Não

Ativa a sondagem de inicialização do aplicativo.

  • Verificação bem-sucedida: indica que o aplicativo foi iniciado. Se você configurar sondas de atividade e de prontidão, as sondas de atividade e de prontidão serão executadas após o início do aplicativo.

  • Verificação com falha: indica que o aplicativo falhou ao iniciar. Uma exceção é relatada e o aplicativo é reiniciado automaticamente.

Nota

Nota

  • Os métodos exec, httpGet e tcpSocket são suportados. Para exemplos específicos, consulte o parâmetro Liveness.

  • Você pode selecionar apenas um método para verificações de integridade.

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

EnablePrometheus

boolean

Não

Especifica se a coleta de métricas personalizadas do Prometheus deve ser ativada.

false

Html

string

Não

A versão do NGINX. Valores válidos:

  • nginx 1.20

  • nginx 1.22

  • nginx 1.24

  • nginx 1.26

  • nginx 1.28

nginx 1.28

EmptyDirDesc

string

Não

A configuração de armazenamento efêmero compartilhado.

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

AlbIngressReadinessGate

string

Não

A configuração do readiness gate do gateway do Application Load Balancer (ALB).

default

MaxSurgeInstances

integer

Não

O número máximo de instâncias de surge. Observe as seguintes regras:

Se o número mínimo de instâncias disponíveis for 100%, as Configurações de Volume de Pico não poderão ser 0. Se as Configurações forem -1, o número máximo de instâncias de surge usará a proporção de Volume de Pico recomendada de 30%, que é 30% do número atual de instâncias. Por exemplo, se o número atual de instâncias for 10, o número máximo de instâncias de surge será 10 × 30% = 3.

-1

MaxSurgeInstanceRatio

integer

Não

A proporção máxima de instâncias de surge. Observe as seguintes regras:

Se o número mínimo de instâncias disponíveis for 100%, as Configurações de Volume de Pico não poderão ser 0. Se as Configurações forem -1, o sistema usará o valor recomendado de 30%, que é 30% do número atual de instâncias. Por exemplo, se o número atual de instâncias for 10, o número máximo de instâncias de surge será 10 × 30% = 3.

-1

AgentVersion

string

Não

A versão do AliyunAgent.

4.4.2

EnableNamespaceAgentVersion

boolean

Não

Especifica se a configuração da versão do agente do namespace deve ser reutilizada.

true

SlsLogEnvTags

string

Não

As tags de log do SLS.

[]

LokiConfigs

string

Não

LokiConfigs.

[]

Labels

object

Não

Os rótulos do aplicativo. Tanto as chaves quanto os valores são strings.

string

Não

O rótulo.

prod

RaspConfig

object

Não

A configuração de proteção de segurança de tempo de execução do aplicativo (RASP).

EnableRasp

boolean

Não

Especifica se a proteção de segurança de tempo de execução do aplicativo (RASP) está ativada.

RaspAppName

string

Não

O nome do aplicativo RASP.

sae-test

RaspAppKey

string

Não

A chave do aplicativo RASP.

key-1

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

As informações do aplicativo implantado.

RequestId

string

O ID da solicitação.

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

Message

string

As informações adicionais. Valores válidos:

  • Se a solicitação for normal, success será retornado.

  • Se a solicitação for anormal, um código de erro específico será retornado.

success

TraceId

string

O ID de rastreamento, que é usado para consultar com precisão as informações de chamada.

ac1a0b2215622246421415014e****

Data

object

O resultado retornado.

ChangeOrderId

string

O ID da ordem de mudança retornado, que é usado para consultar o status de execução da tarefa.

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

AppId

string

O ID do aplicativo.

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

IsNeedApproval

boolean

Especifica se a publicação de mudança por um usuário do Resource Access Management (RAM) requer aprovação. Valores válidos:

  • true: A aprovação é necessária.

  • false: A aprovação não é necessária.

true

ErrorCode

string

O código de erro. Valores válidos:

  • Se a solicitação for bem-sucedida, o parâmetro ErrorCode não será retornado.

  • Se a solicitação falhar, o parâmetro ErrorCode será retornado. Para mais informações, consulte a seção Códigos de erro neste tópico.

Application.MissingJdk

Code

string

O código de status da API ou código de erro POP. Valores válidos:

  • 2xx: Sucesso.

  • 3xx: Redirecionamento.

  • 4xx: Erro do cliente.

  • 5xx: Erro do servidor.

200

Success

boolean

Indica se a implantação do aplicativo foi bem-sucedida. Valores válidos:

  • true: A implantação foi bem-sucedida.

  • false: A implantação falhou.

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****",
    "IsNeedApproval": true
  },
  "ErrorCode": "Application.MissingJdk",
  "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. O aplicativo deve conter pelo menos um componente JDK.
400 InvalidApplication.NotFound The current application does not exist. A aplicação atual não pode ser encontrada.
400 InvalidComponent.NotFound The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist. O componente especificado (JDK, Tomcat, EDASWebContainer, etc.) não pode ser encontrado.
400 InvalidHostnameIp.Invalid The hostname and/or IP is invalid: Hostname [%s], IP [%s]. O nome do host ou o endereço IP é inválido: nome do host [%s], IP [%s].
400 InvalidInstanceSpecification.Unsupported The instance specification is not supported: CPU [%s], memory [%s]. O tipo de instância não é suportado. CPU [%s], Memória [%s].
400 InvalidPackageType.NotFound The package type must be War, FatJar, or Image. O tipo de pacote deve ser WAR, FatJAR ou Image.
400 InvalidParameter.NotEmpty You must specify the parameter %s. Parâmetro inválido: %s não pode estar vazio.
400 InvalidParameter.Obviously The specified parameter is invalid {%s}. Parâmetro inválido {%s}.
400 InvalidParameter.WithMessage The parameter is invalid {%s}: %s Parâmetro inválido {%s}: %s.
400 JarApplication.MissingJdk A FatJar application must contain JDK. Aplicativos FatJar devem incluir um 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. A aplicação Pandora está sem o componente JDK.
400 PandoraApplication.OnlyJdk A Pandora application only requires JDK component. A aplicação Pandora requer apenas o componente JDK.
400 WarApplication.MissingJdkWebcontainer A War application must contain JDK and Tomcat. As aplicações do tipo WAR devem incluir o JDK e o Tomcat.
400 LogService.ConfigQuotaExceed The maximum number of Log Service configs is exceeded. O número de configurações do serviço de logs excedeu o limite de cota. Participe do grupo 32874633 no DingTalk para consultar um especialista técnico do produto.
400 LogService.InternalError An exception occurred while calling Log Service. Please submit a ticket to solve the problem. Ocorreu uma exceção ao chamar o serviço de logs. Participe do grupo 32874633 no DingTalk para consultar um especialista técnico do produto.
400 LogService.LogDirInvalid The log collection path is invalid. O caminho de coleta de logs é inválido.
400 LogService.NotAvailable Log Service is unavailable. Please activate Log Service first. O serviço de logs está indisponível. Ative o serviço de logs primeiro.
400 LogService.ProjectNumQuotaExceed The maximum number of Log Service projects is exceeded. O número de projetos do serviço de logs excedeu o limite de cota. Participe do grupo 32874633 no DingTalk para consultar um especialista técnico do produto.
400 user.indebt The user has an outstanding payment. O usuário atual tem um pagamento em atraso.
400 NoComputeResourceQuota.App.Exceed You can create %s instances for each application. Please submit a ticket to raise the quota. Cada aplicação pode ter no máximo %s instâncias. Entre no grupo 32874633 do DingTalk para consultar um especialista técnico do produto.
400 NoComputeResourceQuota.User.Exceed Your account is limited to create %s instances. Please submit a ticket to raise the quota. Sua conta tem uma cota de %s instâncias. Entre no grupo 32874633 do DingTalk para consultar um especialista técnico do produto.
400 System.Upgrading The system is being upgraded. Please try again later. O sistema está sendo atualizado. Tente novamente mais tarde.
400 VolumnPath.Conflict Conflict between log collection directory and persistent storage directory. O diretório de coleta de logs entra em conflito com o diretório de armazenamento persistente.
400 Application.ChangerOrderRunning An application change process is in progress. Please try again later. Um processo de alteração está sendo executado para o aplicativo. Tente novamente mais tarde.
400 Application.InvalidStatus The application status is abnormal. Please try again later. O aplicativo está em um estado anormal. Tente novamente mais tarde.
400 MountConflict.ConfigMap Conflict detected for ConfigMap path %s. O caminho de montagem do ConfigMap %s entra em conflito com um caminho existente.
400 NotFound.ConfigMap The ConfigMap object (ID: %s) does not exist. O objeto ConfigMap (ID=%s) não foi encontrado.
400 NotFound.ConfigMapKey The key %s of ConfigMap object (ID: %s) does not exist. A chave %s do objeto ConfigMap (ID=%s) não foi encontrada.
400 Package.Version.Too.Long The maximum length of package version is exceeded. O número da versão do pacote de implantação da aplicação excede o limite de comprimento.
400 App.Package.Version.Exists The package version of application already exists. A versão do pacote de implantação do aplicativo já existe.
400 Slb.Occupied The SLB instance is occupied. A instância do SLB está ocupada.
400 Slb.Tag.Not.Qualified The current SLB instance cannot be reused because it may have been occupied by %s. A instância do SLB está sendo usada por %s. Não recomendamos que você a reutilize.
400 MinReadyInstances.Not.Smaller.Replicas The minimum number of available instances must be less than the number of application instances. A contagem mínima de instâncias disponíveis deve ser menor que o número total de instâncias do aplicativo.
400 MinReadyInstanceRatio.Invalid The ratio of minimum available instances must be between 0 and 100. A proporção mínima de instâncias sobreviventes deve estar entre 0 e 100.
400 BatchWaitTime.Not.Smaller.Zero BatchWaitTime must not be smaller than zero. O intervalo do lote deve ser maior que zero.
400 Sls.Config.Mixed.Multi.Project The specified Config contains multiple projects. A configuração do SLS que você especificou contém vários projetos.
400 Sls.Config.User.Defined.Missing.Logstore.Info The specified Config is invalid. Both Project and Logstore must be specified. A configuração do SLS que você especificou é uma configuração personalizada do SLS, mas contém apenas a configuração do Project. A configuração do Logstore está ausente.
400 Sls.Config.User.Defined.Missing.Project.Info The specified Config is invalid. Both Project and Logstore must be specified. A configuração do SLS que você especificou é uma configuração personalizada do SLS, mas contém apenas a configuração do Logstore. A configuração do Project está ausente.
400 Sls.Logstore.Name.Invalid The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-". O nome do Logstore do SLS que você especificou é inválido. O nome contém o prefixo "sae-", o que causa confusão com Logstores que estão sujeitos à criação automática pelo SAE.
400 Sls.Logstore.User.Defined.Not.Exist The user defined Logstore does not exist. O Logstore personalizado que você especificou não existe.
400 Sls.Project.Name.Invalid The specified project name is invalid. The project name must not contain the prefix "sae-". O nome do Project do SLS que você especificou é inválido. O nome contém o prefixo "sae-", o que causa confusão com projetos que estão sujeitos à criação automática pelo SAE.
400 Sls.Project.User.Defined.Not.Exist The user defined project does not exist. O projeto personalizado que você especificou não existe.
400 Sae.Errorcode.Ahas.Create.Error.Message Failed to create AHAS. Falha ao criar o AHAS.
400 InvalidImageUrl.AcrInstanceId.Domain.NotMatch The specified domain of ImageUrl does not match AcrInstanceId domains. O nome de domínio do ImageUrl especificado não corresponde ao nome de domínio do AcrInstanceId.
400 PhpApplication.MissingPhpRuntime A PHP application must contain PHP Runtime. Uma aplicação PHP deve incluir o runtime do PHP.
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. O nome do pacote de programa de implantação da aplicação é inválido. O nome pode conter apenas letras, dígitos e os caracteres especiais "-" e "_". Para implantação de pacote Java, você pode fazer upload de um pacote JAR apenas quando a versão de implantação selecionada suportar a implantação JAR. Caso contrário, você pode fazer upload apenas de um pacote WAR. Para implantação de pacote PHP, você pode fazer upload de um pacote ZIP apenas quando a versão de implantação selecionada suportar a implantação ZIP.
400 Sls.Logtail.Name.Invalid The specified name of Logtail is invalid. The Logtail name must not contain the prefix sae-. O nome do Logtail do SLS que você especificou é inválido. O nome contém o prefixo "sae-", o que causa confusão com Logtails que estão sujeitos à criação automática pelo SAE.
400 InvalidImageUrl.MissingAcrInstanceId The specified domain of ImageUrl is from ACREE, but you are not specified AcrInstanceId. O nome de domínio do ImageUrl especificado pertence ao Container Registry Enterprise Edition (ACREE), mas o AcrInstanceId não foi especificado.
400 EnvFromSecretIdConflict.AlreadyExist The specified SecretId [%s] already exist in the specified Envs. O secret [%s] especificado já existe nas variáveis de ambiente.
400 MountConflict.Secret Conflict detected for Secret path %s. O caminho de montagem do Secret %s entra em conflito com um caminho existente.
404 InvalidNamespaceId.NotFound The specified NamespaceId does not exist. O NamespaceId especificado não existe.
404 InvalidAcrInstanceId.NotFound The specified AcrInstanceId does not exist. O AcrInstanceId especificado não existe.
404 Associate.Eip.Not.Enough No sufficient EIPs are available. Não há endereços IP elásticos (EIPs) suficientes disponíveis para vinculação. Compre EIPs primeiro.

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.