Microsoft Fabricのクラウドデータ取り込み
このページでは、クラウドデータ取り込み (CDI) を使用して Microsoft Fabric から Braze にデータを同期するために必要なすべての情報を説明します。Fabric で作成するリソース、Braze でソースを接続して同期を作成する方法、各データタイプのソーステーブル、Fabric 固有のトラブルシューティングについて取り上げます。
設定の概要
- サポートされている認証方法のいずれかを使用してBrazeの認証を設定し、Fabric APIへのアクセス権を付与します。
- 共有ワークスペースを設定し、サービスプリンシパルにそのワークスペースへのアクセス権を付与します。
- 共有Fabricワークスペースで、Brazeに同期するテーブルまたはビューを設定します。
- Brazeダッシュボードで新しいソースと同期を作成します。
- 統合を検証し、同期を開始します。
ステップ 1: 認証を設定する
Brazeは次の認証方法で Fabric ウェアハウスに接続します。
| 方法 | Brazeによる認証方法 | Brazeで入力する内容 |
|---|---|---|
| Service principal | Braze authenticates as a Microsoft Entra ID service principal with a client secret. | Tenant ID, Principal ID, and Client Secret |
Service principal
Brazeは、Microsoft Entra ID 認証を使用するサービスプリンシパルを介して Fabric ウェアハウスに接続します。Brazeが使用する新しいサービスプリンシパルを作成し、以下のステップで Fabric リソースへのアクセス権を付与します。Brazeが接続するには、次の情報が必要です。
- AzureアカウントのテナントID(ディレクトリとも呼ばれます)
- サービスプリンシパルのプリンシパルID(アプリケーションIDとも呼ばれます)
- Brazeが認証に使用するクライアントシークレット
アプリケーションを登録するには、Microsoft Entra IDでアプリ登録を作成する権限が必要です。この権限がない場合は、Entra 管理者にこのステップの実行を依頼し、認証情報を共有してもらってください。
- Azureポータルで、Microsoft Entra管理センターに移動し、App Registrationsを選択します。
- Identity > Applications > App registrationsの下にある+ New registrationを選択します。
- 名前を入力し、サポートされるアカウントの種類として
Accounts in this organizational directory onlyを選択します。次に、Registerを選択します。 - 作成したアプリケーション(サービスプリンシパル)を選択し、Certificates & secrets > + New client secretに移動します。
- シークレットの説明を入力し、シークレットの有効期限を設定します。次に、Addを選択します。
- 作成されたクライアントシークレットをメモしておき、Brazeの設定で使用します。

Azureでは、サービスプリンシパルのシークレットの有効期限を無期限に設定することはできません。Brazeへのデータフローを維持するため、有効期限が切れる前に認証情報を更新してください。
ステップ 2: Fabric リソースへのアクセス権を付与する
Braze が Fabric インスタンスに接続できるよう、アクセス権を付与します。Fabric 管理ポータルで、設定 > ガバナンスとインサイト > 管理ポータル > テナント設定に移動します。
- 開発者設定で Service principals can use Fabric APIs を有効にし、Braze が Microsoft Entra ID を使用して接続できるようにします。
- OneLake 設定で Users can access data stored in OneLake with apps external to Fabric を有効にし、サービスプリンシパルが外部アプリからデータにアクセスできるようにします。
ステップ 3: 共有ワークスペースを設定してアクセス権を付与する
Braze に接続する Fabric リソースは、すべて共有ワークスペースに配置する必要があります。これまでデフォルトの My Workspace のみを使用していた場合は、新しい共有ワークスペースを作成します。
- ナビゲーションメニューで Workspaces を選択し、+ New workspace を選択します。
- ワークスペースの Name を入力し、Apply を選択します。
共有ワークスペースを用意したら、サービスプリンシパルにアクセス権を付与します。
- ワークスペースを選択し、Manage Access を選択します。
- + Add people or groups を選択します。
- ステップ 1 で作成したサービスプリンシパルの名前を検索して選択します。表示されない場合は、ステップ 2 で Service principals can use Fabric APIs 設定を有効にしたことを確認してください。
- ロールのドロップダウンで Contributor を選択します。
これで、サービスプリンシパルはこのワークスペース内の Fabric ウェアハウスリソースに、それぞれの SQL エンドポイントを通じてアクセスできるようになります。これには Braze で使用するウェアハウスも含まれます。
ステップ 4: ソーステーブルを設定する
このセクションの手順では、PAYLOAD 列を持つテーブルを作成します。代わりに Data definition ステップでデータを整形する予定の場合は、既存のテーブルまたはビューを使用できます。その場合はテーブル作成ステップをスキップし、同期したいテーブルまたはビューへの読み取りアクセス権を Braze に付与してください。各オプションの比較については、データ定義オプションを選択するを参照してください。
Braze は Fabric ウェアハウスのテーブルとビューの両方をサポートしています。新しいウェアハウスを作成する必要がある場合は、ステップ 3 の共有ワークスペース内に作成してください。Fabric コンソールで Create > Data Warehouse > Warehouse に移動します。
ウェアハウス、スキーマ、テーブルまたはビューには任意の名前を付けられますが、列名は以下のタブの定義と一致させる必要があります。

