Todos os produtos
Search
Central de documentação

Platform For AI:Python SDK

Última atualização: Jun 27, 2026

Este tópico fornece uma referência detalhada da API do SDK oficial em Python e inclui exemplos completos de código para os formatos de entrada e saída mais comuns.

Nota

Para conhecer os casos de uso e os princípios de funcionamento do SDK, consulte SDK para chamadas de serviço.

Pré-requisitos

pip install -U eas-prediction --user

Início rápido

Escolha uma classe Request correspondente ao formato dos dados de entrada do seu modelo. O código a seguir apresenta um exemplo mínimo de chamada de serviço ponta a ponta usando uma requisição do tipo string. Para mais exemplos, consulte Exemplos.

#!/usr/bin/env python
from eas_prediction import PredictClient
from eas_prediction import StringRequest

if __name__ == '__main__':
    client = PredictClient('http://182848887922****.cn-shanghai.pai-eas.aliyuncs.com', 'my_service')
    client.set_token('YOUR_SERVICE_TOKEN')
    client.init()

    request = StringRequest('[{}]')
    resp = client.predict(request)
    print(resp)

Referência da API

O SDK em Python oferece as classes abaixo, organizadas por finalidade:

Grupo

Descrição

Cliente principal

PredictClient: Configura informações do serviço, como endpoint, nome do serviço e token, além de enviar requisições e receber respostas.

Entrada e saída

  • StringRequest / StringResponse: Encapsula entradas e saídas para cenários baseados em strings, como processadores personalizados ou modelos PMML.

  • TFRequest / TFResponse: Encapsula requisições e respostas para modelos TensorFlow.

  • TorchRequest / TorchResponse: Encapsula requisições e respostas para modelos PyTorch.

  • BladeRequest / BladeResponse, entre outros. Para obter a lista completa de tipos suportados, consulte o SDK.

Serviço de fila

  • QueueClient: Cliente assíncrono de fila usado para enviar dados, inscrever-se em notificações de dados e consultar o status da fila.

  • Watcher: Assinante da fila criado por QueueClient.watch() para receber dados enviados.

Parâmetros comuns

Endpoint: Endereço do endpoint do servidor.

  • Para serviços padrão, defina este parâmetro como o endpoint de gateway padrão. Exemplo: 182848887922***.cn-shanghai.pai-eas.aliyuncs.com.

  • Para requisições de conexão direta via VPC, defina este parâmetro como o endpoint de conexão direta VPC do serviço. O formato é <uid>.vpc.<region-id>.pai-eas.aliyuncs.com. Exemplo: 182848887922****.vpc.cn-shanghai.pai-eas.aliyuncs.com.

Classe PredictClient

Método

Descrição

PredictClient(endpoint, service_name, custom_url)

  • Cria um objeto PredictClient.

  • Parâmetros:

    • Endpoint: Endereço do endpoint do servidor. Consulte Parâmetros comuns.

    • service_name: Nome do serviço.

    • custom_url: URL do serviço. Parâmetro opcional. Use apenas para serviços com formato de endpoint não padrão (diferente de <uid>.<region>.pai-eas.aliyuncs.com), como serviços de interface web. Exemplo: client = PredictClient(custom_url='<url>').

set_endpoint(endpoint)

  • Descrição: Define o endereço do endpoint do servidor. Consulte Parâmetros comuns.

  • O parâmetro endpoint especifica o endpoint no lado do servidor.

set_service_name(service_name)

  • Descrição: Define o nome do serviço a ser requisitado.

  • Parâmetro: service_name. Nome do serviço requisitado.

set_endpoint_type(endpoint_type)

  • Descrição: Define o tipo de gateway do servidor.

  • Parâmetro: endpoint_type. Tipo de gateway a configurar. Tipos suportados:

    • ENDPOINT_TYPE_GATEWAY: Gateway padrão.

    • ENDPOINT_TYPE_DIRECT: Indica requisição de conexão direta. Se não definido, o cliente acessa o serviço pelo gateway por padrão.

set_token(token)

  • Descrição: Define o token de acesso ao serviço.

  • O parâmetro token especifica o token de acesso ao serviço.

set_retry_count(max_retry_count)

  • Descrição: Define o número de tentativas após falha na requisição.

  • O parâmetro max_retry_count especifica quantas vezes tentar novamente após uma falha. Valor padrão: 5.

    Importante

    O cliente precisa reenviar requisições que falharam devido a problemas intermitentes, como exceções de processo no servidor, anomalias no servidor ou perda da conexão persistente com o gateway. Portanto, não defina este parâmetro como 0.

