PortalPy ist ein Python 2.7-Modul, mit dem Sie Skripte für allgemeine Verwaltungsaufgaben für das eigene Portal erstellen können. Python-Skripte, die PortalPy nutzen, können über jeden Computer ausgefürt werden, der Zugriff auf Ihr Portal hat, sofern der Computer für die Ausführung von Python 2.7 (erforderlich) konfiguriert ist.
Dieses Thema enthält eine grundlegende Einführung in das PortalPy-Modul, mehrere Beispiele und Anweisungen zu den ersten Schritten. Die Verwendung von PortalPy erfordert Kenntnisse in der Skripterstellung, stellt jedoch die flexibelste Möglichkeit dar, die Verwaltung des Portals umfassend zu automatisieren. Mit PortalPy können alle Workflows automatisiert werden, die von Befehlszeilendienstprogrammen, Beispiel-Python-Skripten usw. bereitgestellt werden.
Das Modul PortalPy wird mit der Software installiert und befindet sich im Werkzeugverzeichnis. Beispiel: <Portal for ArcGIS installation directory>/tools/portalpy. Das PortalPy-Modul ist auch über ein öffentliches GitHub-Repository verfügbar. Diese Ressource enthält das aktuelle PortalPy-Modul sowie zusätzliche Inhalte, die von der Anwender-Community bereitgestellt wurden. Um auf dieses Repository zuzugreifen, erstellen Sie ein GitHub-Konto oder melden Sie sich mit Ihrem vorhandenen GitHub-Konto an.
Konfigurieren des PortalPy-Moduls auf dem Computer
Um Skripte für Verwaltungsaufgaben mit PortalPy zu erstellen, muss das PortalPy-Modul auf dem Computer eingerichtet werden. Dabei kann es sich um einen beliebigen Computer mit Zugriff auf Ihr Portal handeln. Führen Sie zunächst folgende Schritte aus.
- Navigieren Sie auf dem Computer, auf dem Portal for ArcGIS installiert ist, zu <Portal for ArcGIS installation directory>/tools und kopieren Sie den vollständigen Ordner portalpy in ein lokales Verzeichnis auf Ihrem Computer. Beispiel: /home/admin/portalpy. Wenn auf dem Computer, auf dem sie das PortalPy-Modul ausführen wollen, auch Portal for ArcGIS installiert ist, können Sie diesen Schritt auslassen.
- Legen Sie auf dem Computer, der das PortalPy-Modul hostet, eine Umgebungsvariable namens PYTHONPATH fest. Geben Sie den Pfad zu dem Verzeichnis an, in dem sich portalpy.py befindet. Beispielsweise export PYTHONPATH=$PYTHONPATH:/home/admin/portalpy.
- Erstellen Sie eine Datei mit dem Namen test.py und fügen Sie sie in dasselbe Verzeichnis ein, in dem sich portalpy.py befindet. Beispiel: /home/admin/portalpy.
- Kopieren Sie den folgenden Code in die Datei und aktualisieren Sie die URL so, dass sie mit der URL in Ihrem Portal übereinstimmt.
#!/usr/bin/python import portalpy url = "https://portal.domain.com/arcgis" portal = portalpy.Portal(url) print portal.get_version()
Hinweis:
Wenn Sie das Portal für die Verwendung der Authentifizierung auf Webebene konfiguriert haben, können Sie über Port 7443 auf das Portal zugreifen, wenn Sie PortalPy wie in der Abbildung unten dargestellt verwenden:
#!/usr/bin/python import portalpy url = "https://portal.domain.com:7443/arcgis" portal = portalpy.Portal(url) print portal.get_version()
- Speichern und schließen Sie die Datei.
- Führen Sie test.py aus. Das Skript druckt eine Versionsnummer, beispielsweise 3.2.
Ihr Computer ist nun für die Verwendung des PortalPy-Moduls konfiguriert.
Dokumentation zum PortalPy-Modul
Um die in PortalPy enthaltenen Klassen und Methoden zu überprüfen, finden Sie weitere Informationen unter PortalPy-Modul. Das Thema enthält Verwendungsbeispiele mit Informationen zum Programmieren mit der ArcGIS-REST-API mit dem PortalPy-Modul.
Beispielskripte
Für folgende allgemeine Verwaltungsaufgaben können Skripte mit PortalPy erstellt werden:
Beispiel: Auflisten von Benutzern in einer Gruppe
portal = PortalPy.Portal(portalUrl, user, password) resp = portal.get_group_members('67e1761068b7453693a0c68c92a62e2e') for user in resp['users']:
print user
Beispiel: Erstellen einer Gruppe
portal= PortalPy.Portal(portalUrl, user, password)
group_id = portalAdmin.create_group('my group', 'test tag', 'a group to share travel maps')
Beispiel: Löschen eines Benutzers und erneutes Zuweisen des Inhalts des Benutzers zu einem anderen Benutzer
portal= PortalPy.Portal(portalUrl, user, password)
portal.delete_user('amy.user', True, 'bob.user')