Workflow Manager 構成ファイルのカスタマイズ

Workflow Manager のライセンスで利用可能。

ArcGIS Workflow Manager 管理者であれば、ArcGIS Workflow Manager Server と Web アプリのカスタム設定を構成するためのプロパティを workflowManager.conf ファイルに追加して管理できます。Workflow Manager のインストール後、構成ファイルは ~/.esri/WorkflowManager/<hostname>/workflowManager.conf に配置されます。

注意:

Workflow Manager Server を使用する複数の ArcGIS Server コンピューターを使用して ArcGIS Enterprise を実装する場合、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 リクエストの送信ステップで localhost へのリクエストを許可するかどうかを制御します。

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 式として評価されないツール名を追加します。 あるいは、ArcGIS Pro ジオプロセシング ツールの実行ステップの構成で、ツール名を単一引用符 (') または二重引用符 (") のいずれかで囲むことができます。

可用性の高いデプロイメントの構成

可用性の高い Workflow Manager デプロイメントのためには、各コンピューターを高可用性が実現する構成にする必要があります。

注意:

Workflow Manager Server がインストールされている ArcGIS Server コンピューターを ArcGIS Enterprise ポータルとフェデレートする場合、管理 URL を、サイト内のすべてのサーバーとの通信に使用できる URL に設定します。

  1. ~/.esri/WorkflowManager/<hostname>/workflowManager.conf をテキスト エディターで開きます。
  2. workflowManager.conf ファイルの次の行をコメント解除します。
    • play.modules.disabled += "esri.workflow.utils.inject.LocalDataProvider"
    • play.modules.enabled += "esri.workflow.utils.inject.DistributedDataProvider"

    これらの行が workflowManager.conf ファイルに存在しない場合は、ファイルの一番下に追加します。

  3. 変更内容をファイルに保存します。
  4. ArcGIS Workflow Manager Server サービスを再起動します。
  5. 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

関連トピック