データ読み取り処理

オペレーション名

データ読み取り

機能概要

Amazon S3上にあるファイル/フォルダを読み取ります。

データモデル

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

プロパティ

変数の使用については、「変数」を参照してください。
基本設定
項目名 必須/省略可 変数の使用 説明 備考
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
入力データ 必須 使用不可 スクリプトキャンバス上にあるコンポーネントを選択します。  
必須設定
項目名 必須/省略可 変数の使用 説明 備考
接続先 必須 使用不可 グローバルリソースを選択します。
  • [追加]:
    新規にグローバルリソースを追加します。
  • [一覧の編集]:
    「リソース一覧の編集」画面にて、グローバルリソースの設定を編集することができます。
 
アクセス権の情報を結果に含める 省略可 使用不可 ファイルのアクセス権の情報を結果に含めるかどうかを選択します。
  • [チェックあり]:
    ファイルのアクセス権の情報を結果に含めます。
  • [チェックなし]:(デフォルト)
    ファイルのアクセス権の情報を結果に含めません。
 
復号設定
項目名 必須/省略可 変数の使用 説明 備考
秘密鍵 省略可 使用可 クライアント暗号化されたファイルを復号するための秘密鍵のファイルパスを入力します。

[参照]ボタンを押下するとファイルチューザが起動し、ファイルの選択ができます。
  • 秘密鍵を指定しない場合、クライアント暗号化されたファイルは復号せずに読み取ります。
  • ファイルパスはDataSpider Cloudファイルシステムの絶対パスで指定してください。
  • パス区切り文字「/」以外のDataSpider Cloudファイルシステムの使用禁止文字は使用できません。
データ処理方式
項目名 必須/省略可 変数の使用 説明 備考
データ処理方式 必須 使用不可 データ処理方式を選択します。
  • [スクリプトの設定を使用する]:(デフォルト)
    スクリプトプロパティの大容量データ処理の設定をアダプタに使用します。
  • [大容量データ処理を行わない]:
    大容量データ処理を行いません。
  • [大容量データ処理を行う]:
    大容量データ処理を行います。
 
コメント
項目名 必須/省略可 変数の使用 説明 備考
コメント 省略可 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

スキーマ

入力スキーマ

<?xml version="1.0"?>
<server>
  <bucket name="" >
    <file remotepath="" type="" />
  </bucket>
</server>
要素名 属性名 説明 備考
server -    
bucket - 取得したいBucketごとに指定します。  
name 取得したいBucketの名前を指定します。  
file - 取得したいファイル/フォルダごとに指定します。  
remotepath 取得したいファイル/フォルダのAmazon S3上のファイルパスを指定します。
  • パス区切り文字は「/」(半角スラッシュ)です。
  • パスは「/」から始まる文字列を指定します。
  • フォルダであってもパスの末尾に「/」は指定しません。
  • ルートフォルダ(「/」)の読み取りはできません。
type 取得したいファイル/フォルダの種別を指定します。
  • File:ファイル
  • Folder:フォルダ
 
データ読み取り処理ではファイル/フォルダ一覧取得処理の出力データをそのまま入力として指定することもできます。

出力スキーマ

<?xml version="1.0"?>
<table>
  <row>
    <column>bucketname</column>
    <column>etag</column>
    <column>filename</column>
    <column>public</column>
    <column>remotepath</column>
    <column>size</column>
    <column>status</column>
    <column>storageclass</column>
    <column>type</column>
    <column>updated</column>
    <column>data</column>
    <column>contenttype</column>
  </row>
  <row>
    :
  </row>
</table>
列名 説明 備考
bucketname 取得したファイル/フォルダのBucketの名前を出力します。
  • 入力データで指定されたbucket要素のname属性の値です。
etag 取得したファイル/フォルダのETagを出力します。
  • ファイル/フォルダが正常に取得できなかった場合は値が出力されません。
filename 取得するファイル/フォルダの名前を出力します。
  • 入力データで指定されたfile要素のremotepath属性の値から生成された値です。
public 取得したファイル/フォルダのアクセス権を出力します。
  • true:公開
  • false:非公開
  • [アクセス権の情報を結果に含める][チェックあり]の場合に出力されます。
  • ファイル/フォルダが正常に取得できなかった場合は値が出力されません。
remotepath 取得したファイル/フォルダのAmazon S3上のファイルパスを出力します。
  • 入力データで指定されたfile要素のremotepath属性の値です。
size 取得したファイル/フォルダのサイズを出力します。単位はバイトです。
  • ファイル/フォルダが正常に取得できなかった場合は値が出力されません。
  • フォルダの場合は常に「0」が出力されます。