set_max_connection_count(max_connection_count)

  • Descrição: Define o número máximo de conexões persistentes no pool de conexões do cliente. Por motivos de desempenho, o cliente estabelece conexões persistentes com o servidor e as armazena em um pool. Para cada requisição, o cliente recupera uma conexão ociosa desse pool para acessar o serviço.

  • O parâmetro max_connection_count especifica o limite de conexões persistentes no pool. Valor padrão: 100.

set_timeout(timeout)

  • Descrição: Define a duração do tempo limite da requisição.

  • Parâmetro: timeout especifica o tempo limite para uma requisição em milissegundos. Valor padrão: 5000.

init()

Inicializa o objeto PredictClient. Após definir os parâmetros, chame o método init() para aplicar as configurações.

predict(request)

  • Descrição: Envia uma requisição de previsão para um serviço de previsão online.

  • O parâmetro request é uma classe abstrata; você pode passar diferentes tipos de request, como StringRequest ou TFRequest.

  • Valor de retorno: Objeto Response correspondente à requisição.

Classe StringRequest

Método

Descrição

StringRequest(request_data)

  • Cria um objeto StringRequest.

  • Parâmetro: request_data especifica a string de requisição a enviar.

Classe StringResponse

Método

Descrição

to_string()

  • Descrição: Converte um objeto StringResponse em string.

  • Valor de retorno: Corpo da resposta.

Classe TFRequest

Método

Descrição

TFRequest(signature_name)

  • Cria um objeto TFRequest.

  • Parâmetro: signature_name especifica o Signature Name no modelo a requisitar.

add_feed(self, input_name, shape, data_type, content)

  • Descrição: Define os dados de input necessários para um modelo TensorFlow.

  • Parâmetros:

    • input_name: Alias do tensor de entrada.

    • shape: Forma (shape) do tensor de entrada.

    • data_type: Tipo de dado do tensor de entrada. Tipos suportados:

      • TFRequest.DT_FLOAT

      • TFRequest.DT_DOUBLE

      • TFRequest.DT_INT8

      • TFRequest.DT_INT16

      • TFRequest.DT_INT32

      • TFRequest.DT_INT64

      • TFRequest.DT_STRING

      • TFRequest.TF_BOOL

    • content: Conteúdo do tensor de entrada, representado por um array unidimensional achatado.

add_fetch(self, output_name)

  • Descrição: Define o alias do tensor a retornar ao requisitar um modelo de serviço de previsão online TensorFlow.

  • O parâmetro output_name especifica o alias do Tensor de saída.

    Parâmetro opcional para modelos SavedModel. Se não definido, todos os outputs serão retornados.

    Parâmetro obrigatório para modelos congelados (frozen models).

to_string()

  • Descrição: Serializa o objeto ProtoBuf TFRequest em string.

  • Valor de retorno: String serializada do objeto TFRequest.

Classe TFResponse

Método

Descrição

get_tensor_shape(output_name)

  • Descrição: Obtém a forma do tensor de saída com o alias especificado.

  • O parâmetro output_name especifica o alias do Tensor cuja forma se deseja obter.

  • Valor de retorno: Forma do tensor de saída.

get_values(output_name)

  • Descrição: Obtém o vetor de dados do tensor de saída.

  • O parâmetro output_name é o alias do Tensor de saída.

  • Valor de retorno: Este método retorna a saída como um array unidimensional. Use get_tensor_shape() para recuperar a forma do tensor e remodelar o array. O método retorna diferentes tipos de arrays de resultado conforme o tipo do output.

Classe TorchRequest

Método

Descrição

TorchRequest()

Cria um objeto TorchRequest.

add_feed(self, index, shape, data_type, content)

  • Descrição: Define o tensor de entrada necessário para um modelo PyTorch.

  • Parâmetros:

    • index: Índice do tensor de entrada.

    • shape: Forma do tensor de entrada.

    • data_type: Tipo de dado do tensor de entrada. Tipos suportados:

      • TFRequest.DT_FLOAT

      • TFRequest.DT_DOUBLE

      • TFRequest.DT_INT8

      • TFRequest.DT_INT16

      • TFRequest.DT_INT32

      • TFRequest.DT_INT64

      • TFRequest.DT_STRING

      • TFRequest.TF_BOOL

    • content: Conteúdo do tensor de entrada, representado por um array unidimensional achatado.

