# How to ガイド - CLI におけるメソッドの実行
ここでは、Workato Gem を使用してメソッドを実行する方法について説明します。
# 前提条件
- Workato SDK Gem をインストールして、実行可能であること。詳細については、「入門ガイド」を参照してください。
- 少なくとも1つのメソッドを備えた、動作するコネクターがあること。以下のサンプルコネクターを使用します。
- 有効な資格情報セットを所有していること。サンプルコネクターのコードを使用する場合、コネクター用に適切な資格情報を所有していることを確認してください。
# サンプルコネクター - Chargebee
connector.rb
のコードを以下に示します。
{
title: 'Chargebee-demo',
connection: {
fields: [
{
name: 'api_key',
control_type: 'password',
hint: 'You can find your API key final change3' \
"under 'Settings'=>'Configure Chargebee'=>'API Keys and Webhooks'" \
" in Chargebee's web console.",
label: 'Your API Key'
},
{
name: 'domain',
control_type: 'subdomain',
url: 'chargebee.com'
}
],
authorization: {
type: 'basic_auth',
apply: lambda do |connection|
user(connection['api_key'])
end
},
base_uri: lambda do |connection|
"https://#{connection['domain']}.chargebee.com"
end
},
test: lambda do |_connection|
get('/api/v2/plans', limit: 1)
end,
methods: {
get_customers: lambda do
get('/api/v2/customers')
end,
sample_method: lambda do |string1, string2|
string1 + ' ' + string2
end,
},
}
settings.yaml.enc
に格納された資格情報です。
api_key: valid_api_key
domain: valid_domain
TIP
暗号化された settings.yaml ファイルを使う場合は、workato edit <PATH>
を使用して、このファイルを編集または作成する必要があります。詳細については、こちらを参照してください
SDK Gem を使用すると、メソッドを個別に呼び出して各メソッドの動作をより詳細に制御できるようになります。
# 例1: get_customers
メソッドの実行
上記のサンプルで最初に取り上げるのは、入力引数が宣言されていない get_customers
メソッドです。このメソッドが SDK Gem により呼び出されると、顧客データを取得して API からのレスポンスを返されます。
$ workato exec methods.get_customers
{
"list": [
{
"customer": {
"id": "abc",
"first_name": "John",
"last_name": "doe",
"email": "[email protected]",
"phone": "+100",
"auto_collection": "on",
"net_term_days": 0,
"allow_direct_debit": false,
"created_at": 1630848839,
"taxability": "taxable",
"updated_at": 1630848840,
"locale": "en-US",
"pii_cleared": "active",
"resource_version": 1630848840782,
"deleted": false,
"object": "customer",
"card_status": "valid",
"promotional_credits": 0,
"refundable_credits": 0,
"excess_payments": 0,
"unbilled_charges": 0,
"preferred_currency_code": "SGD",
}
}
],
"next_offset": "[\"1630848839000\",\"42903379\"]"
}
TIP
ここでは他のオプションも使うことができます。たとえば、--verbose
を指定するとメソッドの実行時に送信された HTTP リクエストの詳細なログが表示され、--output
を指定すると関数の出力が JSON ファイルに保存されます。
settings.yaml
ファイルが定義されていない場合、SDK Gem は、デフォルトのsettings.yaml.enc
ファイルを HTTP リクエストに使用するようになっています。
# 例2: sample_method
メソッドの実行
上記のサンプルで2番目に取り上げるのは、2つの引数を持つ sample_method
メソッドです。fixtures
フォルダーに格納される JSON ファイルを指すコマンドで args
を参照していることがわかります。このファイルには、 配列の各インデックスが1つの引数に対応する 配列を入れておく必要があります。
この場合、ファイル fixtures/triggers/new_updated_object/customer_input_poll.json
の内容は以下のとおりです。
[
"Hello",
"world"
]
このメソッドの実行例を以下に示します。
$ workato exec methods.sample_method --args='fixtures/actions/search_customers/customer_config.json'
"Hello world"
TIP
ここでは他のオプションも使うことができます。たとえば、--verbose
を指定するとメソッドの実行時に送信された HTTP リクエストの詳細なログが表示され、--output
を指定すると関数の出力が JSON ファイルに保存されます。
settings.yaml
ファイルが定義されていない場合、SDK Gem は、デフォルトの settings.yaml.enc
ファイルを HTTP リクエストに使用するようになっています。
Last updated: 2024/7/10 18:18:20