Todos os produtos
Search
Central de documentação

Serverless App Engine:DeployApplication

Última atualização: Jul 10, 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

*All Resource

*

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 da qual o pacote de implantação depende. 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 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. Valores válidos:

  • apache-tomcat-7.0.91

  • apache-tomcat-8.5.42

Este parâmetro não é suportado quando Package Type está definido como Image.

apache-tomcat-7.0.91

PackageVersion

string

Não

O número da versão do pacote de implantação. Este parâmetro é obrigatório quando Package Type está 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 Package Type 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 Package Type 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 no contêiner. Exemplo:

command:
      - echo
      - abc
      - >
      - file0

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

echo

CommandArgs

string

Não

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

["a","b"]

No exemplo anterior, CommandArgs=["abc", ">", "file0"], onde ["abc", ">", "file0"] deve ser convertido para o tipo String, e o formato interno é um array JSON. Se este parâmetro não for necessário, deixe-o vazio.

["a","b"]

Envs

string

Não

Os parâmetros de variáveis de ambiente do contêiner. Você pode personalizar variáveis de ambiente ou referenciar itens do ConfigMap. Para referenciar um item do ConfigMap, crie primeiro uma instância do ConfigMap. Para mais informações, consulte CreateConfigMap. Valores válidos:

  • Configuração personalizada
    • name: o nome da variável de ambiente.

    • value: o valor da variável de ambiente. Isso tem prioridade sobre valueFrom.

  • Referenciar um item do ConfigMap (valueFrom)
    • name: o nome da variável de ambiente. Para referenciar todas as chaves, insira sae-sys-configmap-all-<ConfigMap name>, 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. Não defina este campo se você quiser referenciar todas as chaves.

  • Referenciar um segredo (valueFrom)
    • name: o nome da variável de ambiente. Para referenciar todas as chaves, insira sae-sys-secret-all-<secret name>, como sae-sys-secret-all-test1.

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

    • secretId: o ID do segredo.

    • key: a chave. Não defina este campo se você quiser referenciar todas as chaves.

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

O mapeamento de host personalizado no contêiner. Valores válidos:

  • hostName: o nome de domínio ou hostname.

  • ip: o endereço IP.

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

JarStartOptions

string

Não

As opções de inicialização para um aplicativo baseado em 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 um aplicativo baseado em pacote JAR. O comando de inicialização padrão é $JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs.

-Xms4G -Xmx4G

Liveness

string

Não

A verificação de integridade do contêiner. Contêineres que falham na verificação de integridade são encerrados e recuperados. Os seguintes métodos são suportados:

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

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

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

Nota

Apenas um método pode ser selecionado para verificações de integridade.

Configurações:

  • exec.command: define 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, false indica que a palavra-chave não está incluída, e a ausência deste campo indica que o recurso avançado não está sendo usado.

  • httpGet.keyWord: a palavra-chave personalizada. O campo isContainKeyWord deve estar presente quando este parâmetro for usado.

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

  • initialDelaySeconds: define o atraso inicial para a verificação de integridade. Valor padrão: 10. Unidade: segundos.

  • periodSeconds: define o intervalo da verificação de integridade. Valor padrão: 30. Unidade: segundos.

  • timeoutSeconds: define o período de tempo limite 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 período de tempo limite padrão é de 1 segundo.

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

Readiness

string

Não

A verificação do status de inicialização do aplicativo. Contêineres que falham em múltiplas verificações de integridade são encerrados e reiniciados. Contêineres que não passam na verificação de integridade não recebem tráfego do SLB. Os métodos exec, httpGet e tcpSocket são suportados. Para exemplos específicos, consulte o parâmetro Liveness.

Nota

Apenas um método pode ser selecionado para verificações de integridade.

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

MinReadyInstances

integer

Não

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

  • Se este parâmetro for definido como 0, o serviço será interrompido durante a atualização.

  • Se este parâmetro for definido como -1, o valor recomendado pelo sistema será usado, que corresponde a 25% do número atual de instâncias. Se o número atual de instâncias for 5, 5 × 25% = 1,25, que é arredondado para cima para 2.

Nota

O número mínimo de instâncias disponíveis para cada implantação contínua deve ser ≥ 1 para evitar interrupção do serviço.

1

MinReadyInstanceRatio

integer

Não

A porcentagem mínima de instâncias disponíveis. Valores válidos:

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

  • 0~100: a unidade é porcentagem, arredondada para cima. Por exemplo, se este parâmetro for definido como 50% e o número atual de instâncias for 5, o número mínimo de instâncias disponíveis é 3.

