# 接続プロファイル

単一のオンプレミスエージェント(OPA)は、複数のオンプレミスアプリケーションに接続できます。接続プロファイルは、各アプリケーションを一意に識別し、接続に必要な設定情報を含んでいます。


# 基本 

# 接続プロファイルとは何ですか?

接続プロファイルは、オンプレミスアプリケーションを一意に識別し、情報を含むファイルです。プロファイルは、<INSTALL_HOME>/conf/config.ymlにある設定ファイルに保存されます。

典型的な設定ファイルは次のようになります:

database:
  profile1:   # 接続名にはスペースや特殊文字を含めることはできません
    ...       # ただし、アンダースコア(_)とハイフン(-)は含めることができます
  profile2:
    ...

files:
  profile3:
    ...
  profile4:
    ...

jms:
  profile5:
    ...

ldap:
  profile6:
    ...

server:
  classpath:
    ...
  staging:
    ...

# どの種類のシステムに接続できますか?

config.ymlファイルには、次のシステムタイプのプロファイルを含めることができます:

また、インターネット接続が制限されたサーバーにインストールされたOPAに対してプロキシサーバーを設定することもできます。

# 新しい設定を適用する方法は?

config.ymlに変更が加えられるたびに、OPAを再起動する必要があります。詳細は、オンプレミスエージェントガイドの実行を参照してください。

オンプレミスエージェントが変更を自動的に適用するために、config.ymlファイルの先頭に以下を追加してautoReloadオプションを使用します。

config:
  autoReload: true

有効にすると、config.ymlへの変更はautoReloadによって取得されます。OPAを手動で再起動する必要はありません。

AUTORELOAD AND SERVER PROFILES

autoReloadサーバープロファイルへの変更には適用されません。これらの変更を適用するには、OPAを手動で開始および停止してください。


# データベースプロファイル

データベース接続プロファイルは、OPAがデータベースに接続するために使用する情報を提供します。接続プロファイルはconfig.ymldatabaseセクションにあります。

OPAは複数のデータベースへの接続をサポートしています。接続したい各データベースのためにdatabaseキーの下にセクションを追加してください。例:

database:
  your-connection-name:         # 接続名を指定します。例:sales-database
    adapter: sqlserver
    host: localhost
    port: 1433
    database: sales
    username: sales_analyst
    password: secretPassword456

このセクションでは、以下の内容をカバーします:

# プロファイルのプロパティ

データベース接続プロファイルには、以下のプロパティが含まれる場合があります:

名前 タイプ 説明
adapter オプション プロファイルが対象とするデータベースの種類です。たとえば、プロファイルがPostgreSQLデータベース向けのものである場合、この値はpostgresqlになります。

OPAでサポートされているデータベースのいずれかである必要があります。詳細については、構成例を参照してください。
url オプション データベースのJDBC接続URLです。たとえば、jdbc:postgresql://sales.database:5432/salesはPostgreSQLデータベースに接続します。

注意: 接続プロファイルを完全に構成するには、urlまたはhostの値を指定する必要があります。

詳細については、構成例を参照してください。
host オプション データベースのホストアドレスです。たとえば、localhostです。

注意: 接続プロファイルを完全に構成するには、urlまたはhostの値を指定する必要があります。
port オプション データベースのポート番号です。データベースのデフォルトポートを使用する場合、このプロパティは省略できます。

たとえば、PostgreSQLデータベースはデフォルトでポート5432を使用します。PostgreSQLがこのポートを使用している場合、接続プロファイルにportプロパティを追加する必要はありません。

デフォルトのポートは、サポートされているデータベースセクションにリストされています。
database オプション データベースの名前です。たとえば:sales

