PortalPy を使用した管理タスクのスクリプト化

PortalPy は、Python 2.7 モジュールであり、独自ポータルに対する一般的な管理タスクのスクリプト化に使用できます。PortalPy を利用する Python スクリプトは、ポータルにアクセスすることができ、Python 2.7(必須)を実行するように構成された任意のコンピュータから実行できます。

このトピックでは、PortalPy モジュールの基本的な概要、いくつかのサンプル、開始するための手順について説明します。PortalPy を使用するには Python スクリプトのスキルが必要ですが、PortalPy を使用すると、極めて柔軟な方法でポータルの管理を完全に自動化できます。PortalPy を使用して、コマンド ライン ユーティリティPython サンプル スクリプト その他で提供されているすべてのワークフローを自動化できます。

PortalPy モジュール(*.zip)のダウンロード

PortalPy モジュールは、パブリックの GitHub リポジトリを通じても使用できます。このリソースには、最新の PortalPy モジュール、およびユーザ コミュニティから提供されたその他のコンテンツが含まれています。このリポジトリにアクセスするには、GitHub アカウントを作成するか、既存の GitHub アカウントを使用してログインする必要があります。

コンピュータ上での PortalPy モジュールの構成

PortalPy を使用して管理タスクのスクリプトを作成するには、ご使用のコンピュータ上で PortalPy モジュールを設定する必要があります。ポータルにアクセスできる任意のコンピュータ上で、この設定を実行できます。作業を開始するには、次の手順をご参照ください。

手順:
  1. PortalPy モジュール(*.zip)のダウンロード 、このファイルの内容を、コンピュータ上の portalpy というディレクトリに展開します。
  2. PortalPy モジュールをホストしているコンピュータ上で、PYTHONPATH という環境変数を設定します。前のステップで設定した portalpy ディレクトリのパスを指定します。(たとえば、export PYTHONPATH=$PYTHONPATH:<path from previous step>/portalpy-masterをご参照ください。
  3. test.py という名前のファイルを作成して、以下のコードをそのファイルに挿入します。
    #!/usr/bin/python
    import portalpy
    url = "https://portalpy.esri.com/arcgis"
    portal = portalpy.Portal(url)
    print portal.get_version()
    
  4. 編集したファイルを保存して閉じます。
  5. test.py を実行します。このスクリプトは、2.3 などのバージョン番号を出力します。

これで、ご使用のコンピュータは 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')
5/10/2014