You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::CognitoSync::Client

Inherits:
Seahorse::Client::Base show all
Includes:
Aws::ClientStubs
Defined in:
gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from Aws::ClientStubs

#stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(*args) ⇒ Client

Returns a new instance of Client

Parameters:

  • options (Hash)

    a customizable set of options



142
143
144
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 142

def initialize(*args)
  super
end

Instance Method Details

#bulk_publish(params = {}) ⇒ Types::BulkPublishResponse

Initiates a bulk publish of all existing datasets for an Identity Pool to the configured stream. Customers are limited to one successful bulk publish per 24 hours. Bulk publish is an asynchronous request, customers can see the status of the request via the GetBulkPublishDetails operation.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

Examples:

Request syntax with placeholder values


resp = client.bulk_publish({
  identity_pool_id: "IdentityPoolId", # required
})

Response structure


resp.identity_pool_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :identity_pool_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

Returns:

See Also:



181
182
183
184
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 181

def bulk_publish(params = {}, options = {})
  req = build_request(:bulk_publish, params)
  req.send_request(options)
end

#delete_dataset(params = {}) ⇒ Types::DeleteDatasetResponse

Deletes the specific dataset. The dataset will be deleted permanently, and the action can't be undone. Datasets that this dataset was merged with will no longer report the merge. Any subsequent operation on this dataset will result in a ResourceNotFoundException.

This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials.

Examples:

Request syntax with placeholder values


resp = client.delete_dataset({
  identity_pool_id: "IdentityPoolId", # required
  identity_id: "IdentityId", # required
  dataset_name: "DatasetName", # required
})

Response structure


resp.dataset.identity_id #=> String
resp.dataset.dataset_name #=> String
resp.dataset.creation_date #=> Time
resp.dataset.last_modified_date #=> Time
resp.dataset.last_modified_by #=> String
resp.dataset.data_storage #=> Integer
resp.dataset.num_records #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :identity_pool_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

  • :identity_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

  • :dataset_name (required, String)

    A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).

Returns:

See Also:



234
235
236
237
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 234

def delete_dataset(params = {}, options = {})
  req = build_request(:delete_dataset, params)
  req.send_request(options)
end

#describe_dataset(params = {}) ⇒ Types::DescribeDatasetResponse

Gets meta data about a dataset by identity and dataset name. With Amazon Cognito Sync, each identity has access only to its own data. Thus, the credentials used to make this API call need to have access to the identity data.

This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials. You should use Cognito Identity credentials to make this API call.

Examples:

Request syntax with placeholder values


resp = client.describe_dataset({
  identity_pool_id: "IdentityPoolId", # required
  identity_id: "IdentityId", # required
  dataset_name: "DatasetName", # required
})

Response structure


resp.dataset.identity_id #=> String
resp.dataset.dataset_name #=> String
resp.dataset.creation_date #=> Time
resp.dataset.last_modified_date #=> Time
resp.dataset.last_modified_by #=> String
resp.dataset.data_storage #=> Integer
resp.dataset.num_records #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :identity_pool_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

  • :identity_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

  • :dataset_name (required, String)

    A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).

Returns:

See Also:



288
289
290
291
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 288

def describe_dataset(params = {}, options = {})
  req = build_request(:describe_dataset, params)
  req.send_request(options)
end

#describe_identity_pool_usage(params = {}) ⇒ Types::DescribeIdentityPoolUsageResponse

Gets usage details (for example, data storage) about a particular identity pool.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

Examples:

Request syntax with placeholder values


resp = client.describe_identity_pool_usage({
  identity_pool_id: "IdentityPoolId", # required
})

Response structure


resp.identity_pool_usage.identity_pool_id #=> String
resp.identity_pool_usage.sync_sessions_count #=> Integer
resp.identity_pool_usage.data_storage #=> Integer
resp.identity_pool_usage.last_modified_date #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :identity_pool_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

Returns:

See Also:



326
327
328
329
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 326

def describe_identity_pool_usage(params = {}, options = {})
  req = build_request(:describe_identity_pool_usage, params)
  req.send_request(options)
end

#describe_identity_usage(params = {}) ⇒ Types::DescribeIdentityUsageResponse

Gets usage information for an identity, including number of datasets and data usage.

This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials.

Examples:

Request syntax with placeholder values


resp = client.describe_identity_usage({
  identity_pool_id: "IdentityPoolId", # required
  identity_id: "IdentityId", # required
})

Response structure


resp.identity_usage.identity_id #=> String
resp.identity_usage.identity_pool_id #=> String
resp.identity_usage.last_modified_date #=> Time
resp.identity_usage.dataset_count #=> Integer
resp.identity_usage.data_storage #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :identity_pool_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

  • :identity_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

Returns:

See Also:



370
371
372
373
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 370