注意: urlプロパティが指定されている場合、このプロパティは省略できます。
username 必須 データベースに接続するために使用されるデータベースユーザーのユーザー名です。
password 必須 データベースユーザー(username)のパスワードです。この値は外部のシークレットマネージャーからの秘密にすることができます。詳細については、構成例を参照してください。
driverClass 必須 JDBC接続の場合のみ必要です。 指定したデータベースのJDBCドライバクラスの完全修飾名です。ドライバクラスはエージェントのclasspathプロパティ
pooled オプション 再接続試行間の遅延を減らすためにデータベース接続プーリングを設定するオプションです。 次のプロパティを含みます:
名前 タイプ 説明
minSize オプション 最小の接続プールサイズ。デフォルトは1です。
maxSize オプション 最大の接続プールサイズ。デフォルトは10です。
idleTimeout オプション 接続が再利用されるまでのアイドル時間(ミリ秒)です。
maxLifetime オプション 接続の最大寿命(ミリ秒)です。
timeout オプション クライアントがプールからの接続を待機する最大時間(ミリ秒)です。
ssl オプション SSL接続を設定するオプションです。以下のデータベースでSSLがサポートされています:
  • MySQL - バージョン5.7以上
  • PostgreSQL - バージョン11.x以上
次のプロパティを含みます:
名前 タイプ 説明
cert 必須 SSL証明書へのファイルパスです。
trustAll オプション trueの場合、クライアントは任意の証明書チェーンを信頼します。自己署名のサーバー証明書もサポートされます。デフォルトはfalseです。
verifyHost オプション trueの場合、サーバー証明書に格納されている名前がドメイン名と一致するかどうかを確認します。デフォルトはfalseです。

# サポートされているデータベース

以下の表には、OPAが現在サポートしているデータベースに関する情報が含まれています。情報には以下が含まれます:

  • データベース名:データベースの名前
  • アダプター:データベースに接続するために使用されるadapterの値。この値は、OPAが接続するデータベースのタイプを指定するために使用されます。
  • デフォルトポート:データベースのデフォルトのport
  • ノート:データベースの設定に関するノート
データベース名 アダプター デフォルトポート ノート
Amazon Redshift redshift 5439
JDBC互換データベース jdbc 以下が必要です:
  • 接続プロファイル内のurldriverClassプロパティ
  • 構成済みのserverプロファイル
詳細については、JDBCの例を参照してください。
Microsoft SQL Server sqlserver 1433
MySQL mysql 3306 デフォルトでは、ドライバは結果セットを行単位でストリームします。 バッファサイズを変更するには、defaultFetchSizeプロパティを使用します。
Oracle oracle 1521 Oracle Serviceを使用する場合urlプロパティが必要です。

SIDを使用する場合、adapterまたはurlプロパティのいずれかを使用できます。

詳細については、Oracleの例を参照してください。
PostgreSQL postgresql 5432

# 例の設定

例を表示するには、ブロックをクリックしてください。

アダプタープロパティを使用する

以下の例では、adapterプロパティを使用してMicrosoft SQL Serverに接続します。以下の英語で書かれたファイルを日本語に書き換えてください。

and Amazon Redshift databases:

database:
  sales:
    adapter: sqlserver
    host: localhost
    port: 1433
    database: sales
    username: sales_analyst
    password: secretPassword123
  operations:
    adapter: redshift
    host: localhost
    port: 5439
    database: customers
    username: cs_analyst
    password: secretPassword789
urlプロパティを使用する

以下の例では、urlプロパティを使用してPostgreSQLデータベースに接続しています。

database:
  sales:
    url: jdbc:postgresql://sales.database:5432/sales
    username: sales_analyst
    password: secretPassword123
    ApplicationName: workato
パスワードプロパティにシークレットを使用する

以下の例では、外部のシークレットマネージャからのシークレットを使用してデータベースのパスワードを提供しています。詳細については、Secrets Managerを参照してください。

database:
  sales_database:
    adapter: sqlserver
    host: localhost
    port: 1433
    database: test
    username: sales_user
    password: { secret: 'sales-db-password-password' }
Oracleデータベースへの接続

Oracleデータベースに接続する場合、SIDまたはServiceのいずれかに接続できます。

SIDを使用する場合は、adapterまたはurlプロパティのいずれかを使用できます。

Serviceを使用する場合は、urlプロパティを指定する必要があります。

database:
  erp:
    url: jdbc:oracle:thin:@localhost:1521/PROD
    username: admin
    password: SecretPassword456
JDBC互換データベースへの接続

JDBC互換のデータベースへの接続には、次のものが必要です。

