-
Notifications
You must be signed in to change notification settings - Fork 356
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #309 from segmentio/repo-sync
repo sync
- Loading branch information
Showing
5 changed files
with
193 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
105 changes: 105 additions & 0 deletions
105
src/connections/destinations/catalog/actions-talon-one/index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
--- | ||
title: Talon.One (Action) Destination | ||
hide-boilerplate: true | ||
hide-dossier: false | ||
hidden: true | ||
--- | ||
|
||
<!-- In the section above, edit the `title` field. For example, Slack (Actions) Destination --> | ||
|
||
{% include content/plan-grid.md name="actions" %} | ||
|
||
Create flexible and targeted promotional and loyalty campaigns with [Talon.One](https://www.talon.one/){:target="_blank"}. | ||
Campaigns can be created and managed by non-technical users like marketers. There is no need to | ||
get your development team involved. Features include coupons, discounts, loyalty | ||
programs, referral tracking, geofencing, and bundling. | ||
|
||
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"}. | ||
<!-- 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. --> | ||
|
||
> success "" | ||
> **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. | ||
## Benefits of Talon.One (Actions) vs Talon.One Classic | ||
|
||
Talon.One (Actions) allows you to share more data than the classic destination. | ||
The classic version only shares customer profile data. The Action version supports sharing the following data: | ||
|
||
- Customer profile data | ||
- Audience data | ||
- Tracking events | ||
|
||
<!-- 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. --> | ||
|
||
## Getting started | ||
|
||
### Creating an API key in Talon.One | ||
|
||
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: | ||
|
||
1. Open your Talon.One Application in the Campaign Manager and click **Settings > Developer settings**. | ||
1. Click **Create API Key**. | ||
1. For **Do you want to use this API Key with a 3rd party service**, select **Yes**. | ||
1. Select **Segment** from the dropdown. | ||
1. Select an expiry date and click **Create API Key**. | ||
1. Copy it for later use. | ||
|
||
### Adding a Talon.One destination | ||
|
||
To start sending data to Talon.One from Segment, create a Talon.One | ||
[destination](/docs/connections/destinations/) in Segment. | ||
|
||
1. In Segment, click **Destinations** > **Add Destination**. The **Destination catalog** opens. | ||
1. Search for **Talon.one** and configure the destination. | ||
1. Enter the details: | ||
- In **Name**, type a name, for example `Talon.One destination`. | ||
- In **API key**, paste the API key generated in the previous section. | ||
- In **Deployment**, type the URI of your Talon.One deployment, for example | ||
`https://mycompany.europe-west1.talon.one/`. | ||
1. (Optional) Set up your filters. | ||
1. Configure the mapping: | ||
1. Click **New Mapping** and select the type of action to perform in Talon.One. | ||
For example _When a new audience is created in Segment, also create it in Talon.One._ | ||
1. Configure the trigger and action fields. | ||
1. Click **Event Tester** and test if you received the data in Talon.One. | ||
|
||
Once you receive data, you can start creating rules that rely on that data. | ||
|
||
> warning "" | ||
> **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"}. | ||
### Testing the integration | ||
|
||
You can use the following payloads to test and fine-tune your requests. | ||
|
||
```json | ||
{ | ||
"messageId": "segment-test-message-t1kx8e", | ||
"timestamp": "2022-03-22T12:41:20.918Z", | ||
"type": "track", // or any other type in Segment | ||
"userId": "test-user-z65zqk", | ||
"event": "track-event", // or any other event in Segment | ||
"email": "[email protected]", | ||
"projectId": "qR6APLKpCBB3ue8pHkBLpo", | ||
"properties": { | ||
"eventType": "mySegmentEvent", | ||
"type": "boolean", | ||
"customerProfileId": "a_customer_id", | ||
"attributes": { | ||
"language": "English" // depends your custom attributes in Talon.One | ||
} | ||
} | ||
} | ||
``` | ||
|
||
### Next steps | ||
|
||
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"}. | ||
<!-- The line below renders a table of connection settings (if applicable), Pre-built Mappings, and available actions. --> | ||
|
||
{% include components/actions-fields.html %} | ||
<!-- If applicable, add information regarding the migration from a classic destination to an Actions-based version below --> | ||
|
||
## Migration from the classic Talon.One destination | ||
|
||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
--- | ||
title: Lake Formation | ||
--- | ||
|
||
{% include content/plan-grid.md name="data-lakes" %} | ||
|
||
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. | ||
|
||
> note "Learn more about Lake Formation features" | ||
> To learn more about Lake Formation features, refer to the [Amazon Web Services documentation](https://aws.amazon.com/lake-formation/features/){:target="_blank"}. | ||
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. | ||
|
||
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. | ||
|
||
## Configure Lake Formation | ||
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. | ||
|
||
> info "Permissions required to configure Data Lakes" | ||
> To configure Lake Formation, you must be logged in to AWS with data lake administrator or database creator permissions. | ||
### Configure Lake Formation using the IAMAllowedPrincipals group | ||
|
||
#### Existing databases | ||
1. Open the [AWS Lake Formation service](https://console.aws.amazon.com/lakeformation/){:target="_blank"}. | ||
2. Under **Data catalog**, select **Settings**. Ensure the checkboxes under the **Default permissions for newly created databases and tables** are not checked. | ||
3. Under **Permissions**, select the **Data lake permissions** section. Click **Grant**. | ||
4. On the **Grant data permissions** page, select the `IAMAllowedPrincipals` group in the Principals section. | ||
5. In the **Database permissions** section, select the checkboxes for **Super** database permissions and **Super** grantable permissions. | ||
6. Click **Grant**. | ||
7. On the **Permissions** page, verify the `IAMAllowedPrincipals` group has "All" permissions. | ||
|
||
#### New databases | ||
1. Open the [AWS Lake Formation service](https://console.aws.amazon.com/lakeformation/){:target="_blank"}. | ||
2. Under **Data catalog**, select **Settings**. Ensure the checkboxes under **Default permissions for newly created databases and tables** are not checked. | ||
3. Select the Databases tab and click **Create database**. On the **Create database** page: | ||
1. Select the **Database** button. | ||
2. Name your database. | ||
3. Set the location to `s3://$datalake_bucket/segment-data/`. <br/> **Optional:** Add a description to your database. | ||
4. Select the `Use only IAM access control for new tables in this database`. | ||
5. Click **Create database**. | ||
4. On the **Databases** page, select your database. From the **Actions** menu, select **Grant**. | ||
5. On the **Grant data permissions** page, select the `IAMAllowedPrincipals` group in the Principals section. | ||
6. In the **Database permissions** section, select the checkboxes for **Super** database permissions and **Super** grantable permissions. | ||
7. Click **Grant**. | ||
8. On the **Permissions** page, verify the `IAMAllowedPrincipals` group has "All" permissions. | ||
|
||
#### Verify your configuration | ||
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. | ||
|
||
### Configure Lake Formation using IAM policies | ||
|
||
> note "Granting Super permission to IAM roles" | ||
> 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. | ||
#### Existing databases | ||
1. Open the [AWS Lake Formation service](https://console.aws.amazon.com/lakeformation/){:target="_blank"}. | ||
2. Under **Data catalog**, select **Settings**. Ensure the checkboxes under the **Default permissions for newly created databases and tables** are not checked. | ||
3. On the **Databases** page, select your database. From the **Actions** menu, select **Grant**. | ||
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. | ||
6. In the **Database permissions** section, select the checkboxes for **Super** database permissions and **Super** grantable permissions. | ||
7. Click **Grant**. | ||
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. | ||
|
||
#### New databases | ||
1. Open the [AWS Lake Formation service](https://console.aws.amazon.com/lakeformation/){:target="_blank"}. | ||
2. Under **Data catalog**, select **Settings**. Ensure the checkboxes under the **Default permissions for newly created databases and tables** are not checked. | ||
3. Select the Databases tab and click **Create database**. On the **Create database** page: | ||
1. Select the **Database** button. | ||
2. Name your database. | ||
3. Set the location to `s3://$datalake_bucket/segment-data/`. <br/> **Optional:** Add a description to your database. | ||
4. Click **Create database**. | ||
4. On the **Databases** page, select your database. From the **Actions** menu, select **Grant**. | ||
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. | ||
6. In the **Database permissions** section, select the checkboxes for **Super** database permissions and **Super** grantable permissions. | ||
7. Click **Grant**. | ||
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. |