ファイル/フォルダ書き込み処理

オペレーション名

ファイル/フォルダ書き込み

機能概要

DataSpiderファイルシステム上にあるファイル/フォルダを、Amazon S3上に書き込みます。

データモデル

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

プロパティ

基本設定
項目名 必須/省略可 変数の使用 説明 備考
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
必須設定
項目名 必須/省略可 変数の使用 説明 備考
接続先 必須 使用不可 グローバルリソースを選択します。
  • [追加]:
    新規にグローバルリソースを追加します。
  • [一覧の編集]:
    「リソース一覧の編集」画面にて、グローバルリソースの設定を編集することができます。
 
ローカルディレクトリ 必須 使用可 DataSpiderファイルシステムのディレクトリパスを入力します。

[参照]ボタンを押下するとディレクトリチューザが起動し、ディレクトリの選択ができます。
ローカルファイル/ディレクトリ名 必須 使用可 DataSpiderファイルシステム上のファイル/ディレクトリを指定します。
  • ワイルドカード(「*」および「?」)が使用できます。
  • 「/」を含めることはできません。
再帰的に処理する 省略可 使用不可 指定したローカルディレクトリについて、再帰的にファイル/ディレクトリを処理するかどうかを選択します。
  • [チェックあり]:
    指定したローカルディレクトリにディレクトリが含まれる場合、再帰的にファイル/ディレクトリを処理します。
  • [チェックなし]:(デフォルト)
    指定したローカルディレクトリ内のファイルのみ処理します。
 
Bucket名 必須 使用可 Bucketを指定します。
  • [Bucket名]に大量のファイルが存在するBucketを指定した場合、[フォルダパス]のリストの更新に時間がかかることがあります。
    回避方法については、「注意事項」を参照してください。
Bucketが存在しない場合は作成する 省略可 使用不可 指定したBucketが存在しない場合に作成するかどうかを選択します。
  • [チェックあり]:
    指定したBucketが存在しない場合にBucketを作成します。
  • [チェックなし]:(デフォルト)
    指定したBucketが存在しない場合にBucketを作成せずエラーとします。
 
フォルダパス 必須 使用可 Amazon S3のフォルダパスを入力します。
フォルダが存在しない場合は作成する 省略可 使用不可 指定したフォルダが存在しない場合に作成するかどうかを選択します。
  • [チェックあり]:(デフォルト)
    指定したフォルダが存在しない場合にフォルダを作成します。
  • [チェックなし]:
    指定したフォルダが存在しない場合にフォルダを作成せずエラーとします。
 
ファイルが存在する場合は上書きする 省略可 使用不可 指定したフォルダに同名のファイルが存在した場合に上書きするかどうかを選択します。
  • [チェックあり]:(デフォルト)
    指定したフォルダに同名のファイルが存在した場合に上書きします。
  • [チェックなし]:
    指定したフォルダに同名のファイルが存在した場合に上書きせずエラーとします。
 
Storage Class 必須 使用不可 指定したファイルのStorage Classを選択します。
  • [STANDARD]:(デフォルト)
    書き込んだファイルのStorage ClassをStandardに設定します。
  • [REDUCED_REDUNDANCY]:
    書き込んだファイルのStorage ClassをRRS(Reduced Redundancy Storage)に設定します。
 
アクセス権 必須 使用不可 指定したファイルのアクセス権を選択します。
  • [公開]:
    書き込んだファイルのアクセス権を「公開」に設定します。
  • [非公開]:(デフォルト)
    書き込んだファイルのアクセス権を「非公開」に設定します。
  • 「公開」を設定した場合、「AllUsers Group」に「READ」権限が付与されます。
アクセス権の情報を結果に含める 省略可 使用不可 ファイルのアクセス権の情報を結果に含めるかどうかを選択します。
  • [チェックあり]:
    ファイルのアクセス権の情報を結果に含めます。
  • [チェックなし]:(デフォルト)
    ファイルのアクセス権の情報を結果に含めません。
 
