Usar a depuração

Esta página aplica-se ao Apigee e ao Apigee Hybrid.

Veja a documentação do Apigee Edge.

Esta secção descreve como criar e gerir sessões de depuração e ver os dados de pedidos e respostas através da IU e da API Apigee.

Use a depuração offline para ver e analisar sessões de depuração transferidas anteriormente.

Criar uma sessão de depuração

A ferramenta de depuração é simples de usar. Inicia uma sessão de depuração e, em seguida, faz uma chamada API para o Apigee e, depois, vê os dados de pedido e resposta na IU.

Crie uma sessão de depuração através da IU ou da API Apigee, conforme descrito nas secções seguintes.

Consola do Apigee Cloud

Depuração v2 (novo)

Para criar uma sessão de depuração:

  1. Na Google Cloud consola, aceda à página Desenvolvimento de proxies > Proxies de API.

    Aceda a Proxies de API

  2. Selecione o proxy de API que quer depurar. É apresentado o painel Vista geral do editor de proxy.
  3. Clique no separador Depurar.
  4. Clique em Iniciar sessão de depuração. É apresentado o painel Iniciar sessão de depuração.
  5. No painel Iniciar sessão de depuração:

    1. Selecione o ambiente no qual quer executar a sessão de depuração.
    2. (Opcional) Na lista pendente Filtro, selecione um filtro para aplicar a todas as transações na sessão de depuração que está a criar. A predefinição é None (All transactions), que inclui todas as transações nos dados de depuração.

      Para obter informações sobre a utilização de filtros, consulte o artigo Utilizar filtros numa sessão de depuração. Para obter informações sobre os filtros incorporados, consulte o artigo Usar filtros predefinidos.

    3. Clique em Iniciar.

A IU do Apigee apresenta agora o painel Sessão de depuração em curso.

Clique para ver uma imagem maior nova sessão de depuração

A sessão de depuração regista pedidos durante 10 minutos ou até serem capturados 15 pedidos. Pode ajustar o limite de 10 minutos se criar a sessão de depuração através da API. O campo Termina dentro de apresenta o tempo restante na sessão.

Não são apresentadas informações no painel de depuração até enviar um pedido ao proxy que está a depurar no ambiente selecionado para a sessão de depuração.

Depois de enviar o pedido, este é apresentado no painel de lista Transações. A lista de Transações é atualizada a cada cinco segundos.

Clique para ver uma imagem maior pedido na lista de transações

Para ver ou copiar o resultado da transação:

  1. Na lista Transações, clique em Ver resultado da transação. É apresentado o painel Resultado da transação.
  2. Clique numa transação individual ou em Todas as transações.
  3. Clique em Copiar para copiar o resultado da transação para a área de transferência.
  4. Clique em Fechar.

Depuração v1

Para criar uma sessão de depuração no novo editor de proxy:

  1. Inicie sessão na Google Cloud consola.
  2. Selecione Proxy de desenvolvimento > Proxies de API.

  3. Selecione o proxy de API que quer depurar. É apresentada a vista Vista geral do editor de proxy.

  4. Clique no separador Depurar na parte superior esquerda da janela.
  5. Clique em Iniciar sessão de depuração na parte superior direita do painel Depurar. É apresentada a caixa de diálogo Iniciar sessão de depuração.

    Caixa de diálogo Iniciar sessão de depuração.

    Na caixa de diálogo:

    1. Selecione o ambiente no qual quer executar a sessão de depuração.
    2. (Opcional) Na lista pendente Filtro, selecione um filtro para aplicar a todas as transações na sessão de depuração que está a criar. A predefinição é None (All transactions), que inclui todas as transações nos dados de depuração.

      Para obter informações sobre a utilização de filtros, consulte o artigo Utilizar filtros numa sessão de depuração. Para obter informações sobre os filtros incorporados, consulte o artigo Usar filtros predefinidos.

    3. Clique em Iniciar.

A IU do Apigee apresenta agora a vista Sessão de depuração em curso.

Sessão de depuração em curso

A sessão de depuração regista pedidos durante 10 minutos ou até serem capturados 15 pedidos. Pode ajustar o limite de 10 minutos se criar a sessão de depuração através da API. O campo Termina dentro de apresenta o tempo restante na sessão.

Não são apresentadas informações no painel Debug até enviar um pedido para o proxy que está a depurar no ambiente selecionado. ambiente para a sessão de depuração.

Depois de enviar o pedido, este é apresentado na parte inferior do painel do lado esquerdo.

Caixa de diálogo Iniciar sessão de depuração.

Nota: durante uma sessão de depuração ativa, pode iniciar outra sessão na IU do Apigee. Para o fazer, basta clicar novamente em Iniciar sessão de depuração.

IU clássica

Para criar uma sessão de depuração no editor de proxy clássico:

  1. Inicie sessão na IU do Apigee.
  2. Selecione Proxies de API na vista principal.
  3. Selecione o proxy de API que quer depurar.

    O separador Vista geral é apresentado.

  4. Clique no separador Depurar na parte superior direita da página:

    Separadores

    A vista Depuração apresenta:

    Vista de depuração com os painéis Iniciar uma sessão de depuração, Sessões de depuração recentes e Enviar pedidos

  5. No painel Inicie uma sessão de depuração:
    1. Na lista pendente Env, selecione o ambiente + o número de revisão do proxy de API que quer depurar.
    2. O exemplo seguinte mostra o painel Iniciar uma sessão de depuração:

      Inicie um painel de sessão de depuração

    3. (Opcional) Na lista pendente Filtro, selecione um filtro para aplicar a todas as transações na sessão de depuração que está a criar. A predefinição é None, que inclui todas as transações nos dados de depuração.

      Para obter informações sobre a utilização de filtros, consulte o artigo Utilizar filtros numa sessão de depuração. Para obter informações sobre os filtros incorporados, consulte o artigo Usar filtros predefinidos.

    4. Clique em Iniciar sessão de depuração.

      A IU do Apigee apresenta agora detalhes sobre a sessão de depuração atual, incluindo o respetivo ID, no painel Detalhes da depuração.

      Embora a IU tenha criado a sessão de depuração, ainda tem de enviar o pedido antes de existirem dados para recolher.

      No painel Detalhes de depuração, pode fazer o seguinte:

      Ícone Função Descrição
      Ícone Transferir Transferir Transferir os dados de depuração da sessão ativa, que pode ver offline.
      Ícone de devolução Devolver Regresse ao painel anterior, onde pode iniciar outra sessão de depuração. A sessão de depuração atual continua até atingir o respetivo limite de tempo ou número de transações.
      Ícone Eliminar Eliminar Elimine os dados da sessão de depuração atualmente selecionada. Esta ação elimina os dados da sessão, mas não interrompe as sessões.

      Existe um limite de tempo predefinido de 10 minutos para uma sessão de depuração que inicia na interface do utilizador (é diferente para uma sessão iniciada com a API).

      O relógio começa a funcionar assim que clicar em Iniciar sessão de depuração. Por isso, pode optar por esperar até ao passo seguinte antes de clicar em Iniciar sessão de depuração para maximizar a quantidade de dados que recolhe.

  6. No painel Enviar pedidos:
    1. No campo URL, introduza o ponto final para o qual quer enviar um pedido. Opcionalmente, anexe parâmetros de string de consulta ao URL. Não pode enviar pedidos que não sejam GET.
      Como encontrar o URL do ponto final
      1. Aceda a Administração > Ambientes > Grupos
      2. O URL é o nome do anfitrião para o ambiente respetivo com o qual quer executar a sessão de depuração.
    2. O painel Enviar pedidos apenas mostra os dados dos pedidos baseados na IU. No entanto, tenha em atenção que a depuração também regista dados para pedidos que não foram iniciados pela IU.

    3. Clique em Enviar.

      O Apigee envia um pedido para o URL especificado. Sempre que clica em Enviar, a IU do Apigee regista o pedido no painel Detalhes de depuração.

      O exemplo seguinte mostra vários pedidos bem-sucedidos (que resultam num código de estado HTTP de 200):

      Pedidos de depuração capturados

      Clique em Copiar para copiar o ID de depuração para referência ou consultas futuras.

      Além disso, a IU apresenta dados de depuração nas secções Mapa de transações e Detalhes da fase do painel Enviar pedidos e preenche as secções Ponto final do proxy, cabeçalhos dos pedidos, conteúdo dos pedidos e propriedades, conforme mostra o exemplo seguinte:

      Pedidos de depuração capturados

      Para mais informações acerca das fases, do mapa de transações e de outras secções da vista Enviar pedidos, consulte Como ler uma depuração.

    A sessão de depuração está agora ativa e regista dados sobre todos os pedidos (a menos que sejam filtrados). A sessão permanece ativa até atingir o limite de tempo ou exceder o número de pedidos registados na sessão.

  7. Pode criar qualquer número de sessões de depuração na IU. Para mais informações, consulte a secção Iniciar outra sessão de depuração.

