Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Especifique o parser XML para uma sessão Junos PyEZ

RESUMO Saiba como o Junos PyEZ usa diferentes parsers XML para determinadas operações para otimizar o uso e a velocidade do processamento da memória.

A linguagem de marcabilidade extensível (XML) é um padrão para representar e comunicar informações. É um metalanguage para definir tags personalizadas que são aplicadas a um conjunto de dados ou documento para descrever a função de elementos individuais e codificar as relações hierárquicas entre eles. O Junos OS oferece suporte nativo ao XML para a operação e configuração dos dispositivos Junos.

Os aplicativos do cliente usam parsers XML para ler e trabalhar com documentos XML, por exemplo, a saída de comando ou dados de configuração devolvidos como XML na resposta RPC de um dispositivo Junos. Os parsers XML podem usar diferentes abordagens para analisar um documento XML. Os parsers de modelo de objeto de documento (DOM) criam uma representação de árvore de todo o documento XML, que é carregado em sua totalidade na memória. Por outro lado, um analisador de API Simples para XML (SAX) realiza análises baseadas em eventos e analisa cada parte do documento XML sequencialmente. Como resultado, os parsers DESP apenas carregam uma pequena porção dos dados XML na memória a qualquer momento.

Os parsers DESP não exigem muita memória para realizar operações, mas os requisitos de memória parser do DOM aumentam com o tamanho do documento. Em geral, a análise do DOM é mais rápida do que a análise DOM, porque o aplicativo pode acessar todo o documento XML na memória. No entanto, à medida que o tamanho do documento XML aumenta, os parsers DOM exigem mais memória, e a análise DESP se torna mais eficiente.

O Junos PyEZ usa a ncclient biblioteca Python, que é padrão para usar a análise do DOM para processamento de XML. Neste caso, o analisador converte todo o documento XML em um lxml objeto e o carrega em memória. Os dispositivos Junos podem devolver grandes documentos XML para mostrar dados de saída de comando e configuração. Se você precisar apenas recuperar um pequeno subconjunto de valores do XML nesses casos, a análise do DOM pode ser ineficiente.

A partir do Junos PyEZ Release 2.3.0, o Junos PyEZ usa a análise DE SPYEZ quando possível nos seguintes casos:

  • Quando você usa tabelas e visualizações operacionais para recuperar a saída estruturada

  • Quando você incluir o use_filter=True argumento na Device() instância para uma determinada sessão e realizar operações que solicitam um subconjunto de valores de tag da saída XML

Por exemplo, o script a seguir executa o get_interface_information RPC e filtra a saída XML para devolver apenas o <name> elemento para cada interface física. Neste caso, a análise DESP é usada, pois apenas um subconjunto do XML é solicitado.