Lambda関数呼び出し処理

オペレーション名

Lambda関数呼び出し

機能概要

Lambda関数を呼び出します。

データモデル

本コンポーネントのデータモデルはXML型です。
入出力のスキーマについては、「スキーマ」を参照してください。

プロパティ

変数の使用については、「変数」を参照してください。
基本設定
項目名 必須/省略可 変数の使用 説明 備考
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
入力データ 省略可 使用不可 スクリプトキャンバス上にあるコンポーネントを選択します。
  • [データ入力元][ファイル]を指定した場合、[入力データ]を指定する必要はありません。指定した場合は無視されます。
必須設定
項目名 必須/省略可 変数の使用 説明 備考
接続先 必須 使用不可 グローバルリソースを選択します。
  • [追加]:
    新規にグローバルリソースを追加します。
  • [一覧の編集]:
    「リソース一覧の編集」画面にて、グローバルリソースの設定を編集することができます。
 
関数名 必須 使用可 呼び出しを行う関数名を選択または入力します。  
限定条件 必須 使用不可 [関数名]で指定したLambda関数の限定条件を選択します。
  • [バージョン]:(デフォルト)
    バージョンを指定します。
  • [別名]:
    別名を指定します。
 
バージョン 必須 使用可 [関数名]で指定したLambda関数のバージョンを選択または入力します。
  • [限定条件][バージョン]を選択した場合、表示されます。
別名 必須 使用可 [関数名]で指定したLambda関数の別名を選択または入力します。
  • [限定条件][別名]を選択した場合、表示されます。
呼び出しタイプ 必須 使用不可 [関数名]で指定したLambda関数をどのように呼び出すかを選択します。
  • [同期]:(デフォルト)
    同期呼び出しを行います。
  • [非同期]:
    非同期呼び出しを行います。
 
リクエスト設定
項目名 必須/省略可 変数の使用 説明 備考
データ入力元 必須 使用不可 Lambda関数にパラメータとして渡すデータの入力元を選択します。
  • [データ]:(デフォルト)
    入力データを入力元とします。
  • [ファイル]:
    [ファイルパス]で指定したJSONファイルを入力元とします。
 
ファイルパス 必須 使用可 Lambda関数にパラメータとして渡すデータの入力元となるJSONファイルのパスを選択または入力します。

[参照]ボタンを押下するとファイルチューザが起動し、ファイルの選択ができます。
  • [データ入力元][ファイル]を選択した場合、表示されます。
  • ファイルパスはDataSpider Cloudファイルシステムの絶対パスで指定してください。
  • パス区切り文字「/」以外のDataSpider Cloudファイルシステムの使用禁止文字は使用できません。
プロパティアクション
項目名 説明 備考
JSONファイルを指定して入力スキーマを設定 JSONファイルを指定して入力元のスキーマを設定します。 [データ入力元][データ]を選択した場合、表示されます。
レスポンス設定
項目名 必須/省略可 変数の使用 説明 備考
データ出力先 必須 使用不可 Lambda関数から返されるデータの出力先を選択します。
  • [データ]:(デフォルト)
    結果データに出力します。
  • [ファイル]:
    [ファイルパス]で指定したファイルに出力します。
  • [呼び出しタイプ][非同期]を選択した場合、データが出力されません。
  • データがJSON形式でない場合は、[ファイル]を選択してください。
ファイルパス 必須 使用可 Lambda関数から返されるデータを出力するファイルのパスを選択または入力します。

[参照]ボタンを押下するとファイルチューザが起動し、ファイルの選択ができます。
  • [データ出力先][ファイル]を選択した場合、表示されます。
  • ファイルパスはDataSpider Cloudファイルシステムの絶対パスで指定してください。
  • パス区切り文字「/」以外のDataSpider Cloudファイルシステムの使用禁止文字は使用できません。
XMLとして不正な文字を削除する 省略可 使用不可 JSON形式のデータの解析中にXMLとして不正な文字が見つかった場合に自動で削除するかどうかを選択します。
  • [チェックあり]:
    XMLとして不正な文字を削除します。
  • [チェックなし]:(デフォルト)
    XMLとして不正な文字を削除しません。
  • [データ出力先][データ]を選択した場合、表示されます。