PAYLOAD 列を使用する場合、ソーステーブルまたはビューには、以下のタブに記載されていない列 (監査用やハッシュ用など) を含めることができます。Braze はこれらのタブに記載されている列のみを読み取り、その他の列はクラウドデータ取り込みの同期では使用されません。
同期したいデータタイプのタブを選択してください。
ユーザー属性、カスタムイベント、購入イベントはすべて同じ形のソーステーブルを使用します。異なるのは PAYLOAD の内容のみです。
CREATE OR ALTER TABLE [warehouse].[schema].[CDI_table_name]
(
UPDATED_AT DATETIME2(6) NOT NULL,
PAYLOAD VARCHAR NOT NULL,
--at least one of external_id, alias_name and alias_label, email, phone, or braze_id is required
EXTERNAL_ID VARCHAR,
--if using user alias, both alias_name and alias_label are required
ALIAS_NAME VARCHAR,
ALIAS_LABEL VARCHAR,
--braze_id can only be used to update existing users created through the Braze SDK
BRAZE_ID VARCHAR,
--If you include both email and phone, email is used as the primary identifier
EMAIL VARCHAR,
PHONE VARCHAR
)
GO
UPDATED_AT- この行がテーブルで更新または追加された時刻です。Brazeは、UPDATED_ATが最後に同期された値より後の行を同期します。境界となるタイムスタンプとまったく同じ時刻の行は、新しい行が同じタイムスタンプを共有している場合、再同期されることがあります。- ユーザー識別子列 - テーブルには、1つ以上のユーザー識別子列を含めることができます。各行には識別子を1つだけ含めてください (
external_id、alias_nameとalias_labelの組み合わせ、braze_id、email、phoneのいずれか)。ソーステーブルには、1つ、2つ、3つ、4つ、または5つすべての識別子タイプの列を含めることができます。EXTERNAL_ID- 更新するユーザーを識別します。Brazeで使用されているexternal_idの値と一致している必要があります。ALIAS_NAMEとALIAS_LABEL- この2つの列でユーザーエイリアスオブジェクトを作成します。alias_nameは一意の識別子である必要があり、alias_labelはエイリアスのタイプを指定します。ユーザーは異なるラベルを持つ複数のエイリアスを持つことができますが、alias_labelごとに持てるalias_nameは1つだけです。BRAZE_ID- Brazeのユーザー識別子です。これはBraze SDKによって生成されるもので、Cloud Data Ingestionを通じてBraze IDを使用して新しいユーザーを作成することはできません。新しいユーザーを作成するには、外部ユーザー IDまたはユーザーエイリアスを指定してください。EMAIL- ユーザーのメールアドレスです。同じメールアドレスを持つプロファイルが複数存在する場合、最後に更新されたプロファイルが優先的に更新されます。メールと電話番号の両方を含める場合は、メールがプライマリ識別子として使用されます。PHONE- ユーザーの電話番号です。同じ電話番号を持つプロファイルが複数存在する場合、最後に更新されたプロファイルが優先的に更新されます。
PAYLOAD- Braze のユーザーに同期したいフィールドの JSON 文字列です。
属性の同期では、PAYLOAD はユーザー属性オブジェクトの形式に従います。階層化カスタム属性、オブジェクトの配列、購読グループのステータスを含めることができます。ペイロードの例については、テーブルの設定を参照してください。
カスタムイベントは、ユーザー属性と同じソーステーブルを使用します。User attributes タブに示されているテーブルを作成し、PAYLOAD にイベントオブジェクトを入力します。
イベントを同期するには、イベント名が必須です。time フィールドは ISO 8601 文字列、または yyyy-MM-dd'T'HH:mm:ss:SSSZ 形式でフォーマットしてください。time フィールドがない場合、Braze は UPDATED_AT 列の値をイベント時刻として使用します。app_id や properties などのその他のフィールドは任意です。
1 行につき 1 つのイベントを同期できます。
{
"app_id" : "your-app-id",
"name" : "rented_movie",
"time" : "2013-07-16T19:20:45+01:00",
"properties": {
"movie": "The Sad Egg",
"director": "Alex Smith"
}
}
購入イベントは、ユーザー属性と同じソーステーブルを使用します。User attributes タブに示されているテーブルを作成し、PAYLOAD に購入オブジェクトを入力します。
購入イベントを同期するには、product_id、currency、price が必須です。任意の time フィールドは ISO 8601 文字列、または yyyy-MM-dd'T'HH:mm:ss:SSSZ 形式でフォーマットしてください。time フィールドがない場合、Braze は UPDATED_AT 列の値をイベント時刻として使用します。app_id、quantity、properties などのその他のフィールドは任意です。
1 行につき 1 つの購入イベントを同期できます。
{
"app_id" : "11ae5b4b-2445-4440-a04f-bf537764c9ad",
"product_id" : "Completed Order",
"currency" : "USD",
"price" : 219.98,
"time" : "2013-07-16T19:20:30+01:00",
"properties" : {
"products" : [ { "name": "Monitor", "category": "Gaming", "product_amount": 19.99 },
{ "name": "Gaming Keyboard", "category": "Gaming ", "product_amount": 199.99 }
]
}
}
カタログ同期を作成する前に、Braze で対象のカタログを作成してください。カタログのワークフロー全体については、カタログデータを同期および削除するを参照してください。
CREATE OR ALTER TABLE [warehouse].[schema].[CDI_table_name]
(
UPDATED_AT DATETIME2(6) NOT NULL,
PAYLOAD VARCHAR NOT NULL,
ID VARCHAR NOT NULL,
DELETED BIT
)
GO
統合の名前は、Braze で作成したカタログの名前と完全に一致している必要があります。
同期を実行するたびにソーステーブルが完全に更新されるよう、Braze ではカタログデータからビューを作成することをおすすめします。たとえば、id と 4 つの追加属性を持つ商品データのテーブル (product_catalog) がある場合、次のビューを同期できます。
CREATE VIEW [braze].[user_update_example]
AS SELECT
id as ID,
CURRENT_TIMESTAMP as UPDATED_AT,
JSON_OBJECT('attribute_1':attribute_1, 'attribute_2':attribute_2, 'attribute_3':attribute_3, 'attribute_4':attribute_4) as PAYLOAD
FROM [braze].[product_catalog] ;
データオブジェクト同期を作成する前に、Braze でデータオブジェクトタイプとそのフィールドを作成してください。ワークフロー全体については、データオブジェクトを同期するを参照してください。
CREATE OR ALTER TABLE [warehouse].[schema].[ACCOUNTS_SYNC]
(
UPDATED_AT DATETIME2(6) NOT NULL,
OBJECT_ID VARCHAR NOT NULL,
PAYLOAD VARCHAR NOT NULL,
--the data object record associated with this OBJECT_ID should be deleted
DELETED BIT
)
GO
| フィールド名 | タイプ | モード |
|---|---|---|
UPDATED_AT |
DATETIME2 | REQUIRED |
OBJECT_ID |
VARCHAR | REQUIRED |
PAYLOAD |
VARCHAR | REQUIRED |
DELETED |
BIT | NULLABLE |
UPDATED_AT- この行がテーブルで更新された時刻、またはテーブルに追加された時刻です。Brazeは、UPDATED_ATが最後に同期された値より後の行を同期します。境界のタイムスタンプとまったく同じ時刻の行は、新しい行が同じタイムスタンプを持つ場合に再同期されることがあります。OBJECT_ID- データオブジェクトレコードの識別子です。この値は、このデータオブジェクトタイプに対してBrazeで使用されているobject_idの値と一致する必要があります。PAYLOAD- 同期するフィールドと値のJSON文字列です。各キーは、Brazeのデータオブジェクトタイプで定義されたフィールドと一致する必要があります。DELETED-trueの場合、Brazeはレコードを更新する代わりに削除します。作成または更新する行では、この値をnullまたはfalseのままにしてください。
PAYLOAD内のフィールド名では大文字と小文字が区別されます。NAMEという名前のキーは、nameという名前のフィールドとは一致しません。大文字と小文字が一致しない場合、検証ではそのキーが未定義のフィールドとしてレポートされ、本来値を入力する予定だったフィールドが欠落しているとレポートされます。キーには、データ設定 > データオブジェクトに表示されるフィールド名とまったく同じ名前を付けてください。
Brazeは同期中にデータオブジェクトタイプを作成または変更しません。同期を作成する前に、Brazeでタイプとそのすべてのフィールドを定義してください。後からフィールドを追加する場合は、まずタイプにフィールドを追加してから、ソーステーブルまたはクエリを更新してください。
たとえば、name フィールドと team_id フィールドを持つアカウントの PAYLOAD 値は次のようになります。
{"name": "Acme Corp", "team_id": 42}
Data definition ステップで Data Objects データタイプを選択し、Data object type を選択します。データオブジェクト同期は Table と SQL をサポートしています。
この同期を使用して、ユーザーをデータオブジェクトレコードに関連付けます (ユーザーを所属するアカウントにリンクするなど)。同期する前に、Braze でリレーションシップを作成してください。
CREATE OR ALTER TABLE [warehouse].[schema].[ACCOUNT_USERS_SYNC]
(
UPDATED_AT DATETIME2(6) NOT NULL,
OBJECT_ID VARCHAR NOT NULL,
--at least one of external_id, alias_name and alias_label, email, or phone is required
EXTERNAL_ID VARCHAR,
--if using user alias, both alias_name and alias_label are required
ALIAS_NAME VARCHAR,
ALIAS_LABEL VARCHAR,
EMAIL VARCHAR,
PHONE VARCHAR,
PAYLOAD VARCHAR,
DELETED BIT
)
GO
| フィールド名 | タイプ | モード |
|---|---|---|
UPDATED_AT |
DATETIME2 | REQUIRED |
OBJECT_ID |
VARCHAR | REQUIRED |
EXTERNAL_ID |
VARCHAR | NULLABLE |
ALIAS_NAME |
VARCHAR | NULLABLE |
ALIAS_LABEL |
VARCHAR | NULLABLE |
EMAIL |
VARCHAR | NULLABLE |
PHONE |
VARCHAR | NULLABLE |
PAYLOAD |
VARCHAR | NULLABLE |
DELETED |
BIT | NULLABLE |
各行には、OBJECT_ID に加えて、少なくとも 1 つのユーザー識別子 (EXTERNAL_ID、ALIAS_NAME と ALIAS_LABEL の組み合わせ、EMAIL、または PHONE) が必要です。リレーションシップ自体に定義されたフィールドには PAYLOAD を使用します。

