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

オペレーション名

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

機能概要

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

データモデル

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

プロパティ

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

[参照]ボタンを押下するとディレクトリチューザが起動し、ディレクトリの選択ができます。
ローカルファイル/ディレクトリ名 必須 使用可 DataSpiderファイルシステム上のファイル/ディレクトリを選択または入力します。
  • ワイルドカード(「*」および「?」)が使用できます。
  • 「/」を含めることはできません。
再帰的に処理する 省略可 使用不可 指定したローカルディレクトリについて、再帰的にファイル/ディレクトリを処理するかどうかを選択します。
  • [チェックあり]:
    指定したローカルディレクトリにディレクトリが含まれる場合、再帰的にファイル/ディレクトリを処理します。
  • [チェックなし]:(デフォルト)
    指定したローカルディレクトリ内のファイルのみ処理します。
 
書き込み先バケット名 必須 使用可 書き込み先のバケットを選択または入力します。  
書き込み先フォルダパス 必須 使用可 Google Cloud Storage上のフォルダパスを選択または入力します。
  • フォルダパスはGoogle Cloud Storage上の絶対パスで指定してください。
フォルダが存在しない場合は作成する 省略可 使用不可 指定したフォルダが存在しない場合に作成するかどうかを選択します。
  • [チェックあり]:(デフォルト)
    指定したフォルダが存在しない場合にフォルダを作成します。
  • [チェックなし]:
    指定したフォルダが存在しない場合にフォルダを作成せずエラーとします。
 
ファイルが存在する場合は上書きする 省略可 使用不可 指定したフォルダに同名のファイルが存在した場合に上書きするかどうかを選択します。
  • [チェックあり]:(デフォルト)
    指定したフォルダに同名のファイルが存在した場合に上書きします。
  • [チェックなし]:
    指定したフォルダに同名のファイルが存在した場合に上書きせずエラーとします。
 
プロパティアクション
項目名 説明 備考
書き込み先バケット名一覧の更新 指定した接続先にあるバケットを取得して、[書き込み先バケット名]に設定します。
  • [接続先]を変更した場合や、Google Cloud Storage上でバケットを変更した場合、本プロパティアクションを使用することでその変更を反映させることができます。
  • [接続先]が指定されていない場合は無効になります。
書き込み先フォルダパス一覧の更新 指定したバケットにあるフォルダパスを取得して、[書き込み先フォルダパス]に設定します。
  • [書き込み先バケット名]を変更した場合や、Google Cloud Storage上でフォルダパスを変更した場合、本プロパティアクションを使用することでその変更を反映させることができます。
  • [接続先]または[書き込み先バケット名]が指定されていない場合は無効になります。
データ処理方式
項目名 必須/省略可 変数の使用 説明 備考
データ処理方式 必須 使用不可 データ処理方式を選択します。
  • [スクリプトの設定を使用する]:(デフォルト)
    スクリプトプロパティの大容量データ処理の設定をアダプタに使用します。
  • [大容量データ処理を行わない]:
    大容量データ処理を行いません。
  • [大容量データ処理を行う]:
    大容量データ処理を行います。
  • 本設定は、結果データの出力処理方式に関する設定になります。そのため、書き込むファイル/フォルダには影響しません。
コメント
項目名 必須/省略可 変数の使用 説明 備考
コメント 省略可 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

スキーマ

入力スキーマ

ありません。

出力スキーマ

<?xml version="1.0"?>
<bucket name="" status="" >
  <file errorcode="" localpath="" name="" remotepath="" size="" status="" statuscode="" type="" updated=""/>
</bucket>
要素名 属性名 説明 備考
bucket - 取得したバケットごとに出現します。  
name 取得したバケットの名前を出力します。  
status 取得したバケットの状態を出力します。
  • Exist:バケットが存在している状態です。
  • ErrorBucketNotFound:指定した[書き込み先バケット名]がGoogle Cloud Storage上に存在しない状態です。指定したバケット名が誤っている可能性があります。
 