API

Para criar uma sessão de depuração através da API, emita um pedido POST para o seguinte recurso:

https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/debugsessions

Opcionalmente, pode:

O exemplo seguinte demonstra como criar uma sessão de depuração através da API.

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions" \
      -X POST \
      -H "Authorization: Bearer $TOKEN"
    

Onde $TOKEN está definido como a sua chave de acesso OAuth 2.0, conforme descrito em Obter uma chave de acesso OAuth 2.0. Para ver informações sobre as opções de curl usadas neste exemplo, consulte o artigo Usar o curl. Para uma descrição das variáveis de ambiente que pode usar, consulte o artigo Definir variáveis de ambiente para pedidos de API Apigee.

Segue-se um exemplo da resposta:

{
      "name":"56382416-c4ed-4242-6381-591bbf2788cf",
      "validity":300,
      "count":10,
      "tracesize":5120,
      "timeout":"600"
    }

Os pedidos subsequentes ao proxy da API (até ser atingida a duração da sessão ou o número máximo de pedidos) são avaliados e potencialmente armazenados nos dados da sessão de depuração.

Para mais informações, consulte a API Create debug session.

Definir a duração de uma sessão de depuração através da API

Para definir a duração de uma sessão de depuração através da API, inclua o seguinte como uma carga útil no seu pedido de criação de sessão de depuração:

{
      "timeout":"debug_session_length_in_seconds"
    }

O exemplo seguinte cria uma sessão de depuração com apenas 42 segundos:

curl https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions"
      -X "POST" \
      -H "Authorization: Bearer $TOKEN" \
      -d ' {
        "timeout":"42"
      } '

Só pode definir o timeout de uma sessão em pedidos de criação de sessões de depuração. Não pode alterar a duração de uma sessão depois de a criar.

O valor predefinido de timeout é 300 (5 minutos). O valor máximo é de 600 segundos (10 minutos).

Copie o URL do proxy

O URL de proxy é usado para enviar pedidos para o seu proxy de API.

Consola do Apigee Cloud

Depuração v2 (novo)

Para encontrar e copiar o URL de proxy:

  1. No painel Sessão de depuração, campo URL, clique em Copiar.
  2. Se não estiver aberta uma sessão de depuração:
    1. Na Google Cloud consola, aceda à página Gestão > Ambientes > Grupos de ambientes.

      Aceda a Grupos de ambientes

    2. O URL é o nome de anfitrião para o ambiente respetivo com o qual quer executar a sessão de depuração. Selecione-o e, de seguida, copie-o.

Para selecionar um URL de proxy diferente:

  1. No painel Sessão de depuração, campo URL, clique em Editar.
  2. Faça as alterações pretendidas e, de seguida, clique em Atualizar.
  3. Se não estiver aberta uma sessão de depuração:
    1. Encontre o URL de proxy.
    2. Clique em Mais, e, de seguida, clique em Editar.
    3. Faça as alterações pretendidas e, de seguida, clique em Atualizar.

Depuração v1

Para encontrar e copiar o URL de proxy:

  1. Na Google Cloud consola, aceda a Gestão > Ambientes > Grupos de ambientes
  2. O URL é o nome do anfitrião para o ambiente respetivo com o qual quer executar a sessão de depuração. Selecione-o e, de seguida, copie-o.

Para editar o URL de proxy:

  1. Encontre o URL de proxy.
  2. Clique em Mais, e, de seguida, clique em Editar.
  3. Faça as alterações pretendidas e, de seguida, clique em Atualizar.

IU clássica

Para encontrar e copiar o URL do ponto final:

  1. Na IU do Apigee, aceda a Administração > Ambientes > Grupos. É feito o redirecionamento para a página Google Cloud console, Management > Environments > Environment Groups.
  2. O URL é o nome do anfitrião para o ambiente respetivo com o qual quer executar a sessão de depuração. Selecione-o e, em seguida, copie-o.

Para editar o URL de destino:

  1. Encontre o URL do ponto final.
  2. Clique em Mais e, de seguida, clique em Editar.
  3. Faça as alterações pretendidas e, de seguida, clique em Atualizar.

Iniciar outra sessão de depuração na IU

Pode criar qualquer número de sessões de depuração na IU.

Consola do Apigee Cloud

Durante uma sessão de depuração ativa, pode iniciar outra sessão na IU do Apigee. Para tal, clique em Fechar no painel Sessão de depuração:

Clique para ver a imagem maior Feche e regresse ao painel Inicie uma sessão de depuração

A IU regressa ao painel Iniciar uma sessão de depuração, onde pode iniciar uma nova sessão de depuração.

IU clássica

Durante uma sessão de depuração ativa, pode iniciar outra sessão na IU do Apigee. Para tal, clique no ícone de seta para trás () no painel Detalhes de depuração:

Seta de retrocesso que lhe permite voltar ao painel Inicie uma sessão de depuração

A IU regressa ao painel Iniciar uma sessão de depuração, onde pode iniciar uma nova sessão de depuração.

Quando termina uma sessão de depuração?

Não pode simplesmente parar uma sessão de depuração ativa. No entanto, pode eliminar os dados de uma sessão ativa, conforme descrito em Eliminar dados da sessão de depuração.

Quando cria uma sessão de depuração, existem duas propriedades que determinam quando termina:

  • timeout: o período durante o qual recolhe dados durante uma sessão. A duração predefinida depende da forma como iniciou a sessão (através da IU ou da API). O valor máximo é de 600 segundos (ou 10 minutos).
  • count: o número máximo de pedidos registados numa única sessão por processador de mensagens. Uma vez que o número de processadores de mensagens na maioria dos clusters é variável, os efeitos da contagem podem ser imprevisíveis. O Apigee não recomenda a personalização desta definição.

Quando o tempo limite ou a contagem é atingido, a sessão de depuração para esse processador de mensagens termina.

Os seguintes termos são usados para descrever o estado de uma sessão de depuração:

  • Uma sessão ativa é uma sessão de depuração que ainda não atingiu o respetivo limite de tempo nem excedeu a respetiva quantidade. Uma sessão ativa continua a registar dados de pedidos para pedidos que não são filtrados.
  • Uma sessão concluída é uma sessão de depuração que atingiu o limite de tempo ou excedeu a respetiva contagem. Uma sessão concluída deixa de registar dados sobre novos pedidos e os respetivos dados são eliminados no prazo de 24 horas após a hora em que a sessão terminou.

Como ler uma sessão de depuração

