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, sin cambiar otros directorios del servidor. Si los resultados de sus servicios de geoprocesamiento suelen ser grandes, puede usar esta opción para escalar sus recursos de almacenamiento.
Nota:
Si la opción View output in map image layer estaba activada cuando publicó la herramienta web, no puede usar el almacenamiento en la nube como directorio de trabajos del servicio de geoprocesamiento resultante. El servicio se dañará cuando efectúe el cambio en este flujo de trabajo.
Preparar el entorno Azure
Necesita una cuenta de Microsoft Azure para configurar una cuenta de almacenamiento y crear tablas y contenedores BLOB en ella.
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.
- Dicha cuenta puede ser v2 general (recomendado) o v1 general. Las cuentas de almacenamiento BLOB, almacenamiento BLOB en bloques y almacenamiento de archivos de Azure no son compatibles.
- 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 una tabla y un contenedor BLOB
Cree la tabla y contenedor BLOB en la misma cuenta de almacenamiento. El servicio de geoprocesamiento no puede identificarlos si se encuentran en cuentas de almacenamiento distintas.
Tome nota del nombre exacto de la tabla que cree, pues lo usará en ArcGIS Server más adelante.
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.
- Inicie sesión en ArcGIS Server Manager y registre el contenedor BLOB de su cuenta de almacenamiento con el servidor.
- Cuando se haya registrado el BLOB como almacén en la nube, vincúlelo a su tabla de Azure con la API REST. Inicie sesión en el Directorio de administrador de ArcGIS Server en https://gisserver.domain.com:6443/arcgis/admin.
- Vaya a data > items > /CloudStores, localice su nuevo contenedor BLOB y haga clic en Editar para abrir el extremo de Editar elemento de datos.
- En la representación JSON del elemento, agregue el siguiente par de claves con el nombre de la tabla de Azure:
"tableStore":"<name of Azure table>"
- Haga clic en Actualizar para confirmar.
- Vuelva a la página de inicio del Directorio de administrador y haga clic en Servicios.
- Localice el servicio de geoprocesamiento (o uno de los servicios) 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.
- En la representación JSON del servicio, ubique y edite el siguiente par de claves con el nombre de su almacén en la nube:
"jobsDirectory":"/cloudStores/<name of your cloud store>"
Sugerencia:
El nombre del almacén en la nube estará al final del extremo de la URL del elemento de datos en el Directorio de administrador.
- Haga clic en Guardar cambios para confirmar.
- 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 9 para cada servicio.
Ejemplo de JSON
Supongamos que su cuenta de Azure tiene una cuenta de almacenamiento llamada mystorageaccount y que hay un contenedor BLOB llamado myblob y una tabla mytable en dicha cuenta de almacenamiento. La key1 de mystorageaccount es thisisafakekey12345. Quiere que su servicio de geoprocesamiento, myGPService1, use el almacenamiento de Azure para su directorio de trabajos.
Durante el proceso de registro, el Nombre de almacén en la nube es azureblob.
Al editar las propiedades del almacén en la nube, el JSON cambia y se agrega "tableStore": "mytable" al final: Editar elemento de datos{
"path": "/cloudStores/azureblob", "type": "cloudStore", "id": "31245-abcde...", "provider": "azure", "info": {
"isManaged": false, "connectionString": "abc/def/ghi/jkl/lmn/opq", "objectStore": "myblob", "tableStore": "mytable"
}
}
A continuación, cambie el JSON de las propiedades de servicio de su servicio de geoprocesamiento agregando "jobsDirectory": "/cloudStores/azureblob", después de "virtualOutputDir": "/rest/directories/arcgisoutput",.
Editar GPServer
{
"serviceName": "myGPService1", <... removed to save space ...>
"resultMapServer": "false", "maximumRecords": "1000", "virtualOutputDir": "/rest/directories/arcgisoutput", "jobsDirectory": "/cloudStores/azureblob", "portalURL": "https://domain/webadaptor/", "toolbox": <... removed to save space ...>
}, "portalProperties": < ...removed to save space... >, "extensions": < ...removed to save space... >, "frameworkProperties": {}, "datasets": []
}