ユーザー属性の同期とは異なり、ユーザーリレーションシップの同期では BRAZE_ID はサポートされていません。前述の識別子のいずれかを使用してください。
UPDATED_AT- この行がテーブルで更新された時刻、またはテーブルに追加された時刻です。Brazeは、UPDATED_ATが最後に同期された値より後の行を同期します。境界のタイムスタンプとまったく同じ時刻の行は、新しい行が同じタイムスタンプを持つ場合に再同期されることがあります。OBJECT_ID- データオブジェクトレコードの識別子です。この値は、このデータオブジェクトタイプに対してBrazeで使用されているobject_idの値と一致する必要があります。PAYLOAD- 同期するフィールドと値のJSON文字列です。各キーは、Brazeのデータオブジェクトタイプで定義されたフィールドと一致する必要があります。DELETED-trueの場合、Brazeはレコードを更新する代わりに削除します。作成または更新する行では、この値をnullまたはfalseのままにしてください。
PAYLOAD内のフィールド名では大文字と小文字が区別されます。NAMEという名前のキーは、nameという名前のフィールドとは一致しません。大文字と小文字が一致しない場合、検証ではそのキーが未定義のフィールドとしてレポートされ、本来値を入力する予定だったフィールドが欠落しているとレポートされます。キーには、データ設定 > データオブジェクトに表示されるフィールド名とまったく同じ名前を付けてください。
Brazeは同期中にデータオブジェクトタイプを作成または変更しません。同期を作成する前に、Brazeでタイプとそのすべてのフィールドを定義してください。後からフィールドを追加する場合は、まずタイプにフィールドを追加してから、ソーステーブルまたはクエリを更新してください。
Data definition ステップで Data Object User Relationships データタイプを選択し、User (Account-User) などの Relationship name を選択します。
この同期を使用して、データオブジェクトレコード同士を関連付けます (アカウントを親アカウントにリンクするなど)。同期する前に、Braze でリレーションシップを作成してください。
CREATE OR ALTER TABLE [warehouse].[schema].[ACCOUNT_SUBACCOUNTS_SYNC]
(
UPDATED_AT DATETIME2(6) NOT NULL,
OBJECT_ID VARCHAR NOT NULL,
RELATED_OBJECT_ID VARCHAR NOT NULL,
PAYLOAD VARCHAR,
DELETED BIT
)
GO
| フィールド名 | タイプ | モード |
|---|---|---|
UPDATED_AT |
DATETIME2 | REQUIRED |
OBJECT_ID |
VARCHAR | REQUIRED |
RELATED_OBJECT_ID |
VARCHAR | REQUIRED |
PAYLOAD |
VARCHAR | NULLABLE |
DELETED |
BIT | NULLABLE |
OBJECT_ID はリレーションシップの起点となるレコードで、RELATED_OBJECT_ID はリレーションシップの参照先となるレコードです。どちらもすべての行で必須です。リレーションシップ自体に定義されたフィールドには PAYLOAD を使用します。
UPDATED_AT- この行がテーブルで更新された時刻、またはテーブルに追加された時刻です。Brazeは、UPDATED_ATが最後に同期された値より後の行を同期します。境界のタイムスタンプとまったく同じ時刻の行は、新しい行が同じタイムスタンプを持つ場合に再同期されることがあります。OBJECT_ID- データオブジェクトレコードの識別子です。この値は、このデータオブジェクトタイプに対してBrazeで使用されているobject_idの値と一致する必要があります。PAYLOAD- 同期するフィールドと値のJSON文字列です。各キーは、Brazeのデータオブジェクトタイプで定義されたフィールドと一致する必要があります。DELETED-trueの場合、Brazeはレコードを更新する代わりに削除します。作成または更新する行では、この値をnullまたはfalseのままにしてください。
PAYLOAD内のフィールド名では大文字と小文字が区別されます。NAMEという名前のキーは、nameという名前のフィールドとは一致しません。大文字と小文字が一致しない場合、検証ではそのキーが未定義のフィールドとしてレポートされ、本来値を入力する予定だったフィールドが欠落しているとレポートされます。キーには、データ設定 > データオブジェクトに表示されるフィールド名とまったく同じ名前を付けてください。
Brazeは同期中にデータオブジェクトタイプを作成または変更しません。同期を作成する前に、Brazeでタイプとそのすべてのフィールドを定義してください。後からフィールドを追加する場合は、まずタイプにフィールドを追加してから、ソーステーブルまたはクエリを更新してください。
Data definition ステップで Data Object Relationships データタイプを選択し、Subaccount (Account-Account) などの Relationship name を選択します。
キャンバストリガーは、ゼロコピーパーソナライゼーションを実現します。送信先キャンバスの設定と考慮事項については、ゼロコピーパーソナライゼーションを参照してください。
CREATE OR ALTER TABLE [warehouse].[schema].[CDI_table_name]
(
UPDATED_AT DATETIME2(6) NOT NULL,
PROPERTIES VARCHAR NOT NULL,
--at least one of external_id or alias_name and alias_label is required
EXTERNAL_ID VARCHAR,
--if using user alias, both alias_name and alias_label are required
ALIAS_NAME VARCHAR,
ALIAS_LABEL VARCHAR
)
GO
キャンバストリガーの同期は、他のユーザーデータの同期と次の3点で異なります。
- external ID またはユーザーエイリアスの識別子のみがサポートされています。メールアドレスと電話番号は識別子としてサポートされていません。
- 同期できるのは既存の Braze ユーザーのみです。新しいユーザーを作成することはできません。
PAYLOAD列の代わりにPROPERTIES列を使用します。これは、パーソナライゼーション用のキャンバスエントリプロパティとして使用するフィールドの JSON 文字列です。
キャンバストリガーテーブルには、次の列が必要です。
UPDATED_AT- この行がテーブルで更新または追加された時刻です。Brazeは、UPDATED_ATが最後に同期された値よりも後の行を同期します。境界となるタイムスタンプとまったく同じタイムスタンプを持つ行は、新しい行が同じタイムスタンプを持つ場合に再同期されることがあります。- ユーザー識別子の列として、
EXTERNAL_ID、またはALIAS_NAMEとALIAS_LABELのいずれか。これらの列は、キャンバスメッセージングをトリガーする対象のユーザーを識別します。EXTERNAL_ID- キャンバスにエントリさせるユーザーを識別します。この値は、Brazeで使用されるexternal_idの値と一致する必要があります。ALIAS_NAMEとALIAS_LABEL- これらの列はユーザーエイリアスオブジェクトを作成します。alias_nameは一意の識別子である必要があり、alias_labelはエイリアスのタイプを指定します。ユーザーは異なるラベルを持つ複数のエイリアスを持つことができますが、1つのalias_labelにつきalias_nameは1つのみです。
PROPERTIES- キャンバスでパーソナライゼーションプロパティとして使用できるようにするフィールドの JSON 文字列です。ユーザー固有の情報を含める必要があります。

