Skip To Content

PortalPy로 관리 작업 스크립팅

PortalPy는 Python 2.7 모듈이며 사용자 자신의 포털에 대해 일반 관리 작업을 스크립팅하는 데 사용할 수 있습니다. PortalPy를 활용하는 Python 스크립트는 머신이 Python 2.7(필수)을 실행하도록 구성되어 있으면 포털 접근 권한이 있는 모든 머신에서도 실행할 수 있습니다.

이 항목에서는 몇 가지 샘플 및 시작에 대한 지침과 함께 PortalPy 모듈에 대한 기본적인 소개를 제공합니다. PortalPy를 사용하려면 Python 스크립팅 기술이 필요하지만 포털 관리를 진정으로 자동화하는 가장 유연한 방법을 제공합니다. PortalPy를 사용해 커맨드 라인 유틸리티, 샘플 Python 스크립트 등이 제공하는 모든 워크플로를 자동화할 수 있습니다.

PortalPy 모듈은 소프트웨어와 함께 설치되고 tools 디렉터리에 있습니다. 예: <Portal for ArcGIS installation directory>\tools\portalpy. 이 모듈은 공용 GitHub 저장소를 통해서도 사용할 수 있습니다. 이 리소스에는 사용자 커뮤니티의 추가 콘텐츠뿐만 아니라 가장 최근 PortalPy 모듈이 포함되어 있습니다. 이 저장소에 접근하려면 GitHub 계정을 생성하거나 기존 GitHub 계정으로 로그인합니다.

머신에서 PortalPy 모듈 구성

PortalPy로 관리 작업을 스크립팅하려면 머신에서 PortalPy 모듈을 설정해야 합니다. 포털 접근 권한이 있는 모든 머신에서 이를 설정할 수 있습니다. 시작하려면 아래 단계를 참고하세요.

  1. Portal for ArcGIS가 설치된 머신에서 <Portal for ArcGIS installation directory>\tools을(를) 찾고 머신의 로컬 디렉터리로 전체 portalpy 폴더를 복사합니다. 예: C:\portalpy. PortalPy 모듈을 실행하려는 머신이 Portal for ArcGIS가 설치된 머신이면 이 단계를 건너뛸 수 있습니다.
  2. PortalPy 모듈을 호스팅하는 머신에서 PYTHONPATH라는 환경 변수를 설정합니다. portalpy.py이(가) 있는 디렉터리로 경로를 지정합니다. 예: C:\portalpy. 이 단계에 대한 도움이 필요하면 Windows 제품 설명서를 참고하세요.
  3. test.py라는 파일을 생성하고 portalpy.py이(가) 있는 같은 디렉터리에 배치합니다. 예: C:\portalpy.
  4. 파일에 다음 코드를 복사하고 포털의 URL과 일치하도록 URL을 업데이트합니다.
    #!/usr/bin/python
    import portalpy
    url = "https://portal.domain.com/arcgis"
    portal = portalpy.Portal(url)
    print portal.get_version()
    참고 사항:

    웹 티어 인증을 사용하도록 포털을 구성한 경우에는 아래 예제에 나와 있는 것처럼 PortalPy를 사용할 때 포트 7443을 통해 포털에 접근할 수 있습니다.

    #!/usr/bin/python import portalpy url = "https://portal.domain.com:7443/arcgis"
    portal = portalpy.Portal(url)
    print portal.get_version()

  5. 파일을 저장한 후 닫습니다.
  6. 커맨드 라인이나 Python IDLE 환경에서 test.py를 실행합니다. 스크립트는 3.2와 같은 버전 번호를 인쇄합니다.

이제 머신이 PortalPy 모듈을 사용하도록 구성되었습니다.

PortalPy 모듈 문서

PortalPy에 포함된 클래스와 메소드를 검토하려면 PortalPy 모듈을 참고하세요. 이 항목에는 PortalPy 모듈을 사용하여 ArcGIS REST API에 대한 프로그래밍 방법을 배우는 데 도움이 되는 사용 샘플이 포함되어 있습니다.

예제 스크립트

PortalPy를 사용하여 스크립팅할 수 있는 일반 관리 작업으로는 다음이 포함됩니다.

예: 그룹의 사용자 나열

portal = PortalPy.Portal(portalUrl, user, password) resp = portal.get_group_members('67e1761068b7453693a0c68c92a62e2e') for user in resp['users']:
   print user

예: 그룹 생성

portal= PortalPy.Portal(portalUrl, user, password)
group_id = portalAdmin.create_group('my group', 'test tag', 'a group to share travel maps')

예: 사용자를 삭제하고 해당 사용자의 콘텐츠를 다른 사용자에게 다시 할당

portal= PortalPy.Portal(portalUrl, user, password)
portal.delete_user('amy.user', True, 'bob.user')