Skip to content

Commit 39a670e

Browse files
This release introduces capability of create Segments via importing a CSV file directly. This consumes the CSV file and creates/updates corresponding profiles for the particular domain.
1 parent c7689ba commit 39a670e

File tree

42 files changed

+5763
-8
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+5763
-8
lines changed

generator/ServiceModels/customer-profiles/customer-profiles-2020-08-15.api.json

Lines changed: 386 additions & 1 deletion
Large diffs are not rendered by default.

generator/ServiceModels/customer-profiles/customer-profiles-2020-08-15.docs.json

Lines changed: 128 additions & 6 deletions
Large diffs are not rendered by default.

generator/ServiceModels/customer-profiles/customer-profiles-2020-08-15.normal.json

Lines changed: 444 additions & 1 deletion
Large diffs are not rendered by default.

generator/ServiceModels/customer-profiles/customer-profiles-2020-08-15.paginators.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@
4141
"output_token": "NextToken",
4242
"limit_key": "MaxResults",
4343
"result_key": "Items"
44+
},
45+
"ListUploadJobs": {
46+
"input_token": "NextToken",
47+
"output_token": "NextToken",
48+
"limit_key": "MaxResults",
49+
"result_key": "Items"
4450
}
4551
}
4652
}

sdk/code-analysis/ServiceAnalysis/CustomerProfiles/Generated/PropertyValueRules.xml

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -458,6 +458,31 @@
458458
<property>Amazon.CustomerProfiles.Model.CreateSegmentSnapshotResponse.SnapshotId</property>
459459
<pattern>[a-f0-9]{32}</pattern>
460460
</property-value-rule>
461+
<property-value-rule>
462+
<property>Amazon.CustomerProfiles.Model.CreateUploadJobRequest.DataExpiry</property>
463+
<min>1</min>
464+
<max>1098</max>
465+
</property-value-rule>
466+
<property-value-rule>
467+
<property>Amazon.CustomerProfiles.Model.CreateUploadJobRequest.DisplayName</property>
468+
<min>1</min>
469+
<max>255</max>
470+
</property-value-rule>
471+
<property-value-rule>
472+
<property>Amazon.CustomerProfiles.Model.CreateUploadJobRequest.DomainName</property>
473+
<min>1</min>
474+
<max>64</max>
475+
<pattern>^[a-zA-Z0-9_-]+$</pattern>
476+
</property-value-rule>
477+
<property-value-rule>
478+
<property>Amazon.CustomerProfiles.Model.CreateUploadJobRequest.UniqueKey</property>
479+
<min>1</min>
480+
<max>1000</max>
481+
</property-value-rule>
482+
<property-value-rule>
483+
<property>Amazon.CustomerProfiles.Model.CreateUploadJobResponse.JobId</property>
484+
<pattern>[a-f0-9]{32}</pattern>
485+
</property-value-rule>
461486
<property-value-rule>
462487
<property>Amazon.CustomerProfiles.Model.DeleteCalculatedAttributeDefinitionRequest.CalculatedAttributeName</property>
463488
<min>1</min>
@@ -1157,6 +1182,57 @@
11571182
<min>1</min>
11581183
<max>15</max>
11591184
</property-value-rule>
1185+
<property-value-rule>
1186+
<property>Amazon.CustomerProfiles.Model.GetUploadJobRequest.DomainName</property>
1187+
<min>1</min>
1188+
<max>64</max>
1189+
<pattern>^[a-zA-Z0-9_-]+$</pattern>
1190+
</property-value-rule>
1191+
<property-value-rule>
1192+
<property>Amazon.CustomerProfiles.Model.GetUploadJobRequest.JobId</property>
1193+
<pattern>[a-f0-9]{32}</pattern>
1194+
</property-value-rule>
1195+
<property-value-rule>
1196+
<property>Amazon.CustomerProfiles.Model.GetUploadJobResponse.DataExpiry</property>
1197+
<min>1</min>
1198+
<max>1098</max>
1199+
</property-value-rule>
1200+
<property-value-rule>
1201+
<property>Amazon.CustomerProfiles.Model.GetUploadJobResponse.DisplayName</property>
1202+
<min>1</min>
1203+
<max>255</max>
1204+
</property-value-rule>
1205+
<property-value-rule>
1206+
<property>Amazon.CustomerProfiles.Model.GetUploadJobResponse.JobId</property>
1207+
<pattern>[a-f0-9]{32}</pattern>
1208+
</property-value-rule>
1209+
<property-value-rule>
1210+
<property>Amazon.CustomerProfiles.Model.GetUploadJobResponse.UniqueKey</property>
1211+
<min>1</min>
1212+
<max>1000</max>
1213+
</property-value-rule>
1214+
<property-value-rule>
1215+
<property>Amazon.CustomerProfiles.Model.GetUploadJobPathRequest.DomainName</property>
1216+
<min>1</min>
1217+
<max>64</max>
1218+
<pattern>^[a-zA-Z0-9_-]+$</pattern>
1219+
</property-value-rule>
1220+
<property-value-rule>
1221+
<property>Amazon.CustomerProfiles.Model.GetUploadJobPathRequest.JobId</property>
1222+
<min>1</min>
1223+
<max>64</max>
1224+
<pattern>^[a-zA-Z0-9_-]+$</pattern>
1225+
</property-value-rule>
1226+
<property-value-rule>
1227+
<property>Amazon.CustomerProfiles.Model.GetUploadJobPathResponse.ClientToken</property>
1228+
<min>1</min>
1229+
<max>1000</max>
1230+
</property-value-rule>
1231+
<property-value-rule>
1232+
<property>Amazon.CustomerProfiles.Model.GetUploadJobPathResponse.Url</property>
1233+
<max>2048</max>
1234+
<pattern>.*</pattern>
1235+
</property-value-rule>
11601236
<property-value-rule>
11611237
<property>Amazon.CustomerProfiles.Model.GetWorkflowRequest.DomainName</property>
11621238
<min>1</min>
@@ -1554,6 +1630,27 @@
15541630
<max>256</max>
15551631
<pattern>^arn:[a-z0-9]{1,10}:profile</pattern>
15561632
</property-value-rule>
1633+
<property-value-rule>
1634+
<property>Amazon.CustomerProfiles.Model.ListUploadJobsRequest.DomainName</property>
1635+
<min>1</min>
1636+
<max>64</max>
1637+
<pattern>^[a-zA-Z0-9_-]+$</pattern>
1638+
</property-value-rule>
1639+
<property-value-rule>
1640+
<property>Amazon.CustomerProfiles.Model.ListUploadJobsRequest.MaxResults</property>
1641+
<min>1</min>
1642+
<max>500</max>
1643+
</property-value-rule>
1644+
<property-value-rule>
1645+
<property>Amazon.CustomerProfiles.Model.ListUploadJobsRequest.NextToken</property>
1646+
<min>1</min>
1647+
<max>1024</max>
1648+
</property-value-rule>
1649+
<property-value-rule>
1650+
<property>Amazon.CustomerProfiles.Model.ListUploadJobsResponse.NextToken</property>
1651+
<min>1</min>
1652+
<max>1024</max>
1653+
</property-value-rule>
15571654
<property-value-rule>
15581655
<property>Amazon.CustomerProfiles.Model.ListWorkflowsRequest.DomainName</property>
15591656
<min>1</min>
@@ -1765,6 +1862,30 @@
17651862
<min>1</min>
17661863
<max>1024</max>
17671864
</property-value-rule>
1865+
<property-value-rule>
1866+
<property>Amazon.CustomerProfiles.Model.StartUploadJobRequest.DomainName</property>
1867+
<min>1</min>
1868+
<max>64</max>
1869+
<pattern>^[a-zA-Z0-9_-]+$</pattern>
1870+
</property-value-rule>
1871+
<property-value-rule>
1872+
<property>Amazon.CustomerProfiles.Model.StartUploadJobRequest.JobId</property>
1873+
<min>1</min>
1874+
<max>64</max>
1875+
<pattern>^[a-zA-Z0-9_-]+$</pattern>
1876+
</property-value-rule>
1877+
<property-value-rule>
1878+
<property>Amazon.CustomerProfiles.Model.StopUploadJobRequest.DomainName</property>
1879+
<min>1</min>
1880+
<max>64</max>
1881+
<pattern>^[a-zA-Z0-9_-]+$</pattern>
1882+
</property-value-rule>
1883+
<property-value-rule>
1884+
<property>Amazon.CustomerProfiles.Model.StopUploadJobRequest.JobId</property>
1885+
<min>1</min>
1886+
<max>64</max>
1887+
<pattern>^[a-zA-Z0-9_-]+$</pattern>
1888+
</property-value-rule>
17681889
<property-value-rule>
17691890
<property>Amazon.CustomerProfiles.Model.TagResourceRequest.ResourceArn</property>
17701891
<max>256</max>
@@ -2896,6 +3017,20 @@
28963017
<min>0</min>
28973018
<max>255</max>
28983019
</property-value-rule>
3020+
<property-value-rule>
3021+
<property>Amazon.CustomerProfiles.Model.UploadJobItem.DataExpiry</property>
3022+
<min>1</min>
3023+
<max>1098</max>
3024+
</property-value-rule>
3025+
<property-value-rule>
3026+
<property>Amazon.CustomerProfiles.Model.UploadJobItem.DisplayName</property>
3027+
<min>1</min>
3028+
<max>255</max>
3029+
</property-value-rule>
3030+
<property-value-rule>
3031+
<property>Amazon.CustomerProfiles.Model.UploadJobItem.JobId</property>
3032+
<pattern>[a-f0-9]{32}</pattern>
3033+
</property-value-rule>
28993034
<property-value-rule>
29003035
<property>Amazon.CustomerProfiles.Model.ZendeskSourceProperties.Object</property>
29013036
<max>512</max>
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
/*
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
/*
17+
* Do not modify this file. This file is generated from the customer-profiles-2020-08-15.normal.json service model.
18+
*/
19+
using System;
20+
using System.Collections.Generic;
21+
using System.Xml.Serialization;
22+
using System.Text;
23+
using System.IO;
24+
using System.Net;
25+
26+
using Amazon.Runtime;
27+
using Amazon.Runtime.Internal;
28+
29+
#pragma warning disable CS0612,CS0618,CS1570
30+
namespace Amazon.CustomerProfiles.Model
31+
{
32+
/// <summary>
33+
/// Container for the parameters to the CreateUploadJob operation.
34+
/// Creates an Upload job to ingest data for segment imports. The metadata is created
35+
/// for the job with the provided field mapping and unique key.
36+
/// </summary>
37+
public partial class CreateUploadJobRequest : AmazonCustomerProfilesRequest
38+
{
39+
private int? _dataExpiry;
40+
private string _displayName;
41+
private string _domainName;
42+
private Dictionary<string, ObjectTypeField> _fields = AWSConfigs.InitializeCollections ? new Dictionary<string, ObjectTypeField>() : null;
43+
private string _uniqueKey;
44+
45+
/// <summary>
46+
/// Gets and sets the property DataExpiry.
47+
/// <para>
48+
/// The expiry duration for the profiles ingested with the job. If not provided, the system
49+
/// default of 2 weeks is used.
50+
/// </para>
51+
/// </summary>
52+
[AWSProperty(Min=1, Max=1098)]
53+
public int? DataExpiry
54+
{
55+
get { return this._dataExpiry; }
56+
set { this._dataExpiry = value; }
57+
}
58+
59+
// Check to see if DataExpiry property is set
60+
internal bool IsSetDataExpiry()
61+
{
62+
return this._dataExpiry.HasValue;
63+
}
64+
65+
/// <summary>
66+
/// Gets and sets the property DisplayName.
67+
/// <para>
68+
/// The unique name of the upload job. Could be a file name to identify the upload job.
69+
/// </para>
70+
/// </summary>
71+
[AWSProperty(Required=true, Min=1, Max=255)]
72+
public string DisplayName
73+
{
74+
get { return this._displayName; }
75+
set { this._displayName = value; }
76+
}
77+
78+
// Check to see if DisplayName property is set
79+
internal bool IsSetDisplayName()
80+
{
81+
return this._displayName != null;
82+
}
83+
84+
/// <summary>
85+
/// Gets and sets the property DomainName.
86+
/// <para>
87+
/// The unique name of the domain. Domain should be exists for the upload job to be created.
88+
///
89+
/// </para>
90+
/// </summary>
91+
[AWSProperty(Required=true, Min=1, Max=64)]
92+
public string DomainName
93+
{
94+
get { return this._domainName; }
95+
set { this._domainName = value; }
96+
}
97+
98+
// Check to see if DomainName property is set
99+
internal bool IsSetDomainName()
100+
{
101+
return this._domainName != null;
102+
}
103+
104+
/// <summary>
105+
/// Gets and sets the property Fields.
106+
/// <para>
107+
/// The mapping between CSV Columns and Profile Object attributes. A map of the name and
108+
/// ObjectType field.
109+
/// </para>
110+
/// <para />
111+
/// Starting with version 4 of the SDK this property will default to null. If no data for this property is returned
112+
/// from the service the property will also be null. This was changed to improve performance and allow the SDK and caller
113+
/// to distinguish between a property not set or a property being empty to clear out a value. To retain the previous
114+
/// SDK behavior set the AWSConfigs.InitializeCollections static property to true.
115+
/// </summary>
116+
[AWSProperty(Required=true, Sensitive=true)]
117+
public Dictionary<string, ObjectTypeField> Fields
118+
{
119+
get { return this._fields; }
120+
set { this._fields = value; }
121+
}
122+
123+
// Check to see if Fields property is set
124+
internal bool IsSetFields()
125+
{
126+
return this._fields != null && (this._fields.Count > 0 || !AWSConfigs.InitializeCollections);
127+
}
128+
129+
/// <summary>
130+
/// Gets and sets the property UniqueKey.
131+
/// <para>
132+
/// The unique key columns for de-duping the profiles used to map data to the profile.
133+
///
134+
/// </para>
135+
/// </summary>
136+
[AWSProperty(Required=true, Min=1, Max=1000)]
137+
public string UniqueKey
138+
{
139+
get { return this._uniqueKey; }
140+
set { this._uniqueKey = value; }
141+
}
142+
143+
// Check to see if UniqueKey property is set
144+
internal bool IsSetUniqueKey()
145+
{
146+
return this._uniqueKey != null;
147+
}
148+
149+
}
150+
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
/*
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
/*
17+
* Do not modify this file. This file is generated from the customer-profiles-2020-08-15.normal.json service model.
18+
*/
19+
using System;
20+
using System.Collections.Generic;
21+
using System.Xml.Serialization;
22+
using System.Text;
23+
using System.IO;
24+
using System.Net;
25+
26+
using Amazon.Runtime;
27+
using Amazon.Runtime.Internal;
28+
29+
#pragma warning disable CS0612,CS0618,CS1570
30+
namespace Amazon.CustomerProfiles.Model
31+
{
32+
/// <summary>
33+
/// This is the response object from the CreateUploadJob operation.
34+
/// </summary>
35+
public partial class CreateUploadJobResponse : AmazonWebServiceResponse
36+
{
37+
private string _jobId;
38+
39+
/// <summary>
40+
/// Gets and sets the property JobId.
41+
/// <para>
42+
/// The unique identifier for the created upload job.
43+
/// </para>
44+
/// </summary>
45+
[AWSProperty(Required=true)]
46+
public string JobId
47+
{
48+
get { return this._jobId; }
49+
set { this._jobId = value; }
50+
}
51+
52+
// Check to see if JobId property is set
53+
internal bool IsSetJobId()
54+
{
55+
return this._jobId != null;
56+
}
57+
58+
}
59+
}

0 commit comments

Comments
 (0)