2025/07/03 - Amazon Connect Customer Profiles - 6 new api methods
Changes 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.
Creates an Upload job to ingest data for segment imports. The metadata is created for the job with the provided field mapping and unique key.
See also: AWS API Documentation
Request Syntax
client.create_upload_job( DomainName='string', DisplayName='string', Fields={ 'string': { 'Source': 'string', 'Target': 'string', 'ContentType': 'STRING'|'NUMBER'|'PHONE_NUMBER'|'EMAIL_ADDRESS'|'NAME' } }, UniqueKey='string', DataExpiry=123 )
string
[REQUIRED]
The unique name of the domain. Domain should be exists for the upload job to be created.
string
[REQUIRED]
The unique name of the upload job. Could be a file name to identify the upload job.
dict
[REQUIRED]
The mapping between CSV Columns and Profile Object attributes. A map of the name and ObjectType field.
(string) --
(dict) --
Represents a field in a ProfileObjectType.
Source (string) --
A field of a ProfileObject. For example: _source.FirstName, where “_source” is a ProfileObjectType of a Zendesk user and “FirstName” is a field in that ObjectType.
Target (string) --
The location of the data in the standard ProfileObject model. For example: _profile.Address.PostalCode.
ContentType (string) --
The content type of the field. Used for determining equality when searching.
string
[REQUIRED]
The unique key columns for de-duping the profiles used to map data to the profile.
integer
The expiry duration for the profiles ingested with the job. If not provided, the system default of 2 weeks is used.
dict
Response Syntax
{ 'JobId': 'string' }
Response Structure
(dict) --
JobId (string) --
The unique identifier for the created upload job.
This API retrieves a list of upload jobs for the specified domain.
See also: AWS API Documentation
Request Syntax
client.list_upload_jobs( DomainName='string', MaxResults=123, NextToken='string' )
string
[REQUIRED]
The unique name of the domain to list upload jobs for.
integer
The maximum number of upload jobs to return per page.
string
The pagination token from the previous call to retrieve the next page of results.
dict
Response Syntax
{ 'NextToken': 'string', 'Items': [ { 'JobId': 'string', 'DisplayName': 'string', 'Status': 'CREATED'|'IN_PROGRESS'|'PARTIALLY_SUCCEEDED'|'SUCCEEDED'|'FAILED'|'STOPPED', 'StatusReason': 'VALIDATION_FAILURE'|'INTERNAL_FAILURE', 'CreatedAt': datetime(2015, 1, 1), 'CompletedAt': datetime(2015, 1, 1), 'DataExpiry': 123 }, ] }
Response Structure
(dict) --
NextToken (string) --
The pagination token to use to retrieve the next page of results.
Items (list) --
The list of upload jobs for the specified domain.
(dict) --
The summary information for an individual upload job.
JobId (string) --
The unique identifier of the upload job.
DisplayName (string) --
The name of the upload job.
Status (string) --
The current status of the upload job.
StatusReason (string) --
The reason for the current status of the upload job.
CreatedAt (datetime) --
The timestamp when the upload job was created.
CompletedAt (datetime) --
The timestamp when the upload job was completed.
DataExpiry (integer) --
The expiry duration for the profiles ingested with the upload job.
This API stops the processing of an upload job.
See also: AWS API Documentation
Request Syntax
client.stop_upload_job( DomainName='string', JobId='string' )
string
[REQUIRED]
The unique name of the domain containing the upload job to stop.
string
[REQUIRED]
The unique identifier of the upload job to stop.
dict
Response Syntax
{}
Response Structure
(dict) --
This API starts the processing of an upload job to ingest profile data.
See also: AWS API Documentation
Request Syntax
client.start_upload_job( DomainName='string', JobId='string' )
string
[REQUIRED]
The unique name of the domain containing the upload job to start.
string
[REQUIRED]
The unique identifier of the upload job to start.
dict
Response Syntax
{}
Response Structure
(dict) --
This API retrieves the pre-signed URL and client token for uploading the file associated with the upload job.
See also: AWS API Documentation
Request Syntax
client.get_upload_job_path( DomainName='string', JobId='string' )
string
[REQUIRED]
The unique name of the domain containing the upload job.
string
[REQUIRED]
The unique identifier of the upload job to retrieve the upload path for. This is generated from the CreateUploadJob API.
dict
Response Syntax
{ 'Url': 'string', 'ClientToken': 'string', 'ValidUntil': datetime(2015, 1, 1) }
Response Structure
(dict) --
Url (string) --
The pre-signed S3 URL for uploading the CSV file associated with the upload job.
ClientToken (string) --
The plaintext data key used to encrypt the upload file.
To persist to the pre-signed url, use the client token and MD5 client token as header. The required headers are as follows:
x-amz-server-side-encryption-customer-key: Client Token
x-amz-server-side-encryption-customer-key-MD5: MD5 Client Token
x-amz-server-side-encryption-customer-algorithm: AES256
ValidUntil (datetime) --
The expiry timestamp for the pre-signed URL, after which the URL will no longer be valid.
This API retrieves the details of a specific upload job.
See also: AWS API Documentation
Request Syntax
client.get_upload_job( DomainName='string', JobId='string' )
string
[REQUIRED]
The unique name of the domain containing the upload job.
string
[REQUIRED]
The unique identifier of the upload job to retrieve.
dict
Response Syntax
{ 'JobId': 'string', 'DisplayName': 'string', 'Status': 'CREATED'|'IN_PROGRESS'|'PARTIALLY_SUCCEEDED'|'SUCCEEDED'|'FAILED'|'STOPPED', 'StatusReason': 'VALIDATION_FAILURE'|'INTERNAL_FAILURE', 'CreatedAt': datetime(2015, 1, 1), 'CompletedAt': datetime(2015, 1, 1), 'Fields': { 'string': { 'Source': 'string', 'Target': 'string', 'ContentType': 'STRING'|'NUMBER'|'PHONE_NUMBER'|'EMAIL_ADDRESS'|'NAME' } }, 'UniqueKey': 'string', 'ResultsSummary': { 'UpdatedRecords': 123, 'CreatedRecords': 123, 'FailedRecords': 123 }, 'DataExpiry': 123 }
Response Structure
(dict) --
JobId (string) --
The unique identifier of the upload job.
DisplayName (string) --
The unique name of the upload job. Could be a file name to identify the upload job.
Status (string) --
The status describing the status for the upload job. The following are Valid Values:
CREATED: The upload job has been created, but has not started processing yet.
IN_PROGRESS: The upload job is currently in progress, ingesting and processing the profile data.
PARTIALLY_SUCCEEDED: The upload job has successfully completed the ingestion and processing of all profile data.
SUCCEEDED: The upload job has successfully completed the ingestion and processing of all profile data.
FAILED: The upload job has failed to complete.
STOPPED: The upload job has been manually stopped or terminated before completion.
StatusReason (string) --
The reason for the current status of the upload job. Possible reasons:
VALIDATION_FAILURE: The upload job has encountered an error or issue and was unable to complete the profile data ingestion.
INTERNAL_FAILURE: Failure caused from service side
CreatedAt (datetime) --
The timestamp when the upload job was created.
CompletedAt (datetime) --
The timestamp when the upload job was completed.
Fields (dict) --
The mapping between CSV Columns and Profile Object attributes for the upload job.
(string) --
(dict) --
Represents a field in a ProfileObjectType.
Source (string) --
A field of a ProfileObject. For example: _source.FirstName, where “_source” is a ProfileObjectType of a Zendesk user and “FirstName” is a field in that ObjectType.
Target (string) --
The location of the data in the standard ProfileObject model. For example: _profile.Address.PostalCode.
ContentType (string) --
The content type of the field. Used for determining equality when searching.
UniqueKey (string) --
The unique key columns used for de-duping the keys in the upload job.
ResultsSummary (dict) --
The summary of results for the upload job, including the number of updated, created, and failed records.
UpdatedRecords (integer) --
The number of records that were updated during the upload job.
CreatedRecords (integer) --
The number of records that were newly created during the upload job.
FailedRecords (integer) --
The number of records that failed to be processed during the upload job.
DataExpiry (integer) --
The expiry duration for the profiles ingested with the upload job.