Todos os produtos
Search
Central de documentação

Serverless App Engine:CreateApplication

Última atualização: Oct 21, 2026

Cria uma aplicação.

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:CreateApplication

create

*Todos os recursos.

*

Nenhuma Nenhuma

Sintaxe da solicitação

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

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

AppName

string

Sim

O nome da aplicação. O nome pode conter dígitos, letras e hifens (-). Deve começar com uma letra e não pode terminar com um hífen (-). O nome pode ter até 36 caracteres.

test

NamespaceId

string

Não

O ID do namespace do Serverless App Engine (SAE). Apenas namespaces cujos nomes contenham letras minúsculas e hifens (-) são suportados. O nome deve começar com uma letra. Você pode obter o namespace chamando a operação DescribeNamespaceList.

cn-beijing:test

AppDescription

string

Não

A descrição da aplicação. A descrição pode ter até 1.024 caracteres.

This is a test description.

VpcId

string

Não

O ID da nuvem privada virtual (VPC) que corresponde ao namespace do SAE. No SAE, um namespace pode corresponder a apenas uma VPC, e a correspondência não pode ser modificada. A relação de vinculação é estabelecida quando você cria a primeira aplicação SAE no namespace. Vários namespaces podem corresponder a uma VPC. Se você não especificar este parâmetro, o ID da VPC vinculada ao namespace será usado por padrão.

vpc-bp1aevy8sofi8mh1q****

VSwitchId

string

Não

O ID do vSwitch ao qual os controladores de interface de rede elástica (NICs) da instância da aplicação pertencem. O vSwitch deve residir na VPC precedente. O vSwitch também está anexado ao namespace do SAE. Se você não especificar este parâmetro, o ID do vSwitch anexado ao namespace será usado por padrão.

vsw-bp12mw1f8k3jgygk9****

PackageType

string

Sim

O tipo de pacote da aplicação. Valores válidos:

  • Ao implantar a aplicação usando Java, FatJar, War e Image são suportados.

  • Ao implantar a aplicação usando 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 a aplicação usando Python, PythonZip e Image são suportados.

  • Ao implantar a aplicação usando .NET Core, DotnetZip e Image são suportados.

    Nota

    Se você selecionar DotnetZip, Dotnet especifica o número da versão do ambiente .NET Core. .NET 3.1, .NET 5.0, .NET 6.0, .NET 7.0 e .NET 8.0 são suportados. Nesse caso, os parâmetros Dotnet, Command e CommandArgs são obrigatórios.

FatJar

PackageVersion

string

Não

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

1.0.0

PackageUrl

string

Não

A URL do pacote de implantação. Este parâmetro é obrigatório quando PackageType é definido como FatJar, War ou PythonZip.

http://myoss.oss-cn-****.aliyuncs.com/my-buc/2019-06-30/****.jar

ImageUrl

string

Não

A URL da imagem. Este parâmetro é obrigatório quando PackageType é definido como Image.

registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1

Jdk

string

Não

A versão do JDK 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 PackageType é definido como Image.

Open JDK 8

WebContainer

string

Não

A versão do Tomcat da qual o pacote de implantação do WebContainer depende. Valores válidos:

  • apache-tomcat-7.0.91

  • apache-tomcat-8.5.42

Este parâmetro não é suportado quando PackageType é definido como Image.

apache-tomcat-7.0.91

Cpu

integer

Não

O número de núcleos de CPU necessários para cada instância. Unidade: millicore. O valor não pode ser 0. Apenas as seguintes especificações definidas são suportadas:

  • 500

  • 1000

  • 2000

  • 4000

  • 8000

  • 16000

  • 32000

1000

Memory

integer

Não

O tamanho de memória necessário para cada instância. Unidade: MB. O valor não pode ser 0. O tamanho de memória tem uma correspondência de um para um com o número de núcleos de CPU. Apenas as seguintes especificações definidas são suportadas:

  • 1024: corresponde a 500 e 1.000 millicores.

  • 2048: corresponde a 500, 1.000 e 2.000 millicores.

  • 4096: corresponde a 1.000, 2.000 e 4.000 millicores.

  • 8192: corresponde a 2.000, 4.000 e 8.000 millicores.

  • 12288: corresponde a 12.000 millicores.

  • 16384: corresponde a 4.000, 8.000 e 16.000 millicores.

  • 24576: corresponde a 12.000 millicores.

  • 32768: corresponde a 16.000 millicores.

  • 65536: corresponde a 8.000, 16.000 e 32.000 millicores.

  • 131072: corresponde a 32.000 millicores.

1024

Replicas

integer

Sim

O número inicial de instâncias.

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", CommandArgs=["abc", ">", "file0"].

Importante Este parâmetro é obrigatório quando PackageType é definido como DotnetZip.

echo

CommandArgs

string