Esta secção oferece uma vista geral de uma sessão de depuração.

Veja também:

Consola do Apigee Cloud

Depuração v2 (novo)

A ferramenta de depuração tem duas partes principais: o painel de transações e os detalhes da fase:

  • O painel de transações usa ícones para marcar cada passo notável que ocorre durante uma transação de proxy da API, incluindo a execução de políticas, os passos condicionais e as transições. Passe o cursor do rato sobre qualquer ícone para ver informações de resumo. Os passos do fluxo de pedidos aparecem na parte superior do mapa de transações e os passos do fluxo de respostas na parte inferior.
  • O painel Detalhes da fase apresenta informações sobre o processamento interno do proxy, incluindo variáveis que foram definidas ou lidas, cabeçalhos de pedidos e respostas, e muito mais. Clique em qualquer ícone para ver os detalhes da fase desse passo.

Depuração v1

Esta versão da ferramenta de depuração usa um gráfico de Gantt para apresentar os passos no pedido e na resposta.

IU clássica

A ferramenta de depuração tem duas partes principais: o mapa de transações e os detalhes da fase:

  • O mapa de transações usa ícones para marcar cada passo notável que ocorre durante uma transação de proxy da API, incluindo a execução de políticas, os passos condicionais e as transições. Passe o cursor do rato sobre qualquer ícone para ver informações de resumo. Os passos do fluxo de pedidos são apresentados na parte superior do mapa de transações e os passos do fluxo de respostas na parte inferior.
  • A secção Detalhes da fase da ferramenta apresenta informações sobre o processamento interno do proxy, incluindo variáveis que foram definidas ou lidas, cabeçalhos de pedidos e respostas, e muito mais. Clique em qualquer ícone para ver os detalhes da fase desse passo.

Painel de transações

O painel de transações mostra os passos no pedido e na resposta.

Consola do Apigee Cloud

Depuração v2 (novo)

Segue-se um exemplo do painel de transações da ferramenta de depuração com os principais segmentos de processamento de proxy etiquetados:

Clique para ver a imagem maior Diagrama de depuração que mostra o pedido de proxy de início para iniciar o pedido de destino para iniciar a resposta de destino para iniciar a resposta de proxy para iniciar o fluxo de publicação do cliente

Depuração v1

Para ver os detalhes de uma transação (pedido e resposta) na vista de depuração, clique na linha da transação para apresentar um gráfico de Gantt no painel do lado direito que mostra os passos no pedido e na resposta.

Gráfico de Gantt dos passos da transação no painel do lado direito.

O eixo horizontal do diagrama indica as horas em que cada passo ocorreu, medido em milissegundos. Cada passo é representado por um retângulo que se estende desde a hora de início até à hora de fim do passo.

Pode percorrer uma sessão de depuração com os botões Anterior e Seguinte na parte inferior direita do painel de depuração. Clique em:

  • Anterior para mover a linha selecionada para o passo anterior no gráfico.
  • Seguinte para mover a linha selecionada para o passo seguinte no gráfico.

No exemplo apresentado acima, o gráfico apresenta duas políticas que são executadas na resposta:

  • ResponsePayload
  • Adicione CORS

Pode clicar num destes passos para ver os respetivos detalhes. Por exemplo, se clicou na política Adicionar CORS, veria detalhes como os apresentados abaixo junto ao gráfico de Gantt.

Adicione detalhes da política CORS.

Se, em seguida, decidir alterar algo na configuração da política, pode clicar em Desenvolver para mudar para a vista Desenvolver, onde veria as mesmas duas políticas no PostFlow de resposta.

Visualizar o separador Desenvolver em relação a uma sessão de depuração.

IU clássica

Segue-se um exemplo de um mapa da ferramenta de depuração com os principais segmentos de processamento de proxy etiquetados:

Mapa de transações da ferramenta de depuração

Diagrama de depuração que mostra o pedido de proxy de início para iniciar o pedido de destino para iniciar a resposta de destino para iniciar a resposta de proxy para iniciar o fluxo de publicação do cliente

Legenda do painel de transações

A descrição seguinte refere-se aos ícones no painel de transações:

Consola do Apigee Cloud

Depuração v2 (novo)

Esta secção descreve os ícones no painel de transações:

Ícones de políticas

Cada tipo de política tem um ícone exclusivo. Estes ícones permitem-lhe ver onde as políticas são executadas pela ordem adequada e se são bem-sucedidas ou não. Pode clicar num ícone de política para ver os resultados da respetiva execução e se são esperados ou não. Por exemplo, pode ver se a mensagem foi transformada corretamente ou se está a ser colocada em cache.

As políticas padrão aumentam as suas APIs para controlar o tráfego, melhorar o desempenho, aplicar a segurança e aumentar a utilidade das suas APIs, sem ter de escrever código nem modificar os serviços de back-end.

As políticas extensíveis permitem-lhe adicionar lógica personalizada aos seus proxies de API. Pode usar estas políticas para adicionar funcionalidades que não são fornecidas pelas políticas padrão.

Consulte a Vista geral de referência das políticas para mais informações sobre as políticas e as categorias.

Para filtrar a tabela:

  • Selecione um tipo de política e/ou uma categoria de política.
  • Clique no cabeçalho da coluna Nome para ordenar a tabela por nome da política.
  • Escreva uma palavra-chave para pesquisar um nome de política.

Tipo de política

Categoria de política

Ícone Nome Tipo Categoria
manage_search Política ParseDialogflowRequest Extensível Fluxo de diálogo
chat_add_on Política SetDialogflowResponse Extensível Fluxo de diálogo
stacked_line_chart Política de Captura de Dados Extensível Extensão
display_external_input Política de textos destacados externos Standard Extensão
flowsheet Política de textos destacados de fluxo Extensível Extensão
automatização Política de texto destacado de integração Extensível Extensão
Ícone da política JavaCallout Política JavaCallout Extensível Extensão
Ícone da política de JavaScript Política de JavaScript Extensível Extensão
add_notes Política de MessageLogging Extensível Extensão
chat_paste_go Política PublishMessage Standard Extensão
Ícone da política do PythonScript Política de PythonScript Extensível Extensão
integration_instructions Política ServiceCallout Extensível Extensão
automatização Política SetIntegrationRequest Extensível Extensão
waterfall_chart Política da TraceCapture Extensível Extensão
cloud_done Política AccessEntity Extensível Mediação
account_tree Política de AsseretCondition Standard Mediação
edit_square Política AssignMessage Extensível Mediação
login Política ExtractVariables Extensível Mediação
Ícone de política de GraphQL Política de GraphQL Standard Mediação
sync_alt Política HTTPModifier Standard Mediação
sync_alt Política de JSON para XML Standard Mediação
account_tree Política KeyValueMapOperations Extensível Mediação
sync_alt Política de verificação de limites de rentabilização Extensível Mediação
cloud_done Política de validação da OAS Standard Mediação
denunciar Política RaiseFault Standard Mediação
sync_alt Política ReadPropertySet Standard Mediação
cloud_done Política SOAPMessageValidation Standard Mediação
sync_alt Política XMLtoJSON Standard Mediação
cloud_done Política XSLTransform Extensível Mediação
bloquear Política AccessControl Standard Segurança
segurança Política de BasicAuthentication Extensível Segurança
connect_without_contact Política de CORS Standard Segurança
bloquear Política DecodeJWS Extensível Segurança
bloquear Política DecodeJWT Standard Segurança
chave de acesso Política DeleteOAuthV2Info Extensível Segurança
bloquear Política GenerateSamlAssertion Extensível Segurança
bloquear GenerateJWS policy Extensível Segurança
bloquear Política GenerateJWT Extensível Segurança
chave de acesso Política GetOAuthV2Info Extensível Segurança
bloquear Política de HMAC Standard Segurança
segurança Política JSONThreatProtection Extensível Segurança
chave de acesso Política OAuthV2 Extensível Segurança
segurança Política RegularExpressionProtection Extensível Segurança
chave de acesso Política RevokeOAuthV2 Extensível Segurança
chave de acesso Política SetOAuthV2Info Extensível Segurança
bloquear Política ValidateSamlAssertion Extensível Segurança
key Política VerifyAPIKey Extensível Segurança
chave de acesso VerifyIAM policy Extensível Segurança
bloquear VerifyJWS policy Extensível Segurança
bloquear Política VerifyJWT Standard Segurança
segurança Política XMLThreatProtection Extensível Segurança
em cache Política InvalidateCache Extensível Gestão de tráfego
em cache Política LookupCache Extensível Gestão de tráfego
em cache Política PopulateCache Extensível Gestão de tráfego
bar_chart_4_bars Política de quotas Extensível Gestão de tráfego
repartition Política ResetQuota Extensível Gestão de tráfego
em cache Política ResponseCache Extensível Gestão de tráfego
emergency_home Política SpikeArrest Standard Gestão de tráfego

