Skip To Content

Publicar teselas

En este tema

Las teselas publicadas y alojadas en tu portal admiten la visualización rápida de datasets grandes mediante un conjunto de imágenes de mapa o teselas dibujadas previamente. Las teselas alojadas proporcionan contexto geográfico para las capas operacionales. Por ejemplo, puedes incluir teselas de las calles de tu vecindario para proporcionar una referencia visual de las señales de tráfico en la capa de entidades.

Puedes publicar teselas desde un archivo de definición de servicio o un documento de ArcMap para alojarlas en tu portal.

Puedes elegir si deseas crear una caché en tus teselas automáticamente al publicar o generar la memoria caché manualmente tras la publicación. Consulta Prácticas recomendadas para las cachés de teselas si deseas obtener información.

Debes tener privilegios de creación de contenido y publicación de capas de teselas alojadas para publicar un mapa o un archivo de definición de servicio como una capa de teselas alojada.

Definir y publicar un mapa en ArcMap

Desde ArcMap, puedes publicar teselas para alojarlas en tu portal.

Asegúrate de que ArcGIS for Desktop esté conectado a tu portal antes de iniciar ArcMap.

  1. Inicie ArcMap y abra el mapa que desea publicar.
  2. Inicia sesión en tu portal con una cuenta que tenga privilegios para crear contenido y publicar capas de teselas alojadas.
    1. Haga clic en Archivo > Iniciar sesión.
    2. Escribe tu nombre de usuario y la contraseña de tu portal y haz clic en Iniciar sesión.
  3. Ahora, publica el mapa.
  4. Haga clic en Archivo > Compartir como > Servicio.
  5. Selecciona Publicar un servicio y haz clic en Siguiente.
    Precaución:

    Si eliges sobrescribir el servicio en su lugar, el elemento de tesela de mapas existente se elimina del portal y se crea un elemento nuevo con el mismo nombre. El nuevo elemento se crea en la carpeta raíz y se le asigna un Id. nuevo. Debes reconfigurar el uso compartido y, si es necesario, volver a mover el elemento a la carpeta donde residía antes de volver a publicarlo.

  6. En la lista desplegable de los tipos de conexión, elige Mis servicios alojados. A continuación, escribe un nombre para las teselas y haz clic en Continuar.
  7. Define las propiedades que desees en el Editor del servicio. Aquí puedes elegir lo que los usuarios pueden hacer con tus teselas y controlar de forma detallada cómo las va a exponer el servidor.

    Para obtener información sobre la mejor forma de configurar las teselas para la implementación, consulta Ajustar y configurar servicios en la Ayuda de ArcGIS for Server. Algunas de las propiedades a las que se hace referencia en ese tema solo tienen validez para ArcGIS for Server y no se pueden usar cuando se trabaja con capas de teselas alojadas.

    Sugerencia:

    Si cierras el Editor de servicio durante esta sesión, se te solicitará que guardes tu trabajo como un borrador de servicio. Los borradores de servicio le permiten volver a su trabajo de configuración del servicio después. De forma predeterminada, los borradores de servicios se guardan en la carpeta Borradores de tu conexión a Mis mapas alojados. Para obtener más información, consulta Acerca de los servicios de borrador en la Ayuda de ArcGIS for Server.

  8. Hay algunas propiedades que necesitas establecer que son específicas de las capas de teselas alojadas. Estas se detallan en los siguientes pasos.
  9. En el panel izquierdo del Editor del servicio, haz clic en Funcionalidades y, a continuación, activa la opción Representación cartográfica en teselas para mostrar el mapa como capa de teselas. Activa Acceso a entidades para publicar una capa de teselas con tus teselas si deseas configurar ventanas emergentes para la capa cuando la agregues al visor de mapas.

    Puedes hacer clic en el elemento secundario Representación cartográfica en teselas situado el panel izquierdo del Editor del servicio para establecer las propiedades avanzadas relativas a lo que los clientes pueden hacer con la capa de teselas publicada.

  10. Haz clic en el elemento Almacenamiento en memoria caché para establecer las propiedades de la memoria caché de teselas. Consulta Crear una caché de mapa en la Ayuda de ArcGIS for Server para obtener información más detallada de los pasos, sin olvidar que algunas de las configuraciones avanzadas de almacenamiento en caché solo están disponibles al publicar directamente en ArcGIS for Server.
  11. En el panel izquierdo del Editor del servicio, haz clic en Descripción del elemento e introduce un resumen y etiquetas para tu capa de teselas. Debes introducir esta información para poder publicar. Para obtener más información, consulta la sección de descripción del elemento en Establecer las propiedades del servicio de mapas en la Ayuda de ArcGIS for Server.
  12. En el panel izquierdo del Editor del servicio, haz clic en Uso compartido y elige con quién vas a compartir la capa de teselas alojada. De forma predeterminada, tu capa de teselas alojada se comparte exclusivamente con Mi contenido, lo que significa que solo tú puedes tener acceso a ella. Tu capa de teselas siempre estará visible en Mi contenido, pero también puedes elegir compartirlo con todos, con los miembros de tu organización o solo con los miembros de ciertos grupos.
  13. En el Editor de servicio, haz clic en Analizar Analizar.

    Esta acción examina tu mapa para ver si se puede publicar. Debes arreglar los Errores Error que aparecen en la ventana Preparar para poder publicar. Si lo deseas, puedes arreglar las advertencias y los mensajes informativos para mejorar aún más el rendimiento y el aspecto de tus teselas publicadas. Para obtener más información acerca de cómo resolver estos problemas, consulta Analizar tu recurso SIG en la Ayuda de ArcGIS for Server.

  14. Si lo prefieres, haz clic en Vista previa Vista previa en el Editor de servicio. Esto puede darte una idea de cómo se verá la capa de teselas cuando se muestre en la web.
  15. Después de arreglar los errores y, de forma opcional, las advertencias y los mensajes, haz clic en Publicar Publicar.
    Nota:

    Los datos se copian en el servidor en este punto.El tamaño de los datos y la velocidad y el ancho de banda de tu conexión de red afectarán al tiempo necesario para publicar. También debes calcular algo de tiempo para que se generen las teselas.

