Skip to main content

配置工作流管理服务

您可以配置工作流管理服务,以实现可扩展的工作流管理系统,自动执行并简化组织中执行和管理 GIS 及非 GIS 工作的多个方面。 有关这些服务及其使用方法的更多信息,请参见 ArcGIS Workflow Manager 简介。

许可:

要配置工作流管理服务,您必须拥有 ArcGIS Workflow Manager Services on Kubernetes 许可。

启用工作流管理服务

要启用工作流管理服务,请完成以下步骤:

  1. 登录 ArcGIS Enterprise Manager,点击侧边栏中的功能按钮。

  2. 打开工作流管理服务切换按钮。

自定义 Workflow Manager 配置

作为管理员,您可以使用 REST API 添加和管理属性,为 ArcGIS 工作流管理服务和 Web 应用程序配置自定义设置。

管理参数

可以添加以下参数来定义自定义属性。

参数

描述

示例格式

arcadeExpressionTimeout

控制 Arcade 表达式尝试评估的时长。

arcadeExpressionTimeout = 10 seconds

featureBatchSize

控制特定操作一次执行的编辑次数。 例如,从数组创建作业。

featureBatchSize = 100

webRequestTimeout

控制在“发送 Web 请求”步骤和模板中,Web 请求在失败前尝试发送的时长。

webRequestTimeout = 1 minute

webhookTokenExpiration

控制“发送 Web 请求”步骤或模板中使用的令牌的有效时长。

webhookTokenExpiration = 30 minutes

webhookMaxAttachmentSize

控制作业中附加响应允许的最大大小。

webhookMaxAttachmentSize = 10m

LogRetentionPeriod

控制清理任务在 Web 应用程序中删除日志消息的频率。 该属性默认设置为 7 天。

此属性不会改变删除 Workflow Manager Server 日志的频率。

LogRetentionPeriod = 7 days

jobAutoExecutionLimit

控制一次创建时自动执行的作业数量。

jobAutoExecutionLimit = 25

allowUnsecureWebhooks

控制传入 webhook 是否需要标头安全。 默认情况下此属性设置为 false。

注意:

将此属性设置为 true 会允许具有 webhook URL 的所有人在 web 应用程序中创建作业。

allowUnsecureWebhooks = false

webRequestAllowLocal

控制“发送 Web 请求”步骤是否允许将请求发送到本地主机。

webRequestAllowlocal = false

webRequestAllowedProtocols

控制在“发送 Web 请求”步骤期间允许的协议。

webRequestAllowedProtocols = ["https"]

webRequestBlockedHosts

控制在“发送 Web 请求”步骤期间阻止哪些主机接收 Web 请求。 必须列出通往被阻止主机的所有地址,包括 IPv4、IPv6 和主机名。

webRequestBlockedHosts = ["169.254.169.254/32", "127.0.0.1/32", "1/128", "0.0.0.0", "169.254.169.254/32"]

注:

0.0.0.0 和 169.254.169.254/32 默认被阻止。

webRequestBlockedPorts

控制在“发送 Web 请求”步骤期间阻止哪些端口。

webRequestBlockedPorts = ["80", "81"]

webRequestEnforceValidDomain

控制默认情况下在 false 期间哪些请求标题将被阻止。

webRequestEnforceValidDomain = false

webRequestRestrictedHeaders

控制在“发送 Web 请求”步骤期间阻止哪些请求标题。

webRequestRestrictedHeaders = ["Content-Length", "Content-Location", "Forwarded", "From", "Host", "Referer", "Referer-Policy", "User-Agent", "Via", "X-Forwarded-For", "X-Forwarded-Host", "X-Forwarded-Proto", "Strict-Transport-Security", "X-Frame-Options", "X-XSS-Protection", "X-Content-Type-Options", "Access-Control-Allow-Origin", "Content-Security-Policy", "Origin"]

pekko.ssl-config.enabledCipherSuites

控制允许的密码套件。

pekko.ssl-config.enabledCipherSuites = ["TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256", "TLS_AES_128_GCM_SHA256", "TLS_AES_256_GCM_SHA384", "TLS_CHACHA20_POLY1305_SHA256"]

pekko.ssl-config.enabledProtocols

控制允许的 TLS 协议。

pekko.ssl-config.enabledProtocols = ["TLSv1.2"]

play.filters.enabled += "play.filters.cors.CORSFilter"

启用 CORS。

N/A

play.filters.cors

控制 CORS 设置。

play.filters.cors { pathPrefixes = ["/workflow"] allowedOrigins = ["https://www.example.com", ...] allowedHttpMethods = ["GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS"] allowedHttpHeaders = ["Accept", "Accept-Language", "Content-Language", "Content-Type"] preflightMaxAge = 1 day }

play.http.parser.maxDiskBuffer

控制附件的最大文件大小。

play.http.parser.maxDiskBuffer = 500m

play.http.parser.maxMemoryBuffer

控制 POST 正文的最大允许大小。

play.http.parser.maxMemoryBuffer = 2m

webRequestBlockPortsByDefault

控制“发送 Web 请求”步骤是否允许将请求发送至未在 webRequestAllowPorts 中定义的端口。

webRequestBlockPortsByDefault = false

webRequestAllowedPorts

控制在“发送 Web 请求”步骤期间允许哪些端口接收 Web 请求。

webRequestAllowedPorts = ["80","443","6443","13443"]

webRequestBlockHostsByDefault

控制“发送 Web 请求”步骤是否允许将请求发送至未在 webRequestAllowHosts 中定义的主机。

webRequestBlockHostsByDefault = false

webRequestAllowedHosts

控制在“发送 Web 请求”步骤期间允许哪些主机接收 Web 请求。

webRequestAllowedHosts = ["esri.com", "doc.arcgis.com", "127.0.0.1/32", "2001:0db8:85a3:0000:0000:8a2e:0370:7334"]

与 Arcade 表达式匹配的地理处理工具名称

如果地理处理工具的名称与 ArcGIS Arcade 表达式的名称相匹配(例如缓冲或裁剪),则添加 allowedList 并添加不应作为 Arcade 表达式进行评估的工具名称。 或者,您可以在运行 Pro GP 工具步骤配置中将工具名称包含在单引号或双引号中。