Outros ícones

A tabela seguinte descreve a finalidade dos outros ícones que vai ver no painel de transações. Estes ícones marcam cada um dos passos de processamento notáveis ao longo do fluxo do proxy.

Para filtrar a tabela:

  • Selecione um tipo de ícone.
  • Clique no cabeçalho da coluna Nome para ordenar a tabela por nome do ícone.
  • Escreva uma palavra-chave para pesquisar o nome de um ícone.

Tipo de ícone

Ícone Nome Tipo Descrição
monitorizar App cliente Transação padrão A app cliente que envia um pedido para o ProxyEndpoint do proxy de API.
círculo Ponto final de transição Transação padrão O círculo marca os pontos finais de transição no fluxo do proxy. Estão presentes quando o cliente envia um pedido, quando o pedido é enviado para o destino, quando o destino envia uma resposta e quando a resposta é enviada de volta para o cliente.
stat_0 Segmento do fluxo Transação padrão

O losango indica o início de um segmento de fluxo no fluxo do proxy da API. Os segmentos de fluxo são: pedido ProxyEndpoint, pedido TargetEndpoint, resposta TargetEndpoint e resposta ProxyEndpoint. Um segmento inclui o PreFlow, os Conditional Flows e o PostFlow.

Consulte Fluxos condicionais para mais informações.

Ícone de condição verdadeira Fluxo condicional verdadeiro Transação padrão

Um fluxo condicional que é avaliado como verdadeiro (como uma declaração if que foi avaliada como true). Para uma introdução aos fluxos condicionais, consulte Fluxos condicionais.

Tenha em atenção que algumas condições são geradas pelo Apigee. Por exemplo, a seguinte é uma expressão que o Apigee usa para verificar se ocorreu um erro no ProxyEndpoint:

((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))

Ícone de condição falsa Fluxo condicional falso Transação padrão

Um fluxo condicional que é avaliado como falso. Para uma introdução aos fluxos condicionais, consulte Fluxos condicionais.

Tenha em atenção que algumas condições são geradas pelo Apigee. Por exemplo, o seguinte é uma expressão que o Apigee usa para verificar se ocorreu um erro no TargetEndpoint:

(((error.state equals TARGET_REQ_FLOW) or (error.state equals TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals RESP_START)))

Ícone de informações do fluxo Informações do fluxo Transação padrão Representa informações contextuais sobre a execução do proxy de API, que variam consoante o ponto no fluxo. Isto inclui detalhes sobre a configuração do proxy, o estado de execução atual (por exemplo, PreFlow, PostFlow, flow hooks), detalhes de execução da política e variáveis preenchidas durante a execução da política, para indicar o estado específico do proxy nesse ponto.
done_all Execução do fluxo Transação padrão Marca o início ou o fim da execução de um fluxo, indicando o período de um segmento de fluxo distinto, para demarcar visualmente os limites do fluxo e indicar a sequência de execução do fluxo.
commit Processamento de fluxos Transação padrão Indica o processamento ativo num fluxo, representando o período durante o qual as políticas e a lógica do fluxo são executadas.
bar_chart Dados capturados pelas estatísticas do Apigee Transação padrão Indica que ocorreram ações do Analytics em segundo plano.
location_on Serviço de back-end Transação padrão Serviço de back-end que recebe o pedido. O destino de back-end chamado pelo proxy de API.
Ícone desativado Desativado Estado do passo Aparece num ícone de política quando uma política está desativada. Uma política pode ser desativada com a API pública. Consulte a referência de configuração do proxy da API.
ícone de erro Erro Estado do passo Aparece num ícone de política quando a condição do passo de política é avaliada como falsa (consulte Condições com variáveis de fluxo) ou no ícone de política RaiseFault sempre que uma política RaiseFault é executada.
Ícone de ignorado Ignorado Estado do passo Aparece num ícone de política quando a política não foi executada porque a condição do passo foi avaliada como falsa. Consulte as Condições com variáveis de fluxo) para mais informações.

Depuração v1

Esta versão usa um gráfico de Gantt para apresentar os passos no pedido e na resposta. Não é fornecida nenhuma legenda.

IU clássica

A tabela seguinte descreve a intenção dos ícones que vê no mapa de transações. Estes ícones marcam cada um dos passos de processamento notáveis ao longo do fluxo do proxy.

Ícones do mapa de transações

Ícone da app cliente A app cliente que envia um pedido para o ProxyEndpoint do proxy de API.
Ícone de ponto final de transição Os círculos marcam pontos finais de transição no fluxo do proxy. Estão presentes quando um pedido é recebido do cliente, quando o pedido é enviado para o destino, quando a resposta é recebida do destino e quando a resposta é enviada de volta para o cliente.
flow segment icon

As barras altas indicam o início de um segmento de fluxo no fluxo do proxy de API. Os segmentos de fluxo são: pedido ProxyEndpoint, pedido TargetEndpoint, resposta TargetEndpoint e resposta ProxyEndpoint. Um segmento inclui o PreFlow, os fluxos condicionais e o PostFlow.

Consulte o artigo Configurar fluxos para mais informações.

Ícone do Analytics

Indica que ocorreram ações do Analytics em segundo plano.

Ícone de condição verdadeira

Um fluxo condicional que é avaliado como verdadeiro. Para uma introdução aos fluxos condicionais, consulte o artigo Configurar fluxos.

Tenha em atenção que algumas condições são geradas pelo Apigee. Por exemplo, o seguinte é uma expressão que o Apigee usa para verificar se ocorreu um erro no ProxyEndpoint:

((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))
ícone de condição falso

Um fluxo condicional que é avaliado como falso. Para uma introdução aos fluxos condicionais, consulte o artigo Configurar fluxos.

Tenha em atenção que algumas condições são geradas pelo Apigee. Por exemplo, o seguinte é uma expressão que o Apigee usa para verificar se ocorreu um erro no TargetEndpoint:

(((error.state equals TARGET_REQ_FLOW) or (error.state equals TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals RESP_START)))

Ícone de XML para JSON

Ícone de quota

Políticas. Cada tipo de política tem um ícone exclusivo. Esta é para a política AssignMessage. Estes ícones permitem-lhe ver onde as políticas são executadas pela ordem adequada e se são bem-sucedidas ou não. Pode clicar num ícone de política para ver os resultados da respetiva execução e se são esperados ou não. Por exemplo, pode ver se a mensagem foi transformada corretamente ou se está a ser colocada em cache.

A execução adequada das políticas é claramente indicada por marcas de verificação. Em caso de erro, é apresentado um ponto de exclamação vermelho no ícone.