Una vez que las teselas se hayan publicado en tu portal, las verás cuando expandas el nodo Mis servicios alojados de la ventana Catálogo.

La capa de teselas alojada aparece como dos elementos independientes en la página Mi contenido del sitio web del portal: las teselas y una definición de servicio. Una definición de servicio es un archivo comprimido que contiene el mapa, sus datos y detalles sobre la forma de publicar las teselas. Una definición de servicio pueden transferirse y publicarse en cualquier equipo que ejecute ArcGIS for Server.

Definir y publicar un mapa en ArcGIS Pro

Desde un mapa de ArcGIS Pro, puedes publicar teselas para alojarlas en tu portal.

Antes de proceder, asegúrate de que la conexión de tu portal esté activa.

También se debe tener en cuenta que los navegadores web no pueden visualizar algunos de los símbolos cartográficos más complejos que se puedan haber usado al crear el mapa. La mayoría de los tipos de símbolos están disponibles, pero en algunos casos, los símbolos se pueden degradar al publicarlos. Consulta Crear servicios de entidades en la ayuda de ArcGIS for Server para obtener más detalles sobre qué símbolos se admiten y realizar los cambios necesarios en la simbología del mapa antes de publicarlo.

  1. Inicia ArcGIS Pro y abre el proyecto que contiene el mapa que deseas publicar.
  2. Inicia sesión en tu organización desde ArcGIS Pro usando una cuenta que tenga privilegios para crear contenido y publicar capas de teselas alojadas.
  3. Haz clic en la Capa web en el grupo Compartir como de la pestaña Compartir.
  4. Escribe un nombre para la capa de entidades. La capa se guardará en Mi contenido de forma predeterminada. Puedes guardar en una carpeta de Mi contenido escribiendo el nombre de la carpeta o bien navegando a una carpeta existente.
  5. Elige Teselas para el Tipo de capa.
  6. Indique un resumen y etiquetas para la capa de teselas.
  7. Especifica cómo se compartirá la capa de teselas. Todas las capas que publicas se comparten automáticamente en tu espacio de trabajo personal en tu organización (Mi contenido). Los demás no podrán acceder a tu contenido hasta que no lo compartas con una o varias de las opciones siguientes:
    • Mi organización– Seleccionar esta opción permite compartir la capa con todos los usuarios autenticados de la organización.
    • TodosSeleccionar esta opción pone esta capa a disposición de cualquiera que acceda a tu portal.
    • Grupos–Puedes compartir la capa con miembros de los grupos a los que pertenezcas.
  8. Haz clic en la pestaña Configuración para especificar la configuración de la caché.
    1. Cambia el tamaño y arrastra la barra Nivel de detalle para indicar las escalas mínima y máxima de la capa de teselas.

      El tamaño estimado de la caché obtenida cambiará a medida que cambies las escalas mínima y máxima.

    2. Elige Crear caché en el momento de publicar la capa, o bien Crear caché manualmente después de publicar la capa.

      Abre la capa de teselas en el sitio Web del portal después de publicar la capa para crear la caché manualmente.

  9. Abre la pestaña Contenido para confirmar que la capa de teselas incluirá las capas de datos que has previsto.
  10. Haz clic en Analizar Analizar para comprobar cualquier error o problema.

    Si identificas algún problema, este aparecerá en la pestaña Mensajes. Haz clic con el botón derecho del ratón en cada mensaje para obtener más información, consulta la ayuda correspondiente al error o advertencia, y accede a las soluciones sugeridas. Debes arreglar los errores antes de publicar. De forma opcional, puedes arreglar las advertencias para mejorar aún más el rendimiento y el aspecto de tu capa de teselas alojada.

  11. Después de arreglar los errores y, de forma opcional, las advertencias, haz clic en Publicar Publicar.
    Nota:

    Los datos se copian en el servidor en este punto. El tamaño de los datos, la velocidad de la red y el ancho de banda afectarán al tiempo necesario para publicar.