Não

Os argumentos para o comando de inicialização da imagem, que são exigidos pelo comando de inicialização Command. O formato é o seguinte:

["a","b"]

No exemplo anterior, CommandArgs=["abc", ">", "file0"], onde ["abc", ">", "file0"] deve ser convertido em uma string no formato de array JSON. Se nenhum argumento for necessário, deixe este parâmetro vazio.

Importante Este parâmetro é obrigatório quando PackageType é definido como DotnetZip.

["a","b"]

Envs

string

Não

As variáveis de ambiente do contêiner. Você pode personalizar variáveis de ambiente 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:

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

    • value: o valor da variável de ambiente. A prioridade deste parâmetro é maior que a de 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-, por exemplo, 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.

[ { "name": "sae-sys-configmap-all-hello", "valueFrom": { "configMapRef": { "configMapId": 100, "key": "" } } }, { "name": "hello", "valueFrom": { "configMapRef": { "configMapId": 101, "key": "php-fpm" } } }, { "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 nome de 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

-Xms4G -Xmx4G

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

custom-args

Liveness

string

Não

A sonda de atividade do contêiner. Um contêiner que falhou na verificação de integridade é desligado e recuperado. 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

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 atraso antes do início da verificação de integridade. Valor padrão: 10. Unidade: segundos.

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

  • timeoutSeconds: Configurações para 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":["sh","-c","cat /home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}

Readiness

string

Não

A sonda de prontidão da aplicação. Um contêiner que falha em várias verificações de integridade é interrompido e reiniciado. O tráfego do Server Load Balancer (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":["sh","-c","cat /home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}

Deploy

boolean

Não

Especifica se a aplicação deve ser implantada imediatamente. Valores válidos:

  • true: implanta a aplicação imediatamente. Este é o valor padrão.

  • false: implanta a aplicação posteriormente.

true

EdasContainerVersion

string

Não

A versão do ambiente de tempo de execução da aplicação no High-Speed Service Framework (HSF), como o contêiner Ali-Tomcat.

3.5.3

Timezone

string

Não

O fuso horário. Valor padrão: Asia/Shanghai.

Asia/Shanghai

SlsConfigs

string

Não

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

  • Use recursos do SLS de criação automática 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 SLS.

  • logDir: o caminho do log.

  • logType: o tipo de log. stdout indica logs de saída padrão do contêiner. Apenas uma configuração de log stdout pode ser configurada. Se as configurações não forem especificadas, 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 a configuração de coleta do SLS permanecer inalterada durante várias implantações, 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 de criação automática com a aplicação são excluídos quando a aplicação é excluída. Portanto, ao selecionar um projeto existente, você não pode selecionar um projeto de criação automática pelo SAE.

[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]

NasId

string

Não

Não configure este campo. Configure NasConfigs em seu lugar. O ID do sistema de arquivos NAS do Apsara File Storage montado. O sistema de arquivos NAS deve residir na mesma região que o cluster. Ele deve ter uma cota disponível para criar pontos de montagem, ou seus pontos de montagem já devem existir em um vSwitch na VPC. Se você não especificar este parâmetro e o campo mountDescs existir, um sistema de arquivos NAS será comprado e montado automaticamente em um vSwitch na VPC por padrão.

Se a configuração permanecer inalterada durante a implantação, 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 a configuração do NAS, defina o valor deste campo como uma string vazia na solicitação. Ou seja, defina o campo NASId como "".

KSAK****

MountHost

string

Não

Não configure este campo. Configure NasConfigs em seu lugar. O ponto de montagem do sistema de arquivos NAS na VPC da aplicação. Se a configuração permanecer inalterada durante a implantação, 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 a configuração do NAS, defina o valor deste campo como uma string vazia na solicitação. Ou seja, defina o campo MountHost como "".

example.com

MountDesc

string

Não

Não configure este campo. Configure NasConfigs em seu lugar. A descrição de montagem do sistema de arquivos NAS. Se a configuração permanecer inalterada durante a implantação, 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 a configuração do NAS, defina o valor deste campo como uma string vazia na solicitação. Ou seja, defina o campo MountDesc como "".

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

PreStop

string

Não

O script a ser executado antes que o contêiner pare. Um script é acionado e executado antes que o contêiner seja excluído. Formato: {"exec":{"command":["cat","/etc/group"]}}

{"exec":{"command":["cat","/etc/group"]}}

PostStart

string

Não

O script a ser executado após a inicialização do contêiner. Um script é acionado e executado imediatamente após a criação do contêiner. Formato: {"exec":{"command":["cat","/etc/group"]}}

{"exec":{"command":["cat","/etc/group"]}}

WarStartOptions

string

Não

O comando de inicialização para a aplicação implantada usando um pacote WAR. O procedimento é o mesmo para configurar o comando de inicialização para implantação de imagem. Para mais informações, consulte Set a startup command.

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

ConfigMapMountDesc

string

Não

A descrição de 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: ID 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"}]

SecurityGroupId

string

Não

O ID do grupo de segurança.

sg-wz969ngg2e49q5i4****

AutoConfig

boolean

Não

Especifica se o ambiente de rede deve ser configurado automaticamente. Valores válidos:

  • true: o SAE configura automaticamente o ambiente de rede quando a aplicação é criada. Os valores de NamespaceId, VpcId, vSwitchId e SecurityGroupId são ignorados.

  • false: o SAE configura manualmente o ambiente de rede quando a aplicação é criada.

Nota

Se você definir este parâmetro como true, outros valores de NamespaceId passados serão ignorados.

true

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.

30

PhpArmsConfigLocation

string

Não

O caminho de montagem para monitoramento de aplicações 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 da aplicação 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:

  • 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. O valor padrão é o diretório raiz "/".

  • maxThreads: o número máximo de conexões no pool de conexões. O 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 ser usado 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 de 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, ele sobrescreverá o conteúdo existente. Se o caminho não existir, ele será criado.

  • readOnly: especifica se o caminho do contêiner tem permissões de leitura nos recursos da pasta montada. 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

Php

string

Não

A versão do PHP da qual o pacote de implantação PHP depende. Imagens não são suportadas.

PHP-FPM 7.0

AcrInstanceId

string

Não

O ID da instância do Container Registry ACR Enterprise. Este parâmetro é obrigatório quando ImageUrl é definido como uma imagem de instância do Container Registry 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 Usar funções do RAM para autorizar acesso entre contas da Alibaba Cloud.

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

ImagePullSecrets

string

Não

O ID do Secret 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

ProgrammingLanguage

string

Não

A linguagem de programação usada para criar a aplicação. Valores válidos:

  • java: Java.

  • php: PHP.

  • python: Python.

  • dotnet: .NET Core.

  • other: várias linguagens, como C++, Go e Node.js.

java

KafkaConfigs

string

Não

A configuração de resumo 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: a configuração de resumo para um ou mais logs. Para a descrição do valor, 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 do Kubernetes. Valores válidos:

  • serviceName: o nome do serviço. O formato é custom-namespace ID. O sufixo -namespace ID não pode ser personalizado e deve ser preenchido com base no namespace onde a aplicação reside. Por exemplo, se você selecionar o namespace padrão na região China (Pequim), o valor é -cn-beijing-default.

  • namespaceId: o ID do namespace.

  • portProtocols: a porta e o protocolo. O valor da porta varia de 1 a 65535. O protocolo suporta TCP e UDP.

  • portAndProtocol: a porta e o protocolo. O valor da porta varia de 1 a 65535. O protocolo suporta TCP e UDP. Recomendamos que você use portProtocols. Se as configurações de portProtocols estiverem definidas, apenas portProtocols terá efeito.

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

{"serviceName":"bwm-poc-sc-gateway-cn-beijing-front","namespaceId":"cn-beijing:front","portAndProtocol":{"18012":"TCP"},"enable":true,"portProtocols":[{"port":18012,"protocol":"TCP"}]}

MicroRegistration

string

Não

O registro Nacos. Valores válidos:

  • 0: o Nacos integrado do SAE.

  • 1: um Nacos autogerenciado.

  • 2: Nacos do Microservices Engine (MSE).

"0"

MicroRegistrationConfig

string

Não

A configuração do registro.

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

NasConfigs

string

Não

A configuração para montar o sistema de arquivos NAS. Valores válidos:

  • mountPath: o caminho de montagem do 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 nenhuma dependência estiver configurada ou se pacotes de software personalizados forem usados, você pode especificar as dependências a serem instaladas.

Flask==2.0

Dotnet

string

Não

O número da versão do framework .NET:

  • .NET 3.1

  • .NET 5.0

  • .NET 6.0

  • .NET 7.0

  • .NET 8.0

.NET 3.1

EnableEbpf

string

Não

Especifica se o monitoramento de aplicações para aplicações não Java baseado na tecnologia eBPF deve ser ativado. Valores válidos:

  • true: ativa o recurso.

  • false: desativa o recurso. Este é o valor padrão.

false

SaeVersion

string

Não

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

  • v1

  • v2

v1

AppSource

string

Não

A origem da aplicação. Um valor micro_service indica uma aplicação de microsserviço.

micro_service

BaseAppId

string

Não

O ID da aplicação base.

ee99cce6-1c8e-4bfa-96c3-3e2fa9de8a41

ServiceTags

string

Não

As tags de liberação canary configuradas para a aplicação.

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

EnableNewArms

boolean

Não

Especifica se os novos recursos do Application Real-Time Monitoring Service (ARMS) devem ser ativados:

  • true: ativa os recursos.

  • false: desativa os recursos.

false

EnableCpuBurst

boolean

Não

Especifica se o recurso CPU Burst deve ser ativado:

  • 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 Criar um provedor de identidade OIDC e Criar um provedor de identidade SSO baseado em função.

sae-test

SidecarContainersConfig

array

Não

A configuração do contêiner.

SidecarContainerConfig

Não

A configuração do contêiner.

SecretMountDesc

string

Não

A descrição de 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: ID da instância do Secret. Você pode obter o ID da instância invocando 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 o isolamento de recursos do sidecar deve ser ativado:

  • true: ativa o isolamento.

  • false: desativa 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 de rede pública.

  • intranet: imagem de rede privada.

internet

ResourceType

string

Não

O tipo de recurso. Valores válidos: NULL (padrão), default (padrão) e haiguang (servidores Hygon).

NULL

NewSaeVersion

string

Não

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

  • lite: Edição Lite.

  • std: Edição Standard.

  • pro: Edição Professional.

pro

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) e false (desativado).

    • notice: Especifica se o recurso de notificação deve ser ativado. Valores válidos: true (ativado) e 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}}