def describe_identity_usage(params = {}, options = {})
  req = build_request(:describe_identity_usage, params)
  req.send_request(options)
end

#get_bulk_publish_details(params = {}) ⇒ Types::GetBulkPublishDetailsResponse

Get the status of the last BulkPublish operation for an identity pool.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

Examples:

Request syntax with placeholder values


resp = client.get_bulk_publish_details({
  identity_pool_id: "IdentityPoolId", # required
})

Response structure


resp.identity_pool_id #=> String
resp.bulk_publish_start_time #=> Time
resp.bulk_publish_complete_time #=> Time
resp.bulk_publish_status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"
resp.failure_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :identity_pool_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

Returns:

See Also:



412
413
414
415
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 412

def get_bulk_publish_details(params = {}, options = {})
  req = build_request(:get_bulk_publish_details, params)
  req.send_request(options)
end

#get_cognito_events(params = {}) ⇒ Types::GetCognitoEventsResponse

Gets the events and the corresponding Lambda functions associated with an identity pool.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

Examples:

Request syntax with placeholder values


resp = client.get_cognito_events({
  identity_pool_id: "IdentityPoolId", # required
})

Response structure


resp.events #=> Hash
resp.events["CognitoEventType"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :identity_pool_id (required, String)

    The Cognito Identity Pool ID for the request

Returns:

See Also:



446
447
448
449
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 446

def get_cognito_events(params = {}, options = {})
  req = build_request(:get_cognito_events, params)
  req.send_request(options)
end

#get_identity_pool_configuration(params = {}) ⇒ Types::GetIdentityPoolConfigurationResponse

Gets the configuration settings of an identity pool.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

Examples:

Request syntax with placeholder values


resp = client.get_identity_pool_configuration({
  identity_pool_id: "IdentityPoolId", # required
})

Response structure


resp.identity_pool_id #=> String
resp.push_sync.application_arns #=> Array
resp.push_sync.application_arns[0] #=> String
resp.push_sync.role_arn #=> String
resp.cognito_streams.stream_name #=> String
resp.cognito_streams.role_arn #=> String
resp.cognito_streams.streaming_status #=> String, one of "ENABLED", "DISABLED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :identity_pool_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This is the ID of the pool for which to return a configuration.

Returns:

See Also:



489
490
491
492
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 489

def get_identity_pool_configuration(params = {}, options = {})
  req = build_request(:get_identity_pool_configuration, params)
  req.send_request(options)
end

#list_datasets(params = {}) ⇒ Types::ListDatasetsResponse

Lists datasets for an identity. With Amazon Cognito Sync, each identity has access only to its own data. Thus, the credentials used to make this API call need to have access to the identity data.

ListDatasets can be called with temporary user credentials provided by Cognito Identity or with developer credentials. You should use the Cognito Identity credentials to make this API call.

Examples:

Request syntax with placeholder values


resp = client.list_datasets({
  identity_pool_id: "IdentityPoolId", # required
  identity_id: "IdentityId", # required
  next_token: "String",
  max_results: 1,
})

Response structure


resp.datasets #=> Array
resp.datasets[0].identity_id #=> String
resp.datasets[0].dataset_name #=> String
resp.datasets[0].creation_date #=> Time
resp.datasets[0].last_modified_date #=> Time
resp.datasets[0].last_modified_by #=> String
resp.datasets[0].data_storage #=> Integer
resp.datasets[0].num_records #=> Integer
resp.count #=> Integer
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :identity_pool_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

  • :identity_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

  • :next_token (String)

    A pagination token for obtaining the next page of results.

  • :max_results (Integer)

    The maximum number of results to be returned.

Returns:

See Also:



550
551
552
553
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 550

def list_datasets(params = {}, options = {})
  req = build_request(:list_datasets, params)
  req.send_request(options)
end

#list_identity_pool_usage(params = {}) ⇒ Types::ListIdentityPoolUsageResponse

Gets a list of identity pools registered with Cognito.

ListIdentityPoolUsage can only be called with developer credentials. You cannot make this API call with the temporary user credentials provided by Cognito Identity.

Examples:

Request syntax with placeholder values


resp = client.list_identity_pool_usage({
  next_token: "String",
  max_results: 1,
})

Response structure


resp.identity_pool_usages #=> Array
resp.identity_pool_usages[0].identity_pool_id #=> String
resp.identity_pool_usages[0].sync_sessions_count #=> Integer
resp.identity_pool_usages[0].data_storage #=> Integer
resp.identity_pool_usages[0].last_modified_date #=> Time
resp.max_results #=> Integer
resp.count #=> Integer
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

    A pagination token for obtaining the next page of results.

  • :max_results (Integer)

    The maximum number of results to be returned.

Returns:

See Also:



596
597
598
599
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 596

def list_identity_pool_usage(params = {}, options = {})
  req = build_request(:list_identity_pool_usage, params)
  req.send_request(options)
end

#list_records(params = {}) ⇒ Types::ListRecordsResponse

Gets paginated records, optionally changed after a particular sync count for a dataset and identity. With Amazon Cognito Sync, each identity has access only to its own data. Thus, the credentials used to make this API call need to have access to the identity data.

ListRecords can be called with temporary user credentials provided by Cognito Identity or with developer credentials. You should use Cognito Identity credentials to make this API call.

Examples:

Request syntax with placeholder values


resp = client.list_records({
  identity_pool_id: "IdentityPoolId", # required
  identity_id: "IdentityId", # required
  dataset_name: "DatasetName", # required
  last_sync_count: 1,
  next_token: "String",
  max_results: 1,
  sync_session_token: "SyncSessionToken",
})

Response structure


resp.records #=> Array
resp.records[0].key #=> String
resp.records[0].value #=> String
resp.records[0].sync_count #=> Integer
resp.records[0].last_modified_date #=> Time
resp.records[0].last_modified_by #=> String
resp.records[0].device_last_modified_date #=> Time
resp.next_token #=> String
resp.count #=> Integer
resp.dataset_sync_count #=> Integer
resp.last_modified_by #=> String
resp.merged_dataset_names #=> Array
resp.merged_dataset_names[0] #=> String
resp.dataset_exists #=> Boolean
resp.dataset_deleted_after_requested_sync_count #=> Boolean
resp.sync_session_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :identity_pool_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

  • :identity_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

  • :dataset_name (required, String)

    A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).

  • :last_sync_count (Integer)

    The last server sync count for this record.

  • :next_token (String)

    A pagination token for obtaining the next page of results.

  • :max_results (Integer)

    The maximum number of results to be returned.

  • :sync_session_token (String)

    A token containing a session ID, identity ID, and expiration.

