ファイル/フォルダ読み取り処理

オペレーション名

ファイル/フォルダ読み取り

機能概要

Amazon S3上にあるファイル/フォルダを取得して、DataSpider Cloudファイルシステム上のディレクトリに書き込みます。

データモデル

本コンポーネントのデータモデルはXML型です。

プロパティ

変数の使用については、「変数」を参照してください。
基本設定
項目名 必須/省略可 変数の使用 説明 備考
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
必須設定
項目名 必須/省略可 変数の使用 説明 備考
接続先 必須 使用不可 グローバルリソースを選択します。
  • [追加]:
    新規にグローバルリソースを追加します。
  • [一覧の編集]:
    「リソース一覧の編集」画面にて、グローバルリソースの設定を編集することができます。
 
Bucket名 必須 使用可 Bucketを指定します。
  • [Bucket名]に大量のファイルが存在するBucketを指定した場合、[フォルダパス]のリストの更新に時間がかかることがあります。
    リストにアイテムが表示されないようにしたい場合、別途お問い合わせください。
フォルダパス 必須 使用可 Amazon S3のフォルダパスを入力します。
ファイル/フォルダ名 必須 使用可 ファイル/フォルダを指定します。
  • ワイルドカード(「*」および「?」)が使用できます。
  • 「/」を含めることはできません。
ローカルディレクトリ 必須 使用可 DataSpider Cloudファイルシステムのディレクトリパスを入力します。

[参照]ボタンを押下するとディレクトリチューザが起動し、ディレクトリの選択ができます。
ファイルが存在する場合は上書きする 省略可 使用不可 指定したローカルディレクトリに同名のファイルが存在した場合に上書きするかどうかを選択します。
  • [チェックあり]:(デフォルト)
    指定したローカルディレクトリに同名のファイルが存在した場合に上書きします。
  • [チェックなし]:
    指定したローカルディレクトリに同名のファイルが存在した場合に上書きせずエラーとします。
 
ファイル名の使用禁止文字を置換して取得する 省略可 使用不可 Amazon S3上のファイル/フォルダ名に「DataSpider Cloudファイルシステムの使用禁止文字」やタブが含まれる場合にファイル/フォルダ名を置換して取得するかどうかを選択します。
  • [チェックあり]:
    Amazon S3上のファイル/フォルダ名にDataSpider Cloudファイルシステムの使用禁止文字やタブが含まれる場合、「_」(半角アンダースコア)に置換して取得します。
  • [チェックなし]:(デフォルト)
    Amazon S3上にあるファイル/フォルダ名で取得します。
再帰的に処理する 省略可 使用不可 指定したフォルダについて、再帰的にファイル/フォルダを取得するかどうかを選択します。
  • [チェックあり]:
    指定したフォルダにフォルダが含まれる場合、再帰的にファイル/フォルダを取得します。
  • [チェックなし]:(デフォルト)
    指定したフォルダ内のファイルのみ取得します。
 
アクセス権の情報を結果に含める 省略可 使用不可 ファイルのアクセス権の情報を結果に含めるかどうかを選択します。
  • [チェックあり]:
    ファイルのアクセス権の情報を結果に含めます。
  • [チェックなし]:(デフォルト)
    ファイルのアクセス権の情報を結果に含めません。
 
復号設定
項目名 必須/省略可 変数の使用 説明 備考
秘密鍵 省略可 使用可 クライアント暗号化されたファイルを復号するための秘密鍵のファイルパスを入力します。

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

スキーマ

入力スキーマ

ありません。

出力スキーマ

<?xml version="1.0"?>
<server>
  <bucket name="" status="" >
    <file etag="" localpath="" name="" public="" remotepath="" size="" status="" storageclass="" type="" updated="" />
  </bucket>
</server>
要素名 属性名 説明 備考
server -    
bucket - 取得したBucketごとに出現します。  
name 取得したBucketの名前を出力します。  
status 取得したBucketの状態を出力します。
  • Exist:Bucketが存在している状態です。
  • ErrorBucketNotFound:指定した[Bucket]がAmazon S3上に存在しない状態です。指定したBucket名が誤っている可能性があります。
  • Error:エラーが発生したため、Bucketの取得ができなかった状態です。
 
