Skip To Content

Gestire attività amministrative tramite script con PortalPy

PortalPy è un modulo di Python 2.7 che è possibile utilizzare per creare script per gestire attività amministrative comuni nel portale. Gli script di Python che sfruttano PortalPy possono essere eseguiti da qualsiasi computer con accesso al portale, purché tale computer sia configurato per l'esecuzione di Python 2.7 (richiesto).

In questo argomento viene fornita un'introduzione al modulo PortalPy e vengono inclusi diversi esempi, oltre a istruzioni per iniziare. Per utilizzare PortalPy è richiesta la conoscenza di alcune tecniche per la creazione di script di Python, tuttavia questo modulo costituisce la soluzione più flessibile per automatizzare in modo efficace l'amministrazione del portale. Con PortalPy è possibile automatizzare tutti i flussi di lavoro offerti dalle utilità da riga di comando, dagli script di Python di esempio e molto altro ancora.

Il modulo PortalPy viene installato con il software ed è disponibile nella directory degli strumenti. Ad esempio, <Portal for ArcGIS installation directory>/tools/portalpy. Il modulo è anche disponibile tramite un repository GitHub pubblico. Questa risorsa contiene il modulo PortalPy corrente oltre a contenuti aggiuntivi messi a disposizione dalla community degli utenti. Per accedere a questo repository, creare un account GitHub o accedere con l'account GitHub esistente.

Configurare il modulo PortalPy nel computer in uso

Per gestire le attività amministrative tramite script con PortalPy, è necessario configurare questo modulo nel computer in uso, ovvero qualsiasi computer con accesso al portale. Per iniziare, vedere le procedure seguenti.

  1. Nel computer in cui è installato Portal for ArcGIS, passare a <Portal for ArcGIS installation directory>/tools e copiare l'intera cartella portalpy in una directory locale del computer. Ad esempio, /home/admin/portalpy. Se il computer in cui si desidera eseguire il modulo PortalPy è quello in cui è installato Portal for ArcGIS, è possibile ignorare questo passaggio.
  2. Nel computer che ospita il modulo PortalPy, impostare una variabile di ambiente denominata PYTHONPATH. Specificare il percorso della directory in cui si trova portalpy.py. Ad esempio, export PYTHONPATH=$PYTHONPATH:/home/admin/portalpy.
  3. Creare un file denominato test.py e inserirlo nella stessa directory in cui si trova portalpy.py. Ad esempio, /home/admin/portalpy.
  4. Copiare il codice seguente nel file e aggiornare l'URL in modo che corrisponda a quello del portale.
    #!/usr/bin/python
    import portalpy
    url = "https://portal.domain.com/arcgis"
    portal = portalpy.Portal(url)
    print portal.get_version()
    Nota:

    Se il portale è stato configurato per utilizzare l'autenticazione a livello Web, è possibile accedere al portale tramite la porta 7443 quando si utilizza PortalPy, come mostrato nell'esempio di seguito:

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

  5. Salvare e chiudere il file.
  6. Eseguire test.py. Lo script stamperà un numero di versione, ad esempio 3.2.

Il computer in uso è ora configurato per l'uso del modulo PortalPy.

Documentazione relativa al modulo PortalPy

Per esaminare le classi e i metodi inclusi con PortalPy, consultare Modulo PortalPy. In questo argomento sono disponibili esempi di utilizzo per imparare a programmare per l'API REST di ArcGIS con il modulo PortalPy.

Script di esempio

Di seguito sono elencate alcune attività amministrative comuni che è possibile gestire con script di PortalPy:

Esempio: elencare gli utenti di un gruppo

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

Esempio: creare gruppo

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

Esempio: eliminare un utente e riassegnarne il contenuto a un altro utente

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