プロパティアクション
項目名 説明 備考
JSONファイルを指定して出力スキーマを設定 JSONファイルを指定して出力先のスキーマを設定します。 [データ出力先][データ]を選択した場合、表示されます。
データ処理方式
項目名 必須/省略可 変数の使用 説明 備考
データ処理方式 省略可 使用不可 データ処理方式を選択します。
  • [スクリプトの設定を使用する]:(デフォルト)
    スクリプトプロパティの大容量データ処理の設定をアダプタに使用します。
  • [大容量データ処理を行わない]:
    大容量データ処理を行いません。
  • [大容量データ処理を行う]:
    大容量データ処理を行います。
 
コメント
項目名 必須/省略可 変数の使用 説明 備考
コメント 省略可 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

スキーマ

入力スキーマ

入力データをXML形式からJSON形式に変換して処理されます。
JSON形式のデータに変換するためのXML形式のスキーマは以下の通りです。
<--ルートが文字列型、数値型、真偽値型またはnull型のJSONオブジェクトの場合 -->
<?xml version="1.0"?>
<root type="JSONの型を表す属性値">
  <value>値</value>
</root>

<--ルートがオブジェクト型のJSONオブジェクトの場合 -->
<?xml version="1.0"?>
<root type="object">
  <JSONメンバの名前 type="JSONの型を表す属性値">値</JSONメンバの名前>
    :
</root>

<-- ルートが配列型のJSONオブジェクトの場合 -->
<?xml version="1.0"?>
<root type="array">
  <element type="JSONの型を表す属性値">値</element>
    :
</root>

<-- JSONメンバの名前がXMLの要素名として不正な場合 -->
<?xml version="1.0"?>
<root type="object">
  <member type="JSONの型を表す属性値" name="JSONメンバの名前">値</member>
    :
</root>
要素名 属性名 説明 備考
root - JSONオブジェクトをラップするルート要素です。  
type JSONの型を表す属性値を指定します。
属性値 説明
string JSONの文字列型を表します。

例:root要素のtype属性値が「string」のXMLデータ
<root type="string">
  <value>Suzuki</value>
</root>
上記例のXMLデータは以下のJSONオブジェクトに変換されます。
"Suzuki"
number JSONの数値型を表します。

例:root要素のtype属性値が「number」のXMLデータ
<root type="number">
  <value>37</value>
</root>
上記例のXMLデータは以下のJSONオブジェクトに変換されます。
37
boolean JSONの真偽値型を表します。

例:root要素のtype属性値が「boolean」のXMLデータ
<root type="boolean">
  <value>true</value>
</root>
上記例のXMLデータは以下のJSONオブジェクトに変換されます。
true
object JSONのオブジェクト型を表します。

例:root要素のtype属性値が「object」のXMLデータ
<root type="object">
  <name type="string">Suzuki</name>
</root>
上記例のXMLデータは以下のJSONオブジェクトに変換されます。
{"name":"Suzuki"}
array JSONの配列型を表します。

例:root要素のtype属性値が「array」のXMLデータ
<root type="array">
  <element type="string">apple</element>
  <element type="string">grape</element>
  <element type="string">orange</element>
</root>
上記例のXMLデータは以下のように配列型のJSONオブジェクトに変換されます。
["apple","grape","orange"]
null JSONのnull型を表します。

例:root要素のtype属性値が「null」のXMLデータ
<root type="null">
  <value/>
</root>
上記例のXMLデータは以下のJSONオブジェクトに変換されます。
null
  • type属性がない場合、または属性値が空の場合はオブジェクト型になります。
value - ルートが以下のJSONの型である場合に、その値を指定する要素です。
  • 文字列型
  • 数値型
  • 真偽値型
  • null型
  • null型の場合、要素内容は無視されます。
JSONメンバの名前 - JSONメンバを表す要素です。  
type JSONの型を表す属性値を指定します。
属性値 説明
string JSONの文字列型を表します。