database:
  tpc:
    url: jdbc:presto://warehouse.intra:8889/tpch
    driverClass: com.facebook.presto.jdbc.PrestoDriver
    adapter: jdbc
    username: my_user

server:
  classpath: jdbc
特定のSQL Serverインスタンスへの接続

以下の例では、同じサーバー上に複数のSQL Serverインスタンスがある場合に特定のSQL ServerインスタンスのためのJDBC urlを定義する方法を示しています。

注意: ポート番号がわからない場合は、インスタンス名のみを指定する必要があります。

database:
  sales:
    adapter: sqlserver
    url: jdbc:sqlserver://[Server/Host]\[Instance]
    username: user
    password: Secret123
SSLの有効化

以下の例では、PostgreSQLデータベースのためにSSLを設定しています。

注意: 現在、SSL接続はMySQL(5.7以上)およびPostgreSQL(11以上)データベースでサポートされています。

database:
  sales:
    adapter: postgresql
    host: localhost
    port: 5432
    database: sales
    username: sales_analyst
    password: secretPassword123
    ssl:
      cert: /path/client_ca.crt
      trustAll: false
      verifyHost: true

# オンプレミスファイルプロファイル 

オンプレミスファイルの操作には、filesセクションでファイルシステムプロファイルを定義する必要があります。 ファイルアクセスのためのベースフォルダを指定する必要があります。C:\Documents\ディレクトリ内のHRフォルダを設定する場合は、次のようになります。

files:
  hrfiles:
    base: "C:\\Documents\\HR"

別の例では、Desktopディレクトリ内のemployeesフォルダへのアクセスを提供する場合、設定は次のようになります。

files:
  hrfiles:
    base: "/Users/me/Desktop/employees"

# SAPプロファイル

SAP接続プロファイルでは、serverセクションとsapセクションを一緒に定義する必要があります。

サーバープロファイルでは、lib_extはSAP JCoコネクタライブラリを配置するディレクトリです。このディレクトリがまだ作成されていない場合は、OPAのルートディレクトリの下にこのディレクトリを作成し、SAP JCoコネクタライブラリをそこに配置します。lib_extフォルダにはsap-connector-impl-X.X.jarが含まれている必要があります。サーバープロファイルについて詳しくは、Server profileを参照してください。

SAPコネクタは、直接接続またはメッセージサーバー接続の2つの接続タイプをサポートしています。

SAPのデフォルトポート

SAPコネクタはデフォルトで次のポートを使用します:

  • SAPメッセージサーバー経由:36xx(xxはSAPシステム番号)
  • SAPメッセージサーバーを使用しない場合、例えばSAPへの直接呼び出し:48xx(SNCを使用する場合)および33xx(SNCを使用しない場合)

さらに、SAPから提供されるHTTP(s)インバウンド通信(例:REST ODataサービス、SOAP WebサービスなどのSAPからの提供)のポートはデフォルトで8000(HTTP)および44300(HTTPs)です。 SAPでこれらのポートがカスタムの方法で設定されている場合、ポート番号は変更される場合があります。 :::SAPで解決する方法:

  1. ICMモニタ(SMICM)トランザクションに移動します。
  2. 「Goto」サービスを選択して、ICMに設定されたサービスと関連するポートを表示します。

これらのポートがデフォルトと異なる場合は、Workatoサポートに連絡してください。

# SAP - 直接接続

以下は「Direct」接続タイプの例です。SAPシステムが直接アプリケーションサーバーとして公開されている場合にこの接続タイプを使用します。

server:
  classpath:
    - lib_ext

sap:
  # ABAPアプリケーションサーバーへの直接接続
  sap_profile_1: # これはオンプレミスエージェント接続プロファイル名です
    network_connection:
      gateway_host: "xx.xx.xx.xx"
      system_number: "00"
      program_id: "WORKATO"  # IDocを使用している場合にのみ必要です。RFCのみを使用する接続では省略できます。
      metadata_refresh_interval: "10"
    user_logon:
      client: "800"
      language: "EN"
      user: "USERN"
      password: "PASSW"
