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의 사전 정의된 테이블 및 뷰를 사용하려면 애플리케이션에 적절한 import 문을 포함해야 합니다. Junos PyEZ Device
클래스 가져오기와 함께 필요한 테이블도 가져와야 합니다.
다음 예제에서는 모듈에서 사전 정의된 운영 테이블 EthPortTable
을 가져옵니다.jnpr.junos.op.ethport
from jnpr.junos import Device from jnpr.junos.op.ethport import EthPortTable
테이블 및 뷰 정의를 가져온 후 테이블 및 뷰 사용에 설명된 대로 사용할 수 있습니다. 다음 예제에서는 테이블에 정의된 RPC에 대한 데이터를 검색한 다음 인터페이스 이름과 작동 상태를 출력합니다.
from jnpr.junos import Device from jnpr.junos.op.ethport import EthPortTable with Device(host='router1.example.net') as dev: eth = EthPortTable(dev) eth.get() for item in eth: print ("{}: {}".format(item.name, item.oper))
Junos PyEZ의 사전 정의된 테이블 및 뷰에 대한 자세한 내용은 사전 정의된 Junos PyEZ 운영 테이블(구조화된 출력)을 참조하십시오.
인라인 테이블 및 뷰 로드Load Inline Tables and Views
Junos PyEZ 애플리케이션에서 사용자 지정 인라인 테이블 및 뷰를 생성, 로드 및 사용하려면:
테이블 및 뷰 정의가 로드된 후에는 모듈에서 인라인 또는 외부 테이블을 사용하는 방법에 차이가 없습니다. 자세한 내용은 테이블 및 뷰 사용을 참조하십시오.
외부 테이블 및 뷰 가져오기Import External Tables and Views
외부 테이블 및 뷰 정의는 Junos PyEZ 애플리케이션 외부에 있는 파일에 배치됩니다. 외부 사용자 지정 테이블 및 뷰를 생성하고 Junos PyEZ 애플리케이션으로 가져오려면 다음을 수행합니다.
테이블 및 뷰 정의가 로드된 후에는 모듈에서 인라인 또는 외부 테이블을 사용하는 방법에 차이가 없습니다. 자세한 내용은 테이블 및 뷰 사용을 참조하십시오.
테이블 및 뷰 사용
테이블 및 뷰 정의를 로드하거나 가져온 후 미리 정의된 테이블, 사용자 지정 인라인 또는 사용자 지정 외부 테이블을 동일한 방식으로 사용할 수 있습니다.
테이블을 사용하려면 다음을 수행합니다.
다음 예에서는 사용자 지정 외부 Table을 UserTable
가져옵니다. 응용 프로그램은 디바이스에 연결하고 테이블의 get()
메서드를 호출하여 계층 수준에서 개체를 [edit system login]
검색합니다user
. 그런 다음 애플리케이션은 각 사용자 이름과 해당 로그인 클래스를 인쇄합니다.
from jnpr.junos import Device from myTables.ConfigTables import UserTable with Device(host='router.example.com') as dev: users = UserTable(dev) users.get() for account in users: print("Username is {}\nUser class is {}".format(account.username, account.userclass))
Junos PyEZ 테이블 사용에 대한 자세한 내용은 다음 주제를 참조하십시오.