例:type属性値が「string」のXMLデータ
<name type="string">Suzuki</name>
上記例のXMLデータは以下のように文字列型の値を持ったJSONメンバに変換されます。
{"name":"Suzuki"}
number JSONの数値型を表します。

例:type属性値が「number」のXMLデータ
<age type="number">37</age>
上記例のXMLデータデータは以下のように数値型の値を持ったJSONメンバに変換されます。
{"age":37}
boolean JSONの真偽値型を表します。

例:type属性値が「boolean」のXMLデータ
<success type="boolean">true</success>
上記例のXMLデータは以下のように真偽値型の値を持ったJSONメンバに変換されます。
{"success":true}
object JSONのオブジェクト型を表します。

例:type属性値が「object」のXMLデータ
<name type="object">
  <first type="string">Ichiro</first>
  <last type="string">Suzuki</last>
</name>
上記例のXMLデータは以下のようにオブジェクト型の値を持ったJSONメンバに変換されます。
{"name":{"first":"Ichiro","last":Suzuki"}}
array JSONの配列型を表します。

JSONの配列型の要素はXMLの「element」要素を指定します。
JSONの配列型の要素の型がオブジェクト型の場合、「element」要素の子要素にJSONオブジェクトを表すスキーマを持ったXMLデータ指定し、それ以外の型の場合、「element」要素の要素内容に値を指定します。

JSONの配列型のスキーマは以下の通りです。
<JSONメンバの名前 type="array">
  <element type="JSONの型を表す属性値">値</element>
    :
</JSONメンバの名前>

例:type属性値が「array」のXMLデータ
<fruits type="array">
  <element type="string">apple</element>
  <element type="string">grape</element>
  <element type="string">orange</element>
</fruits>
上記例のXMLデータは以下のように配列型の値を持ったJSONメンバに変換されます。
{"fruits":["apple","grape","orange"]}
null JSONのnull型を表します。

例:type属性値が「null」のXMLデータ
<name type="null"/>
上記例のXMLデータは以下のようにnull型の値を持ったJSONメンバに変換されます。
{"name":null}
  • type属性がない場合、または属性値が空の場合は文字列型になります。
  • type属性が「null」の場合、要素内容は無視されます。
element - 配列の要素を表す要素です。  
type JSONの型を表す文字列を指定します。
JSONメンバの名前のtype属性と同じ属性値を指定します。
  • type属性がない場合、または属性値が空の場合は文字列型になります。
member - JSONメンバの名前がXMLの要素名として不正な場合、代わりに指定する要素です。  
type JSONの型を表す文字列が出力されます。
JSONメンバの名前のtype属性と同じ属性値を指定します。
  • type属性がない場合、または属性値が空の場合は文字列型になります。
name JSONメンバの名前を指定します。

例:member要素を指定してname属性値にJSONメンバの名前を指定したXMLデータ
<member type="string" name="1name">Suzuki</member>
上記例のXMLデータは以下のJSONメンバに変換されます。
{"1name":"Suzuki"}
  • type属性がない場合、または属性値が空の場合は文字列型になります。

出力スキーマ

Lambda関数から返されたJSON形式のデータがXML形式に変換されて結果データに出力されます。
JSON形式からXML形式に変換した場合のスキーマは以下の通りです。
<--ルートが文字列型、数値型、真偽値型またはnull型のJSONオブジェクトの場合 -->
<?xml version="1.0"?>
<root type="JSONの型を表す属性値">
  <value>値</value>
</root>

<--ルートがオブジェクト型のJSONオブジェクトの場合 -->
<?xml version="1.0"?>
<root type="object">
  <JSONメンバの名前 type="JSONの型を表す属性値">値</JSONメンバの名前>
    :
</root>

<-- ルートが配列型のJSONオブジェクトの場合 -->
<?xml version="1.0"?>
<root type="array">
  <element type="JSONの型を表す属性値">値</element>
    :
</root>

<-- JSONメンバの名前がXMLの要素名として不正な場合 -->
<?xml version="1.0"?>
<root type="object">
  <member type="JSONの型を表す属性値" name="JSONメンバの名前">値</member>
    :
</root>
要素名 属性名 説明 備考
root - JSONオブジェクトをラップするルート要素です。  
type JSONの型を表す属性値が設定されます。
属性値 説明
string JSONの文字列型を表します。

例:文字列型からなるJSONオブジェクト
"Suzuki"
上記例のJSONオブジェクトは以下のXMLデータに変換されて出力されます。
<root type="string">
  <value>Suzuki</value>
</root>
number JSONの数値型を表します。

例:数値型からなるJSONオブジェクト
37
上記例のJSONオブジェクトは以下のXMLデータに変換されて出力されます。
<root type="number">
  <value>37</value>
</root>
boolean JSONの真偽値型を表します。

例:真偽値型からなるJSONオブジェクト
true
上記例のJSONオブジェクトは以下のXMLデータに変換されて出力されます。
<root type="boolean">
  <value>true</value>
</root>
object JSONのオブジェクト型を表します。

例:オブジェクト型からなるJSONオブジェクト
{"name":"Suzuki"}
上記例のJSONオブジェクトは以下のXMLデータに変換されて出力されます。
<root type="object">
  <name type="string">Suzuki</name>
</root>
array JSONの配列型を表します。

例:配列型からなるJSONオブジェクト
["apple","grape","orange"]
上記例のJSONオブジェクトは以下のXMLデータに変換されて出力されます。
<root type="array">
  <element type="string">apple</element>
  <element type="string">grape</element>
  <element type="string">orange</element>
</root>
null JSONのnull型を表します。

例:null型からなるJSONオブジェクト
null
上記例のJSONオブジェクトは以下のXMLデータに変換されて出力されます。
<root type="null">
  <value/>
</root>
 
value - ルートが以下のJSONの型である場合に、その値に使われる要素です。
  • 文字列型
  • 数値型
  • 真偽値型
  • null型
 
JSONメンバの名前 - JSONメンバを表す要素です。  
type JSONの型を表す属性値が設定されます。
属性値 説明
string JSONの文字列型を表します。

例:文字列型の値を持つJSONメンバ
{"name":"Suzuki"}
上記例のJSONメンバは以下のXMLデータに変換されて出力されます。
<name type="string">Suzuki</name>
number JSONの数値型を表します。

例:数値型の値を持つJSONメンバ
{"age":37}
上記例のJSONメンバは以下のXMLデータに変換されて出力されます。
<age type="number">37</age>
boolean JSONの真偽値型を表します。

例:真偽値型の値を持つJSONメンバ
{"success":true}
上記例のJSONメンバは以下のXMLデータに変換されて出力されます。
<success type="boolean">true</success>
object JSONのオブジェクト型を表します。

例:オブジェクト型の値を持つJSONメンバ
{"name":{"first":"Ichiro","last":Suzuki"}}
上記例のJSONメンバは以下のXMLデータに変換されて出力されます。
<name type="object">
  <first type="string">Ichiro</first>
  <last type="string">Suzuki</last>
</name>
array JSONの配列型を表します。

JSONの配列型の要素は「element」要素で表されます。
JSONの配列型の要素の型がオブジェクト型の場合、JSONオブジェクトを表すスキーマを持ったXMLデータが「element」要素の子要素に出力され、それ以外の型の場合、値が「element」要素の要素内容に出力されます。

スキーマは以下の通りです。
<JSONメンバの名前 type="array">
  <element type="JSONの型を表す属性値">値</element>
    :
</JSONメンバの名前>

例:配列型の値を持つJSONメンバ
{"fruits":["apple","grape","orange"]}
上記例のJSONメンバは以下のXMLデータに変換されて出力されます。
<fruits type="array">
  <element type="string">apple</element>
  <element type="string">grape</element>
  <element type="string">orange</element>
</fruits>
null JSONのnull型を表します。

例:null型の値を持つJSONメンバ
{"name":null}
上記例のJSONメンバは以下のXMLデータに変換されて出力されます。
<name type="null"/>
 
element - 配列の要素を表す要素名です。  
type JSONの型を表す文字列が出力されます。
JSONメンバの名前のtype属性と同じ属性値が設定されます。
 
member - JSONメンバの名前がXMLの要素名として不正な場合に使われる要素名です。  
type JSONの型を表す文字列が出力されます。
JSONメンバの名前のtype属性と同じ属性値が設定されます。
 
name JSONメンバの名前が出力されます。

例:XMLの要素名として不正な名前を持つJSONメンバ
{"1name":"Suzuki"}
上記例のJSONメンバは以下のXMLデータに変換されて出力されます。
<member type="string" name="1name">Suzuki</member>
 

Mapperでのスキーマ読み込み

[JSONファイルを指定して入力スキーマを設定]で設定した場合、スキーマは自動で読み込まれます。
lightbulb自動で読み込まれたスキーマは編集可能です。
詳細については、「スキーマ編集」を参照してください。

Mapperでの出力スキーマ読み込み

[JSONファイルを指定して出力スキーマを設定]で設定した場合、スキーマは自動で読み込まれます。
lightbulb自動で読み込まれたスキーマは編集可能です。
詳細については、「スキーマ編集」を参照してください。

大容量データ処理

大容量データ処理に対応しています。

トランザクション

トランザクションはサポートしていません。

PSPでの使用について

PSPでは使用できません。

使用できるコンポーネント変数

コンポーネント変数名 説明 備考
status_code 通信時のHTTPステータスコードが格納されます。
  • デフォルト値はnullです。
request_id AWSリクエストIDが格納されます。
  • デフォルト値はnullです。
log_result Lambda関数が書き込んだログのうち、最後の4KBが格納されます。
  • デフォルト値はnullです。
  • [呼び出しタイプ][非同期]を選択した場合、値が格納されません。
message_category エラー発生時、発生したエラーに対応するメッセージコードのカテゴリが格納されます。
  • デフォルト値はnullです。
message_code エラー発生時、発生したエラーに対応するメッセージコードのコードが格納されます。
  • デフォルト値はnullです。
message_level エラー発生時、発生したエラーに対応するメッセージコードの重要度が格納されます。
  • デフォルト値はnullです。
error_type エラー発生時、発生したエラーの種類が格納されます。
  • デフォルト値はnullです。
  • エラーの種類は、以下のような形式となります。
    例:「java.io.FileNotFoundException」
  • DataSpider Cloudのバージョンにより、格納される内容が変わる可能性があります。
error_message エラー発生時、発生したエラーのメッセージが格納されます。
  • デフォルト値はnullです。
  • DataSpider Cloudのバージョンにより、格納される内容が変わる可能性があります。
error_trace エラー発生時、発生したエラーのトレース情報が格納されます。
  • デフォルト値はnullです。
  • DataSpider Cloudのバージョンや実行するクライアントアプリケーションにより、格納される内容が変わる可能性があります。

仕様制限

ありません。

主な例外

例外名 原因 対策
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[]
[接続先]が指定されていません。 [接続先]を指定してください。
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[<グローバルリソース名>]
[接続先]で選択されたリソース定義が見つかりません。 [接続先]で指定したグローバルリソースを確認してください。
InvalidPropertyConfigurationException
<プロパティ名>が指定されていません。
[<プロパティ名>]が指定されていません。 [<プロパティ名>]を指定してください。
com.amazonaws.services.lambda.model.AWSLambdaException
The security token included in the request is invalid. (Service: AWSLambda; Status Code: 403; Error Code: UnrecognizedClientException; Request ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)
[接続先]で指定したグローバルリソースの[Access Key ID]に誤りがあります。 [接続先]で指定したグローバルリソースの設定を確認してください。
com.amazonaws.services.lambda.model.AWSLambdaException
The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method.
[接続先]で指定したグローバルリソースの[Secret Access Key]に誤りがあります。 [接続先]で指定したグローバルリソースの設定を確認してください。
LambdaFunctionException Lambda関数で何らかのエラーが発生した場合の例外です。 メッセージの内容を確認してください。