[Ultimate]{class="badge positive"}
Snowflake ストリーミングソース
Adobe Experience Platform を使用すると、外部ソースからデータを取り込みながら、Platform サービスを使用して受信データの構造化、ラベル付けおよび拡張を行うことができます。アドビのアプリケーション、クラウドベースのストレージ、データベースなど、様々なソースからデータを取り込むことができます。
Experience Platformは、Snowflake データベースからのストリーミングデータのサポートを提供します。
Snowflake ストリーミングソースについて
Snowflake ストリーミングソースは、定期的に SQL クエリを実行し、結果セットの各レコードに出力レコードを作成することで、データを読み込むことで機能します。
Kafka Connect を使用すると、Snowflake ストリーミングソースは各テーブルから受け取った最新のレコードを追跡するので、次のイテレーション用の正しい場所で開始できます。 ソースはこの機能を使用してデータをフィルタリングし、各反復でテーブルから更新された行のみを取得します。
前提条件
次の節では、Snowflake データベースからExperience Platformにデータをストリーミングする前に実行する必要がある前提条件の手順について説明します。
IP アドレス許可リストの更新
ソースコネクタを操作する前に、IP アドレスのリストを許可リストに追加する必要があります。 地域固有の IP アドレスを許可リストに追加しないと、ソースを使用する際にエラーが発生したり、パフォーマンスが低下する場合があります。 詳しくは、IP アドレスの許可リストページを参照してください。
以下のドキュメントでは、API やユーザーインターフェイスを使用して Amazon Redshift と Platform を接続する方法について説明します。
必要な資格情報の収集
Flow Service を Snowflake に接続するには、次の接続プロパティを指定する必要があります。
account
サフィックス snowflakecomputing.com
が付いた Snowflake アカウントの完全なアカウント識別子(アカウント名またはアカウントロケーター)。 アカウント識別子は、次のように異なる形式にすることができます。
- {ORG_NAME}-{ACCOUNT_NAME}.snowflakecomputing.com (例:
acme-abc12345.snowflakecomputing.com
) - {ACCOUNT_LOCATOR}。{CLOUD_REGION_ID}.snowflakecomputing.com (例:
acme12345.ap-southeast-1.snowflakecomputing.com
) - {ACCOUNT_LOCATOR}。{CLOUD_REGION_ID}。{CLOUD}.snowflakecomputing.com (例:
acme12345.east-us-2.azure.snowflakecomputing.com
)
詳しくは、Snowflake document on account identifiers を参照してください。
warehouse
database
username
password
role
public
になります。connectionSpec.id
51ae16c2-bdad-42fd-9fce-8d5dfddaf140
です。役割の設定 configure-role-settings
デフォルトのパブリックロールが割り当てられている場合でも、ソース接続が関連する Snowflake データベース、スキーマおよびテーブルにアクセスできるようにするには、ロールへの権限を設定する必要があります。 様々な Snowflake エンティティに対する様々な権限は次のとおりです。
役割および権限の管理について詳しくは、Snowflake API リファレンスを参照してください。
制限事項とよくある質問 limitations-and-frequently-asked-questions
-
Snowflake ソースのデータスループットは、1 秒あたり 2000 レコードです。
-
価格は、倉庫がアクティブな時間と倉庫のサイズによって異なります。 Snowflake ソース統合の場合、最小サイズの x-small ウェアハウスで十分です。 自動休止を有効にして、使用されていないときにウェアハウスが独自に休止できるようにすることをお勧めします。
-
Snowflake ソースは、10 秒ごとに新しいデータをデータベースにポーリングします。
-
設定オプション:
-
ソース接続を作成する際に、Snowflake ソースに対して
backfill
ブール値フラグを有効にできます。- バックフィルが true に設定されている場合、timestamp.initial の値は 0 に設定されます。 つまり、タイムスタンプ列が 0 エポック時間より大きいデータが取得されます。
- バックフィルが false に設定されている場合、timestamp.initial の値は–1 に設定されます。 これは、現在の時刻(ソースの取り込みを開始する時刻)より大きいタイムスタンプ列を持つデータが取得されることを意味します。
-
タイムスタンプ列は、
TIMESTAMP_LTZ
またはTIMESTAMP_NTZ
型の形式にする必要があります。 タイムスタンプ列がTIMESTAMP_NTZ
に設定されている場合、値が保存される対応するタイムゾーンはtimezoneValue
パラメーターを介して渡す必要があります。 指定しない場合、値はデフォルトで UTC になります。- タイムスタンプ列またはマッピングでは
TIMESTAMP_TZ
を使用できません。
- タイムスタンプ列またはマッピングでは
-
次の手順
次のチュートリアルでは、API を使用して Snowflake ストリーミングソースをExperience Platformに接続する方法の手順を説明します。