プロパティは、すべての行やユーザーに必須というわけではありません。ただし、プロパティの値は有効な JSON 文字列である必要があります。行にプロパティがない場合は、空の {} 文字列を入力してください。
サービスプリンシパルを作成し、権限を付与します。別の同期ですでに認証情報を持っている場合は再利用できますが、その認証情報がキャンバストリガーのテーブルにアクセスできることを確認してください。
開始するには、新しい同期を作成する際に キャンバス Triggers データタイプを選択します。
ユーザー削除用のソーステーブルには、1つ以上のユーザー識別子タイプと UPDATED_AT タイムスタンプを含める必要があります。ユーザー削除データでは、ペイロード列はサポートされていません。
UPDATED_AT- この行がテーブルで更新または追加された時刻です。Braze は、UPDATED_ATが最後に同期された値よりも後の行を同期します。新しい行が境界のタイムスタンプとまったく同じタイムスタンプを持つ場合、その境界タイムスタンプの行が再同期されることがあります。- ユーザー識別子列 - 各行には識別子を1つだけ含める必要があります。
external_id、alias_nameとalias_labelの組み合わせ、またはbraze_idのいずれかです。ソーステーブルには、1つ、2つ、または3つすべての識別子タイプの列を含めることができます。EXTERNAL_ID- 更新するユーザーを識別します。これは、Braze で使用されているexternal_idの値と一致する必要があります。ALIAS_NAMEとALIAS_LABEL- これら2つの列によってユーザーエイリアスオブジェクトが作成されます。alias_nameは一意の識別子である必要があり、alias_labelはエイリアスのタイプを指定します。ユーザーは異なるラベルを持つ複数のエイリアスを持つことができますが、alias_labelごとに持てるalias_nameは1つだけです。BRAZE_ID- Braze のユーザー識別子です。これは Braze SDKによって生成されるもので、Cloud Data Ingestion を通じて Braze ID を使用して新しいユーザーを作成することはできません。新しいユーザーを作成するには、外部ユーザー ID またはユーザーエイリアスを指定してください。

