次の例は、Google スプレッドシート用 Anypoint Connector (Google Sheets Connector) を使用して既存のスプレッドシートで行を作成する方法を示しています。
HTTP リスナーを設定する
ローカルホストポート 8081 で / アカウントパスへのコールが行われたときに Mule フローを開始するように HTTP リスナーを設定します。
この例では一部の項目値に変数を使用しています。次のいずれかを実行できます。
-
コード内で変数を値に置き換える。
-
プロパティファイルで各変数の値を指定しておき、コネクタ設定からそのファイルを参照する。
プロパティファイルの使い方が分からない場合は、「Configuring Property Placeholders (プロパティプレースホルダーの設定)」を参照してください。
HTTP リスナーを設定するには、次の手順に従います。
-
Studio で新しい Mule プロジェクトを作成します。
-
[Mule Palette (Mule パレット)] ビューで「
http」を検索し、[Listener] 操作を選択します。 -
Listener 操作をキャンバスにドラッグします。
-
[Listener] 設定で、[Connector configuration (コネクタ設定)] 項目の横にある [+] をクリックしてグローバル要素を追加します。
-
[OK] をクリックして、デフォルトを受け入れます。
-
[Path (パス)] 項目を
/ に設定します。
Append Spreadsheets Values 操作を追加および設定する
-
[Mule Palette (Mule パレット)] ビューで「
Google Sheets」を検索し、[Append Spreadsheets Values] 操作を選択します。 -
[Append Spreadsheets Values] 操作をキャンバスの [HTTP Listener] コンポーネントの右にドラッグします。
-
[Append Spreadsheets Values] 設定で、[Connector configuration (コネクタ設定)] 項目の横にある [+] をクリックしてグローバル要素を追加します。
-
次のようにグローバル要素を設定します。
-
Configuration Name (設定名):
Google_Sheets_Connector_Mule4Connector_Config -
Consumer key (コンシューマーキー):
${config.consumerKey} -
Consumer secret (コンシューマーシークレット):
${config.consumerSecret} -
Authorization url (認証 URL): デフォルトのまま
-
Access token url (アクセストークン URL): デフォルトのまま
-
Callback path (コールバックパス):
${config.callbackPath} -
Authorize path (認証パス):
${config.authorizePath}
-
-
[Test Connection (テスト接続)] をクリックして、でユーザー名、パスワード、テナント名が正しいことを確認します。
-
[OK] をクリックします。
Append Spreadsheets Values 操作の必須パラメーターを設定する
-
[Append Spreadsheets Values] コンポーネントをクリックします。
-
コンポーネントの設定パネルに、次のパラメーターの独自の値を入力します。たとえば、次のように入力します。
-
Spreadsheet id (スプレッドシート ID):
19y7nVZPQz3NQSTSGfCh06KXPIqGV2YXohTupmynJyZ5 -
range (範囲):
Sheet1!A1
-
-
[OK] をクリックします。
Mule コンソールに応答を出力するロガーを追加する
-
[Mule Palette (Mule パレット)] ビューで、
logger を検索して [Logger (Core) (Logger (コア))] を選択します。 -
[Logger] コンポーネントをキャンバスの [Append Spreadsheets Values] コンポーネントの右にドラッグします。
-
次の項目を設定します。
項目 値 Display Name (表示名)
「
Log Response」と入力します。Message (メッセージ)
「
`#[payload]`」と入力します。Level (レベル)
デフォルト (
INFO) のままにします。 -
この例で使用されているプロパティを使用して、
src/main/resources に mule-artifact.properties という名前のプロパティファイルを作成します。-
config.consumerKey -
config.consumerSecret -
config.callbackPath -
config.authorizePath
-
-
プロジェクトを保存します。
-
ポート 8081 で
/ に要求を送信してアプリケーションをテストします。 -
次のような JSON 応答を受信します。
{
"spreadsheetId": "19y7nVZPQz3NQSTSGfCh06KXPIqGV2YXohTupmynJyZ5",
"tableRange": "Demo!A1:C38",
"updates": {
"spreadsheetId": "19y7nVZPQz3NQSTSGfCh06KXPIqGV2YXohTupmynJyZ5",
"updatedRange": "Demo!A39"
}
}
スプレッドシートでの Append Spreadsheets Values の例
この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:google-sheets="http://www.mulesoft.org/schema/mule/google-sheets" xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/google-sheets http://www.mulesoft.org/schema/mule/google-sheets/current/mule-google-sheets.xsd">
<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="a841f003-9ac4-43bc-8751-10dd557b66d6" >
<http:listener-connection host="127.0.0.1" port="8081" />
</http:listener-config>
<configuration-properties doc:name="Configuration properties" doc:id="7d6911bb-52b4-4d90-8724-62cfe239686a" file="mule-artifact.properties" />
<flow name="demoFlow" doc:id="481ac26c-b66b-4f9d-b91f-4995ea8ff6a6" >
<http:listener doc:name="Listener" doc:id="49be04b5-efec-4db6-8c49-d13475533be0" config-ref="HTTP_Listener_config" path="/"/>
<google-sheets:create-spreadsheets-values-rangeappend-by-spreadsheet-id doc:name="Append Spreadsheets Values" doc:id="2618426a-cca7-41f0-87b2-90ea85045af2" config-ref="Google_Sheets_Connector_Mule4Connector_Config" spreadsheetId="19y7nVZPQz3NQSTSGfCh06KXPIqGV2YXohTupmynJyZ5" range="Demo"/>
<logger level="INFO" doc:name="Logger" doc:id="9f7181ff-a7ad-4b0c-8300-07b8bd847672" />
</flow>
</mule>