パラメーター 説明 画像をクリックして拡大する
gateway_host DNS名またはIPアドレスのいずれかです。存在する場合、これはSAPホストへの直接接続を示します。形式は xx.xx.xx.xx となります。これは直接接続しているSAPアプリケーションサーバーのIPアドレスです。これはオンプレミスのSAPアプリケーションサーバーにログインするために使用されるSAPログオンパッドで確認できます。 Host
system_number 2桁のSAPシステム番号です。これは、アプリケーションサーバーが受信リクエストを待機している論理ポートを識別します。一般的には、システム番号がXXであるTCPポート33XXから見つけることができます。 System number
program_id オプションです。レシピでIDOCを使用する場合にのみ必要です。これは、Tcode SM59でWorkatoにリンクされたRFC宛先に与えられたプログラムIDと一致します。省略された場合、デフォルト値は WORKATO です。 Program ID
client Workatoに接続するために使用される実際のクライアント番号です。SAPログオンパッドでログインする際に使用するものと同じです。常に3桁の整数です。 Client
language オプションです。ログオン言語を表します。プロパティが提供されていない場合、ユーザーまたはシステムのデフォルト言語が使用されます。有効な値は2文字のISO言語コードまたは1文字のSAP言語コードです。 Language
user Workato向けにプロビジョニングされたSAPユーザーです。バックグラウンドユーザーを使用し、ダイアログプロパティを無効にすることが推奨されます。 User
password SAPユーザーパスワードです。 Password
metadata_refresh_interval オプションです。WorkatoがWorkatoで利用可能なIDocのリストを更新する間隔をカスタマイズするためにこのパラメーターを設定します。デフォルト値は 1440 分(24時間)です。 ### SAP - メッセージサーバー接続

以下は messageserver 接続タイプの例です。SAPシステムがメッセージサーバーゲートウェイの背後にある場合には、この接続タイプを使用してください。

server:
  classpath:
    - lib_ext

sap:
  # ABAPアプリケーションサーバーへのメッセージサーバー接続
  sap_profile_2: # これはオンプレミスエージェント接続プロファイル名です
    network_connection:
      message_server_host: "10.30.xx.xx"
      logon_group: "PUBLIC"
      system_id: "DEV"
      program_id: "WORKATO" # IDocを使用している場合にのみ必要です。RFCのみを使用する接続では省略できます。
      metadata_refresh_interval: "10"
    user_logon:
      client: "800"
      language: "EN"
      user: "USERN"
      password: "PASSW"
パラメーター 説明 画像をクリックして拡大
message_server_host xx.xx.xx.xx の形式でのメッセージサーバーホスト。接続しているメッセージサーバーのIPアドレスです。 メッセージサーバーホスト
logon_group (オプション) アプリケーションサーバーの論理グループ名。SAP Tcode SMLG で見つけることができます。 グループ
system_id メッセージサーバーが所属するシステムのシステムID。接続エラーの場合はSAPノート52959を参照してください。
program_id オプション。レシピでIDOCを使用する場合にのみ必要です。これは、Tcode SM59でWorkatoにリンクされたRFC宛先に与えられたプログラムIDと一致します。省略された場合、デフォルトは WORKATO です。 プログラムID
client Workatoに接続するために使用される実際のクライアント番号。SAP Logon Padでログインする際に使用するものと同じです。常に3桁の整数です。 クライアント
language オプション。ログオン言語を表します。プロパティが提供されていない場合、ユーザーまたはシステムのデフォルト言語が使用されます。有効な値は、2文字のISO言語コードまたは1文字のSAP言語コードです。 言語
user Workato用にプロビジョニングされたSAPユーザー。バックグラウンドユーザーを使用し、ダイアログプロパティを無効にすることをお勧めします。 ユーザー
password SAPユーザーパスワード。 パスワード
metadata_refresh_interval オプション。WorkatoがWorkatoで利用可能なIDocのリストを更新する間隔をカスタマイズするためにこのパラメーターを設定します。デフォルト値は 1440 分(24時間)です。

# JMSプロファイル

JMS接続プロファイルは jms セクションで定義する必要があります。JMSプロバイダーは接続プロファイルの provider プロパティで指定されます。オンプレミスエージェントでサポートされている次のJMSプロバイダーがあります。