DiskSize

integer

Não

O tamanho de armazenamento do disco, em GB.

50

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.

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

StartupProbe

string

Não

Ativa as sondas de inicialização do aplicativo.

  • Success: Indica que o aplicativo foi iniciado. Se você configurar sondas de atividade e prontidão, as sondas de atividade e prontidão serão executadas após o início do aplicativo.

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

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}

IsStateful

boolean

Não

Especifica se o aplicativo é stateful.

true

EnablePrometheus

boolean

Não

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

false

HeadlessPvtzDiscoverySvc

string

Não

A configuração de registro e descoberta de serviço headless do Kubernetes.

  • serviceName: O nome do serviço.

  • namespaceId: O ID do namespace.

{\"serviceName\":\"leaf-test-headless\",\"namespaceId\":\"cn-zhangjiakou:prod\"}

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\"}]

EnableNamespaceAgentVersion

boolean

Não

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

true

AgentVersion

string

Não

A versão do Aliyun Agent.

4.4.2

EnableNamespaceSlsConfig

boolean

Não

Especifica se a configuração de log do Simple Log Service (SLS) do namespace deve ser reutilizada.

true

SlsLogEnvTags

string

Não

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

Os rótulos do aplicativo.

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 criado.

RequestId

string

O ID da solicitação.

91F93257-7A4A-4BD3-9A7E-2F6EAE6D****

Message

string

As informações adicionais.

  • 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, que é usado para consultar com precisão as informações de chamada.

0a98a02315955564772843261e****

Data

object

O resultado retornado.

ChangeOrderId

string

O ID da ordem de alteração retornada, que é usado para consultar o status de execução da tarefa.

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

AppId

string

O ID do aplicativo criado.

017f39b8-dfa4-4e16-a84b-1dcee4b1****

ErrorCode

string

O código de erro.

  • 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

Especifica se o aplicativo foi criado. Valores válidos:

  • true: O aplicativo foi criado.

  • false: Falha ao criar o aplicativo.

true

Exemplos

Resposta de sucesso

JSON formato

{
  "RequestId": "91F93257-7A4A-4BD3-9A7E-2F6EAE6D****",
  "Message": "success",
  "TraceId": "0a98a02315955564772843261e****",
  "Data": {
    "ChangeOrderId": "01db03d3-3ee9-48b3-b3d0-dfce2d88****",
    "AppId": "017f39b8-dfa4-4e16-a84b-1dcee4b1****"
  },
  "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 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 JarApplication.MissingJdk A FatJar application must contain JDK. Aplicativos FatJar devem incluir um JDK.
400 NoAvailableCluster.NotFound No clusters are available for the current region. Não existem clusters disponíveis na região atual.
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 InvalidParameter.WithMessage The parameter is invalid {%s}: %s Parâmetro inválido {%s}: %s.
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 InvalidServerlessRegion.Unsupported The current region is not supported: %s A região especificada não é suportada: %s.
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 InvalidNamespace.WithUppercase This namespace does not support creating SAE apps because it contains uppercase letters. O namespace não suporta a criação de aplicações do Serverless App Engine (SAE) porque contém letras maiúsculas.
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 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 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 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 vswitch.not.exist The specified vSwitch does not exist. O vSwitch não existe. Use um vSwitch diferente.
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 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.
404 InvalidNamespaceId.NotFound The specified NamespaceId does not exist. O NamespaceId especificado não existe.
404 InvalidVpcId.NotFound The specified VpcId does not exist. O VpcId especificado não existe.
404 InvalidAcrInstanceId.NotFound The specified AcrInstanceId does not exist. O AcrInstanceId especificado não existe.

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.