Cuando la publicación haya finalizado, puedes hacer clic en Administrar la capa web para abrir el sitio Web del portal.

Publicar una capa de entidades alojada

Puedes publicar una capa de teselas alojada en el portal usando una capa de entidades alojada existente. Esto garantiza un flujo de trabajo útil si no tienes productos de ArcGIS instalados localmente. Por ejemplo, puedes publicar un shapefile como una capa de entidades alojada y publicar después esa capa de entidades alojada como una capa de teselas alojada.

Nota:

Los cambios que se realizan en la capa de entidades alojada no se reflejan automáticamente en la capa de teselas alojada. Debes volver a publicar la capa de teselas alojada desde la capa de entidades alojada actualizada.

Asimismo, ten en cuenta que algunas restricciones de estilo se aplicarán cuando publiques una capa de teselas alojada desde una capa de entidades alojada.

Sigue estos pasos para publicar una capa de teselas alojada desde una capa de entidades alojada:

  1. Inicia sesión con una cuenta que tenga privilegios para publicar capas de teselas alojadas y haz clic en Mi contenido.
  2. Para publicar, haz una de las siguientes acciones:
    • Haz clic en la capa de entidades alojada que deseas publicar y en Publicar.
    • Haga clic en Crear > Capa de teselas y elige Capa de entidades para publicar como teselas.
  3. Escribe un título, etiquetas y un resumen y escoge una carpeta para la capa de teselas alojada.
  4. Opcionalmente, cambia el rango en que se mostrará la capa eligiendo escalas de las listas desplegables Rango visible.
  5. Haz clic en Aceptar.
  6. Activa las casillas de verificación situadas junto a las escalas en las que deseas que se creen las teselas. A continuación, haz clic en Crear teselas.
    Precaución:

    Si incluyes escalas grandes en el rango de escala, pueden incrementarse mucho los recursos consumidos en el servidor. No crees teselas más allá de la precisión de los datos.

  7. Revisa el mensaje acerca de la cantidad de teselas que se van a crear. Si deseas continuar, haz clic en Sí, crear teselas.