ユーザー削除用のテーブルには PAYLOAD 列を含めないでください。ユーザーが誤って完全に削除されるのを防ぐため、ソーステーブルにペイロード列が含まれている場合、同期は失敗します。その他の列は含めてもかまいませんが、Braze では無視されます。
CREATE OR ALTER TABLE [warehouse].[schema].[users_deletes]
(
UPDATED_AT DATETIME2(6) NOT NULL,
--at least one of external_id, alias_name and alias_label, or braze_id is required
EXTERNAL_ID VARCHAR,
--if using user alias, both alias_name and alias_label are required
ALIAS_NAME VARCHAR,
ALIAS_LABEL VARCHAR,
--braze_id can only be used to update existing users created through the Braze SDK
BRAZE_ID VARCHAR
)
GO
統合の実行時に適切なアクションが実行されるよう、Create import sync ページで Data Type を Delete Users に設定します。詳しくは、クラウドデータ取り込みでユーザーを削除するを参照してください。

ステップ 5:ウェアハウス接続文字列を取得する
ウェアハウスの SQL エンドポイントを取得するには、Fabric のワークスペースに移動し、アイテムリストでウェアハウス名にカーソルを合わせて、SQL 接続文字列をコピーを選択します。

ステップ 6: ファイアウォールで BrazeのIPを許可する (オプション)
Microsoft Fabric アカウントの設定によっては、Braze からのトラフィックを許可するために、ファイアウォールで次の IP アドレスを許可する必要がある場合があります。これを有効にする方法の詳細については、Entra Conditional Access に関するドキュメントを参照してください。
インスタンスUS-01、US-02、US-03、US-04、US-05、US-06、US-07の場合、関連するIPアドレスは次のとおりです。
23.21.118.19134.206.23.17350.16.249.952.4.160.21454.87.8.3454.156.35.25152.54.89.23818.205.178.15
インスタンスUS-08の場合、関連するIPアドレスは次のとおりです。
52.151.246.5152.170.163.18240.76.166.15740.76.166.17040.76.166.16740.76.166.16140.76.166.15640.76.166.16640.76.166.16040.88.51.7452.154.67.1740.76.166.8040.76.166.8440.76.166.8540.76.166.8140.76.166.7140.76.166.14440.76.166.145
インスタンスUS-10の場合、関連するIPアドレスは次のとおりです。
100.25.232.16435.168.86.17952.7.44.1173.92.153.1835.172.3.12950.19.162.19
インスタンスEU-01とEU-02の場合、関連するIPアドレスは次のとおりです。
52.58.142.24252.29.193.12135.158.29.22818.157.135.973.123.166.463.64.27.363.65.88.253.68.144.1883.70.107.88
インスタンスAU-01の場合、関連するIPアドレスは次のとおりです。
13.210.1.14513.211.70.15913.238.45.5452.65.73.16754.153.242.23954.206.45.213
インスタンスID-01の場合、関連するIPアドレスは次のとおりです。
108.136.157.246108.137.30.20716.78.128.7116.78.14.13416.78.162.20843.218.73.35
インスタンスJP-01の場合、関連するIPアドレスは次のとおりです。
13.159.155.21254.199.221.24113.192.23.1654.250.120.13918.181.114.2323.114.38.100
インスタンスKR-01の場合、関連するIPアドレスは次のとおりです。
43.200.215.452.79.67.17552.79.113.603.34.212.9254.116.134.2313.37.197.225
ステップ7:Braze ダッシュボードで新しいソースを作成する
Braze ダッシュボードで、データ設定 > クラウドデータ取り込み > ソース に移動し、データソースを追加 を選択してから、Microsoft Fabric を選択します。
ステップ7.1:Microsoft Fabric の接続情報を追加する
ソースの名前を決め、Microsoft Fabric の認証情報と設定を入力します。
- 認証情報名 は、Braze でこれらの認証情報を識別するためのラベルです。わかりやすい値を設定してください。
- ステップ1 で設定した認証方法の認証情報を入力します。Tenant ID, Principal ID, and Client Secretを入力します。
- 接続文字列 については、ステップ5 を参照してください。
ステップ7.2:接続をテストしてソースに接続する
次に、接続をテスト を選択します。成功したら、残りの設定を完了し、ソースに接続 をクリックします。接続に失敗した場合は、問題のトラブルシューティングに役立つエラーメッセージが表示されます。