add_fetch(self, output_index)

  • Descrição: Define o índice do tensor a retornar ao requisitar um modelo de serviço de previsão online PyTorch. Método opcional. Se não chamado para definir o índice do tensor de saída, todos os outputs serão retornados.

  • Parâmetro: output_index especifica o índice do Tensor de saída.

to_string()

  • Descrição: Serializa o objeto ProtoBuf TorchRequest em string.

  • Valor de retorno: String serializada do objeto TorchRequest.

Classe TorchResponse

Método

Descrição

get_tensor_shape(output_index)

  • Descrição: Obtém a forma do tensor de saída com o índice especificado.

  • Parâmetros: output_index: Índice do tensor de saída cuja forma se deseja recuperar.

  • Valor de retorno: Forma do tensor de saída correspondente ao índice especificado.

get_values(output_index)

  • Descrição: Obtém o vetor de dados de um tensor de saída. Este método retorna a saída como um array unidimensional. Use o método get_tensor_shape() para obter a forma do tensor correspondente e remodelá-lo para o tensor multidimensional necessário. O método retorna diferentes tipos de arrays de resultado conforme o tipo do output.

  • Parâmetro: output_index especifica o índice do Tensor de saída a recuperar.

  • Valor de retorno: Array de dados do tensor resultante.

Classe QueueClient

Método

Descrição

QueueClient(endpoint, queue_name)

  • Cria um objeto QueueClient.

  • Parâmetros:

    • Endpoint: Endereço do endpoint do servidor.

    • queue_name: Nome do serviço de fila.

set_token(token)

  • Descrição: Define o token de autenticação do serviço de fila.

  • Parâmetro: token é o token do serviço de fila.

init(uid=None,gid='eas')

  • Descrição: Inicializa um objeto QueueClient.

  • Parâmetros:

    • uid: ID de usuário do cliente registrado no servidor. O uid de cada instância de cliente deve ser único. Um uid só pode ser registrado uma vez. O servidor distribui os dados enviados uniformemente entre os diferentes uids.

    • Gid: ID de grupo do cliente registrado no servidor. Por padrão, todos os clientes pertencem ao mesmo grupo. Se existirem grupos diferentes, uma cópia dos mesmos dados será enviada para todos os grupos.

set_logger(logger=None)

  • Descrição: Define um objeto logger para o QueueClient. Por padrão, mensagens de aviso de execução são impressas na saída padrão. Para desativar essas informações, defina o objeto logger como None.

  • Parâmetro: logger. Especifica o objeto de log a configurar.

truncate(index)

  • Descrição: Trunca os dados na fila antes do índice especificado.

  • Parâmetro: index: Especifica o índice dos dados onde truncar a fila.

put(data,tags:dict={})

  • Descrição: Grava um dado na fila.

  • Parâmetros:

    • data: Conteúdo dos dados a gravar na fila.

    • tags (opcional): Tags dos dados a gravar na fila.

  • Valor de retorno:

    • index: Valor do índice dos dados recém-gravados na fila. Use esse valor para consultar dados na fila.

    • requestId: ID de requisição gerado automaticamente para os dados recém-gravados na fila. O ID de requisição é uma tag especial que também pode ser usada para consultar dados na fila.

get(request_id=None, index=0, length=1, timeout='5s', auto_delete=True, tags={})

  • Descrição: Consulta dados da fila com base em condições especificadas.

  • Parâmetros:

    • request_id: ID de requisição dos dados a consultar. Se especificado, a consulta examinará até length registros começando a partir de index. Se dados com o ID de requisição especificado forem encontrados, eles serão retornados. Caso contrário, um resultado vazio será retornado.

    • index: Índice inicial dos dados a consultar. Valor padrão: 0, indicando que a consulta começa pelo primeiro dado da fila.

    • length: Quantidade de dados a consultar. No máximo length dados serão retornados, começando e incluindo o index.

    • timeout: Tempo de espera da consulta. Se a quantidade de dados na fila atingir length dentro do tempo de espera, os dados serão retornados imediatamente. Caso contrário, a consulta será interrompida quando o timeout for atingido.

    • auto_delete: Especifica se os dados consultados devem ser excluídos automaticamente da fila. Se definido como False, será possível consultar os dados repetidamente. Chame o método delete() para excluir os dados manualmente.

    • tags: Um DICT de tags usado para filtragem. A consulta percorre length dados a partir do index especificado e retorna dados que contêm as tags indicadas.

  • Valor de retorno: Dados consultados da fila, como um DataFrame.

