General considerations

The following sections describe considerations when running a web tool or geoprocessing service with more advanced settings.

Large dataset upload and download

There is a file size limitation for uploading data when sharing a web tool or a geoprocessing service and downloading output data. The limitation depends on the heap size of the federated server that hosts the web tool on ArcGIS Enterprise or the stand-alone server hosting the geoprocessing service. The default server heap size is 64 MB; however, the size can be modified by the server administrator if needed. Check with your server administrator to increase the heap size in the following instances:

  • Uploading raster data larger than 64 MB
  • Uploading feature data close to or larger than 64 MB
  • Downloading feature data close to or larger than 64 MB

For detailed explanations about the relationship of heap size and large upload and download datasets, see the Heap size section of Web tool properties advanced settings.

When downloading large feature data, the maximum number of records returned by the server should also be considered. The default record size is 1000. If the number of records returned will be more than 1000, you can do the following:

  • Change the maximum record count from the web tool settings when sharing as a web tool.
  • If you do not change the limit during the sharing process, the data is not downloaded, and the web tool results in the geoprocessing history containing the message data exceeds transfer limit. You must sign in to the server manager and reset the maximum number of records for the geoprocessing service.
  • Use web tools with an output feature service to avoid downloading large amounts of output feature data on ArcGIS Enterprise.Use web tools with output image services to avoid downloading large raster data.

Upload large datasets from a web application

Web applications use the REST Uploads operation to upload files. This capability is set by the Uploads capability on the geoprocessing service property page. The default maximum upload size is 2 GB. You can modify the maximum upload size to less than 2 GB by following the steps described in the Upload size section of Web tool properties advanced settings. You cannot modify the maximum upload size to a size greater than 2 GB.

If the input data is a .txt, .zip, or .jpg file, use the uploads resource operation to upload these file types. The setup of an upload file type is described in the Upload types section of Web tool properties advanced settings.

Input as a feature or image service

Provide an input from a feature service for feature and image service for the raster data type by typing the service URL, selecting a service layer from the table of contents, or choosing a service from the Portal pane in ArcGIS Pro.

Output as a feature or image service

When consuming a web tool, the output can be generated as an output feature class or table or as an output feature service using the Output feature service name parameter. This option can expedite the consumption process when the size of the output feature is large. It also makes your data permanently available from various clients such as web clients, desktop apps, and field apps. You can read more information about saving output as a feature service in Use web tools with an output feature service . You can also use image services as outputs; see more at Use web tools with output image services.

Use environment variables

When consuming a web tool or a geoprocessing service from ArcGIS Pro, use the tool's Environments tab to set geoprocessing environment settings for when the tool runs.

Only environment settings specified from the tool's Environment tab will be used, Environments settings specified from the Analysis tab, which are used in local geoprocessing in ArcGIS Pro, will not be processed when the web tool is consumed.

Some environments, such as Output Coordinate System and Mask, accept a feature service or map service URL in addition to choosing from the drop-down list. Some environments, such as Snap Raster and Cell Size, accept an image service URL in addition to choosing from the drop-down list.

The following is the list of supported environments:

  • Output Coordinate System
  • Geographic Transformations
  • Output Extent
  • Parallel Processing Factor
  • Cell Size
  • Cell Size Projection Method
  • Mask
  • Snap Raster
  • Auto Commit
  • Output has M Values
  • Default Output Z Value
  • Output has Z Values
  • Random Number Generator
  • NoData
  • Processor Type
  • GPU ID

Parameter filters

When authoring a tool, you can set a filter on the Parameters tab of the Tool Properties dialog box. Only filters for supported input data types are supported, other than Date filters, or the value list filters for number data types such as Long and Double.

Example

In the tool below, a Double parameter has a range filter with a minimum value of 213 and a maximum value of 123132.123.

Setting a parameter's range filter

When the tool has been published and used as a web tool in ArcGIS Pro, an input value outside of the filter range prompts an error indicating the value is out of range.

The use of a range filter prevents values from being used outside of your defined range.

Python environments

Similar to ArcGIS Pro, ArcGIS Enterprise uses Python environments in ArcGIS Server.

By default, web tools and geoprocessing services published from ArcGIS Pro use the default Python environment, which is in the ArcGIS Server installation directory on your server machine. If your ArcGIS Server is in the default installation location, your Python environment is at C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\arcgispro-py3.

When using a customized Python environment with third-party Python packages when authoring a tool, those Python packages are not automatically uploaded to the ArcGIS Server during the publishing process. To upload additional packages, see Deploy custom Python packages for ArcGIS Server. Otherwise, the web tools will fail with Python import errors.

Considerations for various ArcGIS Enterprise deployment types

There are numerous deployment scenarios. Some deployments may need attention under specific circumstances.

High availability in ArcGIS Enterprise

When publishing web tools or geoprocessing services to a highly available ArcGIS Enterprise deployment with NFS file shares, do not set the NOLOCK option on the NFS file shares. File locking can ensure essential files recording web tool job status with an asynchronous geoprocessing service have a proper locking mechanism. If the NOLOCK option is set on the NFS file share, multiple machines may process the same request, causing duplicate results. See High availability in ArcGIS Enterprise and Choose a NAS device for ArcGIS Server for more information about this deployment and a NAS device.

Multiple-machine ArcGIS Server site

If a multiple-machine ArcGIS Server site is using a third-party load balancer, ensure the load balancer can support sticky sessions. This allows a client using asynchronous geoprocessing services to submit a job and obtain the job status, progress, inputs, and outputs from the same machine. Otherwise, if the load balancer routes a request to a machine other than the one running the job, the client will not be able to obtain the job status.