Skip To Content

Mover los directorios de un servicio de geoprocesamiento a un bucket de Amazon S3

En ArcGIS Server 10.7, los administradores pueden cambiar el directorio de trabajos, junto con los directorios de entrada y salida, de una ubicación de disco a un bucket de Amazon S3. Si los resultados de sus servicios de geoprocesamiento suelen ser grandes, puede usar un bucket de Amazon S3 para escalar sus recursos de almacenamiento. Los servicios de geoprocesamiento pueden ser más lentos con esta configuración.

Nota:

Con esta configuración no hay disponible ninguna capa de imagen de mapa de resultado de servicio de geoprocesamiento.

Puede establecer esta configuración de almacenamiento en la nube mediante una clave de acceso o un rol de IAM siguiendo los pasos que se describen a continuación.

Preparar el entorno de Amazon Web Services (AWS)

Para los servicios de geoprocesamiento sincrónicos, solo se requiere el servicio Amazon S3. Para los servicios asincrónicos, debe proporcionar acceso a ArcGIS Server a DynamoDB y Simple Queue Service. Su bucket de Amazon S3, tabla de DynamoDB y cola de Simple Queue Service deben estar en la misma región.

  1. Cree un bucket en Amazon S3.

    Consulte Cree su primer bucket de S3 para obtener más información.

  2. Si lo desea, cree una tabla con serviceId como clave de partición y jobId como clave de ordenación.

    Ambas claves están en formato de cadena de caracteres. Si no proporciona las claves, ArcGIS Server crea una tabla automáticamente.

  3. Para cada servicio de geoprocesamiento asincrónico, cree una cola de tipo estándar única en Simple Queue Service.

Usar una clave de acceso

Para usar una clave de acceso para conectarse al bucket de Amazon S3, siga estos pasos:

Nota:

Si el servicio de geoprocesamiento genera un archivo o una salida de ráster, la clave de acceso formará parte de la URL del archivo o salida de ráster resultante, el archivo de esquema JSON y las URL de la ayuda. Debe determinar si esto se ajusta a la política de seguridad de su organización.

ArcGIS Server también necesita la clave secreta para la clave de acceso durante el proceso de registro del elemento de data store. Sin embargo, ArcGIS Server siempre encriptará su clave secreta.

  1. Inicie sesión en el Directorio de administrador de ArcGIS Server y vaya a Registrar elemento.
  2. Proporcione información de conexión para el bucket de Amazon S3 y DynamoDB, incluida la clave de acceso y la clave secreta.

    Ejemplo de JSON para registrar un elemento de datos en API REST de ArcGIS

    {
        "path": "/cloudStores/<name of your cloud store>",
        "type": "cloudStore",
        "provider": "amazon",
        "info": {
            "isManaged": false,
            "connectionString": {
                "accessKeyId":"<your access key>",
                 "secretAccessKey":"<your secret key>",
                 "region":"<your region>",
                 "defaultEndpointsProtocol":"https",
                 "credentialType":"accesskey"
                 },
            "objectStore": "<name of your S3 bucket>/<optional folder name>",
            "dynamoDbTable":"<dynamoDB table name>"
        }
    }

  3. Vuelva a la página de inicio del Directorio de administrador y haga clic en Servicios.
  4. Busque el servicio de geoprocesamiento en el que desea utilizar el entorno AWS, haga clic en el nombre del servicio y haga clic en editar.
  5. En la representación JSON del servicio, agregue los siguientes pares de claves con un nuevo valor serviceId único, 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:

    El valor <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 la configuración.

    El servicio de geoprocesamiento se reinicia automáticamente, lo que tarda unos segundos.

  7. Repita los pasos del 4 al 6 para cualquier servicio adicional.

Ejemplo 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. Este es 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/"
 },
 "portalProperties": "",
 "extensions": "",
 "frameworkProperties": {},
 "datasets": []
}

Configurar con el rol de IAM

Para usar un rol de IAM de AWS, debe tener una implementación en la misma región que su bucket de Amazon S3. Tabla DynamoDB y Simple Queue Service. Consulte ArcGIS Enterprise on Amazon Web Services para obtener más información.

Asegúrese de que sus roles de IAM tengan políticas de servicio de cola simples, además de las políticas de IAM para ArcGIS Enterprise on Amazon Web Services.

Los pasos de configuración son los mismos que los anteriores, salvo el registro del almacén de datos en el paso 2. Use el JSON de muestra siguiente para el paso 2.

Ejemplo de JSON para registrar un elemento de datos en API REST de ArcGIS usando el rol de IAM

{
    "path": "/cloudStores/<name of your cloud store>",
    "type": "cloudStore",
    "provider": "amazon",
    "info": {
        "isManaged": false,
        "connectionString": {
             "region":"<your region>",
             "defaultEndpointsProtocol":"https",
             "credentialType":"iamrole"
             },
        "objectStore": "<name of your S3 bucket>/<optional folder name>",
        "dynamoDbTable":"<dynamoDB table name>"
    }
}