attributes()

  • Descrição: Obtém os atributos da fila, como o comprimento total da fila e o comprimento atual dos dados.

  • Valor de retorno: attrs: Atributos da fila. Tipo de dado: DICT.

delete(indexes)

  • Descrição: Exclui dados com o índice especificado da fila.

  • Parâmetro: indexes: Índice ou índices dos dados a remover da fila. Suporta um único índice do tipo String ou uma lista de índices do tipo List.

search(index)

  • Descrição: Consulta as informações de enfileiramento dos dados.

  • Parâmetros: index: Índice dos dados a consultar.

  • Valor de retorno: Informações de enfileiramento dos dados do tipo JSONObject, que incluem os seguintes campos:

    • ConsumerId: ID da instância que está processando os dados.

    • IsPending: Indica se os dados estão sendo processados.

      • True indica que os dados estão sendo processados.

      • False indica que os dados estão na fila.

    • WaitCount: Número de dados aguardando na fila à frente do dado atual. Campo válido apenas quando IsPending é False. Se IsPending for True, o valor será 0.

    Exemplo de conteúdo retornado:

    • A resposta {'ConsumerId': 'eas.****', 'IsPending': False, 'WaitCount':2} indica que a requisição está na fila.

    • O log mostra search error:Code 404, Message: b'no data in stream' e retorna {}. Isso indica que os dados não foram encontrados na fila. Pode ocorrer porque os dados já foram processados com sucesso pelo servidor e um resultado foi retornado, ou porque o parâmetro index está configurado incorretamente. Verifique e confirme.

watch(index, window, index_only=False, auto_commit=False)

  • Descrição: Inscreve-se nos dados da fila. O serviço de fila envia dados ao cliente com base nas condições especificadas.

  • Parâmetros:

    • index: Índice inicial para a assinatura de dados.

    • window: Tamanho da janela de assinatura. Quantidade máxima de dados que o serviço de fila pode enviar para uma única instância de cliente por vez.

      Nota

      Se os dados enviados não forem confirmados (committed), o servidor não enviará novos dados. Se N dados forem confirmados, a fila de serviço enviará N novos dados ao cliente. Isso garante que o número de itens de dados sendo processados pelo cliente em um determinado momento não exceda o tamanho da janela, limitando a concorrência do cliente.

    • index_only: Especifica se apenas o valor do índice deve ser enviado.

    • auto_commit: Especifica se os dados devem ser confirmados automaticamente após o envio. Recomendamos definir como False. Confirme os dados manualmente após receber os dados enviados e concluir o cálculo. Se uma instância falhar antes da conclusão do cálculo, os dados não confirmados nessa instância serão distribuídos pelo serviço de fila para outras instâncias para processamento.

  • Valor de retorno: Objeto watcher para ler os dados enviados.

commit(index)

  • Descrição: Confirma dados com o índice especificado.

    Nota

    Uma confirmação (commit) indica que os dados enviados pela fila de serviço foram processados. Os dados podem então ser limpos da fila e não precisam ser enviados para outras instâncias.

  • Parâmetro: index: Lista de valores de índice para os dados a confirmar na fila. Suporta um único índice do tipo String ou uma lista de múltiplos índices.

Classe Watcher

Método

Descrição

run()

  • Descrição: Executa um Watcher, estabelece uma conexão WebSocket com o servidor para receber envios de dados e retorna os resultados ao chamador em tempo real.

  • Valor de retorno: Objeto DataFrame enviado do serviço de fila para o cliente em tempo real.

close()

Descrição: Fecha um objeto Watcher para encerrar a conexão de dados back-end.

Nota

Um cliente pode ter apenas um Watcher ativo por vez. Feche o Watcher atual antes de iniciar um novo.

Exemplos

Exemplo de inferência síncrona (por formato de entrada/saída)

Selecione o código de exemplo com base nos tipos de entrada e saída do serviço.

String

Usuários que implantam serviços com um processador personalizado geralmente usam strings para chamadas de serviço, como em serviços de modelo PMML. O código a seguir mostra um programa de exemplo.