Returns:

See Also:



683
684
685
686
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 683

def list_records(params = {}, options = {})
  req = build_request(:list_records, params)
  req.send_request(options)
end

#register_device(params = {}) ⇒ Types::RegisterDeviceResponse

Registers a device to receive push sync notifications.

This API can only be called with temporary credentials provided by Cognito Identity. You cannot call this API with developer credentials.

Examples:

Request syntax with placeholder values


resp = client.register_device({
  identity_pool_id: "IdentityPoolId", # required
  identity_id: "IdentityId", # required
  platform: "APNS", # required, accepts APNS, APNS_SANDBOX, GCM, ADM
  token: "PushToken", # required
})

Response structure


resp.device_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :identity_pool_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. Here, the ID of the pool that the identity belongs to.

  • :identity_id (required, String)

    The unique ID for this identity.

  • :platform (required, String)

    The SNS platform type (e.g. GCM, SDM, APNS, APNS_SANDBOX).

  • :token (required, String)

    The push token.

Returns:

See Also:



728
729
730
731
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 728

def register_device(params = {}, options = {})
  req = build_request(:register_device, params)
  req.send_request(options)
end

#set_cognito_events(params = {}) ⇒ Struct

Sets the AWS Lambda function for a given event type for an identity pool. This request only updates the key/value pair specified. Other key/values pairs are not updated. To remove a key value pair, pass a empty value for the particular key.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

Examples:

Request syntax with placeholder values


