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" } } } ] }
ポリシーのアタッチ
ポリシーをアタッチするには:
- 権限タブで既存のポリシーを直接アタッチをクリックします。
-
フルアクセス
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年August月6日