#!/usr/bin/env python

from eas_prediction import PredictClient
from eas_prediction import StringRequest

if __name__ == '__main__':
    client = PredictClient('http://182848887922****.cn-shanghai.pai-eas.aliyuncs.com', 'scorecard_pmml_example')
    client.set_token('YWFlMDYyZDNmNTc3M2I3MzMwYmY0MmYwM2Y2MTYxMTY4NzBkNzdj****')
    client.init()

    request = StringRequest('[{"fea1": 1, "fea2": 2}]')
    for x in range(0, 1000000):
        resp = client.predict(request)
        print(resp)

TensorFlow

Ao usar TensorFlow, utilize TFRequest e TFResponse como formatos de dados de entrada e saída. O código a seguir mostra um exemplo.

#!/usr/bin/env python

from eas_prediction import PredictClient
from eas_prediction import StringRequest
from eas_prediction import TFRequest

if __name__ == '__main__':
    client = PredictClient('http://182848887922****.cn-shanghai.pai-eas.aliyuncs.com', 'mnist_saved_model_example')
    client.set_token('YTg2ZjE0ZjM4ZmE3OTc0NzYxZDMyNmYzMTJjZTQ1YmU0N2FjMTAy****')
    client.init()

    #request = StringRequest('[{}]')
    req = TFRequest('predict_images')
    req.add_feed('images', [1, 784], TFRequest.DT_FLOAT, [1] * 784)
    for x in range(0, 1000000):
        resp = client.predict(req)
        print(resp)

PyTorch

Ao usar PyTorch, utilize TorchRequest e TorchResponse como formatos de dados de entrada e saída. O código a seguir mostra um exemplo.

#!/usr/bin/env python

from eas_prediction import PredictClient
from eas_prediction import TorchRequest

if __name__ == '__main__':
    client = PredictClient('http://182848887922****.cn-shanghai.pai-eas.aliyuncs.com', 'pytorch_gpu_wl')
    client.init()

    req = TorchRequest()
    req.add_feed(0, [1, 3, 224, 224], TorchRequest.DT_FLOAT, [1] * 150528)
    # req.add_fetch(0)
    import time
    st = time.time()
    timer = 0
    for x in range(0, 10):
        resp = client.predict(req)
        timer += (time.time() - st)
        st = time.time()
        print(resp.get_tensor_shape(0))
        # print(resp)
    print("average response time: %s s" % (timer / 10) )

BladeProcessor

Ao usar BladeProcessor, utilize BladeRequest e BladeResponse como formatos de dados de entrada e saída. O código a seguir mostra um exemplo.

#!/usr/bin/env python

from eas_prediction import PredictClient
from eas_prediction import BladeRequest

if __name__ == '__main__':
    client = PredictClient('http://182848887922****.cn-shanghai.pai-eas.aliyuncs.com', 'nlp_model_example')
    client.init()

    req = BladeRequest()

    req.add_feed('input_data', 1, [1, 360, 128], BladeRequest.DT_FLOAT, [0.8] * 85680)
    req.add_feed('input_length', 1, [1], BladeRequest.DT_INT32, [187])
    req.add_feed('start_token', 1, [1], BladeRequest.DT_INT32, [104])
    req.add_fetch('output', BladeRequest.DT_FLOAT)
    import time
    st = time.time()
    timer = 0
    for x in range(0, 10):
        resp = client.predict(req)
        timer += (time.time() - st)
        st = time.time()
        # print(resp)
        # print(resp.get_values('output'))
        print(resp.get_tensor_shape('output'))
    print("average response time: %s s" % (timer / 10) )

BladeProcessor compatível com a interface padrão do TensorFlow

Usuários do BladeProcessor podem usar TFRequest e TFResponse como formatos de dados de entrada e saída. Esses formatos são compatíveis com a interface padrão do TensorFlow do Elastic Algorithm Service (EAS). O código a seguir mostra um exemplo.

#!/usr/bin/env python

from eas_prediction import PredictClient
from eas_prediction.blade_tf_request import TFRequest # Need Importing blade TFRequest

