# 接続プロファイル
単一のオンプレミスエージェント(OPA)は、複数のオンプレミスアプリケーションに接続できます。接続プロファイルは、各アプリケーションを一意に識別し、接続に必要な設定情報を含んでいます。
# 基本
# 接続プロファイルとは何ですか?
接続プロファイルは、オンプレミスアプリケーションを一意に識別し、情報を含むファイルです。プロファイルは、<INSTALL_HOME>/conf/config.yml
にある設定ファイルに保存されます。
典型的な設定ファイルは次のようになります:
database:
profile1: # 接続名にはスペースや特殊文字を含めることはできません
... # ただし、アンダースコア(_)とハイフン(-)は含めることができます
profile2:
...
files:
profile3:
...
profile4:
...
jms:
profile5:
...
ldap:
profile6:
...
server:
classpath:
...
staging:
...
# どの種類のシステムに接続できますか?
config.yml
ファイルには、次のシステムタイプのプロファイルを含めることができます:
- データベース
- オンプレミスファイルシステム
- SAP
- Javaメッセージングサービス
- Apache Kafka
- Active Directory
- HTTPプロファイル
- NTLM
- コマンドラインスクリプト
- 拡張機能
- サーバー
また、インターネット接続が制限されたサーバーにインストールされたOPAに対してプロキシサーバーを設定することもできます。
# 新しい設定を適用する方法は?
config.yml
に変更が加えられるたびに、OPAを再起動する必要があります。詳細は、オンプレミスエージェントガイドの実行を参照してください。
オンプレミスエージェントが変更を自動的に適用するために、config.yml
ファイルの先頭に以下を追加してautoReload
オプションを使用します。
config:
autoReload: true
有効にすると、config.yml
への変更はautoReload
によって取得されます。OPAを手動で再起動する必要はありません。
AUTORELOAD AND SERVER PROFILES
autoReload
はサーバープロファイルへの変更には適用されません。これらの変更を適用するには、OPAを手動で開始および停止してください。
# データベースプロファイル
データベース接続プロファイルは、OPAがデータベースに接続するために使用する情報を提供します。接続プロファイルはconfig.yml
のdatabase
セクションにあります。
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 | オプション | 再接続試行間の遅延を減らすためにデータベース接続プーリングを設定するオプションです。
次のプロパティを含みます:
| ||||||||||||||||||
ssl | オプション | SSL接続を設定するオプションです。以下のデータベースでSSLがサポートされています:
|
# サポートされているデータベース
以下の表には、OPAが現在サポートしているデータベースに関する情報が含まれています。情報には以下が含まれます:
- データベース名:データベースの名前
- アダプター:データベースに接続するために使用される
adapter
の値。この値は、OPAが接続するデータベースのタイプを指定するために使用されます。 - デフォルトポート:データベースのデフォルトの
port
- ノート:データベースの設定に関するノート
データベース名 | アダプター | デフォルトポート | ノート |
---|---|---|---|
Amazon Redshift | redshift | 5439 | |
JDBC互換データベース | 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互換のデータベースへの接続には、次のものが必要です。
- 接続プロファイルの
url
とdriverClass
プロパティ - 設定済みの
server
プロファイル
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で解決する方法:
- ICMモニタ(SMICM)トランザクションに移動します。
- 「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ログオンパッドで確認できます。 | |
system_number | 2桁のSAPシステム番号です。これは、アプリケーションサーバーが受信リクエストを待機している論理ポートを識別します。一般的には、システム番号がXXであるTCPポート33XXから見つけることができます。 | |
program_id | オプションです。レシピでIDOCを使用する場合にのみ必要です。これは、Tcode SM59でWorkatoにリンクされたRFC宛先に与えられたプログラムIDと一致します。省略された場合、デフォルト値は WORKATO です。 | |
client | Workatoに接続するために使用される実際のクライアント番号です。SAPログオンパッドでログインする際に使用するものと同じです。常に3桁の整数です。 | |
language | オプションです。ログオン言語を表します。プロパティが提供されていない場合、ユーザーまたはシステムのデフォルト言語が使用されます。有効な値は2文字のISO言語コードまたは1文字のSAP言語コードです。 | |
user | Workato向けにプロビジョニングされたSAPユーザーです。バックグラウンドユーザーを使用し、ダイアログプロパティを無効にすることが推奨されます。 | |
password | SAPユーザーパスワードです。 | |
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 です。 | |
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.servers
やbatch_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メソッドは、GET
、POST
、PUT
、PATCH
、DELETE
、HEAD
です。
# コマンドラインスクリプト プロファイル
このプロファイルでは、ユーザーが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 | エスケープ文字。 |
引用の設定が文字列の場合、その値はstart
、end
、quote
プロパティの値として考慮され、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.yml
のserver
セクションに配置されます。
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