メッセージングサービス プロバイダー
Amazon Simple Queue Service amazon-sqs または sqs
Apache ActiveMQ activemq
Azure Service Bus custom

# Amazon SQS

Amazon SQSに接続する際には、以下の設定プロパティが必要です:

jms:
  MyAmazonProfile:
    provider: amazon-sqs
    region: <Your Amazon API region,eg 'us-east-2'>
    accessKey: <Amazon APIのアクセスキー>
    secretKey: <Amazon APIのシークレットキー>

メッセージを送信する前に、SQSキューが作成されていることを確認してください。

# Apache ActiveMQ

実行中のActiveMQブローカーに接続するには、ブローカーのURLのみを指定する必要があります:

jms:
  MyActiveMQProfile:
    provider: activemq
    url: tcp://localhost:61616

ActiveMQブローカーはエージェントに埋め込むことはできません。vm://ブローカー接続はサポートされていません。

# Azure Service Bus

Azure Service BusはカスタムのJMSプロバイダを使用します。Azure Service Busに接続する際には、次の設定プロパティが必要です:

jms:
  azureServiceBus:
    provider: custom
    class: org.apache.qpid.jms.JmsConnectionFactory
    remoteURI: amqps://<host-name>.servicebus.windows.net
    username: <policy-name>
    password: "<primary-key>"

ここ (opens new window)からjarファイルをダウンロードし、lib_extフォルダ内に展開します。

config.ymlファイル内にクラスパスを追加します。クラスパスプロパティについて詳しくは、以下を参照してください。

server:
 classpath: lib_ext

# Apache Kafkaプロファイル

Kafka接続プロファイルは、kafkaセクションで定義する必要があります。Kafkaに接続する際には、次の設定プロパティが必要です:

kafka:
  MyKafkaProfile:
    ... 接続プロパティ ...

Kafkaのプロデューサー (opens new window)コンシューマー (opens new window)の設定プロパティを指定することができます。例えば、bootstrap.serversbatch_sizeなどです。

ただし、一部のプロパティはオンプレミスエージェントによって上書きされ、設定することはできません。保護されたプロパティを再定義しようとすると、警告が表示されます。これらの保護されたプロパティの例:

プロパティ名 コメント
key.serializer エージェントではStringSerializerのみサポートされています
value.serializer エージェントではStringSerializerのみサポートされています
key.deserializer エージェントではStringSerializerのみサポートされています
value.deserializer エージェントではStringSerializerのみサポートされています
auto.offset.reset レシピで定義されます
enable.auto.commit 内部で定義されます

Workatoエージェントは、以下の(非Kafka)設定プロパティもサポートしています:

プロパティ名 説明
timeout 一般的な操作のタイムアウト(ミリ秒)
url プロトコルがkafkaまたはkafka+sslであるサーバーURLのカンマ区切りリスト
ssl.truststore Kafkaへの安全な接続のためのPEMエンコードされた信頼ストアのインライン化を許可します
ssl.keystore.key Kafkaへの安全な接続のためのプライベートキーのインライン化を許可します
ssl.keystore.cert Kafkaへの安全な接続のためのクライアント証明書のインライン化を許可します

上記のssl.*オプションは、SSL/TLSを使用してKafkaに接続する場合に使用でき、config.ymlファイル内にPEMエンコードされた証明書と秘密鍵を保持することができます。YAML互換の複数行構文を使用できます。例えば:

kafka:
  MyKafkaProfile:
    ssl.truststore:
    |
      -----BEGIN CERTIFICATE-----
      502mPNNAYkY4a7Zu84DLCXLFurEa4BhLBqLkzC6WdTrBN9z6Rp/svTIl6VgjSTP6
      .....
      -----END CERTIFICATE-----

ただし、パスワードで保護された秘密鍵はインライン化できません。


# Active Directoryプロファイル

Active Directory接続プロファイルは、ldapセクションで定義する必要があります。プロファイルの例:

ldap:
  active_directory_main:
    url:
      - ldap://acme1.ldap.com:389
      - ldaps://acme2.ldap.com:636
    username: Administrator
    password: foobar
    base: dc=acme,dc=com
    ssl:
      cert: /path/to/PEM-encoded-certificate-or-trusted-CA
      trustAll: true
