需要 Workflow Manager 许可。
ArcGIS Workflow Manager 管理员可以在 workflowManager.conf 文件中添加和管理属性,以为 ArcGIS Workflow Manager Server 和 web 应用程序配置自定义设置。在安装 Workflow Manager 后,配置文件位于 ~/.esri/WorkflowManager/<hostname>/workflowManager.conf 中。
注:
如果您的 ArcGIS Enterprise 实施包含多个带 Workflow Manager Server 的 ArcGIS Server 计算机,则必须在每个 ArcGIS Server 实例中重复对配置文件进行的更改。
管理参数
可以修改以下参数来定义自定义属性:
注:
如果要升级到 Workflow Manager 11.2,且以下参数不存在,则必须手动将其添加到配置文件。
参数 | 描述 | 示例格式 |
---|---|---|
LogRetentionPeriod | 控制清理任务在 Web 应用程序中删除日志消息的频率。 该属性默认设置为 7 天。 此属性不会改变删除 Workflow Manager Server 日志的频率。 | LogRetentionPeriod = 7 days |
allowUnsecureWebhooks | 控制传入 webhook 是否需要标头安全。 从 11.2 开始,此属性默认设置为 false。 注:如果您要使用 ArcGIS Survey123 webhook 在 Workflow Manager 中创建作业,则必须将此属性设置为 true。 警告:可通过将此属性设置为 true,允许具有 webhook URL 的所有人在 web 应用程序中创建作业。 | allowUnsecureWebhooks = false |
webRequestAllowLocal | 控制“发送 Web 请求”步骤是否允许将请求发送到本地主机。 | webRequestAllowlocal = false |
webRequestAllowedProtocols | 控制在“发送 Web 请求”步骤期间允许的协议。 | webRequestAllowedProtocols = ["https"] |
webRequestBlockedHosts | 控制在“发送 Web 请求”步骤期间阻止哪些主机接收 Web 请求。 | webRequestBlockedHosts = ["169.254.169.254/32", "127.0.0.1/32", "1/128"] |
webRequestBlockedPorts | 控制在“发送 Web 请求”步骤期间阻止哪些端口。 | webRequestBlockedPorts = ["80", "81"] |
与 Arcade 表达式匹配的地理处理工具名称
如果地理处理工具的名称与 ArcGIS Arcade 表达式的名称相匹配(例如缓冲或裁剪),则取消注释 allowedList 并添加不应作为 Arcade 表达式进行评估的工具名称。 或者,您可以在运行 Pro GP 工具步骤配置中将工具名称包含在单引号或双引号中。
配置高可用性部署
对于高度可用的 Workflow Manager 部署,每个计算机必须配置为启用高可用性:
注:
将装有 Workflow Manager Server 的 ArcGIS Server 计算机与 ArcGIS Enterprise 门户联合时,请将管理 URL 设置为可用于与站点中所有服务器通信的 URL。
- 在文本编辑器中打开 ~/.esri/WorkflowManager/<hostname>/workflowManager.conf。
- 取消注释 workflowManager.conf 文件中的以下几行:
- play.modules.disabled += "esri.workflow.utils.inject.LocalDataProvider"
- play.modules.enabled += "esri.workflow.utils.inject.DistributedDataProvider"
如果 workflowManager.conf 文件中不存在这些行,请将它们添加到文件底部。
- 保存文件的更改。
- 重新启动 ArcGIS Workflow Manager Server 服务。
- 在每台 Workflow Manager Server 计算机上重复步骤 1 到 4。
Workflow Manager Server 现已配置高可用性。
配置文件示例
在您的系统中,可以使用或参考以下 Workflow Manager 配置文件示例:
#########################################################
# Workflow Manager configuration settings
# Set any user-defined configuration options in this file
#########################################################
include "application.conf"
wmx {
// Generally should be set to <= play.server.http.idleTimeout / 2
// This way 2 pings are sent / timeout period to avoid disconnections if one is lost
wsKeepAlive = 3 minutes
arcadeExpressionTimeout = 10 seconds
featureBatchSize = 100
webRequestTimeout = 1 minute
webhookTokenExpiration = 30 minutes
webhookMaxAttachmentSize = 10m
logRetentionPeriod = 7 days
// Note: Using unsecured webhooks will allow anyone that can access the webhook URL to create jobs
allowUnsecureWebhooks = false
// webRequestAllowLocal = true
// webRequestAllowedProtocols = ["http", "https"]
// webRequestBlockedHosts = ["169.254.169.254/32"]
// webRequestBlockedPorts = []
// 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"]
}
// Uncomment to modify the allowedList of GP Tool names that are also Arcade functions
// wmx.steps.proGP {
// allowedList = []
// }
// The following settings can be used to modify security settings
// Uncomment this to modify the allowed cipher suites. Can use same options as ArcGIS Server
//akka.ssl-config.enabledCipherSuites = [
// "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
// "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
// "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
// "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
// ]
// Uncomment this to modify the allowed TLS protocols
//akka.ssl-config.enabledProtocols = [
// "TLSv1.2",
// // "TLSv1.1", // Deprecated - only use if absolutely required
// // "TLSv1" // Deprecated - only use if absolutely required
//]
// Uncomment this to enable CORS
//play.filters.enabled += "play.filters.cors.CORSFilter"
//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
//}
// Uncomment the following lines to configure site to support multi-machine deployments
// play.modules.disabled += "esri.workflow.utils.inject.LocalDataProvider"
// play.modules.enabled += "esri.workflow.utils.inject.DistributedDataProvider"
// This can be used to change the maximum file size for attachments.
// If file sizes larger than 500MB are required, the hosted feature layer for the workflow item will also
// need to be updated in addition to this parameter. See the Workflow Manager documentation for more information.
// play.http.parser.maxDiskBuffer = 500m
// This can be used to change the max allowable POST body size
//play.http.parser.maxMemoryBuffer = 2m