Publicar un archivo de definición de servicio

Publicar teselas y generar una caché pueden usar muchos recursos del servidor. Si tienes que publicar un gran número de capas de teselas, los autores del mapa pueden crear en ArcMap archivos de definición de servicio (.sd) que contengan toda la información necesaria para publicar una capa de teselas en el portal. A continuación, puedes usar una secuencia de comandos para cargar y publicar los archivos de definición de servicio en el portal fuera del horario comercial. Las capas de teselas resultantes se alojarán en el servidor de alojamiento del portal.

Crear un archivo de definición de servicio

El autor del mapa debe seguir estos pasos para crear un archivo de definición de servicio que contenga los datos y la simbología que se necesitan para una capa de teselas que se alojará en el portal.

  1. Inicia ArcMap e inicia sesión en el portal.
  2. Crea y guarda un mapa.

    Para obtener información sobre la creación y la publicación de un mapa, consulta los temas relativos al servicio de mapas en la Ayuda de ArcGIS.

  3. A continuación, crea un archivo de definición de servicio.
  4. Haga clic en Archivo > Compartir como > Servicio.
  5. Elige Guardar un archivo de definición de servicio y haz clic en Siguiente.
  6. Haz clic en Escoger una conexión y elige Mis servicios alojados en la lista desplegable.
  7. Escribe un nombre para el archivo y haz clic en Siguiente.
  8. Especifica el directorio del equipo cliente en el que se debe crear el archivo de definición de servicio y haz clic en Continuar.

    Se abre el Editor del servicio.

  9. En el panel izquierdo del Editor del servicio, haz clic en Poniendo en caché.
  10. Elige un Esquema de ordenamiento en teselas.
  11. Elige las escalas mínima y máxima para las teselas y Calcula el tamaño de la caché.
  12. Haz clic en Crear caché manualmente después de publicar el servicio.
  13. Si lo prefieres, puedes hacer clic en Configuración avanzada y definir los ajustes de caché adicionales para la caché de teselas.
  14. En el panel izquierdo del Editor del servicio, haz clic en Descripción del elemento e introduce la información de tu capa de teselas.

    Debes introducir al menos un resumen y etiquetas antes de crear el archivo de definición de servicio.

  15. Haz clic en Analizar Analizar para asegurarte de que no hay errores.

    Debe resolver todos los errores para poder publicar el archivo de definición del servicio. Si lo prefieres, puedes realizar las correcciones de las advertencias y los mensajes que hayan aparecido.

  16. Después de arreglar los errores y, de forma opcional, las advertencias y los mensajes, haz clic en Etapa Etapa.

El archivo de definición de servicio se guarda en la ubicación especificada.

Cargar la definición del servicio y publicar

Una vez que recibas el archivo de definición de servicio del autor, puedes cargarlo manualmente en Mi contenido en el portal y publicar una capa de teselas o programar una secuencia de comandos para cargar y publicar el archivo.

Cargar manualmente y publicar