ソースを作成するには、事前にテストを成功させる必要があります。作成ページを閉じると、ソースは保存されません。
ステップ8: Braze ダッシュボードで新しい同期を作成する
データ設定 > クラウドデータ取り込み > 同期に移動し、データ同期を作成を選択します。
同期の詳細を設定し、データを定義する
同期の名前を入力します。次に、アクティブなソースと同期データタイプを選択します。続いて、同期モードを選択してデータを定義します。その後、プレビューと検証を選択します。
検証が成功すると、データのプレビューが表示されます。次へ: 通知を選択して続行します。検証が失敗した場合は、問題のトラブルシューティングに役立つエラーメッセージが表示されます。

次のステップに進む前に、同期の検証を成功させる必要があります。同期作成ページを閉じる必要がある場合は、下書きとして保存を選択して作業内容を保存してください。
通知設定を追加する
同期エラー通知を受け取る連絡先メールアドレスを入力します。Brazeはこの連絡先情報を使用して、テーブルアクセスの予期しない喪失などの統合エラーに関する通知を送信します。
連絡先メールアドレスには、テーブルの欠落や権限の問題など、グローバルエラーまたは同期レベルのエラーの通知のみが送信されます。行レベルの問題は通知されません。グローバルエラーは、同期の実行を妨げる接続上の重大な問題を示しています。
このような問題には、次のようなものがあります。
- 接続の問題
- リソースの不足
- 権限の問題
- カタログ階層の容量不足 (カタログ同期のみ)
スケジュールを設定する
最後に、同期を非定期または定期として設定します。
非定期の同期は、ダッシュボードで 今すぐ同期 を選択するか、同期をトリガーするエンドポイントを呼び出したときにのみ実行されます。
定期的な同期は、最短で5分ごと、最長で月1回の間隔で実行できます。デフォルトでは、ダッシュボードで設定できる最短の間隔は15分です。これにより、ウェアハウスのコンピューティングコストとリクエスト量を管理しやすくなります。最短5分ごとに同期するには、Brazeサポートまたはカスタマーサクセスマネージャーにお問い合わせください。Brazeは定期的な同期をUTCでスケジュールします。

