Skip To Content

Tareas administrativas con PortalPy mediante secuencias de comandos

PortalPy es un módulo de Python 2.7 que puede usar para programar tareas administrativas habituales mediante secuencias de comandos con su propio portal. Las secuencias de comandos de Python que aprovechan PortalPy pueden ejecutarse desde cualquier máquina con acceso a su portal siempre y cuando su máquina esté configurada para ejecutar Python 2.7 (obligatorio).

En este tema se proporciona una introducción básica al módulo PortalPy, se incluyen varias muestras e instrucciones para comenzar. El uso de PortalPy requiere habilidades de programación mediante secuencias de comandos con Python, pero proporciona el modo más flexible de automatizar verdaderamente la administración de su portal. Con PortalPy, puede automatizar todos los flujos de trabajo que ofrecen las utilidades de línea de comandos, las secuencias de comandos de muestra de Python, y mucho más.

El módulo de PortalPy se instala con el software y se encuentra en el directorio tools. Por ejemplo, <Portal for ArcGIS installation directory>/tools/portalpy. El módulo también está disponible a través de un repositorio GitHub público. Este recurso contiene el módulo actual de PortalPy, además de contenido adicional aportado por la comunidad de usuarios. Para acceder a este repositorio, cree una cuenta de GitHub o inicie sesión con su cuenta de GitHub.

Configuración del módulo de PortalPy en su máquina

Para programar tareas administrativas mediante secuencias de comandos con PortalPy, tendrá que configurar el módulo PortalPy en su máquina Puede ser cualquier máquina que tenga acceso a su portal. Para empezar, consulte los pasos que siguen a continuación.

  1. En el equipo en el que se ha instalado Portal for ArcGIS, vaya a <Portal for ArcGIS installation directory>/tools y copie toda la carpeta portalpy en un directorio local del equipo. Por ejemplo, /home/admin/portalpy. Si el equipo en el que desea ejecutar el módulo PortalPy es el mismo en el que se ha instalado Portal for ArcGIS, puede omitir este paso.
  2. En la máquina que aloja el módulo PortalPy, defina una variable de entorno llamada PYTHONPATH. Especifique la ruta del directorio en el que se encuentra portalpy.py. Por ejemplo, export PYTHONPATH=$PYTHONPATH:/home/admin/portalpy.
  3. Cree un archivo llamado test.py y guárdelo en el directorio en el que se encuentra portalpy.py. Por ejemplo, /home/admin/portalpy.
  4. Copie el siguiente código en el archivo y actualice la dirección URL para que coincida con la URL de su portal.
    #!/usr/bin/python
    import portalpy
    url = "https://portal.domain.com/arcgis"
    portal = portalpy.Portal(url)
    print portal.get_version()
    Nota:

    Si ha configurado el portal para utilizar la autenticación de nivel web, puede acceder a él a través del puerto 7443 cuando utiliza PortalPy como se muestra en el ejemplo siguiente:

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

  5. Guarde y cierre el archivo
  6. Ejecute test.py. La secuencia de comandos imprime un número de versión, como 3.2.

Su máquina está configurada ahora para usar el módulo PortalPy.

Documentación del módulo PortalPy

Para revisar las clases y métodos incluidos con PortalPy, consulte Módulo PortalPy. En el tema se incluyen muestras de uso que pueden ayudarle a aprender cómo programar con la API REST ArcGIS usando el módulo PortalPy.

Secuencias de comandos de ejemplo

Entre las tareas administrativas habituales que se pueden programar mediante secuencias de comandos con PortalPy se incluyen las siguientes:

Ejemplo: enumerar los usuarios de un grupo

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

Ejemplo: crear un grupo

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

Ejemplo: eliminar un usuario y reasignar el contenido de dicho usuario a otro usuario

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