Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos PyEZ 애플리케이션에서 인라인 또는 외부 테이블 및 뷰 로드

사전 정의된 테이블, 인라인 또는 외부 사용자 지정 테이블을 Junos PyEZ 애플리케이션으로 가져옵니다.

Junos PyEZ 테이블 및 보기는 Junos 디바이스를 구성하거나 운영 명령 출력 또는 구성 데이터에서 특정 정보를 추출하는 간단하고 효율적인 방법을 제공합니다. Junos PyEZ는 애플리케이션에서 사용할 수 있는 사전 정의된 운영 테이블 및 뷰 세트를 제공합니다. 또한 사용자 정의 운영 또는 구성 테이블과 보기를 생성할 수도 있습니다.

Python 애플리케이션에서 직접 여러 줄 문자열로 빠른 인라인 테이블 및 뷰를 만들 수 있습니다. 또는 외부 파일에 하나 이상의 테이블 및 뷰 정의를 생성하고 테이블을 Python 애플리케이션으로 가져올 수 있습니다. 인라인 테이블 및 뷰는 사용이 더 간단하지만 외부 파일을 사용하면 재사용 가능한 중앙 라이브러리를 만들 수 있습니다.

Python 애플리케이션에서 Junos PyEZ의 사전 정의된 테이블 및 뷰를 사용하려면 테이블을 애플리케이션으로 가져와야 합니다. 사용자 지정 테이블 및 뷰를 사용하려면 테이블 및 뷰 정의를 만든 다음 정의가 모듈 내부인지 외부인지에 따라 정의를 응용 프로그램으로 로드하거나 가져와야 합니다. 다음 섹션에서는 모듈의 내부 및 외부에 있는 테이블 및 뷰에 대한 이 프로세스를 간략하게 설명합니다.

Junos PyEZ의 사전 정의된 테이블 및 보기 가져오기

Junos PyEZ jnpr.junos.op 모듈 및 jnpr.junos.command 모듈은 몇 가지 일반적인 운영 RPC 및 명령에 대한 사전 정의된 테이블 및 뷰 정의를 제공합니다. Python 애플리케이션에서 Junos PyEZ의 사전 정의된 테이블 및 뷰를 사용하려면 애플리케이션에 적절한 가져오기 문을 포함해야 합니다. Junos PyEZ Device 클래스를 가져오는 것과 함께 필요한 테이블도 가져와야 합니다.

다음 예제는 모듈에서 사전 정의된 운영 테이블 EthPortTable을 가져옵니다.jnpr.junos.op.ethport

테이블 및 뷰 정의를 가져온 후 테이블 및 뷰 사용에 설명된 대로 사용할 수 있습니다. 다음 예제에서는 테이블에 정의된 RPC에 대한 데이터를 검색한 다음 인터페이스 이름과 작동 상태를 출력합니다.

Junos PyEZ의 사전 정의된 테이블 및 보기에 대한 자세한 내용은 사전 정의된 Junos PyEZ 운영 테이블(구조화된 출력)을 참조하십시오.

인라인 테이블 및 뷰 로드

Junos PyEZ 애플리케이션에서 사용자 정의 인라인 테이블 및 뷰를 생성, 로드 및 사용하려면:

  1. 모듈에서 다음 클래스와 라이브러리를 가져옵니다.
  2. YAML에서 하나 이상의 테이블 및 뷰를 여러 줄 문자열로 정의합니다.
  3. 다음 문을 포함하여 테이블 및 뷰 정의를 로드합니다. 여기서 string-name 는 테이블/뷰 정의를 포함하는 여러 줄 문자열의 식별자입니다.
  4. 디바이스에 연결하고 테이블을 사용하여 테이블 유형에 따라 정보를 검색하거나 디바이스를 구성하거나 둘 다 수행합니다. 예:

테이블 및 뷰 정의가 로드된 후에는 모듈에서 인라인 또는 외부 테이블을 사용하는 방식에 차이가 없습니다. 자세한 내용은 테이블 및 뷰 사용을 참조하십시오.

외부 테이블 및 뷰 가져오기

외부 테이블 및 뷰 정의는 Junos PyEZ 애플리케이션 외부에 있는 파일에 배치됩니다. 외부 사용자 지정 테이블 및 뷰를 생성하여 Junos PyEZ 애플리케이션으로 가져오려면 다음을 수행합니다.

  1. YAML에서 하나 이상의 테이블과 뷰를 정의하고 확장자가 있는 파일에 저장합니다..yml
  2. 테이블 파일과 기본 이름은 같지만 .py 확장명을 사용하는 파일을 만들고 파일에 다음 4줄의 코드를 포함합니다.

    이 함수는 loadyaml() YAML 파일을 로드하고 모듈 네임스페이스에 Table 및 View 클래스를 등록합니다.

  3. .yml 및 .py 파일이 하위 디렉터리에 있는 경우 해당 하위 디렉터리에 __init__.py 파일을 포함하여 Python이 응용 프로그램에서 Table import 문을 처리할 때 이 디렉터리를 확인합니다.
  4. Junos PyEZ 애플리케이션에서 클래스와 Device 필요한 테이블을 가져옵니다.
  5. 디바이스에 연결하고 테이블을 사용하여 테이블 유형에 따라 정보를 검색하거나 디바이스를 구성하거나 둘 다 수행합니다. 예:

테이블 및 뷰 정의가 로드된 후에는 모듈에서 인라인 또는 외부 테이블을 사용하는 방식에 차이가 없습니다. 자세한 내용은 테이블 및 뷰 사용을 참조하십시오.

테이블 및 뷰 사용

테이블 및 뷰 정의를 로드하거나 가져온 후 동일한 방식으로 사전 정의, 사용자 지정 인라인 또는 사용자 지정 외부 테이블을 사용할 수 있습니다.

테이블을 사용하는 방법:

  1. 인스턴스를 Device 생성하고 대상 디바이스에 대한 연결을 엽니다.
  2. 테이블 인스턴스를 생성하고 인스턴스와 Device 연결합니다.
  3. 테이블의 유형에 따라 테이블을 사용하여 정보를 검색하거나 디바이스를 구성하거나 둘 다 수행합니다.
  4. 결과 개체를 반복하고 조작하여 필요한 정보를 추출합니다.

다음 예제에서는 사용자 정의 외부 테이블 . UserTable 애플리케이션은 디바이스에 연결하고 Table의 get() 메서드를 호출하여 계층 수준에서 개체를 검색 user 합니다 [edit system login] . 그런 다음 애플리케이션은 각 사용자 이름과 해당 로그인 클래스를 인쇄합니다.

Junos PyEZ 테이블 사용에 대한 자세한 내용은 다음 주제를 참조하십시오.