プロパティ名 説明
url
必須
使用するLDAPサーバーのURLです。URLはldap://myserver.example.com:389の形式である必要があります。

SSLアクセスの場合は、LDAPSプロトコルを使用します。URLの形式は同じ形式ldaps://myserver.example.com:636です。

フェールオーバー機能を使用する場合は、複数のURLを指定できます。
username
必須
LDAPサーバーとの認証時に使用するユーザー名(プリンシパル)です。通常、管理者ユーザーの識別名です。例えば、cn=Administratorまたは単にAdministratorです。
password
必須
LDAPサーバーとの認証時に使用するパスワード(資格情報)です。LDAPサーバーとの認証時
base
オプション
すべてのリクエストのベースDN。この属性が設定されている場合、LDAP操作に提供される識別名および受信される識別名は、このLDAPパスを基準とした相対パスになります。これにより、大規模なLDAPツリーに対する作業が大幅に簡素化されます。

ただし、ベースパスにアクセスする必要がある場合がいくつかあります。詳細については、「ベースLDAPパスへの参照の取得」を参照してください。
ssl
オプション
cert PEMエンコードされた証明書または信頼できるCAへのパス。
pem PEMエンコードされた証明書の完全な内容。
key 相互SSLセットアップのためのプライベートキー。 pemが提供されている場合、必須です。
trustAll セルフサインド証明書を有効にするには、trueに設定します。

# HTTPプロファイル

http構成セクションでは、エージェントが内部のHTTPSリソースにアクセスするための設定が可能です:

http:
  connectTimeout: 5000
  keepAlive: true
  ssl:
    trustAll: false
    verifyHost: true
    cert:
    |
      -----BEGIN CERTIFICATE-----
      MIIF3TCCBMWgAwIBAgIQBlp2+roj8DZRf7VwurC8BjANBgkqhkiG9w0BAQsFADBG
      .....
      -----END CERTIFICATE-----
    key: /path/PEM-encoded-private-key
    pem: /path/PEM-encoded-certificate-or-trusted-CA

デフォルトでは、OPAは組み込みJREからルート認証機関(CA)証明書のセットを使用します。 エージェントは、セルフサインド証明書を使用する内部のHTTPSリソースへのアクセスを許可するように設定することができます。 セルフサインド証明書を有効にするには、ssl.certプロパティにサーバー証明書へのパスまたはPEMエンコードされた証明書の値を入力します。 任意のサーバー証明書を信頼するには、ssl.trustAllプロパティをtrueに設定します。 さらに、エージェントはクライアントのプライベートキーと証明書を含むssl.keyおよびssl.pemプロパティを使用したmTLSをサポートしています。

通常、サーバー証明書の共通名(またはサブジェクト代替名)フィールドは、対象のホスト名と一致する必要があります。エージェントがホスト名の一致しないサーバー証明書を受け入れるようにする場合は、ssl.verifyHostプロパティをfalseに設定してホスト名の検証を無効にします(デフォルトはtrue)。


# NTLMプロファイル

特定のHTTPリソースでは、NTLM認証が必要です。これはNTLM接続プロファイルを使用して行うことができます。以下にいくつかのNTLMプロファイルの例を示します:

ntlm:
  MyNtlmProfile:
    auth: "username:password@domain/workstation"
    base_url: "http://myntlmhost.com"
    cm_default_max_per_route: 15
    cm_max_total: 100
    verifyHost: true
    trustAll: false

  AnotherNtlmProfile:
    auth: "domain/workstation"
    username: "username"
    password: "password"
    base_url: "http://myntlmhost.com"
    cm_default_max_per_route: 15
    cm_max_total: 100
    verifyHost: true
    trustAll: false

以下のプロファイルプロパティがサポートされています:

プロパティ名 説明
auth 完全なNTLM認証資格情報。これにはユーザー名、パスワード、ドメイン、およびワークステーションを含めることができます。