file - 書き込みを行ったファイル/フォルダごとに出現します。  
errorcode Google Cloud Storageでエラーが発生した場合、Google Cloud Storageで定義されているAPIエラーコードを出力します。
  • Google Cloud Storageでエラーが発生しない場合は値が空白になります。
  • Google Cloud Storageで定義されているAPIエラーコードについては、(https://cloud.google.com/storage/docs/json_api/v1/status-codes)を参照してください。
localpath 書き込みを行ったファイル/フォルダのローカルパスを出力します。
  • statusが「RemoteFileNotFound」の場合は値が空白になります。
  • statusが「RemoteFileExist」かつtypeが「Folder」の場合は値が空白になります。
  • statusが「Uploaded」かつtypeが「Folder」の場合は値が空白になります。
  • statusが「Error」の場合は値が空白になることがあります。
name 書き込みを行ったファイル/フォルダの名前を出力します。
  • statusが「LocalFileNotFound」の場合は値が空白になります。
  • statusが「RemoteFileNotFound」の場合は値が空白になります。
  • statusが「Error」の場合は値が空白になります。
remotepath 書き込みを行ったファイル/フォルダのGoogle Cloud Storage上のファイルパスを出力します。
  • statusが「LocalFileNotFound」の場合は値が空白になります。
  • statusが「Error」の場合は値が空白になることがあります。
size 書き込みを行ったファイル/フォルダがファイルの場合、サイズを出力します。単位はバイトです。
  • ファイル/フォルダが正常に書き込まれなかった場合は値が空白になります。
  • フォルダの場合は値が空白になります。
status 書き込みを行ったファイル/フォルダの状態を出力します。
  • Uploaded:ファイル/フォルダが書き込まれた状態です。
  • LocalFileNotFound:指定した[ローカルディレクトリ]が存在しない、または[ローカルファイル/ディレクトリ名]に指定したファイル/ディレクトリが存在しない状態です。
  • RemoteFileNotFound:[フォルダが存在しない場合は作成する][チェックなし]で、[書き込み先フォルダパス]に指定したフォルダパスが存在しない、または[書き込み先フォルダパス]にファイルを指定した状態です。
  • RemoteFileExist:[ローカルファイル/ディレクトリ名]と同名のファイル/フォルダが[書き込み先フォルダパス]に存在する状態です。ただし、[ファイルが存在する場合は上書きする][チェックあり]の場合、ファイルが上書きされ、「Uploaded」になります。
  • Error:エラーが発生したため、ファイル/フォルダが書き込まれなかった状態です。
 
statuscode Google Cloud Storageでエラーが発生した場合、Google Cloud Storageで定義されているAPIステータスコードを出力します。
  • Google Cloud Storageでエラーが発生しない場合は値が空白になります。
  • Google Cloud Storageで定義されているAPIステータスコードについては、(https://cloud.google.com/storage/docs/json_api/v1/status-codes)を参照してください。
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です。
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のバージョンや実行するクライアントアプリケーションにより、格納される内容が変わる可能性があります。

仕様制限

各オペレーション共通の仕様制限については、「Google Cloud Storageアダプタ制限事項」を参照してください。

主な例外

例外名 原因 対策
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[]
[接続先]が指定されていません。 [接続先]を指定してください。
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[<グローバルリソース名>]
[接続先]で選択されたリソース定義が見つかりません。 [接続先]で指定したグローバルリソースを確認してください。
InvalidPropertyConfigurationException
不正なフォルダパスが指定されています。
[書き込み先フォルダパス]の形式が不正です。 先頭と末尾に「/」を含み、かつ「//」を含まないフォルダパスを指定してください。
InvalidCredentialException
サービスアカウント認証キーが不正です。
[接続先][サービスアカウント認証キー]が不正です。 [接続先][サービスアカウント認証キー]を確認してください。
CloudStorageServiceException
Google Cloud Storageに対する操作が失敗しました。
Google Cloud Storageに対する操作が失敗しました。 Google Cloud Storageのエラーメッセージ一覧ページ(https://cloud.google.com/storage/docs/xml-api/reference-status#standardcodes)でエラーのステータスコードとエラーコードから原因を特定し、対応を行ってください。

注意事項