Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DLK-1848] add faqs for CDI and data sharing #7390

Merged
merged 4 commits into from
May 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
nav_title: FAQs
article_title: Snowflake Data Sharing FAQs
page_order: 3
page_type: FAQ
description: "This article answers frequently asked questions about Snowflake data sharing."

---

# Frequently asked questions

### Is it possible to obfuscate PII data via Snowflake data sharing?
No, as of now that is not supported.

### Do I need data share for the same region or cross region?
Use data sharing for the same region in the following scenarios:
- Your Snowflake account is in US-EAST-1 (AWS) and your Braze dashboard region is in the US.
- Your Snowflake region is in EU-CENTRAL-1 and your Braze dashboard region is in the EU.

Otherwise, use data sharing for cross region.

### What should I do with my data share when I switch to a new Snowflake account?
You can delete the old data share associated with your old Snowflake account and then create a new share for the new account. All historical data will be available in the new share.

### Why don't I see data in my data share?
You might have used the wrong Snowflake account ID when creating your data share. The account ID on the data sharing dashboard must match the output of `CURRENT_ACCOUNT()` from your Snowflake account.

If your share is cross region, the data might not be immediately available. Depending on your data volume, it could take a few hours for data to sync to your region.


38 changes: 30 additions & 8 deletions _docs/_user_guide/data_and_analytics/cloud_ingestion/faqs.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
---
nav_title: FAQ
article_title: Cloud Data Ingestion FAQ
nav_title: FAQs
article_title: Cloud Data Ingestion FAQs
page_order: 100
page_type: FAQ
description: "This article covers some frequently asked questions for Cloud Data Ingestion"
description: "This article answers frequently asked questions about Cloud Data Ingestion."

---

# Frequently Asked Questions
# Frequently asked questions

### What should I do if I receive an email from Braze Support about errors in my CDI Sync?
### What should I do if I receive an email from Braze Support about errors in my CDI sync?
Here are the common types of emails you might receive regarding errors in CDI sync:
- **Error in CDI Sync [NAME]**
This type of email usually includes an error message that CDI encountered during the sync process. Often, it is due to a setup error. Some common issues include:
- CDI cannot access the data warehouse or table with the credentials set up in the integration. This could mean the credentials in CDI are incorrect or are misconfigured on the data warehouse. Check out [Data Warehouse Integrations]({{site.baseurl}}/user_guide/data_and_analytics/cloud_ingestion/integrations/) for more details.
- SQL error due to the table not being found. Update the integration with the correct database config or create matching resources (e.g., database/table) on the data warehouse.
- SQL error because the table wasn't found. Update the integration with the correct database configuration or create matching resources (for example, database/table) on the data warehouse.
- Catalog not found. The catalog set up in the integration does not exist in the Braze catalog. A catalog can be removed after the integration was set up. To resolve the issue, either update the integration to use a different catalog or create a new catalog that matches the catalog name in the integration.

- **Row Errors in your CDI Sync**
- **Row errors in your CDI sync**
This indicates that some data cannot be processed in the sync. To find out what is causing the errors, navigate to the CDI page in Braze. Open the **Sync Log** tab to check the error details for the sync job.

### How can I update my email alert preferences for CDI integrations?
Expand All @@ -26,4 +26,26 @@ Each integration has its own notification preference. Go to the CDI page and sel
### What to do if a future `UPDATED_AT` was synced in an integration?
CDI uses `UPDATED_AT` to decide what data is new. After a future `UPDATED_AT` is synced, any data prior to that future date and time will not be processed.

Users will need to clean up the data by correcting the `UPDATED_AT`, removing old data that were already synced to Braze, then create a new integration to process the table again.
You need to clean up the data by correcting the `UPDATED_AT` and removing old data that wasx already synced to Braze, and then create a new integration to process the table again.

### Why is the `Rows Synced` reported on the CDI dashboard different from the number of records in my warehouse? Or why doesn't the synced value match what I have in my warehouse?
CDI uses `UPDATED_AT` to decide which records to pick up during a sync. Check out [this illustration]({{site.baseurl}}/user_guide/data_and_analytics/cloud_ingestion/overview/#what-gets-synced) to see how it works. At the beginning of a sync run, CDI queries your warehouse to get all records with `UPDATED_AT` later than the previously processed value. Any record picked up at the time when the query executes will be synced into Braze. Here are common cases when a record might not be synced:
- You're adding records to the table with an `UPDATED_AT` value that has already been processed.
- You're updating record values after they have been processed by a sync, but leaving `UPDATED_AT` unchanged.
- You're adding or updating records while a sync is in progress. Depending on when the CDI query executes, there could be race conditions that lead to records not being picked up.

To avoid these behaviors, we recommend using monotonically increasing `UPDATED_AT` values and not updating the table during your scheduled sync run.

### Is order preserved when there are multiple records for the same ID in a sync?
The processing order is not 100% predictable. For example, if there are multiple rows with the same `EXTERNAL_ID` in the table during a sync, we cannot guarantee which value will end up in the final profile.

### What security measures are there in CDI?
On the CDI side:
- All credentials are encrypted within our database, and only certain employees have authenticated access to them.
- We use encrypted connections to get data to customer warehouses.
- We make requests to the Braze API endpoints using the same API keys and TLS connections that we recommend our customers use.
- We regularly update our libraries and get any security patches.

On your side:
- We highly recommend that you restrict the credential access to the minimum required for CDI to operate. This is because we need to be able to run select (and count) on the specific tables and views.
- You can restrict the IPs that can access the tables to the officially published [Braze IPs]({{site.baseurl}}/user_guide/data_and_analytics/cloud_ingestion/integrations/.#step-1-set-up-tables-or-views).
10 changes: 10 additions & 0 deletions _docs/_user_guide/data_and_analytics/cloud_ingestion/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -472,6 +472,16 @@ We have a public [GitHub repository](https://github.com/braze-inc/braze-examples

Any operations that are possible through the Braze `/users/track` endpoint are supported through Cloud Data Ingestion, including updating nested custom attributes, adding subscription status, and syncing custom events or purchases.

Fields within the payload should follow the same format as the corresponding `/users/track` endpoint. For detailed formatting requirements, refer to the following:

| Data type | Formatting specifications |
| --------- | ---------| --------- | ----------- |
| `attributes` | See [user attributes object]({{site.baseurl}}/api/objects_filters/user_attributes_object/) |
| `events` | See [events object]({{site.baseurl}}/api/objects_filters/event_object/) |
| `purchases` | See [purchases object]({{site.baseurl}}/api/objects_filters/purchase_object/) |

Note the special requirement for [capturing dates]({{site.baseurl}}/user_guide/data_and_analytics/custom_data/custom_attributes/nested_custom_attribute_support/#capturing-dates-as-object-properties) in nested attributes.

{% tabs local %}
{% tab Nested Custom Attributes %}
You may include nested custom attributes in the payload column for a custom attributes sync.
Expand Down