統合を下書きからアクティブ状態に移行するには、検証を成功させる必要があります。作成ページを閉じても統合は保存されるため、詳細ページに戻って変更を加え、検証を行うことができます。
同期を実行する
有効化すると、同期は設定時に構成したスケジュールで実行されます。スケジュール外で同期を実行したい場合や、最新のデータを取得したい場合は、今すぐ同期を選択します。この実行は、今後定期的にスケジュールされている同期には影響しません。データの更新時に同期を自動的に開始するには、パイプラインから同期をトリガーするエンドポイントを呼び出します。
追加の統合またはユーザーを設定する (オプション)
Braze では複数の統合を設定できます。追加の同期を作成する際、同じ Fabric アカウントに接続する場合は既存の認証情報を再利用できます。
複数の統合で同じユーザーを再利用する場合、そのユーザーをすべてのアクティブな同期から削除するまで、Braze ダッシュボードでそのユーザーを削除することはできません。
Microsoft Fabric を接続ソースとして使用する
接続ソースは、Braze にデータを同期する代わりに使えるゼロコピーの方法です。Braze は Fabric ウェアハウスに直接クエリを実行して CDI セグメントを作成するため、基になるデータはコピーされません。概念、制限事項、コストへの影響については、接続ソースを参照してください。
ステップ 1: 認証を設定し、アクセス権を付与する
ステップ 1、ステップ 2、ステップ 3 で説明されているものと同じ設定を行います。次に、ステップ 5 の説明に従ってウェアハウスの接続文字列を取得し、ステップ 6 の説明に従って Braze の IP を許可します。
Fabric ワークスペースでソースデータを設定し、サービスプリンシパルに権限を付与します。接続ソースは 1 つ以上のテーブルを参照できるため、接続ソースに含めたいすべてのテーブルに Braze のサービスプリンシパルがアクセスできる権限を持っていることを確認してください。
ステップ 2: Braze で接続ソースを作成する
データ設定 > クラウドデータ取り込み > 接続ソース に移動し、データソースを追加 を選択してから、Microsoft Fabric を選択します。
ソースの設定 で、以下を入力します。
- 認証情報: 認証情報名、接続文字列、および認証方法に応じたフィールド。Tenant ID, Principal ID, and Client Secretを入力します。
- 設定: データベース と スキーマ
ワークスペースで SSH トンネルで接続 が利用可能で、設定に必要な場合は、トンネルホスト、トンネルポート、トンネルユーザー名 も入力します。
接続ソースの名前を選択します。この名前は、新しい CDI セグメントエクステンションを作成する際に、利用可能なソースの一覧に表示されます。
このソースの最大実行時間を設定します。Braze は、最大実行時間を超えたクエリを自動的に中止します。許可される最大実行時間は 60 分です。実行時間を短くすると、Microsoft Fabric アカウントで発生するコストを削減できます。この設定は、同期やこのソースを使用する CDI セグメントエクステンションなど、このソースを通じて実行されるクエリに適用されます。