file - 取得したファイル/フォルダごとに出現します。  
etag 取得したファイル/フォルダのETagを出力します。
  • ファイル/フォルダが正常に取得できなかった場合は値が空白になります。
localpath 取得したファイル/フォルダのローカルパスを出力します。
  • statusが「ErrorRemoteFolderNotFound」の場合は値が空白になります。
name 取得したファイル/フォルダのAmazon S3上の名前を出力します。
  • statusが「ErrorLocalFolderNotFound」の場合は値が空白になります。
  • statusが「ErrorRemoteFolderNotFound」の場合は値が空白になります。
public 取得したファイル/フォルダのアクセス権を出力します。
  • true:公開
  • false:非公開
  • ファイル/フォルダが正常に取得できなかった場合は値が空白になります。
  • 「AllUsers Group」に「READ」権限が付与されている場合に、「公開」としています。
  • [アクセス権の情報を結果に含める][チェックなし]の場合は値が空白になります。
remotepath 取得したファイル/フォルダのAmazon S3上のファイルパスを出力します。
  • statusが「ErrorLocalFolderNotFound」の場合は値が空白になります。
size 取得したファイル/フォルダのサイズを出力します。単位はバイトです。
  • ファイル/フォルダが正常に取得できなかった場合は値が空白になります。
  • フォルダの場合は常に「0」が出力されます。
status 取得したファイル/フォルダの状態を出力します。
  • Exist:ファイル/フォルダが存在している状態です。
  • Virtual:Amazon S3上に、指定した[フォルダパス]自体は存在しないが、その配下にフォルダまたはファイルが存在する状態です。
  • ErrorRemoteFolderNotFound:Amazon S3上に、指定した[フォルダパス]が存在しない、またはファイルを指定した状態です。
  • ErrorRemoteFileNotFound:Amazon S3上で、指定した[フォルダパス]内に指定したファイル/フォルダが存在しない状態です。
  • ErrorLocalFileNotFound:指定した[ローカルディレクトリ]が存在しない、またはファイルを指定した状態です。
  • ErrorLocalFileExist:[ファイルが存在する場合は上書きする][チェックなし]で、指定した[ローカルディレクトリ]内に同名ファイルが存在した状態です。
  • ErrorClientEncryption:指定した[秘密鍵]に誤りがあるため、読み取りができなかった状態です。
  • Error:エラーが発生したため、ファイル/フォルダの読み取りができなかった状態です。
 
storageclass 取得したファイル/フォルダのStorage Classを出力します。
  • STANDARD:Standard
  • REDUCED_REDUNDANCY:RRS(Reduced Redundancy Storage)
  • STANDARD_IA:Standard_IA
  • ファイル/フォルダが正常に取得できなかった場合は値が空白になります。
type 取得したファイル/フォルダの種別を出力します。
  • File:ファイル
  • Folder:フォルダ
 
updated 取得したファイル/フォルダの最終更新日時を出力します。
  • ファイル/フォルダが正常に取得できなかった場合は値が空白になります。
  • 形式「yyyy-MM-dd'T'HH:mm:ss.SSSZZ」で出力されます。
    例:2007-10-16T13:15:22.738+0900
  • タイムゾーンはDataSpiderServerのタイムゾーンになります。

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
リソース定義が見つかりませんでした。名前:[<グローバルリソース名>]
[接続先]で選択されたリソース定義が見つかりません。 [接続先]で指定したグローバルリソースを確認してください。
InvalidPropertyConfigurationException
<プロパティ名>が指定されていません。
[<プロパティ名>]が指定されていません。 [<プロパティ名>]を指定してください。
InvalidPropertyConfigurationException
ファイル/フォルダ名に「/」が含まれています。
[ファイル/フォルダ名]に「/」が含まれています。 [ファイル/フォルダ名]には、「/」を含まないファイル/フォルダ名を指定してください。
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.AmazonClientException
Unable to execute HTTP request: <endpoint>
[接続先]で指定したグローバルリソースの[Endpoint]に誤りがあります。 [接続先]で指定したグローバルリソースの設定を確認してください。

注意事項