Inicia sesión en el sitio web del portal para agregar y publicar el archivo de definición del servicio en el portal.

  1. Inicia sesión en el portal como miembro con privilegios para crear contenido y publicar capas de teselas alojadas y abre Mi contenido.
  2. Haz clic en Agregar elemento.
  3. Elija cargar el archivo desde su equipo.
  4. Haz clic en el botón Examinar y elige el archivo de definición de servicio.
  5. Activa Publicar este archivo como un servicio.
  6. Escribe los términos de las etiquetas separados por comas.

    Las etiquetas son palabras o frases cortas que describen un elemento y facilitan su búsqueda.Federal land se considera una etiqueta, en tanto que Federal,land se consideran dos etiquetas.

  7. Haz clic en Agregar elemento para agregar el archivo de definición de servicio y publicar la capa de teselas.

    La capa de teselas se publica en el servidor de alojamiento del portal y tanto la definición del servicio como las teselas se agregan a Mi contenido.

  8. Cuando la capa de teselas se haya publicado, tendrás la opción de Empezar a construir teselas. Haz clic en el vínculo para crear las teselas.

De manera predeterminada, solo tú tienes acceso al archivo de definición de servicio y a la capa de teselas alojada. Puedes compartir el archivo y las teselas con otros usuarios de tu organización o con grupos concretos.

Ejecutar una secuencia de comandos para cargar y publicar

