Skip to content

Commit 7cc7c1e

Browse files
authored
Merge pull request #2160 from segmentio/develop
Release 21.46.3
2 parents 2b10fbc + ab0bea5 commit 7cc7c1e

File tree

10 files changed

+258
-179
lines changed

10 files changed

+258
-179
lines changed

src/_data/catalog/destination_categories.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
2-
# destination categories last updated 2021-11-17
2+
# destination categories last updated 2021-11-18
33
items:
44
- display_name: A/B Testing
55
slug: a-b-testing

src/_data/catalog/destinations.yml

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
2-
# destination data last updated 2021-11-17
2+
# destination data last updated 2021-11-18
33
items:
44
- display_name: 2mee
55
name: 2mee
@@ -2197,8 +2197,10 @@ items:
21972197
URL Params, GLCID Once Per Session" setting isn't giving the desired
21982198
behavior, this setting will fix it. Note: This setting may cause Amplitude
21992199
to not fully respect the "Prefer Anonymous ID for Device ID" setting
2200-
(Amplitude may set the device ID once before it gets set to the proper
2201-
Anonymous ID).
2200+
(Amplitude may set the device ID upon initialization before it gets set to
2201+
the proper Anonymous ID) if using Analytics.js 1.0. Consider [updating to
2202+
Analytics.js 2.0]
2203+
(https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/upgrade-to-ajs2/)
22022204
required: false
22032205
label: Use Amplitude Referral
22042206
- name: useCustomAmplitudeProperties
@@ -14017,15 +14019,6 @@ items:
1401714019
include the entire URL including the `//`.
1401814020
required: false
1401914021
label: Marketo Form URL
14020-
- name: privateKey
14021-
type: string
14022-
defaultValue: ''
14023-
description: >-
14024-
**Device Mode Only**: You can find your API Private Key under **Admin >
14025-
Integration > Munchkin > API Configuration** in your [Marketo
14026-
account](https://login.marketo.com/).
14027-
required: false
14028-
label: API Private Key
1402914022
- name: traits
1403014023
type: mixed
1403114024
defaultValue: []

src/_data/catalog/source_categories.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
2-
# source cateogries last updated 2021-11-17
2+
# source cateogries last updated 2021-11-18
33
items:
44
- display_name: A/B Testing
55
slug: a-b-testing

src/_data/catalog/sources.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
2-
# sources last updated 2021-11-17
2+
# sources last updated 2021-11-18
33
items:
44
- display_name: .NET
55
slug: net

src/_data/sidenav/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ sections:
77
- path: /getting-started/01-what-is-segment
88
title: What is Segment?
99
- path: /getting-started/02-simple-install
10-
title: A Simple Segment Installation
10+
title: A Basic Segment Installation
1111
- path: /getting-started/03-planning-full-install
1212
title: Planning a Full Installation
1313
- path: /getting-started/04-full-install

src/connections/destinations/catalog/actions-google-enhanced-conversions/index.md

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -46,20 +46,19 @@ Actions define which events Segment sends to Google Enhanced Conversions, and th
4646
2. Click **Add Subscription**, and select **Post Conversion**.
4747
3. Configure the **Event Trigger**. For example, you can trigger the action whenever the source sends an Event named `Purchase`. Click **Continue** to configure the action fields, skip Testing for now. ![The action fires when it receives an event named Purchase](images/gec_trigger.png)
4848
4. Enter the Conversion Label. Find it using the instructions in the article [Google Ads conversions](https://support.google.com/tagmanager/answer/6105160?hl=en){:target="_blank"}.
49-
5. Configure the remaining properties. The **Email** field is not editable. In the default configuration, `properties.email` maps to the Email property in Google Enhanced Conversions. If `properties.email` is unavailable, the destination uses `traits.email` as a fallback.
49+
5. Configure the remaining properties.
5050
6. When you're finished editing the action fields, click **Continue**. Click **Save**.
5151
7. To test your action, expand the **Test event trigger** section. Segment searches for recent events that match the trigger conditions. If there are no recent events that match the criteria, click **manually enter an event**, and replace the default event data with the following:
5252
```json
5353
{
54-
"messageId": "segment-test-message-hkz2b",
55-
"timestamp": "2021-08-27T17:32:12.781Z",
54+
"messageId": "segment-test-message-hkz2b",
55+
"timestamp": "2021-08-27T17:32:12.781Z",
5656
"context" : {
5757
"userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"
5858
},
59-
"type": "track",
60-
"email": "[email protected]",
61-
"properties": {
62-
"email": "[email protected]",
59+
"type": "track",
60+
"properties": {
61+
"email": "[email protected]",
6362
"orderId": "123",
6463
"firstName": "Bob John",
6564
"lastName": "Smith",
@@ -71,9 +70,9 @@ Actions define which events Segment sends to Google Enhanced Conversions, and th
7170
"postalCode": "94000",
7271
"country": "USA"
7372
}
74-
},
75-
"userId": "test-user-j75yud",
76-
"event": "Purchase"
73+
},
74+
"userId": "test-user-j75yud",
75+
"event": "Order Completed"
7776
}
7877
```
7978
8. Click **Test Event**.
@@ -82,7 +81,7 @@ Actions define which events Segment sends to Google Enhanced Conversions, and th
8281
11. Click **Save**.
8382
12. Enable the action with the toggle at the top of the page.
8483

84+
## Available Google Enhanced Conversions Actions
8585

86-
87-
86+
- Post Conversion
8887

src/connections/storage/catalog/aws-s3/index.md

Lines changed: 98 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@ redirect_from:
55
hide-personas-partial: true
66
---
77

8-
> info "This document is about a destination which is in beta"
9-
> This means that the AWS S3 with IAM Role Support destination is in active development, and some functionality may change before it becomes generally available.
10-
118

129
## Differences between the Amazon S3 destination and the AWS S3 destination
1310

@@ -34,9 +31,9 @@ The Segment Tracking API processes data from your sources, and collects the Even
3431

3532
## Create a new destination
3633

37-
Complete the following steps to configure the AWS S3 Destination with IAM Role Support.
34+
Complete either [Create an IAM role in the AWS console](#create-an-iam-role-in-the-aws-console) or [Create an IAM role using the AWS CLI](#create-an-iam-role-using-the-aws-cli) to configure the AWS S3 Destination with IAM Role Support.
3835

39-
### Create an IAM role in AWS
36+
### Create an IAM role in the AWS console
4037

4138
To complete this section, you need access to your AWS dashboard.
4239

@@ -94,12 +91,105 @@ To complete this section, you need access to your AWS dashboard.
9491
],
9592
"Resource": "<YOUR_KEY_ARN>"
9693
}
97-
]
94+
]
9895
}
9996
```
10097

10198
If you have server-side encryption enabled, see the [required configuration](#encryption).
10299

100+
### Create an IAM role using the AWS CLI
101+
102+
To create an IAM role with external ID and with S3 permissions using the AWS CLI, follow the steps below.
103+
104+
#### Prerequisites
105+
To create an S3 IAM role, you must first install and configure the AWS CLI on your local machine and create an S3 bucket. Refer to Amazon's documentation, [Getting started with the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html){:target="_blank"} for more information.
106+
107+
#### Procedure
108+
1. Copy the following code snippet and save it as a file on your local machine titled `trust-relationship-policy.json`. Replace `<YOUR_WORKSPACE_ID>` with your Segment workspace ID.
109+
110+
```json
111+
{
112+
"Version": "2012-10-17",
113+
"Statement": [
114+
{
115+
"Sid": "",
116+
"Effect": "Allow",
117+
"Principal": {
118+
"AWS": "arn:aws:iam::595280932656:role/segment-s3-integration-production-access"
119+
},
120+
"Action": "sts:AssumeRole",
121+
"Condition": {
122+
"StringEquals": {
123+
"sts:ExternalId": "<YOUR_WORKSPACE_ID>"
124+
}
125+
}
126+
}
127+
]
128+
}
129+
```
130+
131+
2. Navigate to the folder containing `trust-relationship-policy.json` and run the following command to create your IAM role and attach the trust relationship document, replacing `<YOUR_ROLE_NAME>` with the name you want to give this IAM role:
132+
133+
``` python
134+
aws iam create-role --role-name <YOUR_ROLE_NAME> --assume-role-policy-document file://trust-relationship-policy.json --description "IAM role for Segment to assume (AWS S3 destination)"
135+
```
136+
137+
3. To verify that the IAM role is created, log into the AWS console and open the IAM Management Console. Under the Trust Relationship tab, there should be a key-value pair: a `sts:ExternalID` key with a value of `your Segment workspace ID`.
138+
139+
4. Copy the following IAM policy, replacing `<YOUR_BUCKET_NAME>` with the name of your S3 bucket, and save it as a file on your local machine titled `iam-policy.json`.
140+
141+
```json
142+
{
143+
"Version": "2012-10-17",
144+
"Statement": [
145+
{
146+
"Sid": "PutObjectsInBucket",
147+
"Effect": "Allow",
148+
"Action": [
149+
"s3:PutObject",
150+
"s3:PutObjectAcl"
151+
],
152+
"Resource": "arn:aws:s3:::<YOUR_BUCKET_NAME>/segment-logs/*"
153+
}
154+
]
155+
}
156+
```
157+
158+
5. Navigate to the folder containing `iam-policy.json`, and run the following command to create the IAM policy:
159+
160+
``` python
161+
aws iam create-policy --policy-name segment-s3-putobject --policy-document file://iam-policy.json --description "Allow Segment to PutObject into S3 destination bucket"
162+
```
163+
164+
6. A successful output has the following format. Take note of the `Arn`, as you'll need it in the next step.
165+
166+
``` json
167+
{
168+
"Policy": {
169+
"PolicyName": "segment-s3-putobject",
170+
"PolicyId": "AABC1DE2F34GG567H",
171+
"Arn": "arn:aws:iam::012345678912:policy/segment-s3-putobject",
172+
"Path": "/",
173+
"DefaultVersionId": "v1",
174+
"AttachmentCount": 0,
175+
"PermissionsBoundaryUsageCount": 0,
176+
"IsAttachable": true,
177+
"CreateDate": "2021-11-11T01:21:00+00:00",
178+
"UpdateDate": "2021-11-11T01:21:00+00:00"
179+
}
180+
}
181+
182+
```
183+
184+
7. Run the following command to attach the IAM policy to the IAM role, replacing `<YOUR_ROLE_NAME>` with the name of your role and `<ARN_FROM_STEP_6_OUTPUT>` with the Arn output from the last step:
185+
186+
``` python
187+
aws iam attach-role-policy --role-name <YOUR_ROLE_NAME> --policy-arn <ARN_FROM_STEP_6_OUTPUT>
188+
```
189+
190+
> info ""
191+
> To verify that the IAM role is created, navigate to the AWS console and open the IAM Management Console. On the Permissions tab, verify that there is a `segment-s3-putobject` Permissions policy.
192+
103193

104194
### Add the AWS S3 with IAM Role Support Destination
105195

@@ -126,7 +216,7 @@ To finish configuration, enable the AWS S3 Destination with IAM Role Support des
126216

127217
To migrate an existing Amazon S3 destination to the AWS S3 with IAM Role Support Destination:
128218

129-
1. Configure the IAM role and IAM policy permissions as described in steps 2 - 4 [above](#create-an-iam-role-in-aws).
219+
1. Configure the IAM role and IAM policy permissions as described in steps 2 - 4 [above](#create-an-iam-role-in-the-aws-console).
130220
2. Add the AWS S3 with IAM Role Support Destination and add the AWS Region and IAM role ARN. For the bucket name, enter `<YOUR_BUCKET_NAME>/segment-logs/test`. Enable the destination, and verify data is received at `<YOUR_BUCKET_NAME>/segment-logs/test/segment-logs`. If the folder receives data, continue to the next step. If you don't see log entries, check the trust relationship document and IAM policy attached to the role.
131221
3. Update the bucket name in the new destination to `<YOUR_BUCKET_NAME>`.
132222
4. After 1 hour, disable the original Amazon S3 destination.
@@ -158,7 +248,7 @@ Segment groups logs by day, and names them using the following format:
158248

159249
s3://{bucket}/segment-logs/{source-id}/{received-day}/filename.gz
160250

161-
The received-day refers to the UTC date unix timestamp, that the API receives the file, which makes it easy to find all calls received within a certain timeframe.
251+
The received-day refers to the UTC date Unix timestamp, that the API receives the file, which makes it easy to find all calls received within a certain timeframe.
162252

163253
## Encryption
164254

src/connections/storage/catalog/google-cloud-storage/index.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ redirect_from: '/connections/destinations/catalog/google-cloud-storage/'
99

1010
The Google Cloud Storage (GCS) destination puts the raw logs of the data Segment receives into your GCS bucket. The data is copied into your bucket at least every hour. You might see multiple files over a period of time depending on how much data is copied.
1111

12-
Keep in mind that GCS works differently from most of our destinations. Using a destinations selector like the [integrations object](https://segment.com/docs/connections/spec/common/#integrations) does not affect events in the case of GCS.
12+
> warning ""
13+
> The Google Cloud Storage destination works differently than other destinations in Segment. Segment sends **all** data from a Personas source to GCS during the sync process, not only the connected audiences and traits. Using a destinations selector like the [integrations object](/docs/connections/spec/common/#integrations) doesn't affect the events events sent to GCS.
1314
1415
**Note**: The GCS destination is currently in beta, and does not support product features such as deletions, replays, or surfacing errors in the UI.
1516

src/connections/storage/data-lakes/sync-history.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ To access the Sync History page from the Segment app, open the **My Destinations
2323
## Health
2424
The health tab provides an overview of the rows that synced to your data lake both today and each day for the last 30 days.
2525

26-
The bar chart, 'Daily Synced Rows,' shows an overview of the rows synced for each of the last 30 days. Hovering over a date shows the number of rows that were synced for that day. Selecting a date from the bar chart opens the Daily Row Volume table, which provides a breakdown of which collections synced, how many rows from each collection synced, and the percentage of all synced rows from each collection .
26+
The bar chart, 'Daily Synced Rows,' shows an overview of the rows synced for each of the last 30 days. Hovering over a date shows the number of rows that were synced for that day. Selecting a date from the bar chart opens the Daily Row Volume table, which provides a breakdown of which collections synced, how many rows from each collection synced, and the percentage of all synced rows from each collection.
2727

2828
The Daily Row Volume table contains the following information:
2929
* **Collections:** The name of each collection of properties synced to the data lake

0 commit comments

Comments
 (0)