if __name__ == '__main__':
    client = PredictClient('http://182848887922****.cn-shanghai.pai-eas.aliyuncs.com', 'nlp_model_example')
    client.init()

    req = TFRequest(signature_name='predict_words')

    req.add_feed('input_data', [1, 360, 128], TFRequest.DT_FLOAT, [0.8] * 85680)
    req.add_feed('input_length', [1], TFRequest.DT_INT32, [187])
    req.add_feed('start_token', [1], TFRequest.DT_INT32, [104])
    req.add_fetch('output')
    import time
    st = time.time()
    timer = 0
    for x in range(0, 10):
        resp = client.predict(req)
        timer += (time.time() - st)
        st = time.time()
        # print(resp)
        # print(resp.get_values('output'))
        print(resp.get_tensor_shape('output'))
    print("average response time: %s s" % (timer / 10) )

Exemplo de chamada de serviço usando conexão direta VPC

Para usar uma conexão direta, configure uma Virtual Private Cloud (VPC) para o serviço. Para mais informações, consulte Usar grupos de recursos do Elastic Algorithm Service (EAS) e Acessar recursos públicos ou internos a partir do EAS. Este método de chamada requer apenas uma linha adicional de código em comparação ao método normal: client.set_endpoint_type(ENDPOINT_TYPE_DIRECT). Ideal para serviços com alto tráfego e concorrência. O código a seguir fornece um exemplo.

#!/usr/bin/env python

from eas_prediction import PredictClient
from eas_prediction import StringRequest
from eas_prediction import TFRequest
from eas_prediction import ENDPOINT_TYPE_DIRECT

if __name__ == '__main__':
    # The format of a VPC direct connection endpoint is <uid>.vpc.<region-id>.pai-eas.aliyuncs.com. You can find the endpoint on the Invocation Information tab of the service details page in the EAS console.
    client = PredictClient('http://182848887922****.vpc.cn-hangzhou.pai-eas.aliyuncs.com', 'mnist_saved_model_example')
    client.set_token('M2FhNjJlZDBmMzBmMzE4NjFiNzZhMmUxY2IxZjkyMDczNzAzYjFi****')
    client.set_endpoint_type(ENDPOINT_TYPE_DIRECT)
    client.init()

    request = TFRequest('predict_images')
    request.add_feed('images', [1, 784], TFRequest.DT_FLOAT, [1] * 784)
    for x in range(0, 1000000):
        resp = client.predict(request)
        print(resp)

Exemplo: Envio e assinatura de dados em um serviço de fila

Use o QueueClient para enviar dados a um serviço de fila, consultar dados, verificar o status do serviço e inscrever-se em notificações de dados. A demonstração a seguir mostra um exemplo com duas threads. Uma thread envia dados para o serviço de fila. A outra usa um Watcher para assinar os dados enviados.

#!/usr/bin/env python

from eas_prediction import QueueClient
import threading

if __name__ == '__main__':
    endpoint = '182848887922****.cn-shanghai.pai-eas.aliyuncs.com'
    queue_name = 'test_group.qservice/sink'
    token = 'YmE3NDkyMzdiMzNmMGM3ZmE4ZmNjZDk0M2NiMDA3OTZmNzc1MTUx****'

    queue = QueueClient(endpoint, queue_name)
    queue.set_token(token)
    queue.init()
    queue.set_timeout(30000)

    # truncate all messages in the queue
    attributes = queue.attributes()
    if 'stream.lastEntry' in attributes:
        queue.truncate(int(attributes['stream.lastEntry']) + 1)

    count = 100
    # create a thread to send messages to the queue
    def send_thread():
        for i in range(count):
            index, request_id = queue.put('[{}]')
            print('send: ', i, index, request_id)

    # create a thread to watch messages from the queue
    def watch_thread():
        watcher = queue.watch(0, 5, auto_commit=True)
        i = 0
        for x in watcher.run():
            print('recv: ', i, x.index, x.tags['requestId'])
            i += 1
            if i == count:
                break
        watcher.close()

    thread1 = threading.Thread(target=watch_thread)
    thread2 = threading.Thread(target=send_thread)

    thread1.start()
    thread2.start()

    thread1.join()
    thread2.join()

Solução de problemas

Para obter informações sobre sintomas, causas e solução de exceções em chamadas do SDK Python, consulte a seção 'Solução de problemas de exceções de chamada' em SDK de Chamada de Serviço. Essas exceções incluem problemas comuns de autenticação, roteamento, conexão e servidor.

Para obter uma lista completa de códigos de status de serviço, descrições de mensagens de erro e soluções sugeridas, consulte Apêndice: Códigos de status de serviço e erros comuns.