Para cargar y publicar un archivo de definición de servicio fuera del horario laborable, automatiza la siguiente secuencia de comandos para ejecutarla en tu equipo ArcGIS Server:

  1. Copia la siguiente secuencia de comandos a un archivo de texto y guarda el archivo con una extensión .py.

    import os, sys, json, urllib, urllib2, httplib, urlparse, mimetools, mimetypes
    from cStringIO import StringIO
    
    # generates a new token from Portal
    def generate_token(baseurl, username, password):
        tokenUrl = urlparse.urljoin(baseurl, 'sharing/generateToken')
        postdata = { 'username': username, 'password': password,
                   'client': 'requestip', 'expiration': 60, 'f': 'json' }
        encoded_postdata = urllib.urlencode(postdata)
        opener = urllib2.build_opener()
        try: resp = opener.open(tokenUrl, data=encoded_postdata)
        except urllib2.HTTPError as e: raise Exception('Unable to connect to Portal, please check the url: {} {}'.format(e.code, e.reason))
        resp_json = json.loads(resp.read())
        if 'error' in resp_json: raise Exception('\n'.join(resp_json['error']['details']))
        return resp_json['token']
        sys.exit(1)
    
    # create proper multi-part POST request data
    def _encode_multipart_formdata(fields, files):
        boundary = mimetools.choose_boundary()
        buf = StringIO()
        for (key, value) in fields.iteritems():
            buf.write('--%s\r\n' % boundary)
            buf.write('Content-Disposition: form-data; name="%s"' % key)
            buf.write('\r\n\r\n%s\r\n' % str(value))
        for (key, filepath, filename) in files:
            buf.write('--%s\r\n' % boundary)
            buf.write('Content-Disposition: form-data; name="%s"; filename="%s"\r\n' % (key, filename))
            buf.write('Content-Type: %s\r\n' % (mimetypes.guess_type(filename)[0] or 'application/octet-stream'))
            f = open(filepath, "rb")
            try:
                buf.write('\r\n' + f.read() + '\r\n')
            finally:
                f.close()
        buf.write('--' + boundary + '--\r\n\r\n')
        buf = buf.getvalue()
        return boundary, buf
    
    # send multi-part POST request
    def _postmultipart(host, selector, fields, files, ssl):
        boundary, body = _encode_multipart_formdata(fields, files)
        headers = { 'Content-Type': 'multipart/form-data; boundary={0}'.format(boundary) }
        if ssl: h = httplib.HTTPSConnection(host)
        else: h = httplib.HTTPConnection(host)
        
        h.request('POST', selector, body, headers)
        resp = h.getresponse()
    
        return resp.read()
    
    # first upload the SD file and create an item in Portal
    def addSDItem(baseurl, user, token, title, file, folder = ''):
        addUrl = 'sharing/rest/content/users/{}/{}addItem'
        if folder != '': addUrl = addUrl.format(user, folder + '/')
        else: addUrl = addUrl.format(user, '')
        
        url = urlparse.urljoin(baseurl, addUrl)
    
        files = [('file', file, os.path.split(file)[1])]
        fields = { 'token' : token, 'f' : 'json', 'type' : 'Service Definition', 'title' : title, 
                   'tags' : 'sampletag', 'name': title, 'typeKeywords' : 'Data, Service Definition, ArcGIS, sd' }
    
        ssl = url.startswith('https://')
        
        parsed_url = urlparse.urlparse(url)
        
        print('Uploading {} to {}..'.format(file, baseurl))
        resp = _postmultipart(parsed_url.netloc, str(parsed_url.path), fields, files, ssl)
        resp_json = json.loads(resp)
    
        if 'error' in resp_json:
          raise Exception('Unable to upload file {}: {}'.format(file, resp_json['error']['message']))
        
        return resp_json['id']
        
    # second publish the uploaded SD item as a new tiled service
    def publishTiles(baseurl, user, token, itemid):
        publishUrl = urlparse.urljoin(baseurl, 'sharing/rest/content/users/{}/publish'.format(user))
        query_dict= { 'f' : 'json', 'token': token, 'itemid': itemid, 'buildInitialCache' : True,
                      'publishParameters' : { 'name' : 'cities' }, 'fileType': 'serviceDefinition' }
                      
        query_string = urllib.urlencode(query_dict)
        print('Publishing tile service from item..')
        response = urllib.urlopen(publishUrl, query_string)
            
        resp_json = json.loads(response.read())
        
        if 'error' in resp_json: raise Exception('Unable to publish item: {}'.format(resp_json['error']['message']))
    
    # read input from command line when run as a standalone script
    if __name__ == '__main__':
        try: 
          url = sys.argv[1]
          user = sys.argv[2]
          password = sys.argv[3]
          f = sys.argv[4]
          title = sys.argv[5]
          if not url.endswith('/'): url += '/' # make sure the url ends with /
        except: # if too few parameters are passed on command line, show usage help
          print('Usage: ')
          print('       publishServiceItem.py [portalUrl] [userName] [password] [sdFilePath] [titleOfServiceItem]')
          print('')
          print('portalUrl           The secure url to the portal, e.g. https://portalmachine.example.com/arcgis/')
          print('userName            The username of a user to publish the service.')
          print('                    This user must have the required publishing privileges.')
          print('password            The password of the user')
          print('sdFilePath          Path to the .sd file containing the service definition')
          print('                    E.g. c:\\temp\cachedService.sd')
          print('titleOfServiceItem  The title to assign to the published item in the portal.')
          sys.exit(1)  
    
        token = generate_token(url, user, password)
    
        id = addSDItem(url, user, token, title, f)
        publishTiles(url, user, token, id)
        print('Publishing complete. Tile generation has been started and may take a while to finish.')

  2. Crea un archivo de lotes o una secuencia de comandos shell y prográmala para ejecutar la secuencia de comandos Python.
  3. En el archivo, obtén la secuencia de comandos Python y proporciona las opciones específicas de tu sitio.

    Por ejemplo, para ejecutar la secuencia de comandos publishServiceItem.py, escribe la URL de tu portal, el nombre de usuario con el cual se va a conectar, la contraseña del usuario, la ruta al archivo de definición del servicio y un título para el servicio que se va a crear. En este ejemplo, la URL del portal es https://portal.domain.com/arcgis/, el nombre de usuario y la contraseña son pub1 y pub.1, la ruta al archivo de definición del servicio es C:\maps\SDs\mymap.sd y el nombre del servicio es studytiles.

    publishServiceItem.py https://portal.domain.com/arcgis/ pub1 pub.1 C:\maps\SDs\mymap.sd studytiles

    Sugerencia:

    De forma opcional, puedes utilizar la siguiente secuencia de comandos simplificada para cargar un archivo de definición del servicio en el portal, publicar una capa de teselas y crear una caché. Sin embargo, para ejecutar esta secuencia de comandos debes instalar paquetes adicionales de Python (PortalPy y Python Requests). PortalPy se instala con Portal for ArcGIS. Consulta Tareas administrativas para la ejecución de secuencias de comandos con PortalPy en la ayuda de Portal for ArcGIS si deseas obtener más información sobre la instalación y el uso de este módulo.

    import portalpy, requests, urlparse, sys, os
    
    # first upload the SD file and create an item in Portal
    def addSDItem(baseurl, user, token, title, file, folder = ''):
        addUrl = 'sharing/rest/content/users/{}/{}addItem'
        if folder != '': addUrl = addUrl.format(user, folder + '/')
        else: addUrl = addUrl.format(user, '')
        
        url = urlparse.urljoin(baseurl, addUrl)
    
        files = { 'file' : (os.path.split(file)[1], open(file, 'rb')) }
        fields = { 'token' : token, 'f' : 'json', 'type' : 'Service Definition', 'title' : title, 
                   'tags' : 'sampletag', 'name': title, 'typeKeywords' : 'Data, Service Definition, ArcGIS, sd' }
    
        print('Uploading {} to {}..'.format(file, baseurl))
        
        # send POST with upload request
        # verify=False turns off SSL cert validation, turn on for production environments with CA-signed certs
        resp = requests.post(url, data=fields, files=files, verify=False)
        resp_json = resp.json()
    
        if 'error' in resp_json:
          raise Exception('Unable to upload file {}: {}'.format(file, resp_json['error']['message']))
        
        return resp_json['id']
    
    # second publish the uploaded SD item as a new tiled service
    def publishTiles(baseurl, user, token, itemid):
        publishUrl = urlparse.urljoin(baseurl, 'sharing/rest/content/users/{}/publish'.format(user))
        query_dict= { 'f' : 'json', 'token': token, 'itemid': itemid, 'buildInitialCache' : True,
                      'publishParameters' : "{ 'name' : 'cities' }", 'fileType': 'serviceDefinition' }
        
        print('Publishing tile service from item..')
        
        # send POST with publish request
        # verify=False turns off SSL cert validation, turn on for production environments with CA-signed certs
        response = requests.post(publishUrl, data=query_dict, verify=False) 
            
        resp_json = response.json()
        
        if 'error' in resp_json: raise Exception('Unable to publish item: {}'.format(resp_json['error']['message']))
    
    # read input from command line when run as a standalone script
    if __name__ == '__main__':
        try: 
          url = sys.argv[1]
          user = sys.argv[2]
          password = sys.argv[3]
          f = sys.argv[4]
          title = sys.argv[5]
          if not url.endswith('/'): url += '/' # make sure the url ends with /
        except: # if too few parameters are passed on command line, show usage help
          print('Usage: ')
          print('       publishServiceItem.py [portalUrl] [userName] [password] [sdFilePath] [titleOfServiceItem]')
          print('')
          print('portalUrl           The secure url to the portal, e.g. https://portalmachine.example.com/arcgis/')
          print('userName            The username of a user to publish the service.')
          print('                    This user must have the required publishing privileges.')
          print('password            The password of the user')
          print('sdFilePath          Path to the .sd file containing the service definition')
          print('                    E.g. c:\\temp\cachedService.sd')
          print('titleOfServiceItem  The title to assign to the published item in the portal.')
          sys.exit(1) 
    
        portal = portalpy.Portal(url, user, password)
        token = portal.generate_token(user, password)
    
        id = addSDItem(url, user, token, title, f)
        publishTiles(url, user, token, id)
        print('Publishing complete. Tile generation has been started and may take a while to finish.')

  4. Programa la ejecución de la secuencia de comandos para el momento de menos uso del portal.

    Consulta Programar una secuencia de comandos Python para que se ejecute a horas predefinidas en la ayuda de geoprocesamiento de ArcGIS para obtener más información sobre la programación de una secuencia de comandos.