Amazon S3 V2ターゲット
マッピングまたはマッピングタスクのターゲットとしてAmazon S3 V2オブジェクトを使用できます。
Amazon S3 V2ターゲットの名前と説明を指定します。ターゲットオブジェクトのAmazon S3 V2ターゲットと詳細プロパティを設定します。
Amazon S3 V2ターゲットでのデータ暗号化
データを保護するために、ファイルをターゲットに書き込むときにAmazon S3ファイルを暗号化できます。マスタ対称キーと顧客マスタキーを同時に使用しないでください。
暗号化のタイプは、Amazon S3 V2詳細ターゲットプロパティにある[暗号化タイプ]フィールドで選択します。
以下のタイプの暗号化を選択できます。
- なし
- データは暗号化されません。
- サーバーサイド暗号化
- ターゲットに書き込むときに、Amazon S3が管理する暗号化キーを使用してAmazon S3でデータを暗号化する場合は、暗号化タイプとして[サーバーサイド暗号化]を選択します。
- 接続プロパティで顧客マスタキーIDを指定しない場合は、暗号化タイプとして[サーバーサイド暗号化]を選択する必要があります。
- KMSを使用したサーバーサイド暗号化
- ターゲットに書き込むときに、AWS KMSが管理する顧客マスタキー暗号化キーを使用してAmazon S3でデータを暗号化する場合は、暗号化タイプとして[KMSを使用したサーバーサイド暗号化]を選択します。
- 接続プロパティで指定したAWS KMSが管理する顧客マスタキーは、Amazon S3をホストする地域と同じ地域に属する必要があります。
- 例えば、Amazon S3が[米国西部(オレゴン)]リージョンでホストされている場合、同じリージョンで有効にされたAWS KMSが管理する顧客マスタキーを使用する必要があります。
- クライアントサイド暗号化
- ターゲットに書き込むときに、Secure Agentでデータを暗号化する場合は、暗号化タイプとして[クライアントサイド暗号化]を選択します。クライアントサイド暗号化では、Base64形式の256ビットAES暗号化キーまたは顧客マスタキーであるマスタ対称キーを使用します。
- Informatica Encryption
- ターゲットに書き込むときに、Informatica暗号ライブラリを使用してデータを暗号化する場合は、暗号化タイプとして[Informatica Encryption]を選択します。Informatica Encryptionは、Secure Agentマシンでマッピングを実行する場合にのみ適用されます。
- Informatica Encryption方式を使用してファイルを暗号化するには、次のタスクを実行します。
- 1Amazon S3 V2接続を作成するときに、組織の管理者がInformatica暗号ライブラリに対する権限を持っていることを確認します。
- 2詳細ターゲットプロパティで、暗号化タイプに[Informatica Encryption]を選択します。
注: 詳細クラスタでInformatica Encryptionを使用するには、Secure AgentをAmazon EC2マシンにインストールする必要があります。
次の表に、さまざまなファイルタイプでサポートされる暗号化タイプを示します。
暗号化タイプ | ファイルタイプ |
---|
クライアントサイド暗号化 | Binary1、Flat |
サーバーサイド暗号化 | Avro、Binary1、Delta1、Flat、JSON2、ORC、Parquet |
KMSを使用したサーバーサイド暗号化 | Avro、Binary1、Delta1、Flat、JSON2、ORC、Parquet |
Informatica Encryption | Binary1、Flat |
1詳細モードのマッピングには適用されません。 2詳細モードのマッピングにのみ適用されます。 |
Amazon S3 V2ターゲットでのデータ暗号化のルールとガイドライン
Amazon S3 V2ターゲットでデータ暗号化を設定する場合は、次のルールとガイドラインを考慮してください。
- •マッピングでInformatica Encryptionを使用した場合、詳細モードのマッピングのターゲットディレクトリに_SUCCESSファイルは生成されません。
- •マッピングでInformatica Encryptionを使用した場合、1000個を超えるファイルを暗号化することはできません。
Amazon S3クライアント暗号化ポリシーの詳細については、Amazon S3のマニュアルを参照してください。
既存のファイルの上書き
既存のターゲットファイルを上書きできます。
Amazon S3 V2ターゲット詳細プロパティで[存在する場合はファイルを上書き]オプションを選択し、既存のファイルを上書きします。デフォルトでは、[存在する場合はファイルを上書き]チェックボックスの値は[true]です。
[存在する場合はファイルを上書き]オプションを選択した場合、Secure Agentは上書きするファイルと同じファイル名の既存のファイルを削除し、ターゲットディレクトリ内に同じファイル名の新しいファイルを作成します。
Secure Agentは、設計時に作成されたファイル名と同じプレフィックスを持つすべてのファイルとフォルダも削除します。これは、Avroファイル、ORCファイル、およびParquetファイルに適用されます。
[存在する場合はファイルを上書き]オプションを選択しない場合、Secure Agentはターゲットディレクトリ内の既存のファイルを削除しません。Secure Agentは、YYYYMMDD_HHMMSS_millisecond形式で各ターゲットファイル名の末尾にタイムスタンプを追加します。例えば、Secure Agentは、output.txt-20171220_091900_69844051形式でターゲットファイル名の名前を変更します。
ターゲットのパーティション化
フラット形式タイプのファイルにデータを書き込む場合、実行時のマッピングパフォーマンスを最適化するために、パーティション化を設定できます。ターゲットのパーティション化は、マッピングでのみ設定できます。
パーティションタイプによって、パーティションポイントでパーティションにデータを配布する方法を制御します。パーティションタイプをパススルーパーティションとして定義できます。パーティション化が設定されていると、Secure Agentは、パーティションとして定義したスレッドの数に基づいてターゲットデータの行を配布します。
詳細ターゲットプロパティの[パーティションファイルのマージ]オプションを設定できます。データをAmazon S3 V2ターゲットに書き込むとき、Secure Agentで複数のパーティションファイルを1つのファイルにマージするか、指定されたパーティションの数に基づいて個々のファイルを維持するかを指定できます。
[パーティションファイルのマージ]オプションを選択しない場合、指定されたパーティション数に基づいて個々のファイルが作成されます。ファイル名には、<file name>_<number>形式で、0から始まる数字が付加されます。
例えば、Region.csvファイルのスレッド数は3です。[パーティションファイルのマージ]オプションを選択しない場合、Secure Agentは、3つのファイルを次の形式でAmazon S3 V2ターゲットに書き込みます。
<Region_0>
<Region_1>
<Region_2>
[パーティションファイルのマージ]オプションを設定した場合、Secure Agentはパーティション化されたすべてのファイルを1つのファイルにマージし、そのファイルをAmazon S3 V2ターゲットに書き込みます。
パーティションディレクトリへの増分書き込み
詳細モードのマッピング用にパーティションディレクトリに増分的に書き込み、データをパーティションディレクトリに追加できます。
Amazon S3 V2ターゲットの詳細プロパティの[存在する場合はファイルを上書き]オプションを選択しない場合、パーティションディレクトリに段階的に書き込み、データをパーティションディレクトリに追加できます。
実行時にターゲットを作成し、ファイル名が/で終わる場合、Secure Agentは、受信ソースパーティションを既存の親ディレクトリに追加し、ターゲットファイル名にタイムスタンプを追加しません。既存のターゲットの場合、Secure Agentは、受信ソースパーティションを既存の親ディレクトリに追加し、ターゲットファイル名にタイムスタンプを追加しません。
実行時に作成するターゲットのフォルダパスをオーバーライドできます。/で終わるファイル名を指定し、フォルダパスをオーバーライドすると、Secure Agentはパスをフォルダと見なします。ファイル名にフォルダパスは付加されません。
既存のターゲットまたは実行時に作成するターゲットの両方に対して、ファイル名をオーバーライドすることはできません。
分散カラム
マッピングの1つのソースから、複数のフラットファイルをAmazon S3ターゲットに書き込むことができます。詳細ターゲットプロパティで[分散カラム]オプションを設定します。
[分散カラム]フィールドに1つのカラム名を指定して、実行時に複数のターゲットファイルを作成できます。カラム名を指定すると、Secure Agentは、[分散カラム]で指定したカラム値に基づいてカラムに複数のターゲットファイルを作成します。
各ターゲットファイル名には、次の形式で[分散カラム]の値が付加されます。
<Target_fileName>+_+<Distribution column value>+<file extension>
各ターゲットファイルには、[分散カラム]フィールドで指定したカラムを含む、テーブルのすべてのカラムが含まれます。
例えば、ターゲットファイルの名前がRegion.csvで、ファイルにNorth AmericaおよびSouth Americaという値が含まれるとします。[分散カラム]フィールドの値に基づいて次のターゲットファイルが作成されます。
Region_North America.csv
Region_South America.csv
[分散カラム]フィールドに、カラム名を2つ指定することはできません。ターゲットフィールドのカラムに存在しないカラム名を指定すると、タスクが失敗します。
値に特殊文字が含まれるカラムを[分散カラム]フィールドに指定し、対応するオペレーティングシステムでその特殊文字がサポートされていない場合、Secure Agentはターゲットファイルを作成できません。
例えば、カラムにYYYY/MM/DD形式の日付値が含まれていると、Secure Agentはターゲットファイルを作成できません。
複数のターゲットオブジェクトへの書き込み
ターゲットオブジェクトをインポートするときに、Secure Agentはインポートされたターゲットオブジェクトにファイル名フィールドを追加します。ターゲットオブジェクトのファイル名フィールドを受信フィールドにマッピングすると、Secure Agentは、ファイル名フィールドに基づいて、フォルダ構造とターゲットファイルを作成します。以下に例を示します。
構文:
<tgt_filename_folder>/<tgt_filename=incoming_value_folder>/part_file
サンプル:
emp_tgt.parquet/emp_tgt.parquet=128000/part-0000-e9ca8-6af-efd43-455c-8709.c000.parquet
ファイル名フィールドは、次のファイル形式に適用されます。
マッピングでターゲットファイル名フィールドを使用する場合は、次のガイドラインを考慮します。
- •ソースオブジェクトのファイル名フィールドを、ターゲットオブジェクトのファイル名フィールドにマッピングしないでください。ターゲットオブジェクトのファイル名フィールドを受信フィールドにマッピングした場合、Secure Agentはディレクトリ構造を想定されるようには作成しません。
- •ターゲットオブジェクトでFileNameフィールドを使用すると、Secure Agentは、NULL値に対して次のような異なる名前を持つフォルダを作成します。
- - マッピングの場合: _EMPTY_
- - 詳細モードのマッピングの場合: _HIVE_DEFAULT_PARTITION_
- •ターゲットオブジェクトのファイル名フィールドに、日付タイプの受信フィールドをマッピングした場合、Secure Agentは、ターゲットオブジェクトの受信日付の値に基づいて、ネストされたフォルダ構造を作成します。
- •ターゲットオブジェクトのファイル名フィールドに受信フィールドをマッピングした場合、初回のマッピングは正常に実行されます。それ以降の実行で、マッピングは次のエラーで失敗します。
操作が失敗しました: インデックス: 0、サイズ: 0。
マッピングを正常に再実行するには、設計時にダミーのターゲットファイルを使用し、詳細ターゲットプロパティでダミーのターゲットファイルを上書きします。
オブジェクトタグ
Amazon S3バケットに保存されているオブジェクトにタグを追加できます。各タグには、キー値のペアが含まれます。フラットファイルにはオブジェクトタグを使用できます。
オブジェクトにタグを付けると、ストレージの分類に役立ちます。オブジェクトタグの追加は、詳細ターゲットプロパティの[オブジェクトタグ]フィールドで行うことができます。Key=Value形式でオブジェクトタグを入力します。また、次の形式を使って、複数のオブジェクトタグを入力することもできます。
key1=Value1;key2=Value2
キー値のペアを入力するか、キー値のペアを含むファイルパスを指定することができます。例えば、ファイルパスをC:\object\tags.txt形式で指定できます。Secure Agentがインストールされている任意のファイルパスを指定できます。
Amazon S3バケットに新しいオブジェクトをアップロードするときに、新しいオブジェクトにタグを追加したり、既存のオブジェクトにタグを追加したりできます。Secure Agentが、Amazon S3バケット内のタグが含まれるファイルをオーバーライドした場合、そのタグは保持されません。オーバーライドされたファイルに対して新しいタグを追加する必要があります。Amazon S3バケットに複数のファイルをアップロードする場合、アップロードする各ファイルには、複数のオブジェクトに関連付けられた同じタグセットが必要です。
Amazon S3 V2ターゲットオブジェクトにタグを追加するには、Amazon S3ポリシーにs3:PutObjectTagging権限を追加する必要があります。次に、サンプルポリシーを示します。
{
"Version": "2012-10-17",
"Id": "Policy1500966932533",
"Statement": [
{
"Sid": "Stmt1500966903029",
"Effect": "Allow",
"Action": [
"s3:DeleteObject",
"s3:GetObject",
"s3:ListBucket",
"s3:PutObject",
"s3:PutObjectTagging"
],
"Resource": [
"arn:aws:s3:::<bucket_name>/*",
"arn:aws:s3:::<bucket_name>"
]
}
]
}
次の表に、キー値のペアを入力する際にAmazon S3 V2コネクタでサポートされる特殊文字を示します。
オブジェクトのタグ付けに関するルールおよびガイドライン
オブジェクトのタグ付けには、次のルールとガイドラインを使用します。
- •1つのオブジェクトに最大10個のタグを追加できます。
- •オブジェクトにタグを入力する場合、タグには一意のタグキーが含まれている必要があります。
- •タグキーには、最大で128文字のUnicode文字を含めることができ、タグの値には、最大256文字のUnicode文字を含めることができます。
- •キーと値では大文字小文字が区別されます。