OPAバージョン2.4.7以降では、ユーザー名パスワードを別々に設定することも可能です(@/などの特殊文字を含む場合)。
username NTLM認証のユーザー名。
OPAバージョン2.4.7以降のみ
password NTLM認証のパスワード。
OPAバージョン2.4.7以降のみ
base_url NTLMリソースのベースURL
cm_default_max_per_route オプション。ルート/ホストごとの接続数を設定します(正の数である必要があります、デフォルトは5)
cm_max_total オプション。接続の最大数を設定します(正の数である必要があります、デフォルトは10)
http_connect_timeout オプション。接続の要求時に使用されるタイムアウト(正の数である必要があります、デフォルトは10000)
http_connection_request_timeout オプション。接続が確立されるまでのタイムアウト(正の数である必要があります、デフォルトは10000)
http_socket_timeout オプション。データの待機または2つの連続データパケット間の最大非アクティビティ期間であるソケットタイムアウト(正の数である必要があります、デフォルトは10000)
verifyHost オプション。SSL/TLS接続のホスト名の検証を有効にするかどうかを指定します(デフォルトはtrue)
trustAll オプション。SSL/TLS接続のすべての証明書を信頼するかどうかを指定します(デフォルトはfalse)

NTLM接続に対応するHTTPメソッドは、GETPOSTPUTPATCHDELETEHEADです。


# コマンドラインスクリプト プロファイル  

このプロファイルでは、ユーザーがOPA上で任意のスクリプトやコマンドを実行することができます。設定ファイルのスクリプト定義にはパラメータを含めることができます。

アクションを宣言する際には、パラメータの値を指定する必要があります。

Unix上の例として、次のようなプロファイルを作成することができます:

command_line_scripts:
  workday_reports:
    concurrency_limit: 3
    timeout: 30
    scripts:
     copy_file:
       name: ファイルのコピー
       command:
         - /bin/cp
         - '{{source_file}}'
         - '{{target_directory}}'
       parameters:
         - { name: source_file }
         - { name: target_directory }           

     append_file_to_another:
       name: ファイルの追記
       command:
         - bash
         - -c
         - cat {{source_file}} >> {{target_file}}
       parameters:
         # パラメータの引用符
         - { name: source_file, quote: '"' }
         # 高度なパラメータの引用符
         - { name: target_file, quote: { start: '"', end: '"', quote: '"', escape_char: \ } }

     generate_report:
       name: レポートの生成
       command:
         - python
         - /home/user/script.py
         - --from
         - '{{from_date}}'
         # 条件付きフラグメント
         - { value: --to, if: to_date }
         # 条件付きフラグメント
         - { value: '{{to_date}}', if: to_date }
       parameters:
         - { name: from_date }
         - { name: to_date, schema: { optional: true, control_type: select, pick_list: [01/01/2018, 02/02/2018] } }

コマンドラインスクリプトのプロファイルは、config.ymlのcommand_line_scriptsセクションに配置されます。各プロファイルには複数のスクリプトを含めることができます。プロファイルの設定プロパティは次のとおりです:

プロパティ名 説明
scripts スクリプトのハッシュ。各キーの値にはスクリプトのプロファイルが含まれます。
concurrency_limit オプション。同時に実行されるスクリプトの最大数。指定しない場合はデフォルトで10になります。上限に達すると、リクエストはキューに入ります。
timeout オプション。各スクリプトの実行に対する最大時間(秒)。指定しない場合はデフォルトで90秒になります。

ハッシュキーはスクリプトプロファイルの一意の識別子として使用されます。スクリプトの設定プロパティは次のとおりです:
プロパティ名 説明
name レシピUIに表示されるスクリプトのフレンドリーな名前。
command コマンドの呼び出し配列。各アイテムの値はMustache (opens new window)テンプレート変数を使用してパラメータの値を置換することができます。
parameters オプション。パラメータの配列(デフォルトは空の配列)。

コマンドの呼び出し要素の設定は単純な文字列である場合もありますが、次のプロパティを含むこともあります:
プロパティ名 説明
value コマンドの呼び出し要素の値。
if パラメータ名。パラメータの値が空の場合、このコマンドの呼び出し要素は考慮されません。