resp = client.set_cognito_events({
  identity_pool_id: "IdentityPoolId", # required
  events: { # required
    "CognitoEventType" => "LambdaFunctionArn",
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :identity_pool_id (required, String)

    The Cognito Identity Pool to use when configuring Cognito Events

  • :events (required, Hash<String,String>)

    The events to configure

Returns:

  • (Struct)

    Returns an empty response.

See Also:



763
764
765
766
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 763

def set_cognito_events(params = {}, options = {})
  req = build_request(:set_cognito_events, params)
  req.send_request(options)
end

#set_identity_pool_configuration(params = {}) ⇒ Types::SetIdentityPoolConfigurationResponse

Sets the necessary configuration for push sync.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

Examples:

Request syntax with placeholder values


resp = client.set_identity_pool_configuration({
  identity_pool_id: "IdentityPoolId", # required
  push_sync: {
    application_arns: ["ApplicationArn"],
    role_arn: "AssumeRoleArn",
  },
  cognito_streams: {
    stream_name: "StreamName",
    role_arn: "AssumeRoleArn",
    streaming_status: "ENABLED", # accepts ENABLED, DISABLED
  },
})

Response structure


resp.identity_pool_id #=> String
resp.push_sync.application_arns #=> Array
resp.push_sync.application_arns[0] #=> String
resp.push_sync.role_arn #=> String
resp.cognito_streams.stream_name #=> String
resp.cognito_streams.role_arn #=> String
resp.cognito_streams.streaming_status #=> String, one of "ENABLED", "DISABLED"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :identity_pool_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This is the ID of the pool to modify.

  • :push_sync (Types::PushSync)

    Options to apply to this identity pool for push synchronization.

  • :cognito_streams (Types::CognitoStreams)

    Options to apply to this identity pool for Amazon Cognito streams.

Returns:

See Also:



820
821
822
823
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 820

def set_identity_pool_configuration(params = {}, options = {})
  req = build_request(:set_identity_pool_configuration, params)
  req.send_request(options)
end

#subscribe_to_dataset(params = {}) ⇒ Struct

Subscribes to receive notifications when a dataset is modified by another device.

This API can only be called with temporary credentials provided by Cognito Identity. You cannot call this API with developer credentials.

Examples:

Request syntax with placeholder values


resp = client.subscribe_to_dataset({
  identity_pool_id: "IdentityPoolId", # required
  identity_id: "IdentityId", # required
  dataset_name: "DatasetName", # required
  device_id: "DeviceId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :identity_pool_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. The ID of the pool to which the identity belongs.

  • :identity_id (required, String)

    Unique ID for this identity.

  • :dataset_name (required, String)

    The name of the dataset to subcribe to.

  • :device_id (required, String)

    The unique ID generated for this device by Cognito.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



860
861
862
863
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 860

def subscribe_to_dataset(params = {}, options = {})
  req = build_request(:subscribe_to_dataset, params)
  req.send_request(options)
end

#unsubscribe_from_dataset(params = {}) ⇒ Struct

Unsubscribes from receiving notifications when a dataset is modified by another device.

This API can only be called with temporary credentials provided by Cognito Identity. You cannot call this API with developer credentials.

Examples:

Request syntax with placeholder values


resp = client.unsubscribe_from_dataset({
  identity_pool_id: "IdentityPoolId", # required
  identity_id: "IdentityId", # required
  dataset_name: "DatasetName", # required
  device_id: "DeviceId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :identity_pool_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. The ID of the pool to which this identity belongs.

  • :identity_id (required, String)

    Unique ID for this identity.

  • :dataset_name (required, String)

    The name of the dataset from which to unsubcribe.

  • :device_id (required, String)

    The unique ID generated for this device by Cognito.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



900
901
902
903
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 900

def unsubscribe_from_dataset(params = {}, options = {})
  req = build_request(:unsubscribe_from_dataset, params)
  req.send_request(options)
end

#update_records(params = {}) ⇒ Types::UpdateRecordsResponse

Posts updates to records and adds and deletes records for a dataset and user.

The sync count in the record patch is your last known sync count for that record. The server will reject an UpdateRecords request with a ResourceConflictException if you try to patch a record with a new value but a stale sync count.

For example, if the sync count on the server is 5 for a key called highScore and you try and submit a new highScore with sync count of 4, the request will be rejected. To obtain the current sync count for a record, call ListRecords. On a successful update of the record, the response returns the new sync count for that record. You should present that sync count the next time you try to update that same record. When the record does not exist, specify the sync count as 0.

This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials.

Examples:

Request syntax with placeholder values


resp = client.update_records({
  identity_pool_id: "IdentityPoolId", # required
  identity_id: "IdentityId", # required
  dataset_name: "DatasetName", # required
  device_id: "DeviceId",
  record_patches: [
    {
      op: "replace", # required, accepts replace, remove
      key: "RecordKey", # required
      value: "RecordValue",
      sync_count: 1, # required
      device_last_modified_date: Time.now,
    },
  ],
  sync_session_token: "SyncSessionToken", # required
  client_context: "ClientContext",
})

Response structure


resp.records #=> Array
resp.records[0].key #=> String
resp.records[0].value #=> String
resp.records[0].sync_count #=> Integer
resp.records[0].last_modified_date #=> Time
resp.records[0].last_modified_by #=> String
resp.records[0].device_last_modified_date #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :identity_pool_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

  • :identity_id (required, String)

    A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

  • :dataset_name (required, String)

    A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).

  • :device_id (String)

    The unique ID generated for this device by Cognito.

  • :record_patches (Array<Types::RecordPatch>)

    A list of patch operations.

  • :sync_session_token (required, String)

    The SyncSessionToken returned by a previous call to ListRecords for this dataset and identity.

  • :client_context (String)

    Intended to supply a device ID that will populate the lastModifiedBy field referenced in other methods. The ClientContext field is not yet implemented.

Returns:

See Also:



991
992
993
994
# File 'gems/aws-sdk-cognitosync/lib/aws-sdk-cognitosync/client.rb', line 991

def update_records(params = {}, options = {})
  req = build_request(:update_records, params)
  req.send_request(options)
end