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
- STS認証に必要です。アサムするロールのセッション名を提供してください。
- 最小長2、最大長64。
- STS - Assume Role: External ID
- 第三者の外部識別子を提供してください。
- 詳細については、AWS: 第三者が所有するAWSアカウントへのアクセスを参照してください。
- アクセスキー - AWS Access Key
- アクセスキー認証に必要です。AWSアクセスキーを提供してください。
- アクセスキー - AWS Secret Access Key
- アクセスキー認証に必要です。AWSシークレットアクセスキーを提供してください。
- リージョン
- (必須)リージョンを選択してください。
- シークレット名
- (オプション)AWSシークレットマネージャーを使用してRedshiftにアクセスする場合、TealiumがRedshift接続に使用するシークレット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_ARNRedshift テーブルに挿入するために使用するクラスターです:
{ "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_ARNRedshift テーブルに挿入するために使用するクラスターです:
{ "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 に構成されている場合は不要です。 |
| 属性名の印刷 | デフォルトでは、属性キーが使用されます。代わりに属性名をキーとして使用したい場合は、このチェックボックスを有効にします。属性名が更新されるとペイロード名も反映されることに注意してください。 |
| バッチの有効期限 | バッチアクションが送信される頻度を指定するために有効期限 (TTL) を構成します。1 から 16 分の間で値を入力します。デフォルト値は 5 分です。 |
全イベントデータ送信(バッチ)
バッチ制限
このアクションは、ベンダーへの大量データ転送をサポートするためにバッチリクエストを使用します。詳細については、Batched Actions を参照してください。リクエストは、次のいずれかの閾値が満たされるか、プロファイルが公開されるまでキューに入れられます:
- 最大リクエスト数:2,000
- 最古のリクエストからの最大時間:60分
パラメータ
| パラメータ | 説明 |
|---|---|
| スキーマ | 接続したいスキーマ名を提供します。 |
| テーブル | 接続したいテーブル名を提供します。 |
| ペイロードを記録するカラム | ペイロードを記録するために SUPER カラムを選択します。 |
| タイムスタンプを記録するカラム | タイムスタンプを記録するカラムを選択します。テーブルに timestamp カラムが default sysdate に構成されている場合は不要です。 |
| 属性名の印刷 | デフォルトでは、属性キーが使用されます。代わりに属性名をキーとして使用したい場合は、このチェックボックスを有効にします。属性名が更新されるとペイロード名も反映されることに注意してください。 |
| バッチの有効期限 | バッチアクションが送信される頻度を指定するために有効期限 (TTL) を構成します。15 から 60 分の間で値を入力します。デフォルト値は 30 分です。 |
カスタムイベントデータ送信(マイクロバッチ)
バッチ制限
このアクションは、ベンダーへの大量データ転送をサポートするためにバッチリクエストを使用します。詳細については、Batched Actions を参照してください。リクエストは、次のいずれかの閾値が満たされるか、プロファイルが公開されるまでキューに入れられます:
- 最大リクエスト数:50
- 最古のリクエストからの最大時間:16分
パラメータ
| パラメータ | 説明 |
|---|---|
| スキーマ | 接続したいスキーマ名を提供します。 |
| テーブル | 接続したいテーブル名を提供します。 |
カスタムパラメータ
| パラメータ | 説明 |
|---|---|
| バッチの有効期限 | バッチアクションが送信される頻度を指定するために有効期限 (TTL) を構成します。1 から 16 分の間で値を入力します。デフォルト値は 5 分です。 |
カスタムイベントデータ送信(バッチ)
バッチ制限
このアクションは、ベンダーへの大量データ転送をサポートするためにバッチリクエストを使用します。詳細については、Batched Actions を参照してください。リクエストは、次のいずれかの閾値が満たされるか、プロファイルが公開されるまでキューに入れられます:
- 最大リクエスト数:2,000
- 最古のリクエストからの最大時間:60分
パラメータ
| パラメータ | 説明 |
|---|---|
| スキーマ | 接続したいスキーマ名を指定してください。 |
| テーブル | 接続したいテーブル名を指定してください。 |
カスタムパラメータ
| パラメータ | 説明 |
|---|---|
| バッチの有効期限 | バッチアクションが送信される頻度を指定するための有効期限(TTL)を構成します。15分から60分の間で値を入力してください。デフォルト値は30分です。 |
全訪問データの送信(マイクロバッチ)
バッチ制限
このアクションは、バッチリクエストを使用してベンダーへの大量データ転送をサポートします。詳細については、バッチアクションを参照してください。リクエストは、次のいずれかの閾値が達成されるか、プロファイルが公開されるまでキューに入れられます:
- 最大リクエスト数:50
- 最古のリクエストからの最大時間:16分
パラメータ
| パラメータ | 説明 |
|---|---|
| スキーマ | 接続したいスキーマ名を指定してください。 |
| テーブル | 接続したいテーブル名を指定してください。 |
| ペイロードを記録するカラム | ペイロードを記録するためにSUPERカラムを選択してください。 |
| タイムスタンプを記録するカラム | タイムスタンプを記録するカラムを選択してください。テーブルにtimestampカラムがdefault sysdateに構成されている場合は不要です。 |
| 全訪問イベントを含む | 現在の訪問データを訪問データに含めます。 |
| 属性名を印刷 | デフォルトでは属性キーが使用されます。代わりに属性名をキーとして使用したい場合は、このチェックボックスを有効にしてください。属性名が更新されるとペイロード名も更新されることに注意してください。 |
| バッチの有効期限 | バッチアクションが送信される頻度を指定するための有効期限(TTL)を構成します。1分から16分の間で値を入力してください。デフォルト値は5分です。 |
全訪問データの送信(バッチ)
バッチ制限
このアクションは、バッチリクエストを使用してベンダーへの大量データ転送をサポートします。詳細については、バッチアクションを参照してください。リクエストは、次のいずれかの閾値が達成されるか、プロファイルが公開されるまでキューに入れられます:
- 最大リクエスト数:2,000
- 最古のリクエストからの最大時間:60分
パラメータ
| パラメータ | 説明 |
|---|---|
| スキーマ | 接続したいスキーマ名を指定してください。 |
| テーブル | 接続したいテーブル名を指定してください。 |
| ペイロードを記録するカラム | ペイロードを記録するためにSUPERカラムを選択してください。 |
| タイムスタンプを記録するカラム | タイムスタンプを記録するカラムを選択してください。テーブルにtimestampカラムがdefault sysdateに構成されている場合は不要です。 |
| 全訪問イベントを含む | 現在の訪問データを訪問データに含めます。 |
| 属性名を印刷 | デフォルトでは属性キーが使用されます。代わりに属性名をキーとして使用したい場合は、このチェックボックスを有効にしてください。属性名が更新されるとペイロード名も更新されることに注意してください。 |
| バッチの有効期限 | バッチアクションが送信される頻度を指定するための有効期限(TTL)を構成します。15分から60分の間で値を入力してください。デフォルト値は30分です。 |
全イベントデータの送信(マイクロバッチ)
バッチ制限
このアクションは、バッチリクエストを使用してベンダーへの大量データ転送をサポートします。詳細については、バッチアクションを参照してください。リクエストは、次のいずれかの閾値が達成されるか、プロファイルが公開されるまでキューに入れられます:
- 最大リクエスト数:50
- 最古のリクエストからの最大時間:16分
パラメータ
| パラメータ | 説明 |
|---|---|
| スキーマ | 接続したいスキーマ名を指定してください。 |
| テーブル | 接続したいテーブル名を指定してください。 |
カスタムパラメータ
| パラメータ | 説明 |
|---|---|
| バッチの有効期限 | バッチアクションが送信される頻度を指定するための有効期限(TTL)を構成します。1分から16分の間で値を入力してください。デフォルト値は5分です。 |
全イベントデータの送信(マイクロバッチ)
バッチ制限
このアクションは、バッチリクエストを使用してベンダーへの大量データ転送をサポートします。詳細については、バッチアクションを参照してください。リクエストは、次のいずれかの閾値が達成されるか、プロファイルが公開されるまでキューに入れられます:
- 最大リクエスト数:2,000
- 最古のリクエストからの最大時間:60分
パラメータ
| パラメータ | 説明 |
|---|---|
| スキーマ | 接続したいスキーマ名を指定してください。 |
| テーブル | 接続したいテーブル名を指定してください。 |
カスタムパラメータ
| パラメータ | 説明 |
|---|---|
| バッチの有効期限 | バッチアクションが送信される頻度を指定するための有効期限(TTL)を構成します。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年November月5日