パラメータの設定プロパティは次のとおりです:
プロパティ名 説明
name パラメータの名前。
quote オプション。パラメータの引用のルール(デフォルトはルールなし)。
schema オプション。パラメータのスキーマ。

引用の設定は単純な文字列である場合もありますが、プロパティを持つこともあります。プロパティは次のとおりです:
プロパティ名 説明
start 開始引用符の文字。
end 終了引用符の文字。
quote パラメータ値内の引用符の文字。
escape_char エスケープ文字。

引用の設定が文字列の場合、その値はstartendquoteプロパティの値として考慮され、escape_charプロパティの値はUnixでは'\'、Windowsでは'""'に設定されます。


パラメータのスキーマの設定は次のプロパティを持つことができます:
プロパティ名 説明
optional オプション。パラメータのオプションフラグ(デフォルトはfalse)。
label オプション。レシピUIに表示されるスクリプトのフレンドリーな名前(デフォルトはパラメータの名前)。
control_type オプション。'text'または'select'のいずれかである必要があります。'select'の場合、プロパティ'pick_list'も定義する必要があります。デフォルトは'text'です。
pick_list オプション。パラメータ値を選択するための値。このプロパティは、プロパティ'control_type'の値が'select'の場合に定義する必要があります。

# 拡張プロファイル

Javaの拡張機能を使用するには、拡張プロファイルを定義する必要があります。serverセクションにはjarファイルの場所を定義し、extensionsセクションにはJavaクラスの個別のプロファイルを作成します。Javaの拡張機能は次のように設定されます。

server:
  classpath: ext

extensions:
  security:
    controllerClass: com.mycompany.onprem.SecurityExtension
    secret: HA63A3043AMMMM

The server パラメータの設定は以下の通りです:

プロパティ名 説明
classpath ユーザー定義クラスの場所を指定します

extensionsプロファイルの設定は以下の通りです:

プロパティ名 説明
controllerClass OPAに拡張機能をマップするためのJavaクラスを指定する必須フィールドです。
secret Javaクラスで使用されるオプションの環境プロパティです。複数のプロパティを追加できます。

Java拡張機能の作成方法を確認してください。


# サーバープロファイル

サーバープロファイルは、オンプレミスサーバー上のOPAアセットの場所を定義します。サーバープロファイルはconfig.ymlserverセクションに配置されます。

server:
  classpath: lib_ext
  staging: staging

このセクションでは、以下の内容を説明します:

# プロファイルのプロパティ

サーバープロファイルには、以下のプロパティを含めることができます:

名前 タイプ 説明
classpath 必須 Javaドライバーまたはユーザー定義クラスが含まれるディレクトリを定義します。例えば、jarファイルドライバークラスです。

注意:これはOPAインストールフォルダ内の既存のサブディレクトリである必要があります。
staging 必須 ** ターゲットシステムへのロード中にデータを一時的に保存するステージングフォルダを定義します。注意:これはOPAインストールフォルダ内の既存のサブディレクトリである必要があります。

指定しない場合、OPAはステージングフォルダを内部で管理します。

ステージングフォルダに保存されたファイルは、OPAがターゲットシステムにロードを完了した後に自動的に削除されます。

** OPAバージョン2.10.0およびそれ以下のバージョンに必要です。バージョン2.10.1以降ではオプションです。

# サンプル設定

以下のディレクトリ構造を使用して、いくつかのサンプルプロファイル設定を見てみましょう。この例では、オンプレミスエージェントは/opt/workato-agentにインストールされています:

/opt
├── /workato_agent
    ├── /conf
    ├── /bin
    ├── /lib_ext
    ├── /staging

次の例では、Javaドライバクラスまたはユーザー定義クラスが含まれるjdbcディレクトリを定義しています:

server:
  classpath: lib_ext

次に、stagingプロパティの設定方法を示します。このプロパティは、OPAがターゲットシステムへのロード中に一時的にファイルを保存する場所を定義します。

たとえば、SQL ServerのExport query resultアクションを実行する場合、CSV出力は/stagingディレクトリに一時的に保存され、ファイルのロード後に削除されます:

server:
  classpath: lib_ext
  staging: staging


Last updated: 2024/2/13 16:59:53