Nota

Quando tanto MinReadyInstance quanto MinReadyInstanceRatio são especificados e o valor de MinReadyInstanceRatio não é -1, o parâmetro MinReadyInstanceRatio tem precedência. Por exemplo, se MinReadyInstances estiver definido como 5 e MinReadyInstanceRatio estiver definido como 50, o valor 50 será usado para calcular o número mínimo de instâncias disponíveis.

-1

BatchWaitTime

integer

Não

O intervalo entre lotes de implantação. Unidade: segundos.

10

EdasContainerVersion

string

Não

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

3.5.3

UpdateStrategy

string

Não

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

  • 1 instância em escala de cinza + 2 lotes subsequentes + loteamento automático + 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 + loteamento manual: {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}

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

Configurações:

  • type: o tipo de política de publicação. Valores válidos: GrayBatchUpdate (publicação em escala de cinza) e BatchUpdate (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 (automático) e manual (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

A configuração para coleta de logs no Simple Log Service.

  • Use recursos do SLS criados automaticamente pelo Serverless App Engine: [{"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":""}].

Configurações:

  • projectName: o nome do projeto no Simple Log Service.

  • logDir: o caminho do log.

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

  • logstoreName: o nome do Logstore no Simple Log Service.

  • logtailName: o nome do Logtail no Simple Log Service. Se este parâmetro não for especificado, um novo Logtail será criado automaticamente.

Se a configuração de coleta do SLS não tiver sido alterada durante várias implantações, você não precisa definir este parâmetro (ou seja, o campo SlsConfigs não precisa ser incluído na solicitação). Se você não precisar mais do recurso de coleta do SLS, defina o valor deste campo como uma string vazia (ou seja, defina o valor do campo SlsConfigs como "" na solicitação).

Nota

Um projeto criado automaticamente com o aplicativo é excluído quando o aplicativo é excluído. Portanto, não selecione um projeto criado automaticamente pelo Serverless App Engine ao selecionar um projeto existente.

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

Não recomendamos que você configure este campo. Configure NasConfigs em vez disso. O ID do sistema de arquivos NAS. Se a configuração não tiver sido alterada durante a implantação, você não precisa definir este parâmetro (ou seja, o campo NasId não precisa ser incluído na solicitação). Para limpar a configuração do NAS, defina o valor deste campo como uma string vazia (ou seja, defina o valor do campo NasId como "" na solicitação).

10d3b4****

MountHost

string

Não

Não recomendamos que você configure este campo. Configure NasConfigs em vez disso. O ponto de montagem do sistema de arquivos NAS na VPC do aplicativo. Se a configuração não tiver sido alterada durante a implantação, você não precisa definir este parâmetro (ou seja, o campo MountHost não precisa ser incluído na solicitação). Para limpar a configuração do NAS, defina o valor deste campo como uma string vazia (ou seja, defina o valor do campo MountHost como "" na solicitação).

10d3b4bc9****.com

MountDesc

string

Não

Não recomendamos que você configure este campo. Configure NasConfigs em vez disso. A descrição da montagem do NAS. Se a configuração não tiver sido alterada durante a implantação, você não precisa definir este parâmetro (ou seja, o campo MountDesc não precisa ser incluído na solicitação). Para limpar a configuração do NAS, defina o valor deste campo como uma string vazia (ou seja, defina o valor do campo MountDesc como "" na solicitação).

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

PostStart

string

Não

O script 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 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 implantar um aplicativo baseado em pacote WAR. O procedimento de configuração é o mesmo do comando de inicialização de uma implantação baseada em 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 do aplicativo deve ser ativada automaticamente. Valores válidos:

  • true: ativado.

  • false: desativado.

true

ConfigMapMountDesc

string

Não

A descrição da montagem do ConfigMap. Use um ConfigMap criado na página de itens de configuração do namespace para injetar informações de configuração no contêiner. Configurações:

  • configMapId: o ID da instância do ConfigMap. Você pode obtê-lo chamando a operação ListNamespacedConfigMaps.

  • key: a 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 tempo limite para desligamento graceful. Valor padrão: 30. Unidade: segundos. Valores válidos: 1 a 300.

10

EnableAhas

string

Não

Especifica se o Application High Availability Service (AHAS) deve ser ativado. Valores válidos:

  • true: ativa o AHAS.

  • false: não ativa o AHAS.

false

PhpArmsConfigLocation

string

Não

O caminho de montagem para monitoramento de aplicativos PHP. Certifique-se de que o servidor PHP carregue o arquivo de configuração a partir deste caminho. Você não precisa gerenciar o conteúdo da configuração, pois o Serverless App Engine 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. Certifique-se de que o servidor PHP use este arquivo de configuração para 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. Defina este parâmetro como "" ou "{}" para excluir a configuração. Valores válidos:

  • port: o número da porta. Valores válidos: 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. Valor padrão: 8080.

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

  • maxThreads: o tamanho do 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. 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 OSS. Configurações de parâmetros:

  • bucketName: o nome do bucket.

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

  • mountPath: o caminho do contêiner no Serverless App Engine. Se o caminho já existir, trata-se de uma relação de sobrescrita. Se o caminho não existir, ele será criado.

  • readOnly: especifica se o caminho do contêiner tem permissão somente leitura nos recursos da pasta montada. Valores válidos:
    • true: permissão somente leitura.

    • false: permissão 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 para operações de leitura e gravação no OSS.

xxxxxx

OssAkSecret

string

Não

O AccessKey Secret para operações de leitura e gravação no OSS.

xxxxxx

EnableGreyTagRoute

boolean

Não

Especifica se as regras de liberação canary de tráfego devem ser ativadas. Esta regra aplica-se apenas a aplicativos que usam o framework Spring Cloud ou Dubbo. Valores válidos:

  • true: ativa as regras de liberação canary.

  • false: desativa as regras de liberação canary.

false

Php

string

Não

A versão do PHP da qual o pacote de implantação depende. Não suportado para imagens.

PHP-FPM 7.0

AcrInstanceId

string

Não

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

cri-xxxxxx

AcrAssumeRoleArn

string

Não

O ARN da função RAM necessária para pull de imagens entre contas. Para mais informações, consulte Grant permissions across Alibaba Cloud accounts by using a RAM role.

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

ImagePullSecrets

string

Não

O ID do segredo correspondente.

10

AssociateEip

boolean

Não

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

  • true: associa um EIP.

  • false: não associa um EIP.

true

KafkaConfigs

string

Não

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

  • kafkaEndpoint: o endpoint da API do Kafka.

  • kafkaInstanceId: o ID da instância Kafka.

  • kafkaConfigs: o resumo da configuração para uma ou mais entradas de log. Para valores de exemplo e descrições 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 descoberta de serviços baseados em K8s Service. Valores válidos:

  • portProtocols: a porta e o protocolo. Valores válidos de porta: [1,65535]. Valores válidos de protocolo: TCP e UDP.

  • portAndProtocol: a porta e o protocolo. Valores válidos de porta: [1,65535]. Valores válidos de protocolo: TCP e UDP. portProtocols é recomendado. Se portProtocols for definido, apenas portProtocols terá efeito.

  • enable: ativa o registro e descoberta de serviços baseados em K8s Service.

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

SwimlanePvtzDiscoverySvc

string

Não

Configura o registro e descoberta de serviços baseados em K8s Service com liberação canary de ponta a ponta:

  • enable: especifica se a liberação canary de ponta a ponta baseada em K8s Service deve ser ativada.
    • true: ativado.

    • false: desativado.

  • 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: o nome da descoberta de serviço.

  • serviceId: o ID do serviço.

  • serviceName: o nome 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

Especifica o registro Nacos. Valores válidos:

  • 0: Nacos integrado do Serverless App Engine.

  • 1: Nacos autogerenciado.

  • 2: Nacos da edição comercial do Microservices Engine (MSE).

Nota

Se você selecionar o Nacos integrado do Serverless App Engine, não poderá obter a configuração do Nacos integrado.

"0"

MicroRegistrationConfig

string

Não

A configuração do registro, que entra em vigor apenas quando o tipo de registro é MSE Nacos Enterprise Edition.

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

NasConfigs

string

Não

A configuração de montagem do NAS. Valores válidos:

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

  • readOnly: defina como false para permissão de leitura e gravação.

  • nasId: o ID do NAS.

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

  • nasPath: o diretório relativo de arquivos do 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 de módulos de instalação personalizada. Por padrão, as dependências definidas no arquivo requirements.txt na pasta raiz são instaladas. Se nenhuma dependência estiver configurada ou se pacotes personalizados forem necessários, você pode especificar as dependências a serem instaladas.

Flask==2.0

Dotnet

string

Não

A versão do framework .NET:

  • .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 entra em vigor apenas para aplicativos no estado parado. Se você chamar a operação DeployApplication para um aplicativo em execução, o aplicativo será reimplementado imediatamente.

  • true: valor padrão. Implanta imediatamente, aplica a nova configuração de implantação e inicia as instâncias.

  • false: aplica apenas a nova configuração de implantação, sem iniciar as instâncias do aplicativo.

true

PackageType

string

Não

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

  • Ao implantar com Java, os seguintes tipos são suportados: FatJar, War e Image.

  • Ao implantar com PHP, os seguintes tipos são suportados:
    • 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

  • Ao implantar com Python, os seguintes tipos são suportados: PythonZip e Image.

FatJar

Cpu

integer

Não

Os recursos de CPU necessários para cada instância. Unidade: millicores. Este parâmetro não pode ser definido como 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. Este parâmetro não pode ser definido como 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 millicores de CPU.

  • 2048: corresponde a 500, 1000 e 2000 millicores de CPU.

  • 4096: corresponde a 1000, 2000 e 4000 millicores de CPU.

  • 8192: corresponde a 2000, 4000 e 8000 millicores de CPU.

  • 12288: corresponde a 12000 millicores de CPU.

  • 16384: corresponde a 4000, 8000 e 16000 millicores de CPU.

  • 24576: corresponde a 12000 millicores de CPU.

  • 32768: corresponde a 16000 millicores de CPU.

  • 65536: corresponde a 8000, 16000 e 32000 millicores de CPU.

  • 131072: corresponde a 32000 millicores de CPU.

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 residem os controladores de interface de rede (NICs) da instância do aplicativo. O vSwitch deve estar na VPC especificada.

vsw-bp12mw1f8k3jgygk9****

ServiceTags

string

Não

As tags de liberação canary configuradas para o aplicativo.

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

EnableNewArms

boolean

Não

Especifica se o novo recurso ARMS deve ser ativado:

  • true: ativado.

  • false: desativado.

true

EnableCpuBurst

boolean

Não

Especifica se o recurso CPU Burst deve ser ativado:

  • true: ativado.

  • false: desativado.

true

OidcRoleName

string

Não

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

Nota

Crie um provedor de identidade OIDC e uma função de provedor de identidade na mesma região antecipadamente. Para mais informações, consulte Create an OIDC identity provider e Create a role for SSO identity provider.

sae-test

SidecarContainersConfig

array

Não

A configuração do contêiner sidecar.

SidecarContainerConfig

Não

A configuração do contêiner sidecar.

SecretMountDesc

string

Não

A descrição da montagem do Secret. Use um segredo criado na página de segredos do namespace para injetar informações confidenciais no contêiner. Configurações:

  • secretId: o ID da instância do segredo. Você pode obtê-lo chamando a operação ListSecrets.

  • key: a 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 o isolamento de recursos do sidecar deve ser ativado:

  • true: ativa o isolamento.

  • false: não ativa o isolamento.

true

CustomImageNetworkType

string

Não

O tipo de imagem personalizada. Se a imagem não for uma imagem personalizada, defina este parâmetro como uma string vazia:

  • internet: imagem pública.

  • intranet: imagem privada.

internet

MicroserviceEngineConfig

string

Não

Configura a governança de microsserviços.

  • Especifica se a governança de microsserviços deve ser ativada (enable):

    • true: ativado.

    • false: desativado.

  • Configura online/offline sem perdas (mseLosslessRule):

    • delayTime: o tempo de atraso.

    • enable: especifica se o recurso online sem perdas deve ser ativado. true indica ativado e false indica desativado.

    • notice: especifica se o recurso de notificação deve ser ativado. true indica ativado e false indica desativado.

    • warmupTime: a duração do aquecimento para cenários de baixo tráfego. Unidade: segundos.

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

NewSaeVersion

string

Não

A versão do aplicativo:

  • 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

StartupProbe

string

Não

Ativa a sonda de inicialização do aplicativo.

  • Verificação bem-sucedida: indica que o aplicativo foi iniciado com sucesso. Se você configurou verificações de Liveness e Readiness, elas serão realizadas após o aplicativo ser iniciado com sucesso.

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

Nota

Este é o conteúdo da descrição.

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

  • Apenas um método pode ser selecionado 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 personalizada de métricas do Prometheus deve ser ativada.

false

Html

string

Não

A versão do Nginx.

  • 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 ReadinessGate do gateway ALB.

default

MaxSurgeInstances

integer

Não

O número máximo de instâncias de surto. Valores válidos:

Se o número mínimo de instâncias disponíveis for 100%, o surto máximo não pode ser definido como 0. Se este parâmetro for definido como -1, o valor recomendado pelo sistema de 30% será usado, que corresponde a 30% do número atual de instâncias. Por exemplo, se o número atual de instâncias for 10, o valor será 10 × 30% = 3.

-1

MaxSurgeInstanceRatio

integer

Não

A porcentagem máxima de instâncias de surto. Valores válidos:

Se o número mínimo de instâncias disponíveis for 100%, o surto máximo não pode ser definido como 0. Se este parâmetro for definido como -1, o valor recomendado pelo sistema de 30% será usado, que corresponde a 30% do número atual de instâncias. Por exemplo, se o número atual de instâncias for 10, o valor 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 Agent do namespace deve ser reutilizada.

true

SlsLogEnvTags

string

Não

Tags de log do SLS.

LokiConfigs

string

Não

Labels

object

Não

string

Não

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 bem-sucedida, success será retornado.

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

success

TraceId

string

O ID de rastreamento, usado para consultar os detalhes de uma solicitação.

ac1a0b2215622246421415014e****

Data

object

O resultado retornado.

ChangeOrderId

string

O ID da ordem de mudança retornado, 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

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

  • true: aprovação necessária.

  • false: 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 campo ErrorCode não será retornado.

  • Se a solicitação falhar, o campo ErrorCode será retornado. Para mais informações, consulte a seção Error codes neste tópico.

Code

string

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

  • 2xx: sucesso.

  • 3xx: redirecionamento.

  • 4xx: erro de solicitação.

  • 5xx: erro de 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": "空",
  "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.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.
400 LogService.InternalError An exception occurred while calling Log Service. Please submit a ticket to solve the problem.
400 LogService.LogDirInvalid The log collection path is invalid.
400 LogService.NotAvailable Log Service is unavailable. Please activate Log Service first.
400 LogService.ProjectNumQuotaExceed The maximum number of Log Service projects is exceeded.
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.
400 NoComputeResourceQuota.User.Exceed Your account is limited to create %s instances. Please submit a ticket to raise the quota.
400 System.Upgrading The system is being upgraded. Please try again later.
400 VolumnPath.Conflict Conflict between log collection directory and persistent storage directory.
400 Application.ChangerOrderRunning An application change process is in progress. Please try again later.
400 Application.InvalidStatus 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.
400 App.Package.Version.Exists The package version of application already exists.
400 Slb.Occupied The SLB instance is occupied.
400 Slb.Tag.Not.Qualified 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.
400 MinReadyInstanceRatio.Invalid The ratio of minimum available instances must be between 0 and 100.
400 BatchWaitTime.Not.Smaller.Zero BatchWaitTime must not be smaller than zero.
400 Sls.Config.Mixed.Multi.Project The specified Config contains multiple projects.
400 Sls.Config.User.Defined.Missing.Logstore.Info The specified Config is invalid. Both Project and Logstore must be specified.
400 Sls.Config.User.Defined.Missing.Project.Info The specified Config is invalid. Both Project and Logstore must be specified.
400 Sls.Logstore.Name.Invalid The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-".
400 Sls.Logstore.User.Defined.Not.Exist The user defined Logstore does not exist.
400 Sls.Project.Name.Invalid The specified project name is invalid. The project name must not contain the prefix "sae-".
400 Sls.Project.User.Defined.Not.Exist The user defined project does not exist.
400 Sae.Errorcode.Ahas.Create.Error.Message Failed to create AHAS.
400 InvalidImageUrl.AcrInstanceId.Domain.NotMatch The specified domain of ImageUrl does not match AcrInstanceId domains.
400 PhpApplication.MissingPhpRuntime A PHP application must contain PHP Runtime.
400 InvalidParameter.FileName The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). For deploying java package, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only. For deploying php package, you can upload ZIP files only if the selected deployment version supports ZIP file.
400 Sls.Logtail.Name.Invalid The specified name of Logtail is invalid. The Logtail name must not contain the prefix sae-.
400 InvalidImageUrl.MissingAcrInstanceId The specified domain of ImageUrl is from ACREE, but you are not specified AcrInstanceId.
400 EnvFromSecretIdConflict.AlreadyExist The specified SecretId [%s] already exist in the specified Envs.
400 MountConflict.Secret Conflict detected for Secret path %s.
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.