Skip To Content

Mover los directorios de un servicio de geoprocesamiento a Microsoft Azure

En ArcGIS Server 10.7, los administradores pueden trasladar el directorio de trabajos de un servicio de geoprocesamiento (o varios servicios de geoprocesamiento) desde una ubicación en el disco a una ubicación de almacenamiento en la nube de Microsoft Azure. Si los resultados de sus servicios de geoprocesamiento suelen ser grandes, puede usar esta opción para escalar sus recursos de almacenamiento. Los servicios pueden ser más lentos con esta configuración.

Nota:

La opción de capa de imágenes de mapa de salida no está disponible con esta configuración.

Nota:

Advertencia: el archivo de esquema JSON, las URL de ayuda, el archivo y las salidas ráster tendrán una firma de archivo visible para cualquiera que tenga acceso al servicio. Aunque esa firma caduca tras unas cuantas horas, no existen restricciones en cuanto adónde puede utilizar esa firma el usuario. Asegúrese de que el almacén de blobs no contiene datos confidenciales. Evalúe si esta configuración se ajusta a la política de seguridad de su organización.

Preparar el entorno de Azure

Necesita una cuenta de Microsoft Azure para crear una cuenta de almacenamiento y tablas y contenedores Blob.

Crear una cuenta de almacenamiento de Azure

La cuenta de almacenamiento debe cumplir estos requisitos:

  • Se requiere una cuenta de almacenamiento con rendimiento estándar.
  • Esta cuenta debe ser una cuenta v2 de uso general. El resto de tipos de cuentas de almacenamiento no tienen los servicios de almacenamiento esenciales para completar esta configuración. Si todavía utiliza una cuenta v1 de uso general, es posible que aún funcione.
  • Se recomienda el nivel de acceso frecuente.
  • Es posible configurar otros ajustes avanzados de la cuenta de almacenamiento en función de las necesidades de su organización.

Una vez implementada la cuenta de almacenamiento, copie la key1 de las claves de acceso de su cuenta de almacenamiento, necesaria al registrar la cuenta como almacén en la nube con ArcGIS Server.

Crear un contenedor BLOB, una tabla y una cola

Cree un contenedor BLOB para todos los servicios de geoprocesamiento y una tabla y una cola adicionales para los servicios de geoprocesamiento asincrónicos. Todos ellos deben estar en la misma cuenta de almacenamiento.

  1. Cree un contenedor BLOB.
  2. Si está configurando un servicio de geoprocesamiento asíncrono, también debe crear una tabla de manera opcional. De lo contrario, ArcGIS Server creará uno por usted.
  3. También es necesario crear una cola única para cada servicio de geoprocesamiento asíncrono. Agregue "jobsStoreQueue":"<name of the queue>" a serviceProperties para cada servicio.

Anote el nombre exacto del contenedor, la tabla y las colas opcionales que crea; los utilizará en los siguientes pasos.

Mover el directorio de trabajos a Azure

Tras implementar la tabla y el contenedor Blob de Azure, registre el contenedor Blob en ArcGIS Server y cambie las propiedades del servicio como corresponda.

  1. Inicie sesión en el Directorio de administrador de ArcGIS Server y vaya a Registrar elemento
  2. Proporcione la información de conexión de su tabla y contenedor Blob de Azure como JSON. Haga referencia a los ejemplos que aparecen a continuación.

    Registrar elemento

    En este ejemplo, sustituya dataname, myaccountkey, storageaccountname, containername, optionalfoldername y tablename con sus artefactos.

    {
        "path": "/cloudStores/dataname",
        "type": "cloudStore",
        "provider": "azure",
        "info": {
          "isManaged": false,
          "connectionString": {
               "accountKey":"myaccontkey",
               "accountName":"mystorageaccountname",
               "defaultEndpointsProtocol":"https",
               "accountEndpoint":"core.windows.net",
               "credentialType":"accessKey"
               },
          "objectStore": "containername/optionalfoldername",
          "tableStore":"tablename"
        }
      }

  3. Vuelva a la página de inicio del Directorio de administrador y haga clic en Servicios.
  4. Localice el servicio de geoprocesamiento que desea configurar para que use el contenedor Blob de Azure, haga clic en el nombre del servicio y, por último, haga clic en Editar.
  5. En la representación JSON del servicio, agregue los siguientes pares de claves con un nuevo símbolo único serviceId, el nombre del almacén en la nube y la cola de ese servicio:

    Configuración de geoprocesamiento asincrónico

    {
      "serviceId": "<a unique service ID>",
      "jobQueueStore":"/cloudStores/<name of your cloud store>",
      "jobTableStore": "/cloudStores/<name of your cloud store>",
      "outputStore": "/cloudStores/<name of your cloud store>",
      "jobObjectStore": "/cloudStores/<name of your cloud store>",
      "jobsStoreQueue": "<name of the queue>"
    }

    Configuración de geoprocesamiento sincrónico

    {
      "serviceId": "<a unique service ID>",
      "outputStore": "/cloudStores/<name of your cloud store>",
      "jobObjectStore": "/cloudStores/<name of your cloud store>"
    }
    Sugerencia:

    <name of the cloud store> está al final del extremo de la URL del elemento de datos en el Directorio de administrador.

  6. Haga clic en Guardar cambios para confirmar. El servicio de geoprocesamiento se reinicia automáticamente, lo que tarda unos segundos.
  7. Si va a configurar varios servicios de geoprocesamiento para que usen el contenedor Blob de Azure como su directorio de trabajos, repita los pasos del 4 al 6 para cada servicio.

Ejemplo de JSON

Cambie el JSON de las propiedades del servicio de su servicio de geoprocesamiento agregando pares de valores clave requeridos en el paso 5 anterior.

Edite GPServer. A continuación se muestra un JSON truncado para la configuración del servicio de geoprocesamiento asíncrono.

{
  "serviceName": "myGPService1",
  "resultMapServer": "false",
  "maximumRecords": "1000",
  "virtualOutputDir": "/rest/directories/arcgisoutput", 

  "serviceId": "<this_is_a_unique_serviceid>",
  "jobQueueStore":"/cloudStores/<name of your cloud store>",
  "jobTableStore": "/cloudStores/<name of your cloud store>",
  "outputStore": "/cloudStores/<name of your cloud store>",
  "jobObjectStore": "/cloudStores/<name of your cloud store>",
  "jobsStoreQueue": "<this_is_a_unique_queue_name>", 

  "portalURL": "https://domain/webadaptor/",
  "toolbox":  "<... removed to save space ...>"
 },
 "portalProperties": "",
 "extensions": "",
 "frameworkProperties": {},
 "datasets": []
}