status 取得したファイル/フォルダの状態を出力します。
  • Exist:ファイル/フォルダが存在している状態です。
  • Virtual:Amazon S3上に、指定したremotepathのフォルダ自体は存在しないが、その配下にフォルダまたはファイルが存在する状態です。
  • ErrorBucketNotFound:Amazon S3上に指定したbucketnameのBucketが存在しない状態です。
  • ErrorRemoteFolderNotFound:Amazon S3上に、指定したremotepathのフォルダが存在しない状態です。
  • ErrorRemoteFileNotFound:Amazon S3上で、指定したremotepathのファイルが存在しない状態です。
  • ErrorClientEncryption:指定した[秘密鍵]に誤りがあるため、読み取りができなかった状態です。
  • Error:エラーが発生したため、ファイル/フォルダの読み取りができなかった状態です。
 
storageclass 取得したファイル/フォルダのStorage Classを出力します。
  • STANDARD:Standard
  • REDUCED_REDUNDANCY:RRS(Reduced Redundancy Storage)
  • STANDARD_IA:Standard_IA
  • ファイル/フォルダが正常に取得できなかった場合は値が出力されません。
type 取得したファイル/フォルダの種別を出力します。
  • File:ファイル
  • Folder:フォルダ
  • 入力データで指定されたfile要素のtype属性の値です。
updated 取得したファイル/フォルダの最終更新日時を出力します。
  • ファイル/フォルダが正常に取得できなかった場合は値が出力されません。
data 取得したファイルの内容をバイナリ形式で出力します。
  • ファイルの場合に出力します。
  • フォルダの場合には値が出力されません。
contenttype 取得したファイル/フォルダのAmazon S3上で設定されているContent-Typeを出力します。
  • ファイル/フォルダが正常に取得できなかった場合は値が出力されません。
ファイル/フォルダ単位で1つのrowを出力します。

Mapperでのスキーマ読み込み

スキーマは自動で読み込まれます。
詳細については、「スキーマ編集」を参照してください。

大容量データ処理

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

PSPでの使用について

PSPでは使用できません。

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

コンポーネント変数名 説明 備考
count 取得したフォルダおよびファイルの数が格納されます。
  • デフォルト値はnullです。
  • 「folder_count」と「file_count」の合計です。
folder_count 取得したフォルダの数が格納されます。
  • デフォルト値はnullです。
file_count 取得したファイルの数が格納されます。
  • デフォルト値は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
リソース定義が見つかりませんでした。名前:[<グローバルリソース名>]
[接続先]で選択されたリソース定義が見つかりません。 [接続先]で指定したグローバルリソースを確認してください。
IllegalArgumentException
入力データが正しくありません: <メッセージ>
<メッセージ>には以下のいずれかのメッセージが入ります。
  • Bucket名が指定されていません。
  • リモートパス名が指定されていません。
  • ファイル/フォルダの種別が指定されていません。
  • ファイル/フォルダの種別<値>は不正です。
  • 要素<要素名>が間違っています。
入力データの内容が正しくありません。 入力データの内容を確認してください。スキーマを参照ください。
InvalidPropertyConfigurationException
指定された秘密鍵は存在しません。
[秘密鍵]で指定したファイルパスが存在しません。 [秘密鍵]には、存在するファイルパスを指定してください。
InvalidPropertyConfigurationException
指定された秘密鍵はディレクトリです。
[秘密鍵]がディレクトリパスになっています。 [秘密鍵]には、ファイルパスを指定してください。
Status Code: 403, AWS Request ID: XXXXXXXXXXXXXXXX, AWS Error Code: InvalidAccessKeyId, AWS Error Message: The AWS Access Key Id you provided does not exist in our records., S3 Extended Request ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX [接続先]で指定したグローバルリソースの[Access Key ID]に誤りがあります。 [接続先]で指定したグローバルリソースの設定を確認してください。
Status Code: 403, AWS Request ID: XXXXXXXXXXXXXXXX, AWS Error Code: SignatureDoesNotMatch, AWS Error Message: The request signature we calculated does not match the signature you provided. Check your key and signing method., S3 Extended Request ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX [接続先]で指定したグローバルリソースの[Secret Access Key]に誤りがあります。 [接続先]で指定したグローバルリソースの設定を確認してください。
com.amazonaws.SdkClientException
Unable to execute HTTP request: <endpoint>
[接続先]で指定したグローバルリソースの[Endpoint]に誤りがあります。 [接続先]で指定したグローバルリソースの設定を確認してください。

注意事項