Amazon S3
Amazon Simple Storage Service (Amazon S3) は、業界をリードするスケーラビリティ、データ可用性、セキュリティ、パフォーマンスを提供するオブジェクト ストレージ サービスです。
認証の準備
データにアクセスするには、アカウント資格情報を使用して接続を認証する必要があります。
Amazon S3 に接続するには、ポリシーの作成、ロールの作成、ロールへのポリシーのアタッチを許可する AWS Identity Access Management (IAM) のアクセス許可が必要です。このアクセス許可は、S3 バケットに承認を付与するために必要です。
IMA ポリシーの作成
IAM ポリシーは、バケット リソースへのアクセス許可を管理するための JSON ベースのアクセスポリシー言語です。
権限名 | 演算 | 説明 |
s3:GetObject | GET オブジェクト |
Amazon S3 からオブジェクトを取得できます。 |
s3:GetObject | HEAD オブジェクト | オブジェクト自体を返すことなく、オブジェクトからメタデータを取得できます。 |
s3:ListBucket | GET バケット (リスト オブジェクト) |
バケット内のオブジェクトの一部またはすべて (最大 1,000 個) を返すことができます。 |
s3:ListBucket | HEAD バケット |
バケットが存在し、アクセスが許可されているかどうかを判断するために使用されます。 |
IAM ポリシーを作成するには、次を実行します。
- AWS で、IAM サービスに移動するために、 サービス メニューをクリックして「IAM」と入力します。
- 結果に [IAM] が表示されたらクリックします。
- ページの左側にあるメニューで [ポリシー] をクリックします。
- [ポリシーの作成] をクリックします。
- [ポリシーの作成] ページで、 [JSON] タブをクリックします。
- 現在テキスト フィールドにあるものをすべて選択して削除します。
- テキスト フィールドに次の JSON を貼り付け、MyBucketName をバケットの名前に置き換えます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::MyBucketName", "arn:aws:s3:::MyBucketName/*" ] } ] }
- [Review policy] (ポリシーのレビュー) をクリックします。
- [Review policy] (ポリシーのレビュー) ページで、ポリシーに名前を付けます。例:
qlik_amazon_s3
。 - [ポリシーの作成] をクリックします。
IAM ロールの作成
このステップを完了するには、CreateRole
および AttachRolePolicy
の AWS IAM 権限が必要です詳細については、「Amazon のドキュメント」を参照してください。
複数の Amazon S3 統合を作成する場合は、接続する統合ごとにこのステップを完了する必要があります。
- AWS で、 [IAM ロール] ページに移動します。
- [Create Role] (ロールを作成) をクリックします。
- [Create Role] (ロールを作成) ページで、次を実行します。
- [Select type of trusted entity] (信頼できるエンティティのタイプを選択) セクションで、 [Another AWS account] (別の AWS アカウント) オプションをクリックします。
- [アカウント ID] 項目に、
338144066592
を貼り付けます。 - [オプション] セクションで、 [Require external ID] (必要な外部 ID) チェックボックスを選択します。
- 表示される [外部 ID] 項目に、
qlik_connection_<tenant-id>
を貼り付け、<tenant-id> をテナントIDに置き換えます。テナント ID を見つけるには、「テナント情報の検索」を参照してください。
- [Next: Permissions] (次へ: 権限) をクリックします。
- [Attach permissions] (権限を添付) ページで、次を実行します。
- 「IAM ポリシーの作成」で作成したポリシーを検索します。
- ポリシーを見つけたら、表の隣にあるチェック ボックスにチェックを入れます。
- [Next: Tags] (次へ: タグ) をクリックします。
- タグを入力する場合は、 [タグを追加] ページで入力します。追加しない場合は、 [Next: Review] (次へ: レビュー) をクリックします。
- [レビュー] ページで、次を実行します。
- [ロール名] 項目に
qlik_s3_<tenant-id>
を貼り付け、<tenant-id> をテナント ID に置き換えます。テナント ID を見つけるには、「テナント情報の検索」を参照してください。
- [Role Description] (ロールの説明) 項目に説明を入力します。例:
Qlik role for Amazon S3 integration.
- [Create Role] (ロールを作成) をクリックします。
- [ロール名] 項目に
検索パターンの定義
[検索パターン] 項目は、Qlik がファイルの選択とレプリケーションに使用する検索基準を定義します。この項目は正規表現を受け入れ、単一のファイルまたは複数のファイルを含めるために使用できます。
検索パターンを作成するときは、次の点に注意してください。
- 1 つのテーブルに複数のファイルを含める場合、各ファイルのヘッダー行の値は同一である必要があります。
- ピリオド (
.
) などの特殊文字は、正規表現では特別な意味を持ちます。正確に一致させるには、エスケープする必要があります。例:.\
- Qlik は正規表現に Python を使用しますが、その構文は他の種類とは異なる場合があります。統合を保存する前に、PyRegex を使用して数式をテストしてみてください。
- 検索パターンでは、ファイル内のデータが更新される方法を考慮する必要があります。次の例を考えてみましょう。
シナリオ | 単一ファイル、定期更新 | 複数のファイル、毎日生成 |
更新方法 | 単一の JSONL ファイルは、新規および更新された顧客データで定期的に更新されます。 | 新規および更新された顧客データを含む、新しい CSV ファイルが毎日作成されます。古いファイルは作成後に更新されることはありません。 |
ファイル名 | customers.jsonl
|
customers-[STRING].csv ([STRING] は一意のランダムな文字列) |
検索パターン |
ファイルは 1 つだけであるため、S3 バケットにファイルの正確な名前を入力できます。
|
新しいファイルと更新されたファイルが確実に識別されるようにするには、ファイル名の文字列に関係なく、
|
一致 | customer.jsonl (正確に) |
|
ファイル要件
1 行目のヘッダー (CSV ファイルのみ) |
|
ファイルの種類 |
|
圧縮の種類 |
これらのファイルが正しく圧縮されていない場合、解凍時にエラーが発生します。
|
区切り記号(CSV ファイルのみ) |
|
文字エンコーディング |
UTF-8 |
接続の作成
詳細については、「SaaSアプリケーションへの接続」を参照してください。
- 必要な接続プロパティを入力します。
-
接続名に接続の名前を入力します。
-
接続メタデータを開くを選択して、作成時の接続のメタデータを定義します。
-
[作成] をクリックします。
設定 | 説明 |
---|---|
データ ゲートウェイ |
ユース ケースに応じて Data Movement gateway を選択します。 情報メモ
Qlik Talend Cloud スターター サブスクリプションでは Data Movement gateway をサポートしていないため、この項目は使用できません。別のサブスクリプション ティアを利用しており、Data Movement gateway を使用しない場合は、 [None] (なし) を選択します。 Data Movement gateway の利点とそれを必要とするユース ケースの詳細については、「Qlik Data Gateway - Data Movement」を参照してください。 |
開始日 |
ソースからターゲットにデータをレプリケートする必要がある日付を |
S3 バケット | S3 バケットの名前。 |
AWS アカウントID |
AWS の 外部 ID。「認証の準備」を参照してください。 パターンは |
検索パターン | テーブルに含めるファイルを入力します。単一のファイル名または正規表現を入力できます。 例: |
[Directory] (ディレクトリー) | このディレクトリ パス内の検索を制限します。定義されると、この場所にあるファイルのみが検索され、検索パターンに一致するファイルが選択されます。正規表現は使用できません。 例: csv-exports-folder または employee_jsonl_exports。 |
テーブルの構成
含めるファイルを指定してテーブルを構成します。 複数のテーブルを構成できます。 |
|
[Table name] (テーブル名) | テーブルの名前です。 各ターゲットには、テーブルの命名方法に関する独自のルールがあります。たとえば、Amazon Redshift テーブル名は 127 文字を超えることはできません。 |
[Primary key] (プライマリキー) | 一意の行またはレコードを識別するための主キーを入力します。複数のキーを入力する場合は、値をコンマで区切ります。
例: id、name。 |
日時項目の指定 | テーブルに文字列ではなく日時として表示される必要がある値を入力します。 例: created_at、modified_at。 |
区切り記号 | ドロップダウン リストから区切り記号を選択します。 |