データ処理方式
項目名 必須/省略可 変数の使用 説明 備考
データ処理方式 必須 使用不可 データ処理方式を選択します。
  • [スクリプトの設定を使用する]:(デフォルト)
    スクリプトプロパティの大容量データ処理の設定をアダプタに使用します。
  • [大容量データ処理を行わない]:
    大容量データ処理を行いません。
  • [大容量データ処理を行う]:
    大容量データ処理を行います。
 
コメント
項目名 必須/省略可 変数の使用 説明 備考
コメント 省略可 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

スキーマ

入力スキーマ

ありません。

出力スキーマ

<?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 書き込みを行ったファイル/フォルダの名前を出力します。
  • statusが「ErrorLocalFolderNotFound」の場合は値が空白になります。
  • statusが「ErrorRemoteFolderNotFound」の場合は値が空白になります。
public 取得したファイル/フォルダのアクセス権を出力します。
  • true:公開
  • false:非公開
  • ファイル/フォルダが正常に書き込まれなかった場合は値が空白になります。
  • 「AllUsers Group」に「READ」権限が付与されている場合に、「公開」としています。
  • [アクセス権の情報を結果に含める][チェックなし]の場合は値が空白になります。
remotepath 書き込みを行ったファイル/フォルダのAmazon S3上のファイルパスを出力します。
  • statusが「ErrorLocalFolderNotFound」の場合は値が空白になります。
size 書き込みを行ったファイル/フォルダのサイズを出力します。単位はバイトです。
  • ファイル/フォルダが正常に書き込まれた場合に出力されます。
  • フォルダの場合は常に「0」が出力されます。
status 書き込みを行ったファイル/フォルダの状態を出力します。
  • Exist:ファイル/フォルダが存在している状態です。
  • Virtual:Amazon S3上に、指定した[フォルダパス]自体は存在しないが、その配下にフォルダまたはファイルが存在する状態です。
  • ErrorLocalFileNotFound:指定した[ローカルディレクトリ]が存在しない、または指定したファイル/ディレクトリが存在しない状態です。
  • ErrorUnsupportedFileSize:指定した[ファイル名]のサイズが5Gバイトを超えるため、書き込みができなかった状態です。
  • ErrorRemoteFolderNotFound:Amazon S3上に、指定した[フォルダパス]が存在しない、またはファイルを指定した状態です。
  • ErrorRemoteFileExist:[ファイルが存在する場合は上書きする][チェックなし]で、Amazon S3上に指定した[フォルダパス]内に同名ファイルが存在した状態です。
  • Error:エラーが発生したため、ファイル/フォルダの書き込みができなかった状態です。
 
storageclass 取得したファイル/フォルダのStorage Classを出力します。
  • STANDARD:Standard
  • REDUCED_REDUNDANCY:RRS(Reduced Redundancy Storage)
  • ファイル/フォルダが正常に書き込まれなかった場合は値が空白になります。
type 書き込みを行ったファイル/フォルダの種別を出力します。
  • File:ファイル
  • Folder:フォルダ
 
updated 書き込みを行ったファイル/フォルダの最終更新日時を出力します。
  • ファイル/フォルダが正常に書き込まれなかった場合は値が空白になります。
  • システムプロパティ内の「xmlfw.daterenderingformat」で設定されたフォーマットで出力されます。設定されていない場合には、デフォルトの形式「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 Servistaのバージョンにより、格納される内容が変わる可能性があります。
error_message エラー発生時、発生したエラーのメッセージが格納されます。
  • デフォルト値はnullです。
  • DataSpider Servistaのバージョンにより、格納される内容が変わる可能性があります。
error_trace エラー発生時、発生したエラーのトレース情報が格納されます。
  • デフォルト値はnullです。
  • DataSpider Servistaのバージョンや実行するクライアントアプリケーションにより、格納される内容が変わる可能性があります。

仕様制限

主な例外

例外名 原因 対策
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[]
[接続先]が指定されていません。 [接続先]を指定してください。
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[<グローバルリソース名>]
[接続先]で選択されたリソース定義が見つかりません。 [接続先]で指定したグローバルリソースを確認してください。
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]に誤りがあります。 [接続先]で指定したグローバルリソースの設定を確認してください。

注意事項