# tS3Put

ローカルファイルまたはキャッシュメモリからストリーミングモードでAmazon S3にデータをアップロードします。

## tS3Putの標準プロパティ

これらのプロパティは、 標準のジョブのフレームワークで実行されているtS3Putを設定するために使われます。

標準のtS3Putコンポーネントは、Cloudファミリーに属しています。

このフレームワーク内のコンポーネントは、すべてのTalend製品で利用できます。

## 基本設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [Property type] (プロパティタイプ) | [Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。<br><br>[Built-In] (組み込み): 一元的に保存されるプロパティデータはありません。<br><br>[Repository] (リポジトリー): プロパティが保存されているリポジトリーファイルを選択します。 |
| [Use an existing connection] (既存の接続を使用) | 定義済みの接続の詳細を再利用する場合は、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。 |
| [Credential Provider] (認証情報プロバイダー) | AWSのセキュリティ認証情報を取得する方法を指定します。<br><br><ul> <li><span>[Static credentials] (静的認証情報)</span>: <span>access key</span>と<span>secret key</span>をAWSセキュリティ認証情報として使用します。</li> <li><span>Inherit credentials from AWS role</span>: EMRインスタンスメタデータからAWSセキュリティ認証情報を取得します。このオプションを使用するには、Amazon EMRクラスターを開始する必要があり、このクラスターでジョブを実行する必要があります。詳細は、<a href="http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html" target="_blank">Using an IAM Role to Grant Permissions to Applications Running on Amazon EC2 Instances</a>をご覧ください。このオプションを使用すると、ジョブにAWSキーを配置せずにジョブを開発できるため、組織のセキュリティポリシーに簡単に準拠できます。</li> <li><span>[Web Identity Token] (ウェブIDトークン)</span>: Amazon S3接続を確立するためにWebトークンを使用します。</li> <li> <p><span>Profile credentials or inherit from AWS role</span>: ファイル(プロファイル設定ファイル)に保存されている認証情報をAWSセキュリティ認証情報として使うか、AWSロールからAWSセキュリティ認証情報を継承します。 </p> <p>AWSセキュリティ認証情報は、プロファイル設定ファイルで、プロファイルにグルーピングできます。プロファイル設定ファイルには、1つ以上のプロファイルを含めます。オプションで、<span>[Profile path] (プロファイルパス)</span>フィールドでプロファイル設定ファイルを、<span>[Profire name] (プロファイル名)</span>フィールドで使用されるプロファイルを指定できます。 </p> <p><span>[Profile path] (プロファイルパス)</span>フィールドと<span>[Profile name] (プロファイル名)</span>フィールドが空のままである場合は、 <span>&lt;user folder&gt;/.aws/credentials</span>プロファイル設定ファイルとして使われ、<span>default</span>という名前の付いたプロファイルが使われます。 </p> <p>EC2インスタンスの場合は、プロファイル(特定またはデフォルトのプロファイル)が存在しないと、コンポーネントがAWSロールからセキュリティ認証情報を継承することを試行します。 </p> </li> </ul><br><br>このオプションはダイナミックパラメーターとして動作するほか、コンテキスト変数を使って値を割り当てることもできます。<br><br>情報メモ注: tRedshiftBulkExec、 tRedshiftOutputBulk、tRedshiftOutputBulkExecは、[Static Credentials] (静的認証情報)または[Inherit credentials from AWS role] (AWSロールから認証情報を継承)である[Credential Provider] (認証情報プロバイダー)で確立されたS3接続のみをサポートします。 |
| [Assume role] (ロールを引き受け) | AWS IAMロールに関連付けられており、自分のユーザーアカウントに付与されていないアクセス権限を一時的に必要とする場合は、このチェックボックスをオンにすればそのロールを引き受けることができます。その後、次のパラメーターの値を指定して、新しく引き受けたロールセッションを作成します。<br><br>このロールに関連付けられている信頼ポリシーによって、自分のユーザーアカウントにそのロールへのアクセスが付与されていることをご確認ください。不明であれば、そのロールの所有者かAWS管理者にお問い合わせください。<br><br><ul> <li><p><span>ARN</span>: 引き受けるロールのARN (Amazonリソース名)。このARN名は、AWSポータルで使用するロールの<span>[Summary] (概要)</span>ページで見つかります。このロールARNの形式は、たとえば<kbd>am:aws:iam::[aws_account_number]:role/[role_name]</kbd>となります。 </p><span>[Role session name] (ロールセッション名)</span>: 引き受けたロールセッションの一意識別に使用する名前を入力します。この名前には英字(大文字と小文字の両方)と数字を利用できますが、スペースを含めることはできません。また、アンダースコア( _ )の他、= , . @ - も使用できます。 </li> <li> <p><span>[Session duration (minutes)] (セッション処理時間(分))</span>: 引き受けたロールセッションをアクティブにする期間(分)。この期間をAWS管理者が設定した最大期間より長くすることはできません。値を指定しない場合、持続時間は3600秒がデフォルトとなります。 </p> </li> </ul><br><br><br>IAMロールと関連するポリシータイプの例については、AWSドキュメンテーションで[\[Create and Manage AWS IAM Roles\] (AWS IAMロールの作成と管理)](https://aws.amazon.com/blogs/security/now-create-and-manage-aws-iam-roles-more-easily-with-the-updated-iam-console/)をご覧ください。 |
| [Region] (リージョン) | リージョン名を選択するか、二重引用符で囲んで(*"us-east-1"*など)、AWSリージョンを指定します。AWSリージョンの詳細の詳細は、[Regions and Endpoints](http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)をご覧ください。 |
| [Client-side encryption] (クライアント側の暗号化) | このチェックボックスをオンにすると、[Key type] (キータイプ)ドロップダウンリストが表示されるので、Amazon S3への送信前にクライアント側でデータを暗号化するための3つのオプションのうちいずれか1つを選択します。詳細は、[Protecting Data Using Client-Side Encryption](http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html)をご覧ください。<br><br><ul> <li> <p> <span>[KMS-managed customer master key] (KMS管理顧客マスターキー)</span>: クライアント側のデータ暗号化にKMS管理顧客(CMK)マスターキーを使用します。<span>[Key] (キー)</span>フィールドには、AWS KMS顧客マスターキーID(CMK ID)を指定する必要があります。</p> </li> <li> <p> <span>[Symmetric Master Key] (対称マスターキー)</span>: クライアント側のデータ暗号化に対称マスターキー(256ビットAESシークレットキー)を使用します。</p> <ul> <li> <p> <span>[Algorithm] (アルゴリズム)</span>: キーに関連付けられたアルゴリズムをリストから選択します。デフォルトでは、<span>AES</span>というアルゴリズム以外はありません。</p> </li> <li> <p> <span>[Encoding] (エンコーディング)</span>: キーに関連付けられたエンコーディングのタイプ、<span>Base64</span>または<span>X509</span>のいずれかをリストから選択します。</p> </li> <li> <p> <span>[Key] (キー)</span>または<span>[Key file] (キーファイル)</span>: キーを保存するキーまたはファイルのパスを指定します。</p> </li> </ul> </li> <li> <p> <span>[Asymmetric Master Key] (非対称マスターキー)</span>: クライアント側のデータ暗号化に非対称マスターキー(1024ビットRSAキーペア)を使用します。</p> <ul> <li> <p> <span>[Algorithm] (アルゴリズム)</span>: キーに関連付けられたアルゴリズムをリストから選択します。デフォルトでは、<span>RSA</span>というアルゴリズム以外はありません。</p> </li> <li> <p> <span>[Public key file] (パブリックキーファイル)</span>: パブリックキーファイルのパスを指定します。</p> </li> <li> <p> <span>[Private key file] (プライベートキーファイル)</span>: プライベートキーファイルのパスを指定します。</p> </li> </ul> </li> </ul> |
| [Bucket] (バケット) | S3サーバーのバケットの名前(最上位フォルダー)を指定します。<br><br>Express One Zone(S3ディレクトリーバケット)を使用する場合は、AWSの要件に従い、&lt;bucketBaseName&gt;--&lt;availabilityZoneID&gt;--x-s3という形式で完全なバケット名を指定する必要があります。詳細については、[ディレクトリバケットの命名規則](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)を参照してください。<br><br>情報メモ注:<br><br><ul> <li>S3 Express One Zoneのサポートは、8.0.1-R2026-01 <span>Talend Studio</span>マンスリーアップデート、または<span>Talend</span>によって提供されるそれ以降のバージョンで利用可能です。</li> <li>ディレクトリーバケットには特定の権限が必要です。標準の認証情報および適切なIAM権限が必要となります。詳細については、<a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html" target="_blank">IAM を使用したリージョンエンドポイント API オペレーションの承認</a>を参照してください。</li> </ul> |
| Key | S3サーバーにアップロードされるデータを保持するファイルへのパスを指定します。パス内の別々のフォルダーを区別するにはスラッシュ(/)を使います。<br><br><ul> <li>このフィールドにファイル名のみを指定すると、ファイルはバケットに入ります。</li> <li>存在しないフォルダーがパスに含まれていると、そのフォルダーが作成されます。</li> <li>ファイルが既に存在する場合は、上書きされます。</li> </ul><br><br>情報メモ警告: このフィールドの先頭にスラッシュ(/)を使わないでください。 |
| [File or stream] (ファイルまたはストリーム) | アップロードするローカルファイルへのパス、またはデータのアップロード元となる入力ストリームを入力します。<br><br>ストリームの使用方法の例は、[ストリーミングモードでのリモートファイルからのデータの読み取り](https://help.qlik.com/talend/ja-JP/components/8.0/delimited/tfileinputdelimited-tfilefetch-tsleep-tlogrow-reading-data-from-remote-file-in-streaming-mode-standard-component-this)をご覧ください。 |
| [Server-side encryption] (サーバー側の暗号化) | このチェックボックスをオンにして、Amazon S3-Managed Encryption Keys (SSE-S3)でサーバー側の暗号化を有効にして、256ビットのAdvanced Encryption 標準 (AES-256)暗号を使用してデータを暗号化します。<br><br>サーバー側の暗号化については、[\[Protecting Data Using Server-Side Encryption\] (サーバー側の暗号化を使ったデータの保護)](https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html)をご覧ください。 |
| [Use KMS] (KMSの使用) | Amazon S3-Managed Encryption Keys (SSE-S3)の代わりにAWS KMS-Managed Keys (SSE-KMS)を使用してサーバー側の暗号化を有効にする場合は、このチェックボックスをオンにします。<br><br>このプロパティは、[Server-side encryption] (サーバー側の暗号化)チェックボックスがオンになっている場合に利用できます。 |
| [Server-side encryption] (サーバー側の暗号化) | SSE-KMS暗号化用にAWS Key Management Serviceを使用してIAMコンソール内に作成した自身の顧客マスターキー(CMK)を指定します。これを指定しない場合は、SSE-KMS暗号化オブジェクトをリージョン内の定義済みバケットに初めて追加した時に作成されたデフォルトCMKが、SSE-KMS暗号化に使用されます。<br><br>このプロパティは、[Use KMS] (KMSの使用)チェックボックスがオンになっている場合に利用できます。 |
| [Die on error] (エラー発生時に強制終了) | このチェックボックスはデフォルトでオフになっています。すなわち、エラーが発生した行をスキップし、エラーが発生していない行のプロセスを完了させます。 |

## 詳細設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。 |
| [Use a custom region endpoint] (カスタムリージョンのエンドポイントを使用) | カスタムエンドを使用する場合にこのチェックボックスをオンにし、使用するカスタムエンドポイントのURLを、表示されたフィールドに指定します。<br><br>このオプションはダイナミックパラメーターとして動作するほか、コンテキスト変数を使って値を割り当てることもできます。 |
| [Signing region] (サインインリージョン) | STSサービスのAWSリージョンを選択します。リストにリージョンがない場合は、リージョン名を二重引用付きで入力します。デフォルト値はus-east-1です。<br><br>このドロップダウンリストは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [Specify STS endpoint] (STSエンドポイントを指定) | このチェックボックスをオンにして、表示されたフィールドで、セッション認証情報の取得先とするAWS Security Token Service(STS)のエンドポイントを指定します。たとえばsts.amazonaws.comと入力します。<br><br>このサービスを利用すれば、AWSユーザー認証のため、一時的かつ権限が限定された認証情報を要求できます。そのため、使用するAWSアカウントを認証する場合は引き続きアクセスキーとシークレットキーを入力する必要があります。<br><br>使用できる STSエンドポイントの一覧の詳細は、[\[AWS Security Token Service\] (AWSセキュリティトークンサービス)](https://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region)をご覧ください。STS一時認証情報の詳細の詳細は、[\[Temporary Security Credentials\] (一時的なセキュリティ認証情報)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)をご覧ください。両方の記事はAWSドキュメントからのものです。<br><br>このチェックボックスは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [External ID] (外部ID) | ロールの持ち主であるアカウントの管理者から外部IDを提供されている場合は、その値をここに入力します。[External Id] (外部ID)は、一定数のユーザーがロールを引き受けられるようにする一意の識別子です。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [Serial number] (シリアル番号) | ロールを引き受けた場合、そのロールの信頼ポリシーで多エレメント認証(MFA)が必要になることがあります。その際は、ロールを引き受けるユーザーに関連付けられているハードウェアや仮想MFAデバイスの識別番号を指定する必要があります。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [Token code] (トークンコード) | ロールを引き受けた場合、そのロールの信頼ポリシーで多エレメント認証(MFA)が必要になることがあります。その際は、トークンコードを指定する必要があります。このトークンコードは、MFAデバイスによって生成される時間ベースのワンタイムパスワードです。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [Tags] (タグ) | キー-値ペアという形式でセッションタグをリスト表示します。ポリシーでこれらのセッションタグを使えば、リクエストへのアクセスを許可したり拒否したりできます。<br><br>[Transitive] (推移的): このチェックボックスをオンにすると、タグがロールチェーンの次のロールまで存続することが示されます。<br><br>タグの詳細は、 [AWS STSでのセッションタグの受け渡し](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining)をご覧ください。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [IAM policy ARNs] (IAMポリシーARN) | マネージドセッションポリシーとして使うIAMマネージドポリシーのAmazon Resource Names(ARN)を入力します。マネージドセッションポリシーを使ってセッションの権限を制限します。このポリシーはロールと同じアカウントに存在することが必要です。結果として得られるセッションの権限は、そのロールのIDベースのポリシーとセッションポリシーの中間となります。<br><br>セッションポリシーの詳細は、[ポリシーとアクセス許可](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access_policies.html)で該当するセクションをご覧ください。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [Policy] (ポリシー) | セッションポリシーとして使うIAMポリシーをJSON形式で入力します。セッションポリシーを使ってセッションの権限を制限します。結果として得られるセッションの権限は、そのロールのIDベースのポリシーとセッションポリシーの中間となります。<br><br>セッションポリシーの詳細は、[ポリシーとアクセス許可](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access_policies.html)で該当するセクションをご覧ください。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [Config client] (クライアント設定) | このチェックボックスをオンにし、[+]ボタンをクリックして、クライアントパラメーターごとに必要な行を追加し、各パラメーターに次のフィールドの値を設定します。<br><br><ul> <li> <p> <span>[Client Parameter] (クライアントパラメーター)</span>: セルをクリックし、リストからクライアントパラメーターを選択します。 </p> </li> <li> <p> <span>[Value] (値)</span>: 選択したパラメーターの値を入力します。 </p> </li> </ul><br><br>このチェックボックスは、[Use an existing connection] (既存の接続を使用)チェックボックスがオフになっている場合にのみ使用できます。<br><br>詳細は、[AWSのドキュメンテーション](https://docs.aws.amazon.com/ja_jp/sdk-for-java/v1/developer-guide/section-client-configuration.html)をお読みください。 |
| [Enable Accelerate Mode] (加速モードを有効化) | このチェックボックスをオンにすると、クライアントとS3バケットの間の距離が長い場合でもファイルを高速、簡単また安全な転送できるようになります。選択する場合、事前にS3バケットでこの加速モードを有効にしておく必要があります。<br><br>このオプションはダイナミックパラメーターとして動作するほか、コンテキスト変数を使って値を割り当てることもできます。 |
| マルチパートしきい値(MB) | マルチパートしきい値をMBで指定します。ファイルのサイズがマルチパートしきい値より大きい場合は、分割され、アップロードされます。ストリーミングモードの場合は、この設定は影響しません。 |
| [Part size (Mb)] (パーツサイズ: Mb) | パーツにオブジェクトをアップロードする場合は、パーツサイズを(MB単位で)指定します。<br><br>パーツサイズの範囲は5MBから5GBです。値が5を下回っている場合は、パーツサイズが5MBのオブジェクトがアップロードされます。サイズが5GBを下回るオブジェクトの場合は、このオプションを大きな値に設定すれば、パーツに分割されずにアップロードされます。<br><br>S3マルチパートアップロードについては、「[マルチパートアップロードの概要](http://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html)」をご覧ください。 |
| [Canned access control] (既定のアクセス制御) | ドロップダウンリストからオプションを選択し、事前定義された権限を現在のリソースに与えます。Cannedアクセス制御については、[Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html)をご覧ください。 |
| [Enable object lock] (オブジェクトロックを有効化) | このオプションを選択して、Amazon S3オブジェクトロック機能を有効化します。<br><br>このオプションが有効になっている状態で、[Retention mode] (保持モード)ドロップダウンリストから保持モード(GovernanceまたはCompliance)を選択し、[Retention period] (保持期間)フィールドで保持期間を設定する必要もあります。<br><br>Amazon S3オブジェクトロック機能、保持モード、保持期間に関する詳細は、[Amazon S3オブジェクトロックを使ってデータを保護](https://aws.amazon.com/blogs/storage/protecting-data-with-amazon-s3-object-lock/)をご覧ください。 |
| [Set object tags] (オブジェクトのタグを設定) | このチェックボックスをオンにすると、オブジェクトタグをキー-値ペアの形式で設定できます。これらのタグは、S3オブジェクトを定義済みのバケットにアップロードする時に追加されます。詳細は、[Categorizing your storage using tags](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html)をご覧ください。 |

## [Global Variables] (グローバル変数)

| 変数 | 説明 |
| --- | --- |
| ERROR\_MESSAGE | エラー発生時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数は、[Die on error] (エラー発生時に強制終了)チェックボックスがオンになっている場合のみ機能します。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントは、tS3Connectionなどの他のS3コンポーネントで使用できます。 |
| [Dynamic settings] (ダイナミック設定) | [+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、ジョブ内で計画した複数の接続からデータベース接続をダイナミックに選択します。この機能は、データストラクチャーが同じでデータベースが異なるデータベーステーブルにアクセスする必要がある場合、特に、Talend Studioを介さずにジョブをデプロイおよび実行する必要がある時など、ジョブの設定を変更できない環境で作業している場合に役立ちます。<br><br>ダイナミックパラメーターを定義すると、[Basic settings] (基本設定)ビューの[Component List] (コンポーネントリスト)ボックスは利用できなくなります。<br><br>ダイナミックパラメーターの定義法を示すユースケースについては、[コンテキストベースのダイナミック接続によってデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/8.0/components/defining-context-groups/reading-data-from-databases-through-context-based-dynamic-connections)と、[ダイナミックにロードされた接続パラメーターを使って異なるMySQLデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/8.0/components/context/reading-data-from-different-mysql-databases-using-dynamically-loaded-connection-parameters)をご覧ください。ダイナミック設定とコンテキスト変数の詳細は、[ダイナミックスキーマ](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/dynamic-schema)と[コンテキストグループを作成し、その中でコンテキスト変数を定義](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/creating-context-group-and-define-context-variables-in-it)をご覧ください。 |

**関連概念**

* [バケットからバケットにS3オブジェクトをコピー](https://help.qlik.com/talend/ja-JP/components/8.0/amazon-s3/ts3copy-ts3connection-tlogrow-copying-s3-object-from-one-bucket-to-another-standard-component-this)
* [Amazon S3でファイルを交換](https://help.qlik.com/talend/ja-JP/components/8.0/amazon-s3/ts3put-ts3get-ts3connection-exchange-files-with-amazon-s3-standard-component-in-this)