Ícone do servidor O destino de back-end chamado pelo proxy de API.
Ícone de milissegundos A linha cronológica indica quanto tempo (em milissegundos) demorou o tempo de processamento a ser concluído. A comparação dos segmentos de tempo decorrido ajuda a isolar as políticas que demoram mais tempo a executar e que estão a abrandar as suas chamadas API.
Ícone de épsilon O épsilon indica um período inferior a um milissegundo.
Ícone desativado

Desativado. Aparece num ícone de política quando uma política está desativada. Uma política pode ser desativada com a API pública. Consulte a referência de configuração do proxy da API.

ícone de erro Erro. Aparece num ícone de política quando a condição do passo de política é avaliada como falsa (consulte Variáveis e condições de fluxo) ou no ícone de política RaiseFault sempre que uma política RaiseFault é executada.
Ícone de ignorado Ignorado. Aparece num ícone de política quando a política não foi executada porque a condição do passo foi avaliada como falsa. Consulte o artigo Variáveis e condições do fluxo para mais informações.

Painel de detalhes da fase

O painel de detalhes da fase indica o estado do seu proxy em cada passo de processamento.

Consola do Apigee Cloud

Depuração v2 (novo)

O painel de detalhes da fase indica muitas informações sobre o estado do seu proxy em cada passo de processamento. Seguem-se alguns dos detalhes facultados. Clique em qualquer ícone na ferramenta de depuração para ver detalhes do passo selecionado ou use os botões > Seguinte ou < Anterior para passar de um passo para outro.

A tabela seguinte descreve os detalhes facultados no painel de detalhes da fase.

Detalhes da fase Descrição
Variáveis

Apresenta as variáveis de fluxo que foram lidas e às quais foi atribuído um valor por uma política. Consulte também Usar variáveis de fluxo.

Cabeçalhos do pedido Apresenta os cabeçalhos do pedido HTTP.
Peça conteúdo Mostra o corpo do pedido HTTP.
Propriedades As propriedades representam o estado interno do proxy da API. Estas não são apresentadas por predefinição.
Ponto final de destino Indica qual o TargetEndpoint que foi selecionado para execução.
Cabeçalhos das respostas Lista os cabeçalhos de resposta HTTP.
Conteúdo da resposta Mostra o corpo da resposta HTTP.

Depuração v1

Clique nos passos no gráfico de Gantt para ver os detalhes da fase ou percorra uma sessão de depuração com os botões > Seguinte ou < Anterior.

IU clássica

A parte Detalhes da fase da ferramenta indica muitas informações sobre o estado do seu proxy em cada passo de processamento. Seguem-se alguns dos detalhes facultados nos detalhes da fase. Clique em qualquer ícone na ferramenta de depuração para ver os detalhes do passo selecionado ou use os botões Seguinte/Anterior para passar de um passo para outro.

Detalhes da fase Descrição
Ponto final do proxy Indica o fluxo de ProxyEndpoint que foi selecionado para execução. Um proxy de API pode ter vários pontos finais de proxy com nome.
Variáveis

Apresenta as variáveis de fluxo que foram lidas e às quais foi atribuído um valor por uma política. Consulte também o artigo Usar variáveis de fluxo.

Nota:

  • Um sinal de igual (=) indica o valor que foi atribuído à variável.
  • Um sinal de igual com uma linha a atravessá-lo (≠) indica que não foi possível atribuir um valor à variável porque é só de leitura ou ocorreu um erro na execução da política.
  • Um campo vazio indica que o valor da variável foi lido.
Cabeçalhos do pedido Apresenta os cabeçalhos do pedido HTTP.
Peça conteúdo Mostra o corpo do pedido HTTP.
Propriedades As propriedades representam o estado interno do proxy da API. Estas não são apresentadas por predefinição.
Ponto final de destino Indica qual o TargetEndpoint que foi selecionado para execução.
Cabeçalhos das respostas Lista os cabeçalhos de resposta HTTP.
Conteúdo da resposta Mostra o corpo da resposta HTTP.
PostClientFlow Mostra informações sobre o PostClientFlow, que é executado depois de o pedido ser devolvido à app de cliente que o fez. Apenas as políticas de MessageLogging podem ser anexadas ao PostClientFlow. O PostClientFlow é usado atualmente sobretudo para medir o intervalo de tempo entre as datas/horas de início e fim da mensagem de resposta.

Linha cronológica

A cronologia indica quanto tempo (em milissegundos) demorou o tempo de processamento a ser concluído. A comparação dos segmentos de tempo decorrido ajuda a isolar as políticas que demoram mais tempo a executar e que estão a abrandar as chamadas da API.

O épsilon indica um período inferior a um milissegundo.

Consola do Apigee Cloud

Depuração v2 (novo)

Clique para ver a imagem maior Linha cronológica na IU de depuração v2

Depuração v1

Clique para ver a imagem maior Linha cronológica na IU de depuração v1

IU clássica

Clique para ver a imagem maior cronologia na IU clássica

Expandir e reduzir grupos

Esta secção descreve como expandir e reduzir grupos no painel Transação.

Consola do Apigee Cloud

Depuração v2 (novo)

Os passos da transação, tanto para o pedido como para a resposta, são agrupados pela forma como foram configurados anteriormente no separador Desenvolver; pelo fluxo partilhado. Por exemplo: pré-proxy, pós-proxy, pré-segmentação e pós-segmentação.

Cada agrupamento apresenta claramente as políticas, as condições, os fluxos partilhados e as informações dos fluxos relevantes.

Por predefinição, os fluxos partilhados são agrupados e reduzidos.

As seguintes ações estão disponíveis no painel Transação:

Item Nome Descrição
Expandir todos os controlos de deslize
<img <="" alt="collapse all slider" class="screenshot" src="/static/apigee/docs/api-platform/debug/images/collapse_all_slider.png" td="" width="" />
Expandir tudo
Reduzir tudo
Expanda ou reduza todos os grupos.
Ícone de expandir grupo
ícone de reduzir grupo
Expandir
Reduzir
Expanda ou reduza um grupo.

Veja também:

Depuração v1

A expansão e o recolhimento de grupos não estão disponíveis nesta versão.

IU clássica

A expansão e o recolhimento de grupos não estão disponíveis nesta versão.

A pesquisa permite-lhe encontrar uma palavra ou uma expressão no pedido ou na resposta.

Consola do Apigee Cloud

Depuração v2 (novo)

A pesquisa permite-lhe encontrar uma palavra ou uma expressão no pedido ou na resposta.

Tenha em conta o seguinte:

  • A pesquisa não é sensível a maiúsculas e minúsculas
  • A pesquisa aplica-se a uma única transação, ou seja, não pesquisa todas as transações em toda a sessão de depuração.
  • A pesquisa expande as secções reduzidas, mas não mostra informações sobre nós que são filtrados pelas seleções de Opções de visualização.

Para pesquisar:

  1. Escreva texto na caixa de pesquisa.
  2. Prima Enter.

    Os resultados da pesquisa são realçados no painel de transações e no painel Detalhes da fase.

  3. Clique em keyboard_arrow_up Anterior ou keyboard_arrow_down Seguinte para avançar ou recuar um passo.
Clique para ver a imagem maior Resultados da pesquisa na IU de depuração v2

Depuração v1

A pesquisa não está disponível nesta versão.

IU clássica

A pesquisa não está disponível nesta versão.

Zoom

O zoom permite-lhe controlar a vista do painel Transação.

Consola do Apigee Cloud

Depuração v2 (novo)

O zoom controla a vista do painel de transações da seguinte forma:

