Cria um serviço PAI-EAS.
Descrição da operação
Certifique-se de compreender totalmente os métodos de cobrança e os preços do EAS antes de chamar esta operação.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
eas:CreateService |
create |
*All resources.
|
Nenhuma | Nenhuma |
Sintaxe da solicitação
POST /api/v2/services HTTP/1.1
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| body |
string |
Não |
O corpo da solicitação. Para as configurações de parâmetros e a descrição de métricas dos principais parâmetros de solicitação, consulte a Tabela 1. Parâmetros do corpo da solicitação e a Tabela 2. Parâmetros de metadados abaixo. Para mais detalhes sobre as configurações de parâmetros, consulte Todas as descrições de métricas relacionadas para modelos de serviço. |
Image deployment service: { "name": "foo", "metadata": { "instance": 2, "memory": 7000, "cpu": 4 }, "containers": [ { "image": "****", "script": "**** --listen=0.0.0.0 --server_port=8000 --headless", "port": 8000 } ], "storage": [ { "oss": { "path": "oss://examplebuket/data111/", "readOnly": false }, "properties": { "resource_type": "model" }, "mount_path": "/data" } ] } image deploymentAI-Web application: { "name": "foo", "metadata": { "instance": 1, "memory": 7000, "cpu": 4, "enable_webservice": true }, "containers": [ { "image": "****", "script": "**** --listen=0.0.0.0 --server_port=8000 --headless", "port": 8000 } ], "storage": [ { "oss": { "path": "oss://examplebucket/data111/", "readOnly": false }, "properties": { "resource_type": "model" }, "mount_path": "/data" } ] } model+processor deployment service: { "metadata": { "instance": 1, "memory": 7000, "cpu": 4 }, "name": "foo", "model_config": {}, "processor_type": "python", "processor_path": "oss://****", "processor_entry": "a.py", "model_path": "oss://****" } |
| Develop |
string |
Não |
Especifica se deve entrar no modo de desenvolvimento. Valores válidos:
|
true |
| Labels |
object |
Não |
Os rótulos personalizados. |
|
|
string |
Não |
O rótulo. |
{"key":"value"} |
|
| WorkspaceId |
string |
Não |
O ID do espaço de trabalho. |
123456 |
Tabela 1. Parâmetros do corpo da solicitação
| Nome | Tipo | Obrigatório | Descrição |
| name | String | Sim | O nome do serviço. Deve ser globalmente exclusivo na mesma região. |
| token | String | Não | A string de token usada para autenticação de acesso. Se você não especificar este parâmetro, um token será gerado automaticamente com base em generate_token. |
| model_path | String | Não | Os arquivos relacionados ao modelo. Os formatos HTTP e OSS são suportados. O endereço HTTP deve ser publicamente acessível. Se um endereço OSS for usado, a entrada pode ser um diretório ou um arquivo. Se o arquivo for um pacote compactado como .tar.gz, .tar.bz2 ou .zip, ele será descompactado automaticamente. |
| role_arn | string | Não | O ARN da função usado para autorização do OSS quando model_path ou processor_path é um endereço OSS. Para mais informações sobre como obter o ARN da função, consulte ARN da função. |
| oss_endpoint | String | Não | O endpoint do bucket do OSS quando model_path ou processor_path é um endereço OSS. |
| model_entry | String | Não | O arquivo de entrada do modelo. Se você não especificar este parâmetro, o nome do arquivo em model_path será usado. Pode conter qualquer arquivo. O caminho do arquivo principal é passado para a função Load() no processador. |
| processor_path | String | Sim | O pacote de arquivos relacionado ao processador. Arquivos locais e URLs HTTP são suportados. Se o arquivo for um pacote compactado como .tar.gz, .tar.bz2 ou .zip, ele será descompactado automaticamente. |
| processor_entry | String | Não | Obrigatório para C, C++ e Python. O arquivo principal do processador, que contém as implementações das funções Load() e Process() necessárias para a previsão. |
| processor_mainclass | String | Não | Obrigatório para Java. O arquivo principal do processador, que é a classe principal no pacote JAR. |
| processor_type | String | Sim | A linguagem de programação usada para implementar o processador. C, C++, Java e Python são suportados. |
| metadata | Dict | Não | Os metadados do serviço. Para mais informações, consulte a Tabela 2 abaixo. |
| cloud | Dict | Não | Usado apenas quando você implanta o serviço especificando um tipo de instância. O formato do parâmetro é "cloud":{"computing":{"instance_type": "ecs.gxxxxxx.large"}}. |
| containers | List | Não | Implantação de imagem personalizada. Se a implantação do processador não atender aos seus requisitos, você pode usar a implantação de imagem personalizada. Para mais informações, consulte Implantação de serviço: Imagens personalizadas. |
model_path e processor_path especificam as fontes de dados para os dados do modelo de entrada e os dados do processador. Fontes de dados HTTP e OSS são suportadas. Arquivos e diretórios locais são suportados quando você usa o comando de teste para depuração local.
Se você usar um endereço HTTP, deverá empacotar os arquivos relevantes em um pacote compactado como .tar.gz, .tar.bz2 ou .zip. Você pode fazer upload do pacote para o OSS e gerar um endereço HTTP.
Se você usar um endereço OSS, a entrada pode ser um diretório ou um arquivo.
Tabela 2. Parâmetros de metadados
| Nome | Tipo | Obrigatório | Descrição | Exemplo |
| instance | Int | Não | O número de workers iniciados para o serviço. | 1 |
| cpu | Int | Não | O número de CPUs necessárias para cada worker. | 1 |
| gpu | Int | Não | O número de GPUs necessárias para cada worker. | 0 |
| memory | Int | Não | O tamanho de memória necessário para cada worker. Unidade: MB. | 1000 |
| resource | String | Não | O grupo de recursos ao qual o serviço pertence. | eas-r-aaabbbccc |
| rpc.worker_threads | Int | Não | O número de threads usadas para processar solicitações simultaneamente em cada instância. | 5 |
| rpc.max_queue_size | Int | Não | O comprimento máximo da fila durante o processamento da solicitação. Quando a fila está cheia, novas solicitações são descartadas com um código de status 450. | 64 |
| rpc.keepalive | Int | Não | O período de tempo limite para solicitações. Unidade: milissegundos. | 5000 |
| rpc.rate_limit | Int | Não | O valor de QPS para limitação de solicitações por instância. Solicitações que excedem esse valor de QPS por instância são descartadas com um código de status 429. | 0 |
| release | Bool | Não | Se este parâmetro for definido como true, um serviço de versão canário será criado. | false |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
O resultado retornado. |
||
| RequestId |
string |
O ID da solicitação. |
40325405-579C-4D82**** |
| ServiceId |
string |
O ID do serviço recém-criado. |
eas-m-aaxxxddf |
| ServiceName |
string |
O nome do serviço recém-criado. |
yourname |
| Status |
string |
O status atual do novo serviço. |
Creating |
| Region |
string |
O ID da região do serviço recém-criado. |
cn-shanghai |
| InternetEndpoint |
string |
O endpoint público do serviço recém-criado. |
http://pai-eas.vpc.cn-shanghai.**** |
| IntranetEndpoint |
string |
O endpoint interno do serviço recém-criado. |
http://pai-eas.cn-shanghai.**** |
Exemplos
Resposta de sucesso
JSON formato
{
"RequestId": "40325405-579C-4D82****",
"ServiceId": "eas-m-aaxxxddf",
"ServiceName": "yourname",
"Status": "Creating",
"Region": "cn-shanghai",
"InternetEndpoint": "http://pai-eas.vpc.cn-shanghai.****",
"IntranetEndpoint": "http://pai-eas.cn-shanghai.****"
}
Códigos de erro
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.