最大実行時間を 60 分に設定しているにもかかわらずクエリが常にタイムアウトする場合は、クエリの実行時間を最適化するか、Fabric の容量をスケーリングすることを検討してください。
接続をテスト を選択して、ユーザーに表示されるテーブルの一覧が想定どおりであることを確認し、完了 を選択します。これで接続ソースが作成され、CDI セグメントエクステンションで使用できるようになりました。
Braze では複数の接続ソースを設定できますが、各ソースはそれぞれ異なるスキーマに接続するように設定する必要があります。追加のソースを作成する際、同じ Azure アカウントに接続する場合は既存の認証情報を再利用できます。
既存の列からペイロードをフォーマットする
各属性を社内で個別の列に保存したい場合は、Brazeとの同期にデータを入力するために、それらの列をJSON文字列に変換する必要があります。Microsoft Fabricで次のクエリを使用して、ソース列をCDIフィールドにフォーマットします。
CREATE TABLE [braze].[users] (
attribute_1 VARCHAR,
attribute_2 VARCHAR,
attribute_3 VARCHAR,
attribute_4 VARCHAR,
user_id VARCHAR
)
GO
CREATE VIEW [braze].[user_update_example]
AS SELECT
user_id as EXTERNAL_ID,
CURRENT_TIMESTAMP as UPDATED_AT,
JSON_OBJECT('attribute_1':attribute_1, 'attribute_2':attribute_2, 'attribute_3':attribute_3, 'attribute_4':attribute_4) as PAYLOAD
FROM [braze].[users] ;
最適化に関するその他のガイダンスについては、クラウドデータ取り込みのベストプラクティスを参照してください。
トラブルシューティング
テスト接続の実行が遅い
テスト接続はデータウェアハウス上で実行されるため、容量を増やすと速度が向上する場合があります。
サービスプリンシパルのシークレットの有効期限が切れた
Azure では、サービスプリンシパルのシークレットに無期限の有効期限を設定できません。同期が認証エラーで失敗し始めた場合は、Microsoft Entra ID でクライアントシークレットを更新し、Braze の認証情報を更新してください。
SQL チェックを実行する場所
検証チェックは、CDI 統合で使用しているものと同じテーブルまたはビューに対して、Fabric SQL クエリエディターで直接実行してください。Fabric は LIMIT をサポートしていないため、TOP などの同等の構文を使用してください。
関連ページ
- 必須の列とペイロードの形式については、テーブルの設定を参照してください。
- 同期のスケジュール設定とデータポイントの効率化については、ベストプラクティスを参照してください。
- 同期実行のモニタリングについては、同期ログとオブザーバビリティを参照してください。
- すべてのソースに共通する質問については、よくある質問を参照してください。