Clique para ver a imagem maior Depure os controlos de zoom v2
Ícone Descrição
100% Nível de zoom atual. A predefinição é 100%.
fit_screen Ajustar ao ecrã
zoom_in Aumentar
zoom_out Reduzir
youtube_searched_for Reposição do zoom

Depuração v1

O zoom não está disponível nesta versão.

IU clássica

O zoom não está disponível nesta versão.

Depuração com a ferramenta de depuração

A depuração permite-lhe ver muitos detalhes internos sobre um proxy de API. Por exemplo:

  • Pode ver rapidamente que políticas estão a ser executadas corretamente ou a falhar.
  • Suponhamos que reparou através de um dos painéis de controlo do Analytics que uma das suas APIs está a registar uma diminuição invulgar no desempenho. Agora, pode usar a depuração para ajudar a identificar onde está a ocorrer o gargalo. A depuração indica o tempo, em milissegundos, que cada passo de processamento demora a concluir. Se achar que um passo está a demorar demasiado tempo, pode tomar medidas corretivas.
  • Pode verificar os cabeçalhos que estão a ser enviados para o back-end, ver as variáveis definidas pelas políticas, etc.
  • Ao validar o caminho base, pode garantir que uma política está a encaminhar a mensagem para o servidor correto.

Filtrar dados numa sessão de depuração

Quando cria uma sessão de depuração, pode adicionar um filtro a essa sessão para que o Apigee devolva apenas os dados pretendidos. Um filtro é uma declaração condicional que o Apigee avalia em relação às mensagens de pedido e resposta para determinar se os respetivos dados de depuração devem ser incluídos na sessão de depuração. Por exemplo, pode filtrar todos os pedidos com um código de resposta HTTP inferior a 599 ou comparar valores no pedido com variáveis personalizadas.

Tenha em conta o seguinte:

  • Os pedidos que não estão incluídos numa sessão de depuração porque são filtrados não contam para o número máximo de transações na sessão de depuração.
  • O Apigee não suporta a adição de filtros na string de consulta.
  • Não pode adicionar um filtro a uma sessão de depuração depois de esta ter sido iniciada. Para adicionar um filtro, tem de criar uma sessão de depuração.

Usar filtros

Use um filtro quando criar uma sessão de depuração através da IU ou da API Apigee, conforme descrito nas secções seguintes.

Consola do Apigee Cloud

Quando cria uma sessão de depuração na IU, na lista pendente Filtros, pode escolher um filtro predefinido para aplicar no painel Iniciar uma sessão de depuração ou escolher Filtro personalizado e criar o seu próprio filtro com a sintaxe de filtro.

IU clássica

Quando cria uma sessão de depuração na IU, na lista pendente Filtros, pode escolher um filtro predefinido para aplicar no painel Iniciar uma sessão de depuração ou escolher Filtro personalizado e criar o seu próprio filtro com a sintaxe de filtro.

API

Para criar uma sessão de depuração com um filtro através da API, inclua o seguinte como um payload no seu pedido de criação da sessão de depuração:

{
  "filter":"filter_body"
}

Para informações sobre a criação de filtros, consulte o artigo Sintaxe de filtros.

O exemplo seguinte cria uma sessão de depuração que inclui apenas transações em que o cabeçalho A é igual a 42 e o cabeçalho B é igual a 43 ou o código de falha é ExpectedEOF:

curl -H "Authorization: Bearer $TOKEN" -X "POST"
  https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions
  -d ' {
    "filter":"(request.header.A == '42' && request.header.B == '43') || fault.code == 'jsonparser.ExpectedEOF'"
  } '

Só pode definir um filtro em pedidos de criação de sessões de depuração. Não pode adicionar um filtro a uma sessão de depuração existente nem remover um filtro de uma sessão de depuração ativa.

Sintaxe do filtro

Os filtros suportam a mesma sintaxe usada pelas condições do Apigee, conforme descrito na Referência de condições. Isto inclui:

Além disso, os filtros podem aceder a todas as variáveis de fluxo descritas na referência de variáveis de fluxo, bem como a variáveis personalizadas. Os exemplos seguintes mostram apenas algumas das variáveis de fluxo possíveis que pode usar em filtros:

# Response codes:
  response.status.code <= 599
  response.status.code >=301 && response.status.code <=420

# Requests/responses:
  request.verb == "GET"
  request.header.A == 'B' || request.queryparam.X == 'Y'

# Query parameters:
  request.queryparam.myparam == 'fish'
  (request.queryparam.param1 == 'X' || request.queryparam.param2 == 'Y') && request.queryparam.param3 == 'Z'

# Faults:
  fault.code != 'messaging.runtime.RouteFailed'
  fault.name == 'IPDeniedAccess'

Para obter informações sobre a utilização de variáveis personalizadas, consulte o artigo Como usar atributos personalizados no Apigee na comunidade do Apigee.

Filtros da IU predefinidos

A IU do Apigee fornece um conjunto de filtros comuns para que não tenha de escrever os seus próprios filtros personalizados. Os filtros predefinidos estão resumidos na tabela seguinte.

Nome do filtro Descrição
Response Time Greater Than

Verifica se existem problemas de latência quando:

  • target.duration é a latência alvo, ou a quantidade de tempo, em milissegundos, que um pedido demora a ser enviado para e recebido do alvo (calculado como a diferença entre target.received.end.timestamp e target.sent.start.timestamp)
  • client.duration é a latência do cliente, ou a quantidade de tempo, em milissegundos, que um pedido demora a ser enviado para o cliente e recebido do mesmo (calculada como a diferença entre client.received.end.timestamp e client.sent.start.timestamp)

Por exemplo:

target.duration > 420 && client.duration > 1000

Para mais informações, consulte client e target na Referência de variáveis de fluxo.

Response Code

Verifica se o código de resposta HTTP corresponde ao valor especificado; por exemplo:

response.status.code <= 599
Header

Verifica se o cabeçalho do pedido especificado é igual ao valor especificado; por exemplo:

request.header.cache-control.1 == "16544"
Path

Verifica se o pedido corresponde ao caminho especificado. Pode usar a correspondência com carateres universais no valor. Por exemplo:

request.path == /myproxy/customer/4*
Query Param

Verifica se o parâmetro de consulta do pedido especificado é igual ao valor especificado; por exemplo:

request.queryparam.lang == "language:en-us"
Custom

Permite-lhe inserir as suas próprias expressões. Pode usar quaisquer objetos na referência de variáveis de fluxo e a sintaxe na referência de condições. Além disso, pode usar variáveis personalizadas.

Para mais informações sobre como criar filtros personalizados, consulte o artigo Sintaxe de filtros.

 

Ver sessões de depuração

O Apigee guarda os dados da sessão de depuração durante 24 horas. Não pode configurar este valor. Após 24 horas, os dados deixam de estar disponíveis. Antes disso, pode ver as sessões de depuração.

Veja sessões de depuração recentes através da IU ou da API do Apigee, conforme descrito nas secções seguintes.

Consola do Apigee Cloud

Depuração v2 (novo)

Para ver sessões de depuração através da Google Cloud consola

  1. Na Google Cloud consola, aceda à página Desenvolvimento de proxies > Proxies de API.

    Aceda a Proxies de API

  2. Clique no proxy que quer depurar.
  3. Clique no separador Depurar.
  4. O painel Sessões de depuração recentes apresenta uma lista de sessões de depuração disponíveis.
  5. Clique no link da sessão que quer ver.

Depuração v1

Para ver sessões de depuração através do novo editor de proxy:

  1. Inicie sessão na Google Cloud consola.
  2. Selecione Proxy de desenvolvimento > Proxies de API.

  3. Selecione o proxy que quer depurar.
  4. Clique no separador Depurar.
  5. O painel Sessões de depuração recentes apresenta uma lista das sessões de depuração disponíveis.
  6. Clique no link da sessão que quer ver.

