Amazon Redshift コネクタ構成ガイド
この記事では、Amazon Redshift コネクタの構成方法について説明します。
構成
コネクタマーケットプレイスにアクセスし、新しいコネクタを追加します。コネクタを追加する一般的な手順については、コネクタについてを参照してください。
コネクタを追加した後、以下の構成を構成します:
- 認証タイプ
- 認証タイプを選択します:
- STS:次のフィールドが必要です Assume Role: ARN、Assume Role: Session Name。詳細については、STS 資格情報を参照してください。
- アクセスキー:次のフィールドが必要です AWS Access Key と AWS Secret Access Key。詳細については、アクセスキーとシークレット資格情報を参照してください。
- 認証タイプを選択します:
- リージョン
- 必須。リージョンを選択します。
- STS - Assume Role: ARN
- STS認証に必要です。役割を引き受ける Amazon リソース名 (ARN) を提供します。
- 例:
arn:aws:iam:222222222222:role/myrole
。 - 詳細については、AWS: IAM ロールへの切り替えを参照してください。
- STS - Assume Role: Session Name
- 役割を引き受けるセッション名を提供します。
- 最小長さ 2、最大長さ 64。
- STS - Assume Role: External ID
- 第三者の外部識別子を提供します。
- 詳細については、AWS: 第三者が所有する AWS アカウントへのアクセスを参照してください。
- アクセスキー - AWS Access Key
- アクセスキー認証に必要です。AWS アクセスキーを提供します。
- アクセスキー - AWS Secret Access Key
- アクセスキー認証に必要です。AWS シークレットアクセスキーを提供します。
- シークレット名
- オプション。AWS Secrets Manager メソッドを使用して Redshift にアクセスする場合、Tealium が Redshift 接続に使用する Secret ARN を動的に引き出すためにシークレット名を提供します。
- ワークグループ名
- クラスタ識別子が提供されていない場合に必要です。Redshift SERVERLESS インスタンスにアクセスする場合は、ワークグループ名を提供します。
- クラスタ識別子
- ワークグループ名が提供されていない場合に必要です。Redshift クラスタを使用している場合は、クラスタ識別子を提供します。
- データベース名
- オプション。データベース名を提供します。デフォルト値:
dev
。
- オプション。データベース名を提供します。デフォルト値:
AWS Redshift への接続を作成する
Tealium は、クラスタ、ワークスペース、データベースのリストを表示し、イベントおよびオーディエンスデータを Redshift テーブルにアップロードするために AWS Redshift インスタンスへの接続を必要とします。認証には2つのオプションがあります:
アクセスキーとシークレット資格情報
AWS アクセスキーとシークレットを見つけるには:
- AWS 管理コンソールにログインし、IAM(Identity and Access Management)サービスに移動します。
- ユーザーをクリックし、次にユーザーを追加をクリックします。
- ユーザー名を入力します。例:
TealiumRedshiftUser
。 - 役割にポリシーを添付します。詳細については、ポリシーの添付を参照してください。
- キーを作成します。
- セキュリティ認証情報タブに移動し、アクセスキーの作成をクリックします。
- アクセスキー IDとシークレットアクセスキーをコピーし、安全に保存します。
STS 資格情報
STS 資格情報を見つけるには:
- AWS 管理コンソールにログインし、IAM(Identity and Access Management)サービスに移動します。
- ロールをクリックし、次にロールの作成をクリックします。
- 信頼されたエンティティタイプで、AWS アカウントを選択します。
- 別の AWS アカウントを選択し、Tealium アカウント ID
757913464184
を入力します。 - オプション。外部 ID が必要チェックボックスを選択し、使用する外部 ID を指定します。外部 ID は 256 文字までの長さで、英数字 (
A-Z
,a-z
,0-9
) およびハイフン (-
)、アンダースコア (_
)、ピリオド (.
) などの記号を含むことができます。 - ロールの名前を入力します。ロール名は
TealiumRedshift
で始まる必要があります。例:TealiumRedshift-test
。 - ロールにポリシーを添付します。詳細については、ポリシーの添付を参照してください。
- 信頼ポリシーを作成します。
- 信頼関係タブに移動し、信頼関係の編集をクリックします。
- 作成したロールを使用する特定の外部 ID が信頼ポリシーに許可されていること、および Tealium の本番アカウント ID が
757913464184
であることを確認します。 - Tealium への接続のための
EXTERNAL_ID
値を構成します。ID は 256 文字までの長さで、英数字 (A-Z
,a-z
,0-9
) およびハイフン (-
)、アンダースコア (_
)、ピリオド (.
) などの記号を含むことができます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::757913464184:root" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "EXTERNAL_ID" } } } ] }
ポリシーのアタッチ
ポリシーをアタッチするには:
- Permissions タブで Attach existing policies directly をクリックします。
-
フルアクセス
SecretsManagerReadWrite
、AmazonRedshiftAllCommandsFullAccess
、AmazonRedshiftDataFullAccess
ポリシーを検索してアタッチし、フルアクセスを構成します。
-
制限されたアクセス
- 特定のクラスターへのアクセスを制限するには、以下の例のようなポリシーを作成します。例では、
YOUR_CLUSTER_ARN
が Tealium がイベントおよびオーディエンスデータをYOUR_DATABASE_ARN
Redshift テーブルに挿入するために使用するクラスターです:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RedshiftClusterManagement", "Effect": "Allow", "Action": [ "redshift:DescribeClusters", "redshift:GetClusterCredentials", "redshift:GetClusterCredentialsWithIAM" ], "Resource": "arn:aws:redshift:YOUR_REGION:YOUR_ACCOUNT_ID:cluster/YOUR_CLUSTER_ARN" }, { "Sid": "RedshiftDataAPI", "Effect": "Allow", "Action": [ "redshift-data:ExecuteStatement", "redshift-data:BatchExecuteStatement", "redshift-data:DescribeStatement", "redshift-data:GetStatementResult", "redshift-data:ListStatements" ], "Resource": "arn:aws:redshift:YOUR_REGION:YOUR_ACCOUNT_ID:database/YOUR_DATABASE_ARN" }, { "Sid": "SecretsManagerAccess", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecrets" ], "Resource": "arn:aws:secretsmanager:YOUR_REGION:YOUR_ACCOUNT_ID:secret/YOUR_SECRET_ARN" } ] }
- 特定のワークグループへのアクセスを制限するには、以下の例のようなポリシーを作成します。例では、
YOUR_WORKGROUP_ARN
が Tealium がイベントおよびオーディエンスデータをYOUR_DATABASE_ARN
Redshift テーブルに挿入するために使用するクラスターです:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RedshiftServerlessAccess", "Effect": "Allow", "Action": [ "redshift-serverless:GetWorkgroup", "redshift-serverless:GetCredentials", "redshift-serverless:ListWorkgroups" ], "Resource": "arn:aws:redshift-serverless:YOUR_REGION:YOUR_ACCOUNT_ID:workgroup/YOUR_WORKGROUP_ARN" }, { "Sid": "RedshiftDataAPI", "Effect": "Allow", "Action": [ "redshift-data:ExecuteStatement", "redshift-data:BatchExecuteStatement", "redshift-data:DescribeStatement", "redshift-data:GetStatementResult", "redshift-data:ListStatements" ], "Resource": "arn:aws:redshift:YOUR_REGION:YOUR_ACCOUNT_ID:database/YOUR_DATABASE_ARN" }, { "Sid": "SecretsManagerAccess", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecrets" ], "Resource": "arn:aws:secretsmanager:YOUR_REGION:YOUR_ACCOUNT_ID:secret/YOUR_SECRET_ARN" } ] }
- 特定のクラスターへのアクセスを制限するには、以下の例のようなポリシーを作成します。例では、
-
アクション
アクション名 | AudienceStream | EventStream |
---|---|---|
全イベントデータ送信 (マイクロバッチ) | ✗ | ✓ |
全イベントデータ送信 (バッチ) | ✗ | ✓ |
カスタムイベントデータ送信 (マイクロバッチ) | ✗ | ✓ |
カスタムイベントデータ送信 (バッチ) | ✗ | ✓ |
全訪問データ送信 (マイクロバッチ) | ✓ | ✗ |
全訪問データ送信 (バッチ) | ✓ | ✗ |
全イベントデータ送信 (マイクロバッチ) | ✓ | ✗ |
全イベントデータ送信 (マイクロバッチ) | ✓ | ✗ |
カスタムステートメント実行 (バッチ) | ✓ | ✓ |
アクション名を入力し、ドロップダウンメニューからアクションタイプを選択します。
次のセクションでは、各アクションのパラメータとオプションの構成方法について説明します。
全イベントデータ送信 (マイクロバッチ)
バッチ制限
このアクションは、ベンダーへの大量データ転送をサポートするためにバッチリクエストを使用します。詳細については、Batched Actions を参照してください。リクエストは、次のいずれかの閾値が満たされるか、プロファイルが公開されるまでキューに入れられます:
- 最大リクエスト数:50
- 最古のリクエストからの最大時間:16分
パラメータ
パラメータ | 説明 |
---|---|
スキーマ | 接続したいスキーマ名を提供します。 |
テーブル | 接続したいテーブル名を提供します。 |
ペイロードを記録するカラム | ペイロードを記録するために SUPER カラムを選択します。 |
タイムスタンプを記録するカラム | タイムスタンプを記録するカラムを選択します。テーブルに timestamp カラムが default sysdate に構成されている場合は不要です。 |
属性名の印刷 | デフォルトでは、属性キーが使用されます。代わりに属性名をキーとして使用したい場合は、このチェックボックスを有効にします。属性名が更新されるとペイロード名も更新されることに注意してください。 |
バッチの有効期限 | バッチを送信するまでの待ち時間です。この値は 1 から 16 分の間である必要があります。デフォルト値は 5 分です。 |
全イベントデータ送信 (バッチ)
バッチ制限
このアクションは、ベンダーへの大量データ転送をサポートするためにバッチリクエストを使用します。詳細については、Batched Actions を参照してください。リクエストは、次のいずれかの閾値が満たされるか、プロファイルが公開されるまでキューに入れられます:
- 最大リクエスト数:2,000
- 最古のリクエストからの最大時間:60分
パラメータ
パラメータ | 説明 |
---|---|
スキーマ | 接続したいスキーマ名を提供します。 |
テーブル | 接続したいテーブル名を提供します。 |
ペイロードを記録するカラム | ペイロードを記録するために SUPER カラムを選択します。 |
タイムスタンプを記録するカラム | タイムスタンプを記録するカラムを選択します。テーブルに timestamp カラムが default sysdate に構成されている場合は不要です。 |
属性名の印刷 | デフォルトでは、属性キーが使用されます。代わりに属性名をキーとして使用したい場合は、このチェックボックスを有効にします。属性名が更新されるとペイロード名も更新されることに注意してください。 |
バッチの有効期限 | バッチを送信するまでの待ち時間です。この値は 15 から 60 分の間である必要があります。デフォルト値は 30 分です。 |
カスタムイベントデータ送信 (マイクロバッチ)
バッチ制限
このアクションは、ベンダーへの大量データ転送をサポートするためにバッチリクエストを使用します。詳細については、Batched Actions を参照してください。リクエストは、次のいずれかの閾値が満たされるか、プロファイルが公開されるまでキューに入れられます:
- 最大リクエスト数:50
- 最古のリクエストからの最大時間:16分
パラメータ
パラメータ | 説明 |
---|---|
スキーマ | 接続したいスキーマ名を提供します。 |
テーブル | 接続したいテーブル名を提供します。 |
カスタムパラメータ
パラメータ | 説明 |
---|---|
バッチの有効期限 | バッチを送信するまでの待ち時間です。この値は 1 から 16 分の間である必要があります。デフォルト値は 5 分です。 |
カスタムイベントデータ送信 (バッチ)
バッチ制限
このアクションは、ベンダーへの大量データ転送をサポートするためにバッチリクエストを使用します。詳細については、Batched Actions を参照してください。リクエストは、次のいずれかの閾値が満たされるか、プロファイルが公開されるまでキューに入れられます:
- 最大リクエスト数:2,000
- 最古のリクエストからの最大時間:60分
パラメータ
パラメータ | 説明 |
---|---|
スキーマ | 接続したいスキーマ名を指定してください。 |
テーブル | 接続したいテーブル名を指定してください。 |
カスタムパラメータ
パラメータ | 説明 |
---|---|
バッチの有効時間 | バッチを送信するまでの待機時間です。この値は 15 分から 60 分の間である必要があります。デフォルト値は 30 分です。 |
全訪問データの送信(マイクロバッチ)
バッチ制限
このアクションは、ベンダーへの大量データ転送をサポートするためにバッチリクエストを使用します。詳細については、バッチアクションを参照してください。リクエストは次のいずれかの閾値に達するか、プロファイルが公開されるまでキューに入れられます:
- 最大リクエスト数:50
- 最古のリクエストからの最大時間:16分
パラメータ
パラメータ | 説明 |
---|---|
スキーマ | 接続したいスキーマ名を指定してください。 |
テーブル | 接続したいテーブル名を指定してください。 |
ペイロードを記録する列 | ペイロードを記録するために SUPER 列を選択してください。 |
タイムスタンプを記録する列 | タイムスタンプを記録する列を選択してください。テーブルに timestamp 列が default sysdate に構成されている場合は不要です。 |
全訪問イベントを含む | 現在の訪問データを訪問データに含めてください。 |
属性名を印刷 | デフォルトでは属性キーが使用されます。代わりに属性名をキーとして使用したい場合は、このチェックボックスを有効にしてください。属性名が更新されるとペイロード名も更新されることに注意してください。 |
バッチの有効時間 | バッチを送信するまでの待機時間です。この値は 1 分から 16 分の間である必要があります。デフォルト値は 5 分です。 |
全訪問データの送信(バッチ)
バッチ制限
このアクションは、ベンダーへの大量データ転送をサポートするためにバッチリクエストを使用します。詳細については、バッチアクションを参照してください。リクエストは次のいずれかの閾値に達するか、プロファイルが公開されるまでキューに入れられます:
- 最大リクエスト数:2,000
- 最古のリクエストからの最大時間:60分
パラメータ
パラメータ | 説明 |
---|---|
スキーマ | 接続したいスキーマ名を指定してください。 |
テーブル | 接続したいテーブル名を指定してください。 |
ペイロードを記録する列 | ペイロードを記録するために SUPER 列を選択してください。 |
タイムスタンプを記録する列 | タイムスタンプを記録する列を選択してください。テーブルに timestamp 列が default sysdate に構成されている場合は不要です。 |
全訪問イベントを含む | 現在の訪問データを訪問データに含めてください。 |
属性名を印刷 | デフォルトでは属性キーが使用されます。代わりに属性名をキーとして使用したい場合は、このチェックボックスを有効にしてください。属性名が更新されるとペイロード名も更新されることに注意してください。 |
バッチの有効時間 | バッチを送信するまでの待機時間です。この値は 15 分から 60 分の間である必要があります。デフォルト値は 30 分です。 |
全イベントデータの送信(マイクロバッチ)
バッチ制限
このアクションは、ベンダーへの大量データ転送をサポートするためにバッチリクエストを使用します。詳細については、バッチアクションを参照してください。リクエストは次のいずれかの閾値に達するか、プロファイルが公開されるまでキューに入れられます:
- 最大リクエスト数:50
- 最古のリクエストからの最大時間:16分
パラメータ
パラメータ | 説明 |
---|---|
スキーマ | 接続したいスキーマ名を指定してください。 |
テーブル | 接続したいテーブル名を指定してください。 |
カスタムパラメータ
パラメータ | 説明 |
---|---|
バッチの有効時間 | バッチを送信するまでの待機時間です。この値は 1 分から 16 分の間である必要があります。デフォルト値は 5 分です。 |
全イベントデータの送信(マイクロバッチ)
バッチ制限
このアクションは、ベンダーへの大量データ転送をサポートするためにバッチリクエストを使用します。詳細については、バッチアクションを参照してください。リクエストは次のいずれかの閾値に達するか、プロファイルが公開されるまでキューに入れられます:
- 最大リクエスト数:2,000
- 最古のリクエストからの最大時間:60分
パラメータ
パラメータ | 説明 |
---|---|
スキーマ | 接続したいスキーマ名を指定してください。 |
テーブル | 接続したいテーブル名を指定してください。 |
カスタムパラメータ
パラメータ | 説明 |
---|---|
バッチの有効時間 | バッチを送信するまでの待機時間です。この値は 15 分から 60 分の間である必要があります。デフォルト値は 15 分です。 |
カスタムステートメントの実行(バッチ)
バッチ制限
このアクションは、ベンダーへの大量データ転送をサポートするためにバッチリクエストを使用します。詳細については、バッチアクションを参照してください。リクエストは次のいずれかの閾値に達するか、プロファイルが公開されるまでキューに入れられます:
- 最大リクエスト数:40
- 最古のリクエストからの最大時間:60分
パラメータ
パラメータ | 説明 |
---|---|
スキーマ | 接続したいスキーマ名を指定してください。 |
テーブル | 接続したいテーブル名を指定してください。 |
クエリパラメータ | クエリ内のプレースホルダーに置き換えるパラメータをマッピングしてください。少なくとも1つのパラメータをマッピングする必要があります。 |
クエリ | SQL 属性に渡す生のステートメントを指定してください。INSERT または UPDATE ステートメントのみが許可されます。置き換える必要がある属性名を波括弧 {{ }} で囲んでください。詳細については、クエリ例を参照してください。 |
バッチの有効時間 | バッチを送信するまでの待機時間です。この値は 1 分から 60 分の間である必要があります。デフォルト値は 15 分です。 |
クエリ例
クエリパラメータ セクションで my_boolean_tealium_attribute = MY_BOOLEAN_PARAM
というマッピングを追加した場合、クエリ内でそのパラメータを {{MY_BOOLEAN_PARAM}}
を使用して参照します。
例えば、次のクエリパラメータがマッピングされています:MY_STRING_PARAM
, MY_BOOLEAN_PARAM
, ANOTHER_PARAM
, MY_PARAM
.
INSERT INTO redshift_table (key1,key2) VALUES ('{{MY_STRING_PARAM}}', {{MY_BOOLEAN_PARAM}});
UPDATE redshift_table SET key1 = '{{MY_STRING_PARAM}}', key2 = {{MY_BOOLEAN_PARAM}} WHERE key3 = '{{ANOTHER_PARAM}}';
UPDATE redshift_table SET key2 = (SELECT new_key2 FROM source_table WHERE source_table.key1 = redshift_table.key1)
WHERE EXISTS (SELECT 1 FROM source_table WHERE source_table.key1 LIKE %{{MY_PARAM}}%);
最終更新日 :: 2025年April月24日