よくある質問(FAQ)
これらは、クラウド・データ・インジェストに関するよくある質問に対する答えである。
なぜ私にメールが届いたのか:「CDI同期エラー」?
この種のメールは通常、CDIの設定に問題があることを意味する。ここでは、よくある問題とその解決方法を紹介する:
CDIが認証情報を使ってデータウェアハウスやテーブルにアクセスできない
これは、CDIの認証情報が間違っているか、データウェアハウスの設定が間違っている可能性がある。詳細については、データウェアハウスの統合を参照のこと。
テーブルが見つからない
正しいデータベース構成で統合を更新するか、database/table
のようなデータウェアハウス上に一致するリソースを作成する。
カタログが見つからない
統合で設定したカタログがBrazeカタログに存在しない。カタログは、統合がセットアップされた後に削除することができる。この問題を解決するには、別のカタログを使用するように統合を更新するか、統合のカタログ名と一致する新しいカタログを作成する。
なぜ私にメールが届いたのか:「CDIシンクの行エラー」?
この種のメールは、同期中にデータの一部が処理できなかったことを意味する。具体的なエラーを調べるには、BrazeのCDI>Sync Logでログを確認できる。
テスト接続とサポート・メールのエラーを修正するには?
テスト接続が遅くなる
テストコネクションはデータウェアハウス上で実行されるため、ウェアハウスの容量を増やすことでスピードが向上する可能性がある。サーバーレス SQL インスタンスを使用すると、ウォームアップ時間が最小限に抑えられ、クエリのスループットが向上しますが、連携コストが若干高くなる場合があります。
Snowflakeインスタンスへの接続エラー:IPを持つ着信リクエストはSnowflakeへのアクセスを許可されていない
IP許可リストにBrazeの公式IPを追加してみる。詳細については、データウェアハウスの統合を参照のこと。
顧客設定による SQL 実行エラー:002003 (42S02):SQLコンパイルエラー:存在しないか、認証されていない
テーブルが存在しない場合は、テーブルを作成する。テーブルが存在する場合は、ユーザとロールにテーブルからの読み取り権限があることを確認する。
スキーマを使用できなかった
このエラーが発生した場合は、指定されたユーザーまたはロールにそのスキーマへのアクセスを許可する。
ロールを使用できなかった
このエラーが表示された場合は、そのユーザーに指定されたロールの使用を許可する。
ユーザーアクセスを無効にする
このエラーが表示された場合は、そのユーザーにSnowflakeアカウントへのアクセスを許可する。
現在のキーと古いキーでSnowflakeインスタンスに接続する際のエラー
このエラーが表示された場合は、brazeのダッシュボードで確認できるように、ユーザーが現在の公開鍵を使用していることを確認する。
テスト接続が遅くなる
テストコネクションはデータウェアハウス上で実行されるため、ウェアハウスの容量を増やすことでスピードが向上する可能性がある。サーバーレス SQL インスタンスを使用すると、ウォームアップ時間が最小限に抑えられ、クエリのスループットが向上しますが、連携コストが若干高くなる場合があります。
リレーション{テーブル名}に対するパーミッションが拒否された。
このエラーが表示された場合
- そのユーザのスキーマに
usage
権限を与える。 - そのユーザーのテーブルに対して、
select
パーミッションを与える。
接続作成エラー
このエラーが表示された場合は、Redshiftのエンドポイントとポートが正しいことを確認する。
SSHトンネル作成エラー
このエラーが表示された場合
- brazeダッシュボードの公開鍵が、SSHトンネリングに使用するec2ホスト上にあることを確認する。
- ユーザー名が正しいことを確認する。
- SSHトンネルが正しいことを確認する。
テスト接続が遅くなる
テストコネクションはデータウェアハウス上で実行されるため、ウェアハウスの容量を増やすことでスピードが向上する可能性がある。サーバーレス SQL インスタンスを使用すると、ウォームアップ時間が最小限に抑えられ、クエリのスループットが向上しますが、連携コストが若干高くなる場合があります。
ユーザーにテーブルを照会する権限がない
このエラーが表示された場合は、テーブルを照会するためのユーザー権限を追加する。
使用量がカスタムクォータを超えた
このエラーが表示された場合、クォータを更新する必要があるため、現在のレートで同期を続けることができる。
地域}の場所にテーブルが見つからなかった。
このエラーが表示された場合は、テーブルが正しいプロジェクトとデータセットにあることを確認してほしい。
無効なJWT署名
このエラーが表示された場合は、アカウントでBigQuery APIサービスが有効になっていることを確認する。
テスト接続が遅くなる
テストコネクションはデータウェアハウス上で実行されるため、ウェアハウスの容量を増やすことでスピードが向上する可能性がある。Databricksの場合、BrazeがClassicおよびPro SQLインスタンスに接続する際、ウォームアップ時間が2~5分かかることがある。サーバーレス SQL インスタンスを使用すると、ウォームアップ時間が最小限に抑えられ、クエリのスループットが向上しますが、連携コストが若干高くなる場合があります。
倉庫が停止していたため、コマンドは失敗した
このエラーが表示された場合は、Databricks warehouseが実行されていることを確認する。
サービスだ:Amazon S3; ステータスコード:403; エラーコード403禁
このエラーが発生した場合は、Databricks を参照のこと:S3データへのアクセス中に禁則エラー.
CDI統合のメールアラート設定を更新するには?
各インテグレーションには、それぞれ独自の通知設定がある。CDIページに移動し、更新したい統合名を選択する。通知設定セクションで、選択した統合に関するアラートの受信方法を更新できる。
将来のUPDATED_ATが統合と同期された場合はどうなるのか?
CDIはUPDATED_AT
、どのデータが新しいかを判断する。将来のUPDATED_AT
が同期された後、その将来の日時より前のデータは処理されない。これを解決する:
- 正しい
UPDATED_AT
. - Brazeと同期済みの古いデータを削除する。
- そのテーブルを再び処理するために、新しい統合を作成する。
なぜ “Rows Synced “が倉庫の数字と一致しないのか?
CDIはUPDATED_AT
、同期中にどのレコードをピックアップするかを決定する。どのように機能するかは、このイラストをご覧いただきたい。同期実行の最初に、CDIは倉庫に問い合わせを行い、UPDATED_AT
が前回処理した値より後のレコードをすべて取得する。クエリー実行時にピックアップされたレコードはすべてBrazeに同期される。以下は、レコードが同期されない可能性のある一般的なケースである:
- すでに処理された
UPDATED_AT
。 - シンクによって処理された後にレコードの値を更新しているが、
UPDATED_AT
は変更されていない。 - シンクの進行中にレコードを追加または更新している。CDIクエリの実行タイミングによっては、レコードがピックアップされないレースコンディションが発生する可能性がある。
将来的にこのような挙動を避けるためには、UPDATED_AT
の値を単調に増加させ、スケジュールされた同期の実行中にテーブルを更新しないことを推奨する。
同期中、複数のレコードが同じIDを共有する場合、順序は保持されるか?
処理順序は100%予測できるものではない。例えば、同期中にテーブル内に同じEXTERNAL_ID
を持つ複数の行がある場合、最終的にどの値がプロファイルに入るかは保証できない。
CDIのセキュリティ対策はどうなっているのか?
ブレーズの対策
ブレイズではCDIに対して以下のような対策を行っている:
- すべての認証情報はデータベース内で暗号化され、特定の社員のみが認証されたアクセス権を持つ。
- 我々は、顧客の倉庫にデータを送るために暗号化された接続を使用している。
- Braze APIエンドポイントへのリクエストは、当社がお客様に使用を推奨しているのと同じAPIキーとTLS接続を使用して行う。
- 我々は定期的にライブラリーを更新し、あらゆるセキュリティパッチを入手している。
あなたの対策
あなたのチームでは、以下のようなセキュリティ対策を講じることをお勧めする:
- クレデンシャル・アクセスを、CDI の動作に必要な最小限のものに制限する。これは、特定のテーブルとビューに対してセレクト(とカウント)を実行できるようにする必要があるからだ。
- テーブルにアクセスできるIPを、公式に公開されているBraze IPに制限する。