データ書き込み処理

オペレーション名

データ書き込み

機能概要

Amazon S3上にファイル/フォルダを書き込みます。

データモデル

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

プロパティ

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

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

スキーマ

入力スキーマ

<?xml version="1.0"?>
<table>
  <row>
    <column>bucketname</column>
    <column>public</column>
    <column>remotepath</column>
    <column>storageclass</column>
    <column>type</column>
    <column>data</column>
    <column>contenttype</column>
  </row>
  <row>
    :
  </row>
</table>
列名 説明 備考
bucketname 書き込むファイル/フォルダのBucketの名前を入力します。  
public 書き込むファイル/フォルダのアクセス権を入力します。
  • true:公開
  • false:非公開
  • 「公開」を設定した場合、「AllUsers Group」に「READ」権限が付与されます。
  • 省略した場合には「非公開」として扱います。
remotepath 書き込むファイル/フォルダのAmazon S3上のパスを入力します。
  • パス区切り文字は「/」(半角スラッシュ)です。
  • パスは「/」から始まる文字列を指定します。
  • フォルダであってもパスの末尾に「/」は指定しません。
  • ルートフォルダ(「/」)の書き込みはできません。
storageclass 書き込むファイル/フォルダのStorage Classを入力します。
  • STANDARD:Standard
  • REDUCED_REDUNDANCY:RRS(Reduced Redundancy Storage)
  • STANDARD_IA:Standard_IA
  • 省略した場合には「Standard」として扱います。
type 書き込むファイル/フォルダの種別を入力します。
  • File:ファイル
  • Folder:フォルダ
 
data 書き込むファイルの内容をBase64形式またはバイナリ形式で入力します。
  • ファイルで省略した場合には空のファイルとして書き込みます。
  • フォルダの場合には値を入力しても無視します。
contenttype 書き込むファイル/フォルダのAmazon S3上で設定するContent-Typeを入力します。
  • ファイルで省略した場合には書き込むファイル名から判断されたContent-Typeを設定します。
  • フォルダで省略した場合には設定しません。通常はapplication/octet-streamになります。
ファイル/フォルダ単位で1つのrowを入力します。

出力スキーマ

<?xml version="1.0"?>
<server>
  <bucket name="" status="" >
    <file etag="" name="" public="" remotepath="" size="" status="" storageclass="" type="" updated="" />
  </bucket>
</server>
要素名 属性名 説明 備考
server -    
bucket - 書き込んだファイル/フォルダのBucketごとに出現します。  
name 書き込んだファイル/フォルダのBucketの名前を出力します。
  • 入力データで指定されたbucketnameの値です。
status 取得したBucketの状態を出力します。
  • Exist:Bucketが存在している状態です。
  • ErrorBucketNotFound:入力データで指定されたbucketnameがAmazon S3上に存在しない状態です。
  • Error:エラーが発生したため、Bucketを作成できなかった状態です。
 
file - 書き込みを行ったファイル/フォルダごとに出力します。  
etag 書き込みを行ったファイル/フォルダのETagを出力します。
  • ファイル/フォルダが正常に書き込まれなかった場合は値が空白になります。
name 書き込みを行ったファイル/フォルダの名前を出力します。
  • 入力データで指定されたremotepathの値から生成された値です。
public 取得したファイル/フォルダのアクセス権を出力します。
  • true:公開
  • false:非公開
  • ファイル/フォルダが正常に書き込まれなかった場合は値が空白になります。
  • 「AllUsers Group」に「READ」権限が付与されている場合に、「公開」としています。
  • [アクセス権の情報を結果に含める][チェックなし]の場合は値が空白になります。
remotepath 書き込みを行ったファイル/フォルダのAmazon S3上のファイルパスを出力します。
  • 入力データで指定されたremotepathの値です。
size 書き込みを行ったファイル/フォルダのサイズを出力します。単位はバイトです。
  • ファイル/フォルダが正常に書き込まれた場合に出力されます。
  • フォルダの場合は常に「0」が出力されます。
status 書き込みを行ったファイル/フォルダの状態を出力します。
  • Exist:ファイル/フォルダが存在している状態です。
  • ErrorClientEncryption:指定した[公開鍵]に誤りがあるため、書き込みができなかった状態です。
  • Error:エラーが発生したため、ファイル/フォルダの書き込みができなかった状態です。
 
storageclass 取得したファイル/フォルダのStorage Classを出力します。
  • STANDARD:Standard
  • REDUCED_REDUNDANCY:RRS(Reduced Redundancy Storage)
  • STANDARD_IA:Standard_IA
  • ファイル/フォルダが正常に書き込まれなかった場合は値が空白になります。
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のバージョンや実行するクライアントアプリケーションにより、格納される内容が変わる可能性があります。

クライアント暗号化のキー長制限について

初めてクライアント暗号化を使用する際に、暗号化エラーメッセージが表示される場合があります。
クライアント暗号化には最大256ビットのキー長が必要ですが、Java Cryptography Extension(JCE)管轄ポリシーファイルは、暗号化に使用する最大キー長を128ビットに制限します。
この制限は、Java Cryptography Extension(JCE)無制限強度の管轄ポリシーファイルをインストールすることで回避ができます。

仕様制限

ありません。

主な例外

例外名 原因 対策
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[]
[接続先]が指定されていません。 [接続先]を指定してください。
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[<グローバルリソース名>]
[接続先]で選択されたリソース定義が見つかりません。 [接続先]で指定したグローバルリソースを確認してください。
IllegalArgumentException
入力データが正しくありません: <メッセージ>
<メッセージ>には以下のいずれかのメッセージが入ります。
  • Bucket名が指定されていません。
  • リモートパス名が指定されていません。
  • ファイル/フォルダの種別が指定されていません。
  • ファイル/フォルダの種別<値>は不正です。
  • Storage Class<値>は不正です。
入力データの内容が正しくありません。 入力データの内容を確認してください。スキーマを参照ください。
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]に誤りがあります。 [接続先]で指定したグローバルリソースの設定を確認してください。

注意事項