IU clássica

Para ver sessões de depuração através do editor de proxy clássico:

  1. Inicie sessão na IU do Apigee.
  2. Selecione Proxies de API na vista principal.
  3. Selecione o proxy que quer depurar.
  4. Clique no separador Depurar na parte superior direita da vista Implementações.
  5. No painel Sessões de depuração recentes:
    1. Na lista pendente Env, selecione o ambiente do proxy de API cuja sessão de depuração quer ver.
    2. Na lista pendente Rev, selecione o número de revisão do proxy da API cuja sessão de depuração quer ver.

    A IU do Apigee apresenta uma lista de sessões de depuração disponíveis.

  6. Clique no link da sessão que quer ver.

    A IU do Apigee carrega a sessão de depuração e preenche o painel Enviar pedidos com os dados de depuração.

API

Com a API, pode:

Veja todas as sessões de depuração através da API

Para ver todas as sessões de depuração recentes definidas para uma revisão de proxy de API num ambiente, emita um pedido GET para o seguinte recurso:

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions

Opcionalmente, pode especificar um dos seguintes parâmetros de consulta para controlar a quantidade de dados devolvidos:

  • pageSize: número máximo de sessões de depuração a apresentar. O tamanho da página é predefinido como 25.
  • pageToken: símbolo de página, devolvido de uma chamada anterior, que pode usar para obter a página seguinte.

O exemplo seguinte demonstra como ver as sessões de depuração para a revisão 1 do proxy da API helloworld no ambiente test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions" \
-X GET \
-H "Authorization: Bearer $TOKEN"

Onde $TOKEN está definido como a sua chave de acesso OAuth 2.0, conforme descrito em Obter uma chave de acesso OAuth 2.0. Para ver informações sobre as opções de curl usadas neste exemplo, consulte o artigo Usar o curl. Para uma descrição das variáveis de ambiente que pode usar, consulte o artigo Definir variáveis de ambiente para pedidos de API Apigee.

A resposta inclui um objeto sessions que contém uma lista de sessões de depuração atualmente ativas, conforme mostrado no exemplo seguinte:

{
"sessions": [
{
"id": "a423ac73-0902-4cfa-4242-87a353a84d87",
"timestamp_ms": 1566330186000
},
{
"id": "f1eccbbe-1fa6-2424-83e4-3d063b47728a",
"timestamp_ms": 1566330286000
}
]
}

A resposta inclui apenas sessões de depuração que contenham, pelo menos, uma transação. As sessões de depuração que não tenham transações não são incluídas nesta lista.

Para mais informações, consulte a API List Debug sessions.

Veja todas as transações de uma sessão de depuração através da API

Para ver uma lista de transações de uma sessão de depuração, envie um pedido GET para o seguinte recurso:

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data

Em que debugsession é o ID de uma sessão de depuração devolvido quando vê as sessões de depuração.

O exemplo seguinte demonstra como ver as transações de uma sessão de depuração para a revisão 1 da API helloworld no ambiente test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \
-X GET \
-H "Authorization: Bearer $TOKEN"

Onde $TOKEN está definido como a sua chave de acesso OAuth 2.0, conforme descrito em Obter uma chave de acesso OAuth 2.0. Para ver informações sobre as opções de curl usadas neste exemplo, consulte o artigo Usar o curl. Para uma descrição das variáveis de ambiente que pode usar, consulte o artigo Definir variáveis de ambiente para pedidos de API Apigee.

A resposta inclui uma matriz de IDs de transação, conforme mostrado no exemplo seguinte:

[
"myorg-test-ver-5qxdb-64",
"myorg-test-ver-5qxdb-65",
"myorg-test-ver-5qxdb-66",
"myorg-test-ver-5qxdb-67",
"myorg-test-ver-5qxdb-68",
"myorg-test-ver-5qxdb-69",
"myorg-test-ver-5qxdb-70",
"myorg-test-ver-5qxdb-71",
"myorg-test-ver-5qxdb-72"
]

Para mais informações, consulte o artigo API List debug session data.

Visualizar dados de transações para uma sessão de depuração através da API

Para ver os dados de transações de uma sessão de depuração, emita um pedido GET para o seguinte recurso:

https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/debugsessions/{debugsession}/data/{transactionId}

Em que debugsession é o ID de uma sessão de depuração devolvido quando vê as sessões de depuração e transactionId é o ID da transação devolvido quando vê uma lista de transações para uma sessão de depuração.

Os dados de transações guardados durante uma sessão de depuração estão formatados em JSON. Pode carregar estes dados na ferramenta de depuração offline.

O exemplo seguinte demonstra como transferir os dados de transações para uma sessão de depuração para a revisão 1 da API helloworld no ambiente test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data/myorg-test-ver-5qxdb-64" \
-X GET \
-H "Authorization: Bearer $TOKEN"

Onde $TOKEN está definido como a sua chave de acesso OAuth 2.0, conforme descrito em Obter uma chave de acesso OAuth 2.0. Para ver informações sobre as opções de curl usadas neste exemplo, consulte o artigo Usar o curl. Para uma descrição das variáveis de ambiente que pode usar, consulte o artigo Definir variáveis de ambiente para pedidos de API Apigee.

A resposta consiste num payload JSON que contém os dados da transação especificada, conforme descrito em Estrutura de dados de transferência.

Os dados de depuração contêm todas as informações sobre o pedido e a resposta para cada parte do fluxo num formato JSON proprietário. Pode guardar estes dados e usá-los mais tarde na ferramenta de depuração offline.

Se não foram adicionados pedidos à sessão antes de esta terminar, a resposta terá o seguinte aspeto:

[]

Para mais informações, consulte o artigo Obtenha a API de dados da sessão de depuração.

Selecionar opções de visualização na IU

Esta secção descreve como selecionar opções de visualização para filtrar o que é apresentado na IU.

Consola do Apigee Cloud

Para escolher as opções de visualização da sessão de depuração, selecione ou desmarque as opções no painel Opções de visualização. Estas opções de visualização são mantidas na sessão de depuração para cada utilizador.

Clique para ver uma imagem maior ver lista de opções
Opção Descrição
Mostrar políticas desativadas Mostrar todas as políticas desativadas. Uma política pode ser desativada com a API pública. Consulte a referência de configuração do proxy da API.
Mostrar políticas ignoradas Mostrar todas as políticas ignoradas. Uma política ignorada ocorre quando a política não foi executada porque a condição do passo foi avaliada como falsa. Consulte as Condições com variáveis de fluxo para mais informações.
Mostrar todas as FlowInfos Representam transições num segmento de fluxo.
Mostrar todas as condições do fluxo Representar as condições que foram avaliadas para cada fluxo.

IU clássica

Para escolher as opções de visualização da sessão de depuração, selecione ou desmarque as opções no painel Opções de visualização:

ver lista de opções

Opção Descrição
Mostrar políticas desativadas Mostrar todas as políticas desativadas. Uma política pode ser desativada com a API pública. Consulte a referência de configuração do proxy da API.
Mostrar fases ignoradas Mostrar fases que foram ignoradas. Uma fase ignorada ocorre quando a política não foi executada porque a condição do passo foi avaliada como falsa. Consulte as Condições com variáveis de fluxo para mais informações.
Mostrar todas as FlowInfos Representam transições num segmento de fluxo.
Comparação automática da fase selecionada Compara a fase selecionada com a anterior. Desative esta opção para ver apenas a fase selecionada.
Mostrar variáveis Mostrar ou ocultar variáveis que foram lidas e/ou às quais foi atribuído um valor.
Mostrar propriedades As propriedades representam o estado interno do proxy da API. (Oculta por predefinição.)

Partilhe uma sessão de depuração

Pode partilhar uma sessão de depuração com outros utilizadores que tenham acesso à sua organização e as autorizações necessárias. Para tal, basta enviar-lhes o URL apresentado no navegador quando estiver a ver a sessão de depuração. O link só é válido durante 24 horas após a criação da sessão de depuração.

Transferir dados da sessão de depuração

Pode transferir um ficheiro de resultados de depuração não processados para visualização offline. O ficheiro transferido mostra os detalhes completos da sessão de depuração, incluindo o conteúdo de todos os cabeçalhos, variáveis e políticas.

Os dados da sessão de depuração estão disponíveis para transferência ou visualização na IU apenas durante 24 horas. Após esse ponto, o Apigee elimina os dados da sessão.

Para ver os dados da sessão de depuração transferidos, use a ferramenta de depuração offline.

Consola do Apigee Cloud

Depuração v2 (novo)

Para transferir a sessão de depuração atual na Google Cloud consola, clique em Transferir na vista de depuração.

Depuração v1

Para transferir a sessão de depuração atual, clique em Transferir sessão no painel do lado esquerdo da vista de depuração.

Transfira uma sessão de depuração.

Tenha em atenção que uma sessão de depuração é eliminada no prazo de 24 horas após a conclusão. Por isso, se quiser ver a sessão de depuração após esse período, tem de a transferir antes.

IU clássica

Para transferir os dados da sessão de depuração atual através do editor de proxy clássico:

  • Sessão ativa: clique no ícone de transferência ( Ícone Transferir ) no painel Detalhes de depuração.
  • Sessão anterior: clique no nome da sessão no painel Sessões de depuração recentes, conforme descrito em Ver sessões de depuração. Em seguida, clique em Ícone Transferir no painel Detalhes de depuração.

API

Para ver os IDs de todas as transações da sessão de depuração atual através da API Apigee, introduza o seguinte comando:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
         https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data

em que SESSION_ID é o ID da sessão de depuração que quer transferir.

Consulte o artigo Liste os IDs das transações de uma sessão de depuração.

Para obter os dados de depuração de uma transação através da API Apigee, introduza o seguinte comando:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data/TRANSACTION_ID

Transfira a estrutura de dados

A estrutura de transferência dos dados da sessão de depuração é diferente para a IU do Apigee e a API Apigee.

Consola do Apigee Cloud

Quando transfere dados através da IU do Apigee, a estrutura de dados:

  • Inclui todas as transações em toda a sessão
  • Armazena transações numa matriz Messages
  • Inclui metadados sobre a sessão (como um objeto DebugSession)

IU clássica

Quando transfere dados através da IU do Apigee, a estrutura de dados:

  • Inclui todas as transações em toda a sessão
  • Armazena transações numa matriz Messages
  • Inclui metadados sobre a sessão (como um objeto DebugSession)

API

Não pode usar a API Apigee para ver os dados de sessões inteiras de uma só vez. Só pode usar a API para ver dados de transações individuais, conforme descrito em Ver sessões de depuração.

Por exemplo:

{
"completed": true,
"point": [
  ...
...
}

Transferir exemplos de dados

O exemplo seguinte realça um objeto de metadados DebugSession nos dados transferidos. Este objeto é seguido pela matriz Messages que contém as transações na sessão.

{
  "DebugSession": {
    "Retrieved": "2019-06-08T13:08:13.395Z",
    "Organization": "myorg",
    "Environment": "prod",
    "API": "myproxy",
    "Revision": "1",
    "SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9"
  },
  "Messages": [
    {
      "completed": true,
      "point": [
        {
          "id": "Paused"
        },
        {
          "id": "Resumed"
        },
        {
          "id": "StateChange",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "To",
                    "value": "REQ_HEADERS_PARSED"
                  },
                  {
                    "name": "From",
                    "value": "REQ_START"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            },
            {
              "ActionResult": "RequestMessage",
              "headers": [
                {
                  "name": "accept",
                  "value": "*/*"
                },
                {
                  "name": "accept-encoding",
                  "value": "gzip,gzip,deflate,br"
                },
                {
                  "name": "content-length",
                  "value": "0"
                },
                {
                  "name": "host",
                  "value": "myorg.example.domain.net"
                },
                {
                  "name": "user-agent",
                  "value": "Google-Apigee"
                },
                {
                  "name": "x-b3-sampled",
                  "value": "0"
                },
                {
                  "name": "x-b3-spanid",
                  "value": "d4ee579206759662"
                },
                {
                  "name": "x-b3-traceid",
                  "value": "adc1e171777c237dd4ee579206759662"
                },
                {
                  "name": "x-forwarded-for",
                  "value": "66.102.8.98"
                },
                {
                  "name": "x-forwarded-proto",
                  "value": "https"
                },
                {
                  "name": "x-request-id",
                  "value": "54e05cba-4242-4490-4242-60c45c156f90"
                }
              ],
              "uRI": "/myproxy",
              "verb": "GET"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "environment.name",
                    "value": "prod"
                  },
                  {
                    "name": "environment.qualifiedname",
                    "value": "myorg__prod"
                  },
                  {
                    "name": "environment.orgname",
                    "value": "myorg"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "organization.name",
                    "value": "myorg"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "apiproxy.qualifiedname",
                    "value": "myproxy__1"
                  },
                  {
                    "name": "apiproxy.basepath",
                    "value": "/"
                  },
                  {
                    "name": "apiproxy.revision",
                    "value": "1"
                  },
                  {
                    "name": "apiproxy.name",
                    "value": "myproxy"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        ...
      ...
    }
  ]
}

Se a sessão de depuração não incluiu pedidos, a matriz Message está vazia, conforme mostrado no exemplo seguinte:

{
  "DebugSession": {
    "Retrieved": "2019-06-08T13:08:13.395Z",
    "Organization": "myorg",
    "Environment": "prod",
    "API": "myproxy",
    "Revision": "1",
    "SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9"
  },
"Messages": []
}

Eliminar dados de uma sessão de depuração

Elimine dados de uma sessão de depuração através da IU ou da API Apigee, conforme descrito nas secções seguintes.

Consola do Apigee Cloud

Depuração v2 (novo)

Para eliminar uma sessão de depuração na Google Cloud consola:

  1. No separador Depurar, clique na linha da sessão que quer eliminar.
  2. No painel Sessão de depuração, clique em Eliminar.

Depuração v1

Para eliminar uma sessão de depuração:

  1. Selecione a linha da sessão que quer eliminar.
  2. Clique no menu de três pontos no final da linha e selecione Eliminar.

IU clássica

Clique em Ícone Eliminar no painel Detalhes de depuração para a sessão de depuração.

API

Para eliminar todos os dados da sessão de depuração através da API, emita um pedido DELETE para o seguinte recurso:

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data

Em que debugsession é o ID de uma sessão de depuração devolvido quando vê as sessões de depuração.

O exemplo seguinte demonstra como eliminar os dados da sessão de depuração para a revisão 1 da API helloworld no ambiente test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \
      -X DELETE \
      -H "Authorization: Bearer $TOKEN"
    

Onde $TOKEN está definido como a sua chave de acesso OAuth 2.0, conforme descrito em Obter uma chave de acesso OAuth 2.0. Para ver informações sobre as opções de curl usadas neste exemplo, consulte o artigo Usar o curl. Para uma descrição das variáveis de ambiente que pode usar, consulte o artigo Definir variáveis de ambiente para pedidos de API Apigee.

Se for bem-sucedido, o corpo da resposta fica vazio.

Os dados da sessão de depuração são mantidos apenas durante 24 horas. Se não o eliminar explicitamente antes desse momento, o Apigee elimina-o por si.