Skip to content

Commit d8fc21b

Browse files
Merge pull request #2726 from segmentio/develop
Release 22.14.3
2 parents b127141 + 24ec035 commit d8fc21b

File tree

5 files changed

+193
-5
lines changed

5 files changed

+193
-5
lines changed

Diff for: src/_data/sidenav/main.yml

+2
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,8 @@ sections:
192192
title: Set Up Data Lakes
193193
- path: /connections/storage/data-lakes/sync-reports
194194
title: Sync Reports and Error Reporting
195+
- path: /connections/storage/data-lakes/lake-formation
196+
title: AWS Lake Formation
195197
- path: /connections/storage/data-lakes/sync-history
196198
title: Data Lakes Sync History and Health
197199
- path: /connections/storage/data-lakes/comparison
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
---
2+
title: Talon.One (Action) Destination
3+
hide-boilerplate: true
4+
hide-dossier: false
5+
hidden: true
6+
---
7+
8+
<!-- In the section above, edit the `title` field. For example, Slack (Actions) Destination -->
9+
10+
{% include content/plan-grid.md name="actions" %}
11+
12+
Create flexible and targeted promotional and loyalty campaigns with [Talon.One](https://www.talon.one/){:target="_blank"}.
13+
Campaigns can be created and managed by non-technical users like marketers. There is no need to
14+
get your development team involved. Features include coupons, discounts, loyalty
15+
programs, referral tracking, geofencing, and bundling.
16+
17+
This destination is maintained by Talon.One. For any issues with the destination, [contact the Talon.One Support team](mailto:[email protected]) or refer to [Talon.One's documentation](https://docs.talon.one/docs/dev/technology-partners/segment){:target="_blank"}.
18+
<!-- In the section below, add your destination name where indicated. If you have a classic version of the destination, ensure that its documentation is linked as well. If you don't have a classic version of the destination, remove the second and third sentences. -->
19+
20+
> success ""
21+
> **Good to know**: This page is about the [Actions-framework](/docs/connections/destinations/actions/) Talon.One Segment destination. There's also a page about the [non-Actions Talon.One destination](/docs/connections/destinations/catalog/talonone/). Both of these destinations receive data from Segment.
22+
23+
## Benefits of Talon.One (Actions) vs Talon.One Classic
24+
25+
Talon.One (Actions) allows you to share more data than the classic destination.
26+
The classic version only shares customer profile data. The Action version supports sharing the following data:
27+
28+
- Customer profile data
29+
- Audience data
30+
- Tracking events
31+
32+
<!-- The section below explains how to enable and configure the destination. Include any configuration steps not captured below. For example, obtaining an API key from your platform and any configuration steps required to connect to the destination. -->
33+
34+
## Getting started
35+
36+
### Creating an API key in Talon.One
37+
38+
Segment needs a Talon.One-generated API key to be able to send data to your Talon.One Application. To generate an API key specific to Segment:
39+
40+
1. Open your Talon.One Application in the Campaign Manager and click **Settings > Developer settings**.
41+
1. Click **Create API Key**.
42+
1. For **Do you want to use this API Key with a 3rd party service**, select **Yes**.
43+
1. Select **Segment** from the dropdown.
44+
1. Select an expiry date and click **Create API Key**.
45+
1. Copy it for later use.
46+
47+
### Adding a Talon.One destination
48+
49+
To start sending data to Talon.One from Segment, create a Talon.One
50+
[destination](/docs/connections/destinations/) in Segment.
51+
52+
1. In Segment, click **Destinations** > **Add Destination**. The **Destination catalog** opens.
53+
1. Search for **Talon.one** and configure the destination.
54+
1. Enter the details:
55+
- In **Name**, type a name, for example `Talon.One destination`.
56+
- In **API key**, paste the API key generated in the previous section.
57+
- In **Deployment**, type the URI of your Talon.One deployment, for example
58+
`https://mycompany.europe-west1.talon.one/`.
59+
1. (Optional) Set up your filters.
60+
1. Configure the mapping:
61+
1. Click **New Mapping** and select the type of action to perform in Talon.One.
62+
For example _When a new audience is created in Segment, also create it in Talon.One._
63+
1. Configure the trigger and action fields.
64+
1. Click **Event Tester** and test if you received the data in Talon.One.
65+
66+
Once you receive data, you can start creating rules that rely on that data.
67+
68+
> warning ""
69+
> **Important**: You might need to create custom attributes in Talon.One to be able to map the data from Segment in Talon.One. See the [Talon.One docs](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-custom-attributes){:target="_blank"}.
70+
71+
### Testing the integration
72+
73+
You can use the following payloads to test and fine-tune your requests.
74+
75+
```json
76+
{
77+
"messageId": "segment-test-message-t1kx8e",
78+
"timestamp": "2022-03-22T12:41:20.918Z",
79+
"type": "track", // or any other type in Segment
80+
"userId": "test-user-z65zqk",
81+
"event": "track-event", // or any other event in Segment
82+
"email": "[email protected]",
83+
"projectId": "qR6APLKpCBB3ue8pHkBLpo",
84+
"properties": {
85+
"eventType": "mySegmentEvent",
86+
"type": "boolean",
87+
"customerProfileId": "a_customer_id",
88+
"attributes": {
89+
"language": "English" // depends your custom attributes in Talon.One
90+
}
91+
}
92+
}
93+
```
94+
95+
### Next steps
96+
97+
Once you receive data from Segment inside Talon.One, start creating your rules in the Campaign Manager. See the [Talon.One documentation](https://docs.talon.one/docs/product/rules/overview){:target="_blank"}.
98+
<!-- The line below renders a table of connection settings (if applicable), Pre-built Mappings, and available actions. -->
99+
100+
{% include components/actions-fields.html %}
101+
<!-- If applicable, add information regarding the migration from a classic destination to an Actions-based version below -->
102+
103+
## Migration from the classic Talon.One destination
104+
105+
To prevent duplicate events being created in Talon.One, ensure that for each Segment source, this destination and the classic Talon.One destination are not both enabled at the same time.

Diff for: src/connections/destinations/catalog/talonone/index.md

+4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ title: Talon.One Destination
44
beta: true
55
id: 5de7c705e7d93d5e24742a04
66
---
7+
8+
> warning ""
9+
> Segment and Talon.One recommend you use the [Talon.One (Action) Destination](/docs/connections/destinations/catalog/slack/) instead.
10+
711
Create flexible and targeted promotional & loyalty campaigns with [Talon.One](https://Talon.One/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners).
812
Campaigns can be created and managed by non-technical users such as marketeers. There is no need to get your development team involved. Features include coupons, discounts, loyalty programs, referral tracking, geo-fencing, and bundling.
913

Diff for: src/connections/storage/catalog/data-lakes/index.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ redirect_from: '/connections/destinations/catalog/data-lakes/'
55
{% include content/plan-grid.md name="data-lakes" %}
66

77

8-
Segment Data Lakes provide a way to collect large quantities of data in a format that's optimized for targeted data science and data analytics workflows. You can read [more information about Data Lakes](/docs/connections/storage/data-lakes/) and learn [how they differ from Warehouses](/docs/connections/storage/data-lakes/comparison/) in our documentation.
8+
Segment Data Lakes provide a way to collect large quantities of data in a format that's optimized for targeted data science and data analytics workflows. You can read [more information about Data Lakes](/docs/connections/storage/data-lakes/) and learn [how they differ from Warehouses](/docs/connections/storage/data-lakes/comparison/) in Segment's Data Lakes documentation.
99

10-
> info ""
11-
> Segment Data Lakes is available to Business tier customers only.
10+
> note "Lake Formation"
11+
> You can also set up your Data Lakes using [Lake Formation](/docs/connections/storage/data-lakes/lake-formation/), a fully managed service built on top of the AWS Glue Data Catalog.
1212
1313
## Pre-Requisites
1414

@@ -20,9 +20,9 @@ Before you set up Segment Data Lakes, you need the following resources:
2020

2121
## Step 1 - Set Up AWS Resources
2222

23-
You can use the [open source Terraform module](https://github.com/segmentio/terraform-aws-data-lake) to automate much of the set up work to get Data Lakes up and running. If you’re familiar with Terraform, you can modify the module to meet your organization’s needs, however Segment guarantees support only for the template as provided. The Data Lakes set up uses Terraform v0.11+. To support more versions of Terraform, the aws provider must use v2, which is included in our example main.tf.
23+
You can use the [open source Terraform module](https://github.com/segmentio/terraform-aws-data-lake) to automate much of the set up work to get Data Lakes up and running. If you’re familiar with Terraform, you can modify the module to meet your organization’s needs, however Segment guarantees support only for the template as provided. The Data Lakes set up uses Terraform v0.11+. To support more versions of Terraform, the AWS provider must use v2, which is included in our example main.tf.
2424

25-
You can also use our [manual set up instructions](/docs/connections/storage/data-lakes/data-lakes-manual-setup) to configure these AWS resources if you prefer.
25+
You can also use Segment's [manual set up instructions](/docs/connections/storage/data-lakes/data-lakes-manual-setup) to configure these AWS resources if you prefer.
2626

2727
The Terraform module and manual set up instructions both provide a base level of permissions to Segment (for example, the correct IAM role to allow Segment to create Glue databases on your behalf). If you want stricter permissions, or other custom configurations, you can customize these manually.
2828

Diff for: src/connections/storage/data-lakes/lake-formation.md

+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
title: Lake Formation
3+
---
4+
5+
{% include content/plan-grid.md name="data-lakes" %}
6+
7+
Lake Formation is a fully managed service built on top of the AWS Glue Data Catalog that provides one central set of tools to build and manage a Data Lake. These tools help import, catalog, transform, and deduplicate data, as well as provide strategies to optimize data storage and security.
8+
9+
> note "Learn more about Lake Formation features"
10+
> To learn more about Lake Formation features, refer to the [Amazon Web Services documentation](https://aws.amazon.com/lake-formation/features/){:target="_blank"}.
11+
12+
The security policies in Lake Formation use two layers of permissions: each resource is protected by Lake Formation permissions (which control access to Data Catalog resources and S3 locations) and IAM permissions (which control access to Lake Formation and AWS Glue API resources). When any user or role reads or writes to a resource, that action must pass a both a Lake Formation and an IAM resource check: for example, a user trying to create a new table in the Data Catalog may have Lake Formation access to the Data Catalog, but if they don't have the correct Glue API permissions, they will be unable to create the table.
13+
14+
For more information about security practices in Lake Formation, see Amazon's [Lake Formation Permissions Reference](https://docs.aws.amazon.com/lake-formation/latest/dg/lf-permissions-reference.html){:target="_blank"} documentation.
15+
16+
## Configure Lake Formation
17+
You can configure Lake Formation using the [`IAMAllowedPrincipals` group](#configure-lake-formation-using-the-iamallowedprincipals-group) or by [using IAM policies for access control](#configure-lake-formation-using-iam-policies). Configuring Lake Formation using the `IAMAllowedPrincipals` group is an easier method, recommended for those exploring Lake Formation. Setting up Lake Formation using IAM policies for access control is a more advanced setup option, recommended for those who want additional customization options.
18+
19+
> info "Permissions required to configure Data Lakes"
20+
> To configure Lake Formation, you must be logged in to AWS with data lake administrator or database creator permissions.
21+
22+
### Configure Lake Formation using the IAMAllowedPrincipals group
23+
24+
#### Existing databases
25+
1. Open the [AWS Lake Formation service](https://console.aws.amazon.com/lakeformation/){:target="_blank"}.
26+
2. Under **Data catalog**, select **Settings**. Ensure the checkboxes under the **Default permissions for newly created databases and tables** are not checked.
27+
3. Under **Permissions**, select the **Data lake permissions** section. Click **Grant**.
28+
4. On the **Grant data permissions** page, select the `IAMAllowedPrincipals` group in the Principals section.
29+
5. In the **Database permissions** section, select the checkboxes for **Super** database permissions and **Super** grantable permissions.
30+
6. Click **Grant**.
31+
7. On the **Permissions** page, verify the `IAMAllowedPrincipals` group has "All" permissions.
32+
33+
#### New databases
34+
1. Open the [AWS Lake Formation service](https://console.aws.amazon.com/lakeformation/){:target="_blank"}.
35+
2. Under **Data catalog**, select **Settings**. Ensure the checkboxes under **Default permissions for newly created databases and tables** are not checked.
36+
3. Select the Databases tab and click **Create database**. On the **Create database** page:
37+
1. Select the **Database** button.
38+
2. Name your database.
39+
3. Set the location to `s3://$datalake_bucket/segment-data/`. <br/> **Optional:** Add a description to your database.
40+
4. Select the `Use only IAM access control for new tables in this database`.
41+
5. Click **Create database**.
42+
4. On the **Databases** page, select your database. From the **Actions** menu, select **Grant**.
43+
5. On the **Grant data permissions** page, select the `IAMAllowedPrincipals` group in the Principals section.
44+
6. In the **Database permissions** section, select the checkboxes for **Super** database permissions and **Super** grantable permissions.
45+
7. Click **Grant**.
46+
8. On the **Permissions** page, verify the `IAMAllowedPrincipals` group has "All" permissions.
47+
48+
#### Verify your configuration
49+
To verify that you've configured Lake Formation, open the [AWS Lake Formation service](https://console.aws.amazon.com/lakeformation/){:target="_blank"}, select **Data lake permissions**, and verify the `IAMAllowedPrincipals` group is listed with "All" permissions.
50+
51+
### Configure Lake Formation using IAM policies
52+
53+
> note "Granting Super permission to IAM roles"
54+
> If you manually configured your database, assign the `EMR_EC2_DefaultRole` Super permissions in step 8. If you configured your database using Terraform, assign the `segment_emr_instance_profile` Super permissions in step 8.
55+
56+
#### Existing databases
57+
1. Open the [AWS Lake Formation service](https://console.aws.amazon.com/lakeformation/){:target="_blank"}.
58+
2. Under **Data catalog**, select **Settings**. Ensure the checkboxes under the **Default permissions for newly created databases and tables** are not checked.
59+
3. On the **Databases** page, select your database. From the **Actions** menu, select **Grant**.
60+
5. On the **Grant data permissions** page, select the `EMR_EC2_DefaultRole` (or `segment_emr_instance_profile`, if you configured your data lake using Terraform) and `segment-data-lake-iam-role` roles in the Principals section.
61+
6. In the **Database permissions** section, select the checkboxes for **Super** database permissions and **Super** grantable permissions.
62+
7. Click **Grant**.
63+
8. On the **Permissions** page, verify the `EMR_EC2_DefaultRole` (or `segment_emr_instance_profile`) and `segment-data-lake-iam-role` roles have "All" permissions.
64+
65+
#### New databases
66+
1. Open the [AWS Lake Formation service](https://console.aws.amazon.com/lakeformation/){:target="_blank"}.
67+
2. Under **Data catalog**, select **Settings**. Ensure the checkboxes under the **Default permissions for newly created databases and tables** are not checked.
68+
3. Select the Databases tab and click **Create database**. On the **Create database** page:
69+
1. Select the **Database** button.
70+
2. Name your database.
71+
3. Set the location to `s3://$datalake_bucket/segment-data/`. <br/> **Optional:** Add a description to your database.
72+
4. Click **Create database**.
73+
4. On the **Databases** page, select your database. From the **Actions** menu, select **Grant**.
74+
5. On the **Grant data permissions** page, select the `EMR_EC2_DefaultRole` (or `segment_emr_instance_profile`, if you configured your data lake using Terraform) and `segment-data-lake-iam-role` roles in the Principals section.
75+
6. In the **Database permissions** section, select the checkboxes for **Super** database permissions and **Super** grantable permissions.
76+
7. Click **Grant**.
77+
8. On the **Permissions** page, verify the `EMR_EC2_DefaultRole` (or `segment_emr_instance_profile`) and `segment-data-lake-iam-role` roles have "All" permissions.

0 commit comments

Comments
 (0)