Class: Aws::Personalize::Client

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

Overview

An API client for Personalize. To construct a client, you need to configure a :region and :credentials.

client = Aws::Personalize::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the developer guide.

See #initialize for a full list of supported configuration options.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #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(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :plugins (Array<Seahorse::Client::Plugin>) — default: []]

    A list of plugins to apply to the client. Each plugin is either a class name or an instance of a plugin class.

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. This can be an instance of any one of the following classes:

    • Aws::Credentials - Used for configuring static, non-refreshing credentials.

    • Aws::SharedCredentials - Used for loading static credentials from a shared file, such as ~/.aws/config.

    • Aws::AssumeRoleCredentials - Used when you need to assume a role.

    • Aws::AssumeRoleWebIdentityCredentials - Used when you need to assume a role after providing credentials via the web.

    • Aws::SSOCredentials - Used for loading credentials from AWS SSO using an access token generated from aws login.

    • Aws::ProcessCredentials - Used for loading credentials from a process that outputs to stdout.

    • Aws::InstanceProfileCredentials - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • Aws::ECSCredentials - Used for loading credentials from instances running in ECS.

    • Aws::CognitoIdentityCredentials - Used for loading credentials from the Cognito Identity service.

    When :credentials are not configured directly, the following locations will be searched for credentials:

    • Aws.config[:credentials]
    • The :access_key_id, :secret_access_key, :session_token, and :account_id options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'], ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
    • ~/.aws/credentials
    • ~/.aws/config
    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentials or Aws::ECSCredentials to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED'] to true.
  • :region (required, String)

    The AWS region to connect to. The configured :region is used to determine the service :endpoint. When not passed, a default :region is searched for in the following locations:

    • Aws.config[:region]
    • ENV['AWS_REGION']
    • ENV['AMAZON_REGION']
    • ENV['AWS_DEFAULT_REGION']
    • ~/.aws/credentials
    • ~/.aws/config
  • :access_key_id (String)
  • :account_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false.

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

    Used only in adaptive retry mode. When true, the request will sleep until there is sufficent client side capacity to retry the request. When false, the request will raise a RetryCapacityNotAvailableError and will not retry instead of sleeping.

  • :client_side_monitoring (Boolean) — default: false

    When true, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "127.0.0.1"

    Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types.

  • :correct_clock_skew (Boolean) — default: true

    Used only in standard and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks.

  • :defaults_mode (String) — default: "legacy"

    See DefaultsModeConfiguration for a list of the accepted modes and the configuration defaults that are included.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :disable_request_compression (Boolean) — default: false

    When set to 'true' the request body will not be compressed for supported operations.

  • :endpoint (String, URI::HTTPS, URI::HTTP)

    Normally you should not configure the :endpoint option directly. This is normally constructed from the :region option. Configuring :endpoint is normally reserved for connecting to test or custom endpoints. The endpoint should be a URI formatted like:

    'http://example.com'
    'https://example.com'
    'http://example.com:123'
    
  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: false

    When set to true, endpoint discovery will be enabled for operations when available.

  • :ignore_configured_endpoint_urls (Boolean)

    Setting to true disables use of endpoint URLs provided via environment variables and the shared configuration file.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the :logger at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :max_attempts (Integer) — default: 3

    An integer representing the maximum number attempts that will be made for a single request, including the initial attempt. For example, setting this value to 5 will result in a request being retried up to 4 times. Used in standard and adaptive retry modes.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used.

  • :request_min_compression_size_bytes (Integer) — default: 10240

    The minimum size in bytes that triggers compression for request bodies. The value must be non-negative integer value between 0 and 10485780 bytes inclusive.

  • :retry_backoff (Proc)

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the legacy retry mode.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. This option is only used in the legacy retry mode.

    @see https://www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the legacy retry mode.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_mode (String) — default: "legacy"

    Specifies which retry algorithm to use. Values are:

    • legacy - The pre-existing retry behavior. This is default value if no retry mode is provided.

    • standard - A standardized set of retry rules across the AWS SDKs. This includes support for retry quotas, which limit the number of unsuccessful retries a client can make.

    • adaptive - An experimental retry mode that includes all the functionality of standard mode along with automatic client side throttling. This is a provisional mode that may change behavior in the future.

  • :sdk_ua_app_id (String)

    A unique and opaque application ID that is appended to the User-Agent header as app/sdk_ua_app_id. It should have a maximum length of 50. This variable is sourced from environment variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.

  • :secret_access_key (String)
  • :session_token (String)
  • :sigv4a_signing_region_set (Array)

    A list of regions that should be signed with SigV4a signing. When not passed, a default :sigv4a_signing_region_set is searched for in the following locations:

    • Aws.config[:sigv4a_signing_region_set]
    • ENV['AWS_SIGV4A_SIGNING_REGION_SET']
    • ~/.aws/config
  • :simple_json (Boolean) — default: false

    Disables request parameter conversion, validation, and formatting. Also disables response data type conversions. The request parameters hash must be formatted exactly as the API expects.This option is useful when you want to ensure the highest level of performance by avoiding overhead of walking request parameters and response data structures.

  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :telemetry_provider (Aws::Telemetry::TelemetryProviderBase) — default: Aws::Telemetry::NoOpTelemetryProvider

    Allows you to provide a telemetry provider, which is used to emit telemetry data. By default, uses NoOpTelemetryProvider which will not record or emit any telemetry data. The SDK supports the following telemetry providers:

    • OpenTelemetry (OTel) - To use the OTel provider, install and require the opentelemetry-sdk gem and then, pass in an instance of a Aws::Telemetry::OTelProvider for telemetry provider.
  • :token_provider (Aws::TokenProvider)

    A Bearer Token Provider. This can be an instance of any one of the following classes:

    • Aws::StaticTokenProvider - Used for configuring static, non-refreshing tokens.

    • Aws::SSOTokenProvider - Used for loading tokens from AWS SSO using an access token generated from aws login.

    When :token_provider is not configured directly, the Aws::TokenProviderChain will be used to search for tokens configured for your profile in shared configuration files.

  • :use_dualstack_endpoint (Boolean)

    When set to true, dualstack enabled endpoints (with .aws TLD) will be used if available.

  • :use_fips_endpoint (Boolean)

    When set to true, fips compatible endpoints will be used if available. When a fips region is used, the region is normalized and this config is set to true.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request.

  • :endpoint_provider (Aws::Personalize::EndpointProvider)

    The endpoint provider used to resolve endpoints. Any object that responds to #resolve_endpoint(parameters) where parameters is a Struct similar to Aws::Personalize::EndpointParameters.

  • :http_continue_timeout (Float) — default: 1

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has "Expect" header set to "100-continue". Defaults to nil which disables this behaviour. This value can safely be set per request on the session.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idle before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_open_timeout (Float) — default: 15

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like 'http://proxy.com:123'.

  • :http_read_timeout (Float) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_wire_trace (Boolean) — default: false

    When true, HTTP debug output will be sent to the :logger.

  • :on_chunk_received (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the response body is received. It provides three arguments: the chunk, the number of bytes received, and the total number of bytes in the response (or nil if the server did not send a content-length).

  • :on_chunk_sent (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the request body is sent. It provides three arguments: the chunk, the number of bytes read from the body, and the total number of bytes in the body.

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised.

  • :ssl_ca_bundle (String)

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_directory (String)

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_store (String)

    Sets the X509::Store to verify peer certificate.

  • :ssl_cert (OpenSSL::X509::Certificate)

    Sets a client certificate when creating http connections.

  • :ssl_key (OpenSSL::PKey)

    Sets a client key when creating http connections.

  • :ssl_timeout (Float)

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true

    When true, SSL peer certificates are verified when establishing a connection.



451
452
453
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 451

def initialize(*args)
  super
end

Instance Method Details

#create_batch_inference_job(params = {}) ⇒ Types::CreateBatchInferenceJobResponse

Generates batch recommendations based on a list of items or users stored in Amazon S3 and exports the recommendations to an Amazon S3 bucket.

To generate batch recommendations, specify the ARN of a solution version and an Amazon S3 URI for the input and output data. For user personalization, popular items, and personalized ranking solutions, the batch inference job generates a list of recommended items for each user ID in the input file. For related items solutions, the job generates a list of recommended items for each item ID in the input file.

For more information, see Creating a batch inference job .

If you use the Similar-Items recipe, Amazon Personalize can add descriptive themes to batch recommendations. To generate themes, set the job's mode to THEME_GENERATION and specify the name of the field that contains item names in the input data.

For more information about generating themes, see Batch recommendations with themes from Content Generator .

You can't get batch recommendations with the Trending-Now or Next-Best-Action recipes.

Examples:

Request syntax with placeholder values


resp = client.create_batch_inference_job({
  job_name: "Name", # required
  solution_version_arn: "Arn", # required
  filter_arn: "Arn",
  num_results: 1,
  job_input: { # required
    s3_data_source: { # required
      path: "S3Location", # required
      kms_key_arn: "KmsKeyArn",
    },
  },
  job_output: { # required
    s3_data_destination: { # required
      path: "S3Location", # required
      kms_key_arn: "KmsKeyArn",
    },
  },
  role_arn: "RoleArn", # required
  batch_inference_job_config: {
    item_exploration_config: {
      "ParameterName" => "ParameterValue",
    },
  },
  tags: [
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
  batch_inference_job_mode: "BATCH_INFERENCE", # accepts BATCH_INFERENCE, THEME_GENERATION
  theme_generation_config: {
    fields_for_theme_generation: { # required
      item_name: "ColumnName", # required
    },
  },
})

Response structure


resp.batch_inference_job_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :job_name (required, String)

    The name of the batch inference job to create.

  • :solution_version_arn (required, String)

    The Amazon Resource Name (ARN) of the solution version that will be used to generate the batch inference recommendations.

  • :filter_arn (String)

    The ARN of the filter to apply to the batch inference job. For more information on using filters, see Filtering batch recommendations.

  • :num_results (Integer)

    The number of recommendations to retrieve.

  • :job_input (required, Types::BatchInferenceJobInput)

    The Amazon S3 path that leads to the input file to base your recommendations on. The input material must be in JSON format.

  • :job_output (required, Types::BatchInferenceJobOutput)

    The path to the Amazon S3 bucket where the job's output will be stored.

  • :role_arn (required, String)

    The ARN of the Amazon Identity and Access Management role that has permissions to read and write to your input and output Amazon S3 buckets respectively.

  • :batch_inference_job_config (Types::BatchInferenceJobConfig)

    The configuration details of a batch inference job.

  • :tags (Array<Types::Tag>)

    A list of tags to apply to the batch inference job.

  • :batch_inference_job_mode (String)

    The mode of the batch inference job. To generate descriptive themes for groups of similar items, set the job mode to THEME_GENERATION. If you don't want to generate themes, use the default BATCH_INFERENCE.

    When you get batch recommendations with themes, you will incur additional costs. For more information, see Amazon Personalize pricing.

  • :theme_generation_config (Types::ThemeGenerationConfig)

    For theme generation jobs, specify the name of the column in your Items dataset that contains each item's name.

Returns:

See Also:



598
599
600
601
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 598

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

#create_batch_segment_job(params = {}) ⇒ Types::CreateBatchSegmentJobResponse

Creates a batch segment job. The operation can handle up to 50 million records and the input file must be in JSON format. For more information, see Getting batch recommendations and user segments.

Examples:

Request syntax with placeholder values


resp = client.create_batch_segment_job({
  job_name: "Name", # required
  solution_version_arn: "Arn", # required
  filter_arn: "Arn",
  num_results: 1,
  job_input: { # required
    s3_data_source: { # required
      path: "S3Location", # required
      kms_key_arn: "KmsKeyArn",
    },
  },
  job_output: { # required
    s3_data_destination: { # required
      path: "S3Location", # required
      kms_key_arn: "KmsKeyArn",
    },
  },
  role_arn: "RoleArn", # required
  tags: [
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
})

Response structure


resp.batch_segment_job_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :job_name (required, String)

    The name of the batch segment job to create.

  • :solution_version_arn (required, String)

    The Amazon Resource Name (ARN) of the solution version you want the batch segment job to use to generate batch segments.

  • :filter_arn (String)

    The ARN of the filter to apply to the batch segment job. For more information on using filters, see Filtering batch recommendations.

  • :num_results (Integer)

    The number of predicted users generated by the batch segment job for each line of input data. The maximum number of users per segment is 5 million.

  • :job_input (required, Types::BatchSegmentJobInput)

    The Amazon S3 path for the input data used to generate the batch segment job.

  • :job_output (required, Types::BatchSegmentJobOutput)

    The Amazon S3 path for the bucket where the job's output will be stored.

  • :role_arn (required, String)

    The ARN of the Amazon Identity and Access Management role that has permissions to read and write to your input and output Amazon S3 buckets respectively.

  • :tags (Array<Types::Tag>)

    A list of tags to apply to the batch segment job.

Returns:

See Also:



692
693
694
695
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 692

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

#create_campaign(params = {}) ⇒ Types::CreateCampaignResponse

You incur campaign costs while it is active. To avoid unnecessary costs, make sure to delete the campaign when you are finished. For information about campaign costs, see Amazon Personalize pricing.

Creates a campaign that deploys a solution version. When a client calls the GetRecommendations and GetPersonalizedRanking APIs, a campaign is specified in the request.

Minimum Provisioned TPS and Auto-Scaling

A high minProvisionedTPS will increase your cost. We recommend starting with 1 for minProvisionedTPS (the default). Track your usage using Amazon CloudWatch metrics, and increase the minProvisionedTPS as necessary.

When you create an Amazon Personalize campaign, you can specify the minimum provisioned transactions per second (minProvisionedTPS) for the campaign. This is the baseline transaction throughput for the campaign provisioned by Amazon Personalize. It sets the minimum billing charge for the campaign while it is active. A transaction is a single GetRecommendations or GetPersonalizedRanking request. The default minProvisionedTPS is 1.

If your TPS increases beyond the minProvisionedTPS, Amazon Personalize auto-scales the provisioned capacity up and down, but never below minProvisionedTPS. There's a short time delay while the capacity is increased that might cause loss of transactions. When your traffic reduces, capacity returns to the minProvisionedTPS.

You are charged for the the minimum provisioned TPS or, if your requests exceed the minProvisionedTPS, the actual TPS. The actual TPS is the total number of recommendation requests you make. We recommend starting with a low minProvisionedTPS, track your usage using Amazon CloudWatch metrics, and then increase the minProvisionedTPS as necessary.

For more information about campaign costs, see Amazon Personalize pricing.

Status

A campaign can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

To get the campaign status, call DescribeCampaign.

Wait until the status of the campaign is ACTIVE before asking the campaign for recommendations.

Related APIs

Examples:

Request syntax with placeholder values


resp = client.create_campaign({
  name: "Name", # required
  solution_version_arn: "Arn", # required
  min_provisioned_tps: 1,
  campaign_config: {
    item_exploration_config: {
      "ParameterName" => "ParameterValue",
    },
    enable_metadata_with_recommendations: false,
    sync_with_latest_solution_version: false,
  },
  tags: [
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
})

Response structure


resp.campaign_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    A name for the new campaign. The campaign name must be unique within your account.

  • :solution_version_arn (required, String)

    The Amazon Resource Name (ARN) of the trained model to deploy with the campaign. To specify the latest solution version of your solution, specify the ARN of your solution in SolutionArn/$LATEST format. You must use this format if you set syncWithLatestSolutionVersion to True in the CampaignConfig.

    To deploy a model that isn't the latest solution version of your solution, specify the ARN of the solution version.

    For more information about automatic campaign updates, see Enabling automatic campaign updates.

  • :min_provisioned_tps (Integer)

    Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon Personalize will support. A high minProvisionedTPS will increase your bill. We recommend starting with 1 for minProvisionedTPS (the default). Track your usage using Amazon CloudWatch metrics, and increase the minProvisionedTPS as necessary.

  • :campaign_config (Types::CampaignConfig)

    The configuration details of a campaign.

  • :tags (Array<Types::Tag>)

    A list of tags to apply to the campaign.

Returns:

See Also:



845
846
847
848
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 845

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

#create_data_deletion_job(params = {}) ⇒ Types::CreateDataDeletionJobResponse

Creates a batch job that deletes all references to specific users from an Amazon Personalize dataset group in batches. You specify the users to delete in a CSV file of userIds in an Amazon S3 bucket. After a job completes, Amazon Personalize no longer trains on the users’ data and no longer considers the users when generating user segments. For more information about creating a data deletion job, see Deleting users.

  • Your input file must be a CSV file with a single USER_ID column that lists the users IDs. For more information about preparing the CSV file, see Preparing your data deletion file and uploading it to Amazon S3.

  • To give Amazon Personalize permission to access your input CSV file of userIds, you must specify an IAM service role that has permission to read from the data source. This role needs GetObject and ListBucket permissions for the bucket and its content. These permissions are the same as importing data. For information on granting access to your Amazon S3 bucket, see Giving Amazon Personalize Access to Amazon S3 Resources.

After you create a job, it can take up to a day to delete all references to the users from datasets and models. Until the job completes, Amazon Personalize continues to use the data when training. And if you use a User Segmentation recipe, the users might appear in user segments.

Status

A data deletion job can have one of the following statuses:

  • PENDING > IN_PROGRESS > COMPLETED -or- FAILED

^

To get the status of the data deletion job, call DescribeDataDeletionJob API operation and specify the Amazon Resource Name (ARN) of the job. If the status is FAILED, the response includes a failureReason key, which describes why the job failed.

Related APIs

Examples:

Request syntax with placeholder values


resp = client.create_data_deletion_job({
  job_name: "Name", # required
  dataset_group_arn: "Arn", # required
  data_source: { # required
    data_location: "S3Location",
  },
  role_arn: "RoleArn", # required
  tags: [
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
})

Response structure


resp.data_deletion_job_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :job_name (required, String)

    The name for the data deletion job.

  • :dataset_group_arn (required, String)

    The Amazon Resource Name (ARN) of the dataset group that has the datasets you want to delete records from.

  • :data_source (required, Types::DataSource)

    The Amazon S3 bucket that contains the list of userIds of the users to delete.

  • :role_arn (required, String)

    The Amazon Resource Name (ARN) of the IAM role that has permissions to read from the Amazon S3 data source.

  • :tags (Array<Types::Tag>)

    A list of tags to apply to the data deletion job.

Returns:

See Also:



955
956
957
958
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 955

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

#create_dataset(params = {}) ⇒ Types::CreateDatasetResponse

Creates an empty dataset and adds it to the specified dataset group. Use CreateDatasetImportJob to import your training data to a dataset.

There are 5 types of datasets:

  • Item interactions

  • Items

  • Users

  • Action interactions

  • Actions

Each dataset type has an associated schema with required field types. Only the Item interactions dataset is required in order to train a model (also referred to as creating a solution).

A dataset can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

To get the status of the dataset, call DescribeDataset.

Related APIs

Examples:

Request syntax with placeholder values


resp = client.create_dataset({
  name: "Name", # required
  schema_arn: "Arn", # required
  dataset_group_arn: "Arn", # required
  dataset_type: "DatasetType", # required
  tags: [
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
})

Response structure


resp.dataset_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name for the dataset.

  • :schema_arn (required, String)

    The ARN of the schema to associate with the dataset. The schema defines the dataset fields.

  • :dataset_group_arn (required, String)

    The Amazon Resource Name (ARN) of the dataset group to add the dataset to.

  • :dataset_type (required, String)

    The type of dataset.

    One of the following (case insensitive) values:

    • Interactions

    • Items

    • Users

    • Actions

    • Action_Interactions

  • :tags (Array<Types::Tag>)

    A list of tags to apply to the dataset.

Returns:

See Also:



1067
1068
1069
1070
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 1067

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

#create_dataset_export_job(params = {}) ⇒ Types::CreateDatasetExportJobResponse

Creates a job that exports data from your dataset to an Amazon S3 bucket. To allow Amazon Personalize to export the training data, you must specify an service-linked IAM role that gives Amazon Personalize PutObject permissions for your Amazon S3 bucket. For information, see Exporting a dataset in the Amazon Personalize developer guide.

Status

A dataset export job can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

^

To get the status of the export job, call DescribeDatasetExportJob, and specify the Amazon Resource Name (ARN) of the dataset export job. The dataset export is complete when the status shows as ACTIVE. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the job failed.

Examples:

Request syntax with placeholder values


resp = client.create_dataset_export_job({
  job_name: "Name", # required
  dataset_arn: "Arn", # required
  ingestion_mode: "BULK", # accepts BULK, PUT, ALL
  role_arn: "RoleArn", # required
  job_output: { # required
    s3_data_destination: { # required
      path: "S3Location", # required
      kms_key_arn: "KmsKeyArn",
    },
  },
  tags: [
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
})

Response structure


resp.dataset_export_job_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :job_name (required, String)

    The name for the dataset export job.

  • :dataset_arn (required, String)

    The Amazon Resource Name (ARN) of the dataset that contains the data to export.

  • :ingestion_mode (String)

    The data to export, based on how you imported the data. You can choose to export only BULK data that you imported using a dataset import job, only PUT data that you imported incrementally (using the console, PutEvents, PutUsers and PutItems operations), or ALL for both types. The default value is PUT.

  • :role_arn (required, String)

    The Amazon Resource Name (ARN) of the IAM service role that has permissions to add data to your output Amazon S3 bucket.

  • :job_output (required, Types::DatasetExportJobOutput)

    The path to the Amazon S3 bucket where the job's output is stored.

  • :tags (Array<Types::Tag>)

    A list of tags to apply to the dataset export job.

Returns:

See Also:



1161
1162
1163
1164
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 1161

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

#create_dataset_group(params = {}) ⇒ Types::CreateDatasetGroupResponse

Creates an empty dataset group. A dataset group is a container for Amazon Personalize resources. A dataset group can contain at most three datasets, one for each type of dataset:

  • Item interactions

  • Items

  • Users

  • Actions

  • Action interactions

A dataset group can be a Domain dataset group, where you specify a domain and use pre-configured resources like recommenders, or a Custom dataset group, where you use custom resources, such as a solution with a solution version, that you deploy with a campaign. If you start with a Domain dataset group, you can still add custom resources such as solutions and solution versions trained with recipes for custom use cases and deployed with campaigns.

A dataset group can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING

To get the status of the dataset group, call DescribeDatasetGroup. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the creation failed.

You must wait until the status of the dataset group is ACTIVE before adding a dataset to the group.

You can specify an Key Management Service (KMS) key to encrypt the datasets in the group. If you specify a KMS key, you must also include an Identity and Access Management (IAM) role that has permission to access the key.

APIs that require a dataset group ARN in the request

Related APIs

Examples:

Request syntax with placeholder values


resp = client.create_dataset_group({
  name: "Name", # required
  role_arn: "RoleArn",
  kms_key_arn: "KmsKeyArn",
  domain: "ECOMMERCE", # accepts ECOMMERCE, VIDEO_ON_DEMAND
  tags: [
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
})

Response structure


resp.dataset_group_arn #=> String
resp.domain #=> String, one of "ECOMMERCE", "VIDEO_ON_DEMAND"

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name for the new dataset group.

  • :role_arn (String)

    The ARN of the Identity and Access Management (IAM) role that has permissions to access the Key Management Service (KMS) key. Supplying an IAM role is only valid when also specifying a KMS key.

  • :kms_key_arn (String)

    The Amazon Resource Name (ARN) of a Key Management Service (KMS) key used to encrypt the datasets.

  • :domain (String)

    The domain of the dataset group. Specify a domain to create a Domain dataset group. The domain you specify determines the default schemas for datasets and the use cases available for recommenders. If you don't specify a domain, you create a Custom dataset group with solution versions that you deploy with a campaign.

  • :tags (Array<Types::Tag>)

    A list of tags to apply to the dataset group.

Returns:

See Also:



1290
1291
1292
1293
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 1290

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

#create_dataset_import_job(params = {}) ⇒ Types::CreateDatasetImportJobResponse

Creates a job that imports training data from your data source (an Amazon S3 bucket) to an Amazon Personalize dataset. To allow Amazon Personalize to import the training data, you must specify an IAM service role that has permission to read from the data source, as Amazon Personalize makes a copy of your data and processes it internally. For information on granting access to your Amazon S3 bucket, see Giving Amazon Personalize Access to Amazon S3 Resources.

If you already created a recommender or deployed a custom solution version with a campaign, how new bulk records influence recommendations depends on the domain use case or recipe that you use. For more information, see How new data influences real-time recommendations.

By default, a dataset import job replaces any existing data in the dataset that you imported in bulk. To add new records without replacing existing data, specify INCREMENTAL for the import mode in the CreateDatasetImportJob operation.

Status

A dataset import job can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

^

To get the status of the import job, call DescribeDatasetImportJob, providing the Amazon Resource Name (ARN) of the dataset import job. The dataset import is complete when the status shows as ACTIVE. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the job failed.

Importing takes time. You must wait until the status shows as ACTIVE before training a model using the dataset.

Related APIs

Examples:

Request syntax with placeholder values


resp = client.create_dataset_import_job({
  job_name: "Name", # required
  dataset_arn: "Arn", # required
  data_source: { # required
    data_location: "S3Location",
  },
  role_arn: "RoleArn", # required
  tags: [
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
  import_mode: "FULL", # accepts FULL, INCREMENTAL
  publish_attribution_metrics_to_s3: false,
})

Response structure


resp.dataset_import_job_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :job_name (required, String)

    The name for the dataset import job.

  • :dataset_arn (required, String)

    The ARN of the dataset that receives the imported data.

  • :data_source (required, Types::DataSource)

    The Amazon S3 bucket that contains the training data to import.

  • :role_arn (required, String)

    The ARN of the IAM role that has permissions to read from the Amazon S3 data source.

  • :tags (Array<Types::Tag>)

    A list of tags to apply to the dataset import job.

  • :import_mode (String)

    Specify how to add the new records to an existing dataset. The default import mode is FULL. If you haven't imported bulk records into the dataset previously, you can only specify FULL.

    • Specify FULL to overwrite all existing bulk data in your dataset. Data you imported individually is not replaced.

    • Specify INCREMENTAL to append the new records to the existing data in your dataset. Amazon Personalize replaces any record with the same ID with the new one.

  • :publish_attribution_metrics_to_s3 (Boolean)

    If you created a metric attribution, specify whether to publish metrics for this import job to Amazon S3

Returns:

See Also:



1416
1417
1418
1419
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 1416

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

#create_event_tracker(params = {}) ⇒ Types::CreateEventTrackerResponse

Creates an event tracker that you use when adding event data to a specified dataset group using the PutEvents API.

Only one event tracker can be associated with a dataset group. You will get an error if you call CreateEventTracker using the same dataset group as an existing event tracker.

When you create an event tracker, the response includes a tracking ID, which you pass as a parameter when you use the PutEvents operation. Amazon Personalize then appends the event data to the Item interactions dataset of the dataset group you specify in your event tracker.

The event tracker can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

To get the status of the event tracker, call DescribeEventTracker.

The event tracker must be in the ACTIVE state before using the tracking ID.

Related APIs

Examples:

Request syntax with placeholder values


resp = client.create_event_tracker({
  name: "Name", # required
  dataset_group_arn: "Arn", # required
  tags: [
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
})

Response structure


resp.event_tracker_arn #=> String
resp.tracking_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name for the event tracker.

  • :dataset_group_arn (required, String)

    The Amazon Resource Name (ARN) of the dataset group that receives the event data.

  • :tags (Array<Types::Tag>)

    A list of tags to apply to the event tracker.

Returns:

See Also:



1507
1508
1509
1510
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 1507

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

#create_filter(params = {}) ⇒ Types::CreateFilterResponse

Creates a recommendation filter. For more information, see Filtering recommendations and user segments.

Examples:

Request syntax with placeholder values


resp = client.create_filter({
  name: "Name", # required
  dataset_group_arn: "Arn", # required
  filter_expression: "FilterExpression", # required
  tags: [
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
})

Response structure


resp.filter_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the filter to create.

  • :dataset_group_arn (required, String)

    The ARN of the dataset group that the filter will belong to.

  • :filter_expression (required, String)

    The filter expression defines which items are included or excluded from recommendations. Filter expression must follow specific format rules. For information about filter expression structure and syntax, see Filter expressions.

  • :tags (Array<Types::Tag>)

    A list of tags to apply to the filter.

Returns:

See Also:



1568
1569
1570
1571
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 1568

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

#create_metric_attribution(params = {}) ⇒ Types::CreateMetricAttributionResponse

Creates a metric attribution. A metric attribution creates reports on the data that you import into Amazon Personalize. Depending on how you imported the data, you can view reports in Amazon CloudWatch or Amazon S3. For more information, see Measuring impact of recommendations.

Examples:

Request syntax with placeholder values


resp = client.create_metric_attribution({
  name: "Name", # required
  dataset_group_arn: "Arn", # required
  metrics: [ # required
    {
      event_type: "EventType", # required
      metric_name: "MetricName", # required
      expression: "MetricExpression", # required
    },
  ],
  metrics_output_config: { # required
    s3_data_destination: {
      path: "S3Location", # required
      kms_key_arn: "KmsKeyArn",
    },
    role_arn: "RoleArn", # required
  },
})

Response structure


resp.metric_attribution_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    A name for the metric attribution.

  • :dataset_group_arn (required, String)

    The Amazon Resource Name (ARN) of the destination dataset group for the metric attribution.

  • :metrics (required, Array<Types::MetricAttribute>)

    A list of metric attributes for the metric attribution. Each metric attribute specifies an event type to track and a function. Available functions are SUM() or SAMPLECOUNT(). For SUM() functions, provide the dataset type (either Interactions or Items) and column to sum as a parameter. For example SUM(Items.PRICE).

  • :metrics_output_config (required, Types::MetricAttributionOutput)

    The output configuration details for the metric attribution.

Returns:

See Also:



1633
1634
1635
1636
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 1633

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

#create_recommender(params = {}) ⇒ Types::CreateRecommenderResponse

Creates a recommender with the recipe (a Domain dataset group use case) you specify. You create recommenders for a Domain dataset group and specify the recommender's Amazon Resource Name (ARN) when you make a GetRecommendations request.

Minimum recommendation requests per second

A high minRecommendationRequestsPerSecond will increase your bill. We recommend starting with 1 for minRecommendationRequestsPerSecond (the default). Track your usage using Amazon CloudWatch metrics, and increase the minRecommendationRequestsPerSecond as necessary.

When you create a recommender, you can configure the recommender's minimum recommendation requests per second. The minimum recommendation requests per second (minRecommendationRequestsPerSecond) specifies the baseline recommendation request throughput provisioned by Amazon Personalize. The default minRecommendationRequestsPerSecond is 1. A recommendation request is a single GetRecommendations operation. Request throughput is measured in requests per second and Amazon Personalize uses your requests per second to derive your requests per hour and the price of your recommender usage.

If your requests per second increases beyond minRecommendationRequestsPerSecond, Amazon Personalize auto-scales the provisioned capacity up and down, but never below minRecommendationRequestsPerSecond. There's a short time delay while the capacity is increased that might cause loss of requests.

Your bill is the greater of either the minimum requests per hour (based on minRecommendationRequestsPerSecond) or the actual number of requests. The actual request throughput used is calculated as the average requests/second within a one-hour window. We recommend starting with the default minRecommendationRequestsPerSecond, track your usage using Amazon CloudWatch metrics, and then increase the minRecommendationRequestsPerSecond as necessary.

Status

A recommender can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • STOP PENDING > STOP IN_PROGRESS > INACTIVE > START PENDING > START IN_PROGRESS > ACTIVE

  • DELETE PENDING > DELETE IN_PROGRESS

To get the recommender status, call DescribeRecommender.

Wait until the status of the recommender is ACTIVE before asking the recommender for recommendations.

Related APIs

Examples:

Request syntax with placeholder values


resp = client.create_recommender({
  name: "Name", # required
  dataset_group_arn: "Arn", # required
  recipe_arn: "Arn", # required
  recommender_config: {
    item_exploration_config: {
      "ParameterName" => "ParameterValue",
    },
    min_recommendation_requests_per_second: 1,
    training_data_config: {
      excluded_dataset_columns: {
        "DatasetType" => ["ColumnName"],
      },
    },
    enable_metadata_with_recommendations: false,
  },
  tags: [
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
})

Response structure


resp.recommender_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the recommender.

  • :dataset_group_arn (required, String)

    The Amazon Resource Name (ARN) of the destination domain dataset group for the recommender.

  • :recipe_arn (required, String)

    The Amazon Resource Name (ARN) of the recipe that the recommender will use. For a recommender, a recipe is a Domain dataset group use case. Only Domain dataset group use cases can be used to create a recommender. For information about use cases see Choosing recommender use cases.

  • :recommender_config (Types::RecommenderConfig)

    The configuration details of the recommender.

  • :tags (Array<Types::Tag>)

    A list of tags to apply to the recommender.

Returns:

See Also:



1777
1778
1779
1780
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 1777

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

#create_schema(params = {}) ⇒ Types::CreateSchemaResponse

Creates an Amazon Personalize schema from the specified schema string. The schema you create must be in Avro JSON format.

Amazon Personalize recognizes three schema variants. Each schema is associated with a dataset type and has a set of required field and keywords. If you are creating a schema for a dataset in a Domain dataset group, you provide the domain of the Domain dataset group. You specify a schema when you call CreateDataset.

Related APIs

Examples:

Request syntax with placeholder values


resp = client.create_schema({
  name: "Name", # required
  schema: "AvroSchema", # required
  domain: "ECOMMERCE", # accepts ECOMMERCE, VIDEO_ON_DEMAND
})

Response structure


resp.schema_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name for the schema.

  • :schema (required, String)

    A schema in Avro JSON format.

  • :domain (String)

    The domain for the schema. If you are creating a schema for a dataset in a Domain dataset group, specify the domain you chose when you created the Domain dataset group.

Returns:

See Also:



1837
1838
1839
1840
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 1837

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

#create_solution(params = {}) ⇒ Types::CreateSolutionResponse

By default, all new solutions use automatic training. With automatic training, you incur training costs while your solution is active. To avoid unnecessary costs, when you are finished you can update the solution to turn off automatic training. For information about training costs, see Amazon Personalize pricing.

Creates the configuration for training a model (creating a solution version). This configuration includes the recipe to use for model training and optional training configuration, such as columns to use in training and feature transformation parameters. For more information about configuring a solution, see Creating and configuring a solution.

By default, new solutions use automatic training to create solution versions every 7 days. You can change the training frequency. Automatic solution version creation starts within one hour after the solution is ACTIVE. If you manually create a solution version within the hour, the solution skips the first automatic training. For more information, see Configuring automatic training.

To turn off automatic training, set performAutoTraining to false. If you turn off automatic training, you must manually create a solution version by calling the CreateSolutionVersion operation.

After training starts, you can get the solution version's Amazon Resource Name (ARN) with the ListSolutionVersions API operation. To get its status, use the DescribeSolutionVersion.

After training completes you can evaluate model accuracy by calling GetSolutionMetrics. When you are satisfied with the solution version, you deploy it using CreateCampaign. The campaign provides recommendations to a client through the GetRecommendations API.

Amazon Personalize doesn't support configuring the hpoObjective for solution hyperparameter optimization at this time.

Status

A solution can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

To get the status of the solution, call DescribeSolution. If you use manual training, the status must be ACTIVE before you call CreateSolutionVersion.

Related APIs

Examples:

Request syntax with placeholder values


resp = client.create_solution({
  name: "Name", # required
  perform_hpo: false,
  perform_auto_ml: false,
  perform_auto_training: false,
  recipe_arn: "Arn",
  dataset_group_arn: "Arn", # required
  event_type: "EventType",
  solution_config: {
    event_value_threshold: "EventValueThreshold",
    hpo_config: {
      hpo_objective: {
        type: "HPOObjectiveType",
        metric_name: "MetricName",
        metric_regex: "MetricRegex",
      },
      hpo_resource_config: {
        max_number_of_training_jobs: "HPOResource",
        max_parallel_training_jobs: "HPOResource",
      },
      algorithm_hyper_parameter_ranges: {
        integer_hyper_parameter_ranges: [
          {
            name: "ParameterName",
            min_value: 1,
            max_value: 1,
          },
        ],
        continuous_hyper_parameter_ranges: [
          {
            name: "ParameterName",
            min_value: 1.0,
            max_value: 1.0,
          },
        ],
        categorical_hyper_parameter_ranges: [
          {
            name: "ParameterName",
            values: ["CategoricalValue"],
          },
        ],
      },
    },
    algorithm_hyper_parameters: {
      "ParameterName" => "ParameterValue",
    },
    feature_transformation_parameters: {
      "ParameterName" => "ParameterValue",
    },
    auto_ml_config: {
      metric_name: "MetricName",
      recipe_list: ["Arn"],
    },
    optimization_objective: {
      item_attribute: "ItemAttribute",
      objective_sensitivity: "LOW", # accepts LOW, MEDIUM, HIGH, OFF
    },
    training_data_config: {
      excluded_dataset_columns: {
        "DatasetType" => ["ColumnName"],
      },
    },
    auto_training_config: {
      scheduling_expression: "SchedulingExpression",
    },
  },
  tags: [
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
})

Response structure


resp.solution_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name for the solution.

  • :perform_hpo (Boolean)

    Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. The default is false.

    When performing AutoML, this parameter is always true and you should not set it to false.

  • :perform_auto_ml (Boolean)

    We don't recommend enabling automated machine learning. Instead, match your use case to the available Amazon Personalize recipes. For more information, see Choosing a recipe.

    Whether to perform automated machine learning (AutoML). The default is false. For this case, you must specify recipeArn.

    When set to true, Amazon Personalize analyzes your training data and selects the optimal USER_PERSONALIZATION recipe and hyperparameters. In this case, you must omit recipeArn. Amazon Personalize determines the optimal recipe by running tests with different values for the hyperparameters. AutoML lengthens the training process as compared to selecting a specific recipe.

  • :perform_auto_training (Boolean)

    Whether the solution uses automatic training to create new solution versions (trained models). The default is True and the solution automatically creates new solution versions every 7 days. You can change the training frequency by specifying a schedulingExpression in the AutoTrainingConfig as part of solution configuration. For more information about automatic training, see Configuring automatic training.

    Automatic solution version creation starts within one hour after the solution is ACTIVE. If you manually create a solution version within the hour, the solution skips the first automatic training.

    After training starts, you can get the solution version's Amazon Resource Name (ARN) with the ListSolutionVersions API operation. To get its status, use the DescribeSolutionVersion.

  • :recipe_arn (String)

    The Amazon Resource Name (ARN) of the recipe to use for model training. This is required when performAutoML is false. For information about different Amazon Personalize recipes and their ARNs, see Choosing a recipe.

  • :dataset_group_arn (required, String)

    The Amazon Resource Name (ARN) of the dataset group that provides the training data.

  • :event_type (String)

    When your have multiple event types (using an EVENT_TYPE schema field), this parameter specifies which event type (for example, 'click' or 'like') is used for training the model.

    If you do not provide an eventType, Amazon Personalize will use all interactions for training with equal weight regardless of type.

  • :solution_config (Types::SolutionConfig)

    The configuration properties for the solution. When performAutoML is set to true, Amazon Personalize only evaluates the autoMLConfig section of the solution configuration.

    Amazon Personalize doesn't support configuring the hpoObjective at this time.

  • :tags (Array<Types::Tag>)

    A list of tags to apply to the solution.

Returns:

See Also:



2106
2107
2108
2109
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2106

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

#create_solution_version(params = {}) ⇒ Types::CreateSolutionVersionResponse

Trains or retrains an active solution in a Custom dataset group. A solution is created using the CreateSolution operation and must be in the ACTIVE state before calling CreateSolutionVersion. A new version of the solution is created every time you call this operation.

Status

A solution version can be in one of the following states:

  • CREATE PENDING

  • CREATE IN_PROGRESS

  • ACTIVE

  • CREATE FAILED

  • CREATE STOPPING

  • CREATE STOPPED

To get the status of the version, call DescribeSolutionVersion. Wait until the status shows as ACTIVE before calling CreateCampaign.

If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the job failed.

Related APIs

Examples:

Request syntax with placeholder values


resp = client.create_solution_version({
  name: "Name",
  solution_arn: "Arn", # required
  training_mode: "FULL", # accepts FULL, UPDATE, AUTOTRAIN
  tags: [
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
})

Response structure


resp.solution_version_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (String)

    The name of the solution version.

  • :solution_arn (required, String)

    The Amazon Resource Name (ARN) of the solution containing the training configuration information.

  • :training_mode (String)

    The scope of training to be performed when creating the solution version. The default is FULL. This creates a completely new model based on the entirety of the training data from the datasets in your dataset group.

    If you use User-Personalization, you can specify a training mode of UPDATE. This updates the model to consider new items for recommendations. It is not a full retraining. You should still complete a full retraining weekly. If you specify UPDATE, Amazon Personalize will stop automatic updates for the solution version. To resume updates, create a new solution with training mode set to FULL and deploy it in a campaign. For more information about automatic updates, see Automatic updates.

    The UPDATE option can only be used when you already have an active solution version created from the input solution using the FULL option and the input solution was trained with the User-Personalization recipe or the legacy HRNN-Coldstart recipe.

  • :tags (Array<Types::Tag>)

    A list of tags to apply to the solution version.

Returns:

See Also:



2228
2229
2230
2231
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2228

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

#delete_campaign(params = {}) ⇒ Struct

Removes a campaign by deleting the solution deployment. The solution that the campaign is based on is not deleted and can be redeployed when needed. A deleted campaign can no longer be specified in a GetRecommendations request. For information on creating campaigns, see CreateCampaign.

Examples:

Request syntax with placeholder values


resp = client.delete_campaign({
  campaign_arn: "Arn", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :campaign_arn (required, String)

    The Amazon Resource Name (ARN) of the campaign to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2259
2260
2261
2262
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2259

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

#delete_dataset(params = {}) ⇒ Struct

Deletes a dataset. You can't delete a dataset if an associated DatasetImportJob or SolutionVersion is in the CREATE PENDING or IN PROGRESS state. For more information on datasets, see CreateDataset.

Examples:

Request syntax with placeholder values


resp = client.delete_dataset({
  dataset_arn: "Arn", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :dataset_arn (required, String)

    The Amazon Resource Name (ARN) of the dataset to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2288
2289
2290
2291
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2288

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

#delete_dataset_group(params = {}) ⇒ Struct

Deletes a dataset group. Before you delete a dataset group, you must delete the following:

  • All associated event trackers.

  • All associated solutions.

  • All datasets in the dataset group.

Examples:

Request syntax with placeholder values


resp = client.delete_dataset_group({
  dataset_group_arn: "Arn", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :dataset_group_arn (required, String)

    The ARN of the dataset group to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2317
2318
2319
2320
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2317

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

#delete_event_tracker(params = {}) ⇒ Struct

Deletes the event tracker. Does not delete the dataset from the dataset group. For more information on event trackers, see CreateEventTracker.

Examples:

Request syntax with placeholder values


resp = client.delete_event_tracker({
  event_tracker_arn: "Arn", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :event_tracker_arn (required, String)

    The Amazon Resource Name (ARN) of the event tracker to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2345
2346
2347
2348
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2345

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

#delete_filter(params = {}) ⇒ Struct

Deletes a filter.

Examples:

Request syntax with placeholder values


resp = client.delete_filter({
  filter_arn: "Arn", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :filter_arn (required, String)

    The ARN of the filter to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2367
2368
2369
2370
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2367

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

#delete_metric_attribution(params = {}) ⇒ Struct

Deletes a metric attribution.

Examples:

Request syntax with placeholder values


resp = client.delete_metric_attribution({
  metric_attribution_arn: "Arn", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :metric_attribution_arn (required, String)

    The metric attribution's Amazon Resource Name (ARN).

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2389
2390
2391
2392
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2389

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

#delete_recommender(params = {}) ⇒ Struct

Deactivates and removes a recommender. A deleted recommender can no longer be specified in a GetRecommendations request.

Examples:

Request syntax with placeholder values


resp = client.delete_recommender({
  recommender_arn: "Arn", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :recommender_arn (required, String)

    The Amazon Resource Name (ARN) of the recommender to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2416
2417
2418
2419
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2416

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

#delete_schema(params = {}) ⇒ Struct

Deletes a schema. Before deleting a schema, you must delete all datasets referencing the schema. For more information on schemas, see CreateSchema.

Examples:

Request syntax with placeholder values


resp = client.delete_schema({
  schema_arn: "Arn", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The Amazon Resource Name (ARN) of the schema to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2444
2445
2446
2447
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2444

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

#delete_solution(params = {}) ⇒ Struct

Deletes all versions of a solution and the Solution object itself. Before deleting a solution, you must delete all campaigns based on the solution. To determine what campaigns are using the solution, call ListCampaigns and supply the Amazon Resource Name (ARN) of the solution. You can't delete a solution if an associated SolutionVersion is in the CREATE PENDING or IN PROGRESS state. For more information on solutions, see CreateSolution.

Examples:

Request syntax with placeholder values


resp = client.delete_solution({
  solution_arn: "Arn", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :solution_arn (required, String)

    The ARN of the solution to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2477
2478
2479
2480
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2477

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

#describe_algorithm(params = {}) ⇒ Types::DescribeAlgorithmResponse

Describes the given algorithm.

Examples:

Request syntax with placeholder values


resp = client.describe_algorithm({
  algorithm_arn: "Arn", # required
})

Response structure


resp.algorithm.name #=> String
resp.algorithm.algorithm_arn #=> String
resp.algorithm.algorithm_image.name #=> String
resp.algorithm.algorithm_image.docker_uri #=> String
resp.algorithm.default_hyper_parameters #=> Hash
resp.algorithm.default_hyper_parameters["ParameterName"] #=> String
resp.algorithm.default_hyper_parameter_ranges.integer_hyper_parameter_ranges #=> Array
resp.algorithm.default_hyper_parameter_ranges.integer_hyper_parameter_ranges[0].name #=> String
resp.algorithm.default_hyper_parameter_ranges.integer_hyper_parameter_ranges[0].min_value #=> Integer
resp.algorithm.default_hyper_parameter_ranges.integer_hyper_parameter_ranges[0].max_value #=> Integer
resp.algorithm.default_hyper_parameter_ranges.integer_hyper_parameter_ranges[0].is_tunable #=> Boolean
resp.algorithm.default_hyper_parameter_ranges.continuous_hyper_parameter_ranges #=> Array
resp.algorithm.default_hyper_parameter_ranges.continuous_hyper_parameter_ranges[0].name #=> String
resp.algorithm.default_hyper_parameter_ranges.continuous_hyper_parameter_ranges[0].min_value #=> Float
resp.algorithm.default_hyper_parameter_ranges.continuous_hyper_parameter_ranges[0].max_value #=> Float
resp.algorithm.default_hyper_parameter_ranges.continuous_hyper_parameter_ranges[0].is_tunable #=> Boolean
resp.algorithm.default_hyper_parameter_ranges.categorical_hyper_parameter_ranges #=> Array
resp.algorithm.default_hyper_parameter_ranges.categorical_hyper_parameter_ranges[0].name #=> String
resp.algorithm.default_hyper_parameter_ranges.categorical_hyper_parameter_ranges[0].values #=> Array
resp.algorithm.default_hyper_parameter_ranges.categorical_hyper_parameter_ranges[0].values[0] #=> String
resp.algorithm.default_hyper_parameter_ranges.categorical_hyper_parameter_ranges[0].is_tunable #=> Boolean
resp.algorithm.default_resource_config #=> Hash
resp.algorithm.default_resource_config["ParameterName"] #=> String
resp.algorithm.training_input_mode #=> String
resp.algorithm.role_arn #=> String
resp.algorithm.creation_date_time #=> Time
resp.algorithm.last_updated_date_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :algorithm_arn (required, String)

    The Amazon Resource Name (ARN) of the algorithm to describe.

Returns:

See Also:



2531
2532
2533
2534
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2531

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

#describe_batch_inference_job(params = {}) ⇒ Types::DescribeBatchInferenceJobResponse

Gets the properties of a batch inference job including name, Amazon Resource Name (ARN), status, input and output configurations, and the ARN of the solution version used to generate the recommendations.

Examples:

Request syntax with placeholder values


resp = client.describe_batch_inference_job({
  batch_inference_job_arn: "Arn", # required
})

Response structure


resp.batch_inference_job.job_name #=> String
resp.batch_inference_job.batch_inference_job_arn #=> String
resp.batch_inference_job.filter_arn #=> String
resp.batch_inference_job.failure_reason #=> String
resp.batch_inference_job.solution_version_arn #=> String
resp.batch_inference_job.num_results #=> Integer
resp.batch_inference_job.job_input.s3_data_source.path #=> String
resp.batch_inference_job.job_input.s3_data_source.kms_key_arn #=> String
resp.batch_inference_job.job_output.s3_data_destination.path #=> String
resp.batch_inference_job.job_output.s3_data_destination.kms_key_arn #=> String
resp.batch_inference_job.batch_inference_job_config.item_exploration_config #=> Hash
resp.batch_inference_job.batch_inference_job_config.item_exploration_config["ParameterName"] #=> String
resp.batch_inference_job.role_arn #=> String
resp.batch_inference_job.batch_inference_job_mode #=> String, one of "BATCH_INFERENCE", "THEME_GENERATION"
resp.batch_inference_job.theme_generation_config.fields_for_theme_generation.item_name #=> String
resp.batch_inference_job.status #=> String
resp.batch_inference_job.creation_date_time #=> Time
resp.batch_inference_job.last_updated_date_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :batch_inference_job_arn (required, String)

    The ARN of the batch inference job to describe.

Returns:

See Also:



2578
2579
2580
2581
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2578

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

#describe_batch_segment_job(params = {}) ⇒ Types::DescribeBatchSegmentJobResponse

Gets the properties of a batch segment job including name, Amazon Resource Name (ARN), status, input and output configurations, and the ARN of the solution version used to generate segments.

Examples:

Request syntax with placeholder values


resp = client.describe_batch_segment_job({
  batch_segment_job_arn: "Arn", # required
})

Response structure


resp.batch_segment_job.job_name #=> String
resp.batch_segment_job.batch_segment_job_arn #=> String
resp.batch_segment_job.filter_arn #=> String
resp.batch_segment_job.failure_reason #=> String
resp.batch_segment_job.solution_version_arn #=> String
resp.batch_segment_job.num_results #=> Integer
resp.batch_segment_job.job_input.s3_data_source.path #=> String
resp.batch_segment_job.job_input.s3_data_source.kms_key_arn #=> String
resp.batch_segment_job.job_output.s3_data_destination.path #=> String
resp.batch_segment_job.job_output.s3_data_destination.kms_key_arn #=> String
resp.batch_segment_job.role_arn #=> String
resp.batch_segment_job.status #=> String
resp.batch_segment_job.creation_date_time #=> Time
resp.batch_segment_job.last_updated_date_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :batch_segment_job_arn (required, String)

    The ARN of the batch segment job to describe.

Returns:

See Also:



2621
2622
2623
2624
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2621

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

#describe_campaign(params = {}) ⇒ Types::DescribeCampaignResponse

Describes the given campaign, including its status.

A campaign can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

When the status is CREATE FAILED, the response includes the failureReason key, which describes why.

For more information on campaigns, see CreateCampaign.

Examples:

Request syntax with placeholder values


resp = client.describe_campaign({
  campaign_arn: "Arn", # required
})

Response structure


resp.campaign.name #=> String
resp.campaign.campaign_arn #=> String
resp.campaign.solution_version_arn #=> String
resp.campaign.min_provisioned_tps #=> Integer
resp.campaign.campaign_config.item_exploration_config #=> Hash
resp.campaign.campaign_config.item_exploration_config["ParameterName"] #=> String
resp.campaign.campaign_config. #=> Boolean
resp.campaign.campaign_config.sync_with_latest_solution_version #=> Boolean
resp.campaign.status #=> String
resp.campaign.failure_reason #=> String
resp.campaign.creation_date_time #=> Time
resp.campaign.last_updated_date_time #=> Time
resp.campaign.latest_campaign_update.solution_version_arn #=> String
resp.campaign.latest_campaign_update.min_provisioned_tps #=> Integer
resp.campaign.latest_campaign_update.campaign_config.item_exploration_config #=> Hash
resp.campaign.latest_campaign_update.campaign_config.item_exploration_config["ParameterName"] #=> String
resp.campaign.latest_campaign_update.campaign_config. #=> Boolean
resp.campaign.latest_campaign_update.campaign_config.sync_with_latest_solution_version #=> Boolean
resp.campaign.latest_campaign_update.status #=> String
resp.campaign.latest_campaign_update.failure_reason #=> String
resp.campaign.latest_campaign_update.creation_date_time #=> Time
resp.campaign.latest_campaign_update.last_updated_date_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :campaign_arn (required, String)

    The Amazon Resource Name (ARN) of the campaign.

Returns:

See Also:



2686
2687
2688
2689
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2686

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

#describe_data_deletion_job(params = {}) ⇒ Types::DescribeDataDeletionJobResponse

Describes the data deletion job created by CreateDataDeletionJob, including the job status.

Examples:

Request syntax with placeholder values


resp = client.describe_data_deletion_job({
  data_deletion_job_arn: "Arn", # required
})

Response structure


resp.data_deletion_job.job_name #=> String
resp.data_deletion_job.data_deletion_job_arn #=> String
resp.data_deletion_job.dataset_group_arn #=> String
resp.data_deletion_job.data_source.data_location #=> String
resp.data_deletion_job.role_arn #=> String
resp.data_deletion_job.status #=> String
resp.data_deletion_job.num_deleted #=> Integer
resp.data_deletion_job.creation_date_time #=> Time
resp.data_deletion_job.last_updated_date_time #=> Time
resp.data_deletion_job.failure_reason #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :data_deletion_job_arn (required, String)

    The Amazon Resource Name (ARN) of the data deletion job.

Returns:

See Also:



2728
2729
2730
2731
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2728

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

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

Describes the given dataset. For more information on datasets, see CreateDataset.

Examples:

Request syntax with placeholder values


resp = client.describe_dataset({
  dataset_arn: "Arn", # required
})

Response structure


resp.dataset.name #=> String
resp.dataset.dataset_arn #=> String
resp.dataset.dataset_group_arn #=> String
resp.dataset.dataset_type #=> String
resp.dataset.schema_arn #=> String
resp.dataset.status #=> String
resp.dataset.creation_date_time #=> Time
resp.dataset.last_updated_date_time #=> Time
resp.dataset.latest_dataset_update.schema_arn #=> String
resp.dataset.latest_dataset_update.status #=> String
resp.dataset.latest_dataset_update.failure_reason #=> String
resp.dataset.latest_dataset_update.creation_date_time #=> Time
resp.dataset.latest_dataset_update.last_updated_date_time #=> Time
resp.dataset.tracking_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :dataset_arn (required, String)

    The Amazon Resource Name (ARN) of the dataset to describe.

Returns:

See Also:



2774
2775
2776
2777
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2774

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

#describe_dataset_export_job(params = {}) ⇒ Types::DescribeDatasetExportJobResponse

Describes the dataset export job created by CreateDatasetExportJob, including the export job status.

Examples:

Request syntax with placeholder values


resp = client.describe_dataset_export_job({
  dataset_export_job_arn: "Arn", # required
})

Response structure


resp.dataset_export_job.job_name #=> String
resp.dataset_export_job.dataset_export_job_arn #=> String
resp.dataset_export_job.dataset_arn #=> String
resp.dataset_export_job.ingestion_mode #=> String, one of "BULK", "PUT", "ALL"
resp.dataset_export_job.role_arn #=> String
resp.dataset_export_job.status #=> String
resp.dataset_export_job.job_output.s3_data_destination.path #=> String
resp.dataset_export_job.job_output.s3_data_destination.kms_key_arn #=> String
resp.dataset_export_job.creation_date_time #=> Time
resp.dataset_export_job.last_updated_date_time #=> Time
resp.dataset_export_job.failure_reason #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :dataset_export_job_arn (required, String)

    The Amazon Resource Name (ARN) of the dataset export job to describe.

Returns:

See Also:



2817
2818
2819
2820
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2817

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

#describe_dataset_group(params = {}) ⇒ Types::DescribeDatasetGroupResponse

Describes the given dataset group. For more information on dataset groups, see CreateDatasetGroup.

Examples:

Request syntax with placeholder values


resp = client.describe_dataset_group({
  dataset_group_arn: "Arn", # required
})

Response structure


resp.dataset_group.name #=> String
resp.dataset_group.dataset_group_arn #=> String
resp.dataset_group.status #=> String
resp.dataset_group.role_arn #=> String
resp.dataset_group.kms_key_arn #=> String
resp.dataset_group.creation_date_time #=> Time
resp.dataset_group.last_updated_date_time #=> Time
resp.dataset_group.failure_reason #=> String
resp.dataset_group.domain #=> String, one of "ECOMMERCE", "VIDEO_ON_DEMAND"

Parameters:

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

    ({})

Options Hash (params):

  • :dataset_group_arn (required, String)

    The Amazon Resource Name (ARN) of the dataset group to describe.

Returns:

See Also:



2858
2859
2860
2861
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2858

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

#describe_dataset_import_job(params = {}) ⇒ Types::DescribeDatasetImportJobResponse

Describes the dataset import job created by CreateDatasetImportJob, including the import job status.

Examples:

Request syntax with placeholder values


resp = client.describe_dataset_import_job({
  dataset_import_job_arn: "Arn", # required
})

Response structure


resp.dataset_import_job.job_name #=> String
resp.dataset_import_job.dataset_import_job_arn #=> String
resp.dataset_import_job.dataset_arn #=> String
resp.dataset_import_job.data_source.data_location #=> String
resp.dataset_import_job.role_arn #=> String
resp.dataset_import_job.status #=> String
resp.dataset_import_job.creation_date_time #=> Time
resp.dataset_import_job.last_updated_date_time #=> Time
resp.dataset_import_job.failure_reason #=> String
resp.dataset_import_job.import_mode #=> String, one of "FULL", "INCREMENTAL"
resp.dataset_import_job.publish_attribution_metrics_to_s3 #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :dataset_import_job_arn (required, String)

    The Amazon Resource Name (ARN) of the dataset import job to describe.

Returns:

See Also:



2901
2902
2903
2904
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2901

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

#describe_event_tracker(params = {}) ⇒ Types::DescribeEventTrackerResponse

Describes an event tracker. The response includes the trackingId and status of the event tracker. For more information on event trackers, see CreateEventTracker.

Examples:

Request syntax with placeholder values


resp = client.describe_event_tracker({
  event_tracker_arn: "Arn", # required
})

Response structure


resp.event_tracker.name #=> String
resp.event_tracker.event_tracker_arn #=> String
resp.event_tracker. #=> String
resp.event_tracker.tracking_id #=> String
resp.event_tracker.dataset_group_arn #=> String
resp.event_tracker.status #=> String
resp.event_tracker.creation_date_time #=> Time
resp.event_tracker.last_updated_date_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :event_tracker_arn (required, String)

    The Amazon Resource Name (ARN) of the event tracker to describe.

Returns:

See Also:



2942
2943
2944
2945
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2942

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

#describe_feature_transformation(params = {}) ⇒ Types::DescribeFeatureTransformationResponse

Describes the given feature transformation.

Examples:

Request syntax with placeholder values


resp = client.describe_feature_transformation({
  feature_transformation_arn: "Arn", # required
})

Response structure


resp.feature_transformation.name #=> String
resp.feature_transformation.feature_transformation_arn #=> String
resp.feature_transformation.default_parameters #=> Hash
resp.feature_transformation.default_parameters["ParameterName"] #=> String
resp.feature_transformation.creation_date_time #=> Time
resp.feature_transformation.last_updated_date_time #=> Time
resp.feature_transformation.status #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :feature_transformation_arn (required, String)

    The Amazon Resource Name (ARN) of the feature transformation to describe.

Returns:

See Also:



2977
2978
2979
2980
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 2977

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

#describe_filter(params = {}) ⇒ Types::DescribeFilterResponse

Describes a filter's properties.

Examples:

Request syntax with placeholder values


resp = client.describe_filter({
  filter_arn: "Arn", # required
})

Response structure


resp.data.filter.name #=> String
resp.data.filter.filter_arn #=> String
resp.data.filter.creation_date_time #=> Time
resp.data.filter.last_updated_date_time #=> Time
resp.data.filter.dataset_group_arn #=> String
resp.data.filter.failure_reason #=> String
resp.data.filter.filter_expression #=> String
resp.data.filter.status #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :filter_arn (required, String)

    The ARN of the filter to describe.

Returns:

See Also:



3012
3013
3014
3015
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3012

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

#describe_metric_attribution(params = {}) ⇒ Types::DescribeMetricAttributionResponse

Describes a metric attribution.

Examples:

Request syntax with placeholder values


resp = client.describe_metric_attribution({
  metric_attribution_arn: "Arn", # required
})

Response structure


resp.metric_attribution.name #=> String
resp.metric_attribution.metric_attribution_arn #=> String
resp.metric_attribution.dataset_group_arn #=> String
resp.metric_attribution.metrics_output_config.s3_data_destination.path #=> String
resp.metric_attribution.metrics_output_config.s3_data_destination.kms_key_arn #=> String
resp.metric_attribution.metrics_output_config.role_arn #=> String
resp.metric_attribution.status #=> String
resp.metric_attribution.creation_date_time #=> Time
resp.metric_attribution.last_updated_date_time #=> Time
resp.metric_attribution.failure_reason #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :metric_attribution_arn (required, String)

    The metric attribution's Amazon Resource Name (ARN).

Returns:

See Also:



3049
3050
3051
3052
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3049

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

#describe_recipe(params = {}) ⇒ Types::DescribeRecipeResponse

Describes a recipe.

A recipe contains three items:

  • An algorithm that trains a model.

  • Hyperparameters that govern the training.

  • Feature transformation information for modifying the input data before training.

Amazon Personalize provides a set of predefined recipes. You specify a recipe when you create a solution with the CreateSolution API. CreateSolution trains a model by using the algorithm in the specified recipe and a training dataset. The solution, when deployed as a campaign, can provide recommendations using the GetRecommendations API.

Examples:

Request syntax with placeholder values


resp = client.describe_recipe({
  recipe_arn: "Arn", # required
})

Response structure


resp.recipe.name #=> String
resp.recipe.recipe_arn #=> String
resp.recipe.algorithm_arn #=> String
resp.recipe.feature_transformation_arn #=> String
resp.recipe.status #=> String
resp.recipe.description #=> String
resp.recipe.creation_date_time #=> Time
resp.recipe.recipe_type #=> String
resp.recipe.last_updated_date_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :recipe_arn (required, String)

    The Amazon Resource Name (ARN) of the recipe to describe.

Returns:

See Also:



3106
3107
3108
3109
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3106

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

#describe_recommender(params = {}) ⇒ Types::DescribeRecommenderResponse

Describes the given recommender, including its status.

A recommender can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • STOP PENDING > STOP IN_PROGRESS > INACTIVE > START PENDING > START IN_PROGRESS > ACTIVE

  • DELETE PENDING > DELETE IN_PROGRESS

When the status is CREATE FAILED, the response includes the failureReason key, which describes why.

The modelMetrics key is null when the recommender is being created or deleted.

For more information on recommenders, see CreateRecommender.

Examples:

Request syntax with placeholder values


resp = client.describe_recommender({
  recommender_arn: "Arn", # required
})

Response structure


resp.recommender.recommender_arn #=> String
resp.recommender.dataset_group_arn #=> String
resp.recommender.name #=> String
resp.recommender.recipe_arn #=> String
resp.recommender.recommender_config.item_exploration_config #=> Hash
resp.recommender.recommender_config.item_exploration_config["ParameterName"] #=> String
resp.recommender.recommender_config.min_recommendation_requests_per_second #=> Integer
resp.recommender.recommender_config.training_data_config.excluded_dataset_columns #=> Hash
resp.recommender.recommender_config.training_data_config.excluded_dataset_columns["DatasetType"] #=> Array
resp.recommender.recommender_config.training_data_config.excluded_dataset_columns["DatasetType"][0] #=> String
resp.recommender.recommender_config. #=> Boolean
resp.recommender.creation_date_time #=> Time
resp.recommender.last_updated_date_time #=> Time
resp.recommender.status #=> String
resp.recommender.failure_reason #=> String
resp.recommender.latest_recommender_update.recommender_config.item_exploration_config #=> Hash
resp.recommender.latest_recommender_update.recommender_config.item_exploration_config["ParameterName"] #=> String
resp.recommender.latest_recommender_update.recommender_config.min_recommendation_requests_per_second #=> Integer
resp.recommender.latest_recommender_update.recommender_config.training_data_config.excluded_dataset_columns #=> Hash
resp.recommender.latest_recommender_update.recommender_config.training_data_config.excluded_dataset_columns["DatasetType"] #=> Array
resp.recommender.latest_recommender_update.recommender_config.training_data_config.excluded_dataset_columns["DatasetType"][0] #=> String
resp.recommender.latest_recommender_update.recommender_config. #=> Boolean
resp.recommender.latest_recommender_update.creation_date_time #=> Time
resp.recommender.latest_recommender_update.last_updated_date_time #=> Time
resp.recommender.latest_recommender_update.status #=> String
resp.recommender.latest_recommender_update.failure_reason #=> String
resp.recommender.model_metrics #=> Hash
resp.recommender.model_metrics["MetricName"] #=> Float

Parameters:

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

    ({})

Options Hash (params):

  • :recommender_arn (required, String)

    The Amazon Resource Name (ARN) of the recommender to describe.

Returns:

See Also:



3183
3184
3185
3186
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3183

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

#describe_schema(params = {}) ⇒ Types::DescribeSchemaResponse

Describes a schema. For more information on schemas, see CreateSchema.

Examples:

Request syntax with placeholder values


resp = client.describe_schema({
  schema_arn: "Arn", # required
})

Response structure


resp.schema.name #=> String
resp.schema.schema_arn #=> String
resp.schema.schema #=> String
resp.schema.creation_date_time #=> Time
resp.schema.last_updated_date_time #=> Time
resp.schema.domain #=> String, one of "ECOMMERCE", "VIDEO_ON_DEMAND"

Parameters:

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

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The Amazon Resource Name (ARN) of the schema to retrieve.

Returns:

See Also:



3221
3222
3223
3224
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3221

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

#describe_solution(params = {}) ⇒ Types::DescribeSolutionResponse

Describes a solution. For more information on solutions, see CreateSolution.

Examples:

Request syntax with placeholder values


resp = client.describe_solution({
  solution_arn: "Arn", # required
})

Response structure


resp.solution.name #=> String
resp.solution.solution_arn #=> String
resp.solution.perform_hpo #=> Boolean
resp.solution.perform_auto_ml #=> Boolean
resp.solution.perform_auto_training #=> Boolean
resp.solution.recipe_arn #=> String
resp.solution.dataset_group_arn #=> String
resp.solution.event_type #=> String
resp.solution.solution_config.event_value_threshold #=> String
resp.solution.solution_config.hpo_config.hpo_objective.type #=> String
resp.solution.solution_config.hpo_config.hpo_objective.metric_name #=> String
resp.solution.solution_config.hpo_config.hpo_objective.metric_regex #=> String
resp.solution.solution_config.hpo_config.hpo_resource_config.max_number_of_training_jobs #=> String
resp.solution.solution_config.hpo_config.hpo_resource_config.max_parallel_training_jobs #=> String
resp.solution.solution_config.hpo_config.algorithm_hyper_parameter_ranges.integer_hyper_parameter_ranges #=> Array
resp.solution.solution_config.hpo_config.algorithm_hyper_parameter_ranges.integer_hyper_parameter_ranges[0].name #=> String
resp.solution.solution_config.hpo_config.algorithm_hyper_parameter_ranges.integer_hyper_parameter_ranges[0].min_value #=> Integer
resp.solution.solution_config.hpo_config.algorithm_hyper_parameter_ranges.integer_hyper_parameter_ranges[0].max_value #=> Integer
resp.solution.solution_config.hpo_config.algorithm_hyper_parameter_ranges.continuous_hyper_parameter_ranges #=> Array
resp.solution.solution_config.hpo_config.algorithm_hyper_parameter_ranges.continuous_hyper_parameter_ranges[0].name #=> String
resp.solution.solution_config.hpo_config.algorithm_hyper_parameter_ranges.continuous_hyper_parameter_ranges[0].min_value #=> Float
resp.solution.solution_config.hpo_config.algorithm_hyper_parameter_ranges.continuous_hyper_parameter_ranges[0].max_value #=> Float
resp.solution.solution_config.hpo_config.algorithm_hyper_parameter_ranges.categorical_hyper_parameter_ranges #=> Array
resp.solution.solution_config.hpo_config.algorithm_hyper_parameter_ranges.categorical_hyper_parameter_ranges[0].name #=> String
resp.solution.solution_config.hpo_config.algorithm_hyper_parameter_ranges.categorical_hyper_parameter_ranges[0].values #=> Array
resp.solution.solution_config.hpo_config.algorithm_hyper_parameter_ranges.categorical_hyper_parameter_ranges[0].values[0] #=> String
resp.solution.solution_config.algorithm_hyper_parameters #=> Hash
resp.solution.solution_config.algorithm_hyper_parameters["ParameterName"] #=> String
resp.solution.solution_config.feature_transformation_parameters #=> Hash
resp.solution.solution_config.feature_transformation_parameters["ParameterName"] #=> String
resp.solution.solution_config.auto_ml_config.metric_name #=> String
resp.solution.solution_config.auto_ml_config.recipe_list #=> Array
resp.solution.solution_config.auto_ml_config.recipe_list[0] #=> String
resp.solution.solution_config.optimization_objective.item_attribute #=> String
resp.solution.solution_config.optimization_objective.objective_sensitivity #=> String, one of "LOW", "MEDIUM", "HIGH", "OFF"
resp.solution.solution_config.training_data_config.excluded_dataset_columns #=> Hash
resp.solution.solution_config.training_data_config.excluded_dataset_columns["DatasetType"] #=> Array
resp.solution.solution_config.training_data_config.excluded_dataset_columns["DatasetType"][0] #=> String
resp.solution.solution_config.auto_training_config.scheduling_expression #=> String
resp.solution.auto_ml_result.best_recipe_arn #=> String
resp.solution.status #=> String
resp.solution.creation_date_time #=> Time
resp.solution.last_updated_date_time #=> Time
resp.solution.latest_solution_version.solution_version_arn #=> String
resp.solution.latest_solution_version.status #=> String
resp.solution.latest_solution_version.training_mode #=> String, one of "FULL", "UPDATE", "AUTOTRAIN"
resp.solution.latest_solution_version.training_type #=> String, one of "AUTOMATIC", "MANUAL"
resp.solution.latest_solution_version.creation_date_time #=> Time
resp.solution.latest_solution_version.last_updated_date_time #=> Time
resp.solution.latest_solution_version.failure_reason #=> String
resp.solution.latest_solution_update.solution_update_config.auto_training_config.scheduling_expression #=> String
resp.solution.latest_solution_update.status #=> String
resp.solution.latest_solution_update.perform_auto_training #=> Boolean
resp.solution.latest_solution_update.creation_date_time #=> Time
resp.solution.latest_solution_update.last_updated_date_time #=> Time
resp.solution.latest_solution_update.failure_reason #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :solution_arn (required, String)

    The Amazon Resource Name (ARN) of the solution to describe.

Returns:

See Also:



3309
3310
3311
3312
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3309

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

#describe_solution_version(params = {}) ⇒ Types::DescribeSolutionVersionResponse

Describes a specific version of a solution. For more information on solutions, see CreateSolution

Examples:

Request syntax with placeholder values


resp = client.describe_solution_version({
  solution_version_arn: "Arn", # required
})

Response structure


resp.solution_version.name #=> String
resp.solution_version.solution_version_arn #=> String
resp.solution_version.solution_arn #=> String
resp.solution_version.perform_hpo #=> Boolean
resp.solution_version.perform_auto_ml #=> Boolean
resp.solution_version.recipe_arn #=> String
resp.solution_version.event_type #=> String
resp.solution_version.dataset_group_arn #=> String
resp.solution_version.solution_config.event_value_threshold #=> String
resp.solution_version.solution_config.hpo_config.hpo_objective.type #=> String
resp.solution_version.solution_config.hpo_config.hpo_objective.metric_name #=> String
resp.solution_version.solution_config.hpo_config.hpo_objective.metric_regex #=> String
resp.solution_version.solution_config.hpo_config.hpo_resource_config.max_number_of_training_jobs #=> String
resp.solution_version.solution_config.hpo_config.hpo_resource_config.max_parallel_training_jobs #=> String
resp.solution_version.solution_config.hpo_config.algorithm_hyper_parameter_ranges.integer_hyper_parameter_ranges #=> Array
resp.solution_version.solution_config.hpo_config.algorithm_hyper_parameter_ranges.integer_hyper_parameter_ranges[0].name #=> String
resp.solution_version.solution_config.hpo_config.algorithm_hyper_parameter_ranges.integer_hyper_parameter_ranges[0].min_value #=> Integer
resp.solution_version.solution_config.hpo_config.algorithm_hyper_parameter_ranges.integer_hyper_parameter_ranges[0].max_value #=> Integer
resp.solution_version.solution_config.hpo_config.algorithm_hyper_parameter_ranges.continuous_hyper_parameter_ranges #=> Array
resp.solution_version.solution_config.hpo_config.algorithm_hyper_parameter_ranges.continuous_hyper_parameter_ranges[0].name #=> String
resp.solution_version.solution_config.hpo_config.algorithm_hyper_parameter_ranges.continuous_hyper_parameter_ranges[0].min_value #=> Float
resp.solution_version.solution_config.hpo_config.algorithm_hyper_parameter_ranges.continuous_hyper_parameter_ranges[0].max_value #=> Float
resp.solution_version.solution_config.hpo_config.algorithm_hyper_parameter_ranges.categorical_hyper_parameter_ranges #=> Array
resp.solution_version.solution_config.hpo_config.algorithm_hyper_parameter_ranges.categorical_hyper_parameter_ranges[0].name #=> String
resp.solution_version.solution_config.hpo_config.algorithm_hyper_parameter_ranges.categorical_hyper_parameter_ranges[0].values #=> Array
resp.solution_version.solution_config.hpo_config.algorithm_hyper_parameter_ranges.categorical_hyper_parameter_ranges[0].values[0] #=> String
resp.solution_version.solution_config.algorithm_hyper_parameters #=> Hash
resp.solution_version.solution_config.algorithm_hyper_parameters["ParameterName"] #=> String
resp.solution_version.solution_config.feature_transformation_parameters #=> Hash
resp.solution_version.solution_config.feature_transformation_parameters["ParameterName"] #=> String
resp.solution_version.solution_config.auto_ml_config.metric_name #=> String
resp.solution_version.solution_config.auto_ml_config.recipe_list #=> Array
resp.solution_version.solution_config.auto_ml_config.recipe_list[0] #=> String
resp.solution_version.solution_config.optimization_objective.item_attribute #=> String
resp.solution_version.solution_config.optimization_objective.objective_sensitivity #=> String, one of "LOW", "MEDIUM", "HIGH", "OFF"
resp.solution_version.solution_config.training_data_config.excluded_dataset_columns #=> Hash
resp.solution_version.solution_config.training_data_config.excluded_dataset_columns["DatasetType"] #=> Array
resp.solution_version.solution_config.training_data_config.excluded_dataset_columns["DatasetType"][0] #=> String
resp.solution_version.solution_config.auto_training_config.scheduling_expression #=> String
resp.solution_version.training_hours #=> Float
resp.solution_version.training_mode #=> String, one of "FULL", "UPDATE", "AUTOTRAIN"
resp.solution_version.tuned_hpo_params.algorithm_hyper_parameters #=> Hash
resp.solution_version.tuned_hpo_params.algorithm_hyper_parameters["ParameterName"] #=> String
resp.solution_version.status #=> String
resp.solution_version.failure_reason #=> String
resp.solution_version.creation_date_time #=> Time
resp.solution_version.last_updated_date_time #=> Time
resp.solution_version.training_type #=> String, one of "AUTOMATIC", "MANUAL"

Parameters:

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

    ({})

Options Hash (params):

  • :solution_version_arn (required, String)

    The Amazon Resource Name (ARN) of the solution version.

Returns:

See Also:



3389
3390
3391
3392
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3389

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

#get_solution_metrics(params = {}) ⇒ Types::GetSolutionMetricsResponse

Gets the metrics for the specified solution version.

Examples:

Request syntax with placeholder values


resp = client.get_solution_metrics({
  solution_version_arn: "Arn", # required
})

Response structure


resp.solution_version_arn #=> String
resp.metrics #=> Hash
resp.metrics["MetricName"] #=> Float

Parameters:

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

    ({})

Options Hash (params):

  • :solution_version_arn (required, String)

    The Amazon Resource Name (ARN) of the solution version for which to get metrics.

Returns:

See Also:



3421
3422
3423
3424
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3421

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

#list_batch_inference_jobs(params = {}) ⇒ Types::ListBatchInferenceJobsResponse

Gets a list of the batch inference jobs that have been performed off of a solution version.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_batch_inference_jobs({
  solution_version_arn: "Arn",
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.batch_inference_jobs #=> Array
resp.batch_inference_jobs[0].batch_inference_job_arn #=> String
resp.batch_inference_jobs[0].job_name #=> String
resp.batch_inference_jobs[0].status #=> String
resp.batch_inference_jobs[0].creation_date_time #=> Time
resp.batch_inference_jobs[0].last_updated_date_time #=> Time
resp.batch_inference_jobs[0].failure_reason #=> String
resp.batch_inference_jobs[0].solution_version_arn #=> String
resp.batch_inference_jobs[0].batch_inference_job_mode #=> String, one of "BATCH_INFERENCE", "THEME_GENERATION"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :solution_version_arn (String)

    The Amazon Resource Name (ARN) of the solution version from which the batch inference jobs were created.

  • :next_token (String)

    The token to request the next page of results.

  • :max_results (Integer)

    The maximum number of batch inference job results to return in each page. The default value is 100.

Returns:

See Also:



3472
3473
3474
3475
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3472

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

#list_batch_segment_jobs(params = {}) ⇒ Types::ListBatchSegmentJobsResponse

Gets a list of the batch segment jobs that have been performed off of a solution version that you specify.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_batch_segment_jobs({
  solution_version_arn: "Arn",
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.batch_segment_jobs #=> Array
resp.batch_segment_jobs[0].batch_segment_job_arn #=> String
resp.batch_segment_jobs[0].job_name #=> String
resp.batch_segment_jobs[0].status #=> String
resp.batch_segment_jobs[0].creation_date_time #=> Time
resp.batch_segment_jobs[0].last_updated_date_time #=> Time
resp.batch_segment_jobs[0].failure_reason #=> String
resp.batch_segment_jobs[0].solution_version_arn #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :solution_version_arn (String)

    The Amazon Resource Name (ARN) of the solution version that the batch segment jobs used to generate batch segments.

  • :next_token (String)

    The token to request the next page of results.

  • :max_results (Integer)

    The maximum number of batch segment job results to return in each page. The default value is 100.

Returns:

See Also:



3522
3523
3524
3525
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3522

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

#list_campaigns(params = {}) ⇒ Types::ListCampaignsResponse

Returns a list of campaigns that use the given solution. When a solution is not specified, all the campaigns associated with the account are listed. The response provides the properties for each campaign, including the Amazon Resource Name (ARN). For more information on campaigns, see CreateCampaign.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_campaigns({
  solution_arn: "Arn",
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.campaigns #=> Array
resp.campaigns[0].name #=> String
resp.campaigns[0].campaign_arn #=> String
resp.campaigns[0].status #=> String
resp.campaigns[0].creation_date_time #=> Time
resp.campaigns[0].last_updated_date_time #=> Time
resp.campaigns[0].failure_reason #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :solution_arn (String)

    The Amazon Resource Name (ARN) of the solution to list the campaigns for. When a solution is not specified, all the campaigns associated with the account are listed.

  • :next_token (String)

    A token returned from the previous call to ListCampaigns for getting the next set of campaigns (if they exist).

  • :max_results (Integer)

    The maximum number of campaigns to return.

Returns:

See Also:



3583
3584
3585
3586
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3583

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

#list_data_deletion_jobs(params = {}) ⇒ Types::ListDataDeletionJobsResponse

Returns a list of data deletion jobs for a dataset group ordered by creation time, with the most recent first. When a dataset group is not specified, all the data deletion jobs associated with the account are listed. The response provides the properties for each job, including the Amazon Resource Name (ARN). For more information on data deletion jobs, see Deleting users.

Examples:

Request syntax with placeholder values


resp = client.list_data_deletion_jobs({
  dataset_group_arn: "Arn",
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.data_deletion_jobs #=> Array
resp.data_deletion_jobs[0].data_deletion_job_arn #=> String
resp.data_deletion_jobs[0].dataset_group_arn #=> String
resp.data_deletion_jobs[0].job_name #=> String
resp.data_deletion_jobs[0].status #=> String
resp.data_deletion_jobs[0].creation_date_time #=> Time
resp.data_deletion_jobs[0].last_updated_date_time #=> Time
resp.data_deletion_jobs[0].failure_reason #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :dataset_group_arn (String)

    The Amazon Resource Name (ARN) of the dataset group to list data deletion jobs for.

  • :next_token (String)

    A token returned from the previous call to ListDataDeletionJobs for getting the next set of jobs (if they exist).

  • :max_results (Integer)

    The maximum number of data deletion jobs to return.

Returns:

See Also:



3639
3640
3641
3642
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3639

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

#list_dataset_export_jobs(params = {}) ⇒ Types::ListDatasetExportJobsResponse

Returns a list of dataset export jobs that use the given dataset. When a dataset is not specified, all the dataset export jobs associated with the account are listed. The response provides the properties for each dataset export job, including the Amazon Resource Name (ARN). For more information on dataset export jobs, see CreateDatasetExportJob. For more information on datasets, see CreateDataset.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_dataset_export_jobs({
  dataset_arn: "Arn",
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.dataset_export_jobs #=> Array
resp.dataset_export_jobs[0].dataset_export_job_arn #=> String
resp.dataset_export_jobs[0].job_name #=> String
resp.dataset_export_jobs[0].status #=> String
resp.dataset_export_jobs[0].creation_date_time #=> Time
resp.dataset_export_jobs[0].last_updated_date_time #=> Time
resp.dataset_export_jobs[0].failure_reason #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :dataset_arn (String)

    The Amazon Resource Name (ARN) of the dataset to list the dataset export jobs for.

  • :next_token (String)

    A token returned from the previous call to ListDatasetExportJobs for getting the next set of dataset export jobs (if they exist).

  • :max_results (Integer)

    The maximum number of dataset export jobs to return.

Returns:

See Also:



3698
3699
3700
3701
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3698

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

#list_dataset_groups(params = {}) ⇒ Types::ListDatasetGroupsResponse

Returns a list of dataset groups. The response provides the properties for each dataset group, including the Amazon Resource Name (ARN). For more information on dataset groups, see CreateDatasetGroup.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_dataset_groups({
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.dataset_groups #=> Array
resp.dataset_groups[0].name #=> String
resp.dataset_groups[0].dataset_group_arn #=> String
resp.dataset_groups[0].status #=> String
resp.dataset_groups[0].creation_date_time #=> Time
resp.dataset_groups[0].last_updated_date_time #=> Time
resp.dataset_groups[0].failure_reason #=> String
resp.dataset_groups[0].domain #=> String, one of "ECOMMERCE", "VIDEO_ON_DEMAND"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :next_token (String)

    A token returned from the previous call to ListDatasetGroups for getting the next set of dataset groups (if they exist).

  • :max_results (Integer)

    The maximum number of dataset groups to return.

Returns:

See Also:



3748
3749
3750
3751
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3748

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

#list_dataset_import_jobs(params = {}) ⇒ Types::ListDatasetImportJobsResponse

Returns a list of dataset import jobs that use the given dataset. When a dataset is not specified, all the dataset import jobs associated with the account are listed. The response provides the properties for each dataset import job, including the Amazon Resource Name (ARN). For more information on dataset import jobs, see CreateDatasetImportJob. For more information on datasets, see CreateDataset.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_dataset_import_jobs({
  dataset_arn: "Arn",
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.dataset_import_jobs #=> Array
resp.dataset_import_jobs[0].dataset_import_job_arn #=> String
resp.dataset_import_jobs[0].job_name #=> String
resp.dataset_import_jobs[0].status #=> String
resp.dataset_import_jobs[0].creation_date_time #=> Time
resp.dataset_import_jobs[0].last_updated_date_time #=> Time
resp.dataset_import_jobs[0].failure_reason #=> String
resp.dataset_import_jobs[0].import_mode #=> String, one of "FULL", "INCREMENTAL"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :dataset_arn (String)

    The Amazon Resource Name (ARN) of the dataset to list the dataset import jobs for.

  • :next_token (String)

    A token returned from the previous call to ListDatasetImportJobs for getting the next set of dataset import jobs (if they exist).

  • :max_results (Integer)

    The maximum number of dataset import jobs to return.

Returns:

See Also:



3808
3809
3810
3811
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3808

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

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

Returns the list of datasets contained in the given dataset group. The response provides the properties for each dataset, including the Amazon Resource Name (ARN). For more information on datasets, see CreateDataset.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_datasets({
  dataset_group_arn: "Arn",
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.datasets #=> Array
resp.datasets[0].name #=> String
resp.datasets[0].dataset_arn #=> String
resp.datasets[0].dataset_type #=> String
resp.datasets[0].status #=> String
resp.datasets[0].creation_date_time #=> Time
resp.datasets[0].last_updated_date_time #=> Time
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :dataset_group_arn (String)

    The Amazon Resource Name (ARN) of the dataset group that contains the datasets to list.

  • :next_token (String)

    A token returned from the previous call to ListDatasets for getting the next set of dataset import jobs (if they exist).

  • :max_results (Integer)

    The maximum number of datasets to return.

Returns:

See Also:



3863
3864
3865
3866
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3863

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

#list_event_trackers(params = {}) ⇒ Types::ListEventTrackersResponse

Returns the list of event trackers associated with the account. The response provides the properties for each event tracker, including the Amazon Resource Name (ARN) and tracking ID. For more information on event trackers, see CreateEventTracker.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_event_trackers({
  dataset_group_arn: "Arn",
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.event_trackers #=> Array
resp.event_trackers[0].name #=> String
resp.event_trackers[0].event_tracker_arn #=> String
resp.event_trackers[0].status #=> String
resp.event_trackers[0].creation_date_time #=> Time
resp.event_trackers[0].last_updated_date_time #=> Time
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :dataset_group_arn (String)

    The ARN of a dataset group used to filter the response.

  • :next_token (String)

    A token returned from the previous call to ListEventTrackers for getting the next set of event trackers (if they exist).

  • :max_results (Integer)

    The maximum number of event trackers to return.

Returns:

See Also:



3916
3917
3918
3919
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3916

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

#list_filters(params = {}) ⇒ Types::ListFiltersResponse

Lists all filters that belong to a given dataset group.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_filters({
  dataset_group_arn: "Arn",
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.filters #=> Array
resp.filters[0].name #=> String
resp.filters[0].filter_arn #=> String
resp.filters[0].creation_date_time #=> Time
resp.filters[0].last_updated_date_time #=> Time
resp.filters[0].dataset_group_arn #=> String
resp.filters[0].failure_reason #=> String
resp.filters[0].status #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :dataset_group_arn (String)

    The ARN of the dataset group that contains the filters.

  • :next_token (String)

    A token returned from the previous call to ListFilters for getting the next set of filters (if they exist).

  • :max_results (Integer)

    The maximum number of filters to return.

Returns:

See Also:



3964
3965
3966
3967
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 3964

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

#list_metric_attribution_metrics(params = {}) ⇒ Types::ListMetricAttributionMetricsResponse

Lists the metrics for the metric attribution.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_metric_attribution_metrics({
  metric_attribution_arn: "Arn",
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.metrics #=> Array
resp.metrics[0].event_type #=> String
resp.metrics[0].metric_name #=> String
resp.metrics[0].expression #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :metric_attribution_arn (String)

    The Amazon Resource Name (ARN) of the metric attribution to retrieve attributes for.

  • :next_token (String)

    Specify the pagination token from a previous request to retrieve the next page of results.

  • :max_results (Integer)

    The maximum number of metrics to return in one page of results.

Returns:

See Also:



4009
4010
4011
4012
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4009

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

#list_metric_attributions(params = {}) ⇒ Types::ListMetricAttributionsResponse

Lists metric attributions.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_metric_attributions({
  dataset_group_arn: "Arn",
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.metric_attributions #=> Array
resp.metric_attributions[0].name #=> String
resp.metric_attributions[0].metric_attribution_arn #=> String
resp.metric_attributions[0].status #=> String
resp.metric_attributions[0].creation_date_time #=> Time
resp.metric_attributions[0].last_updated_date_time #=> Time
resp.metric_attributions[0].failure_reason #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :dataset_group_arn (String)

    The metric attributions' dataset group Amazon Resource Name (ARN).

  • :next_token (String)

    Specify the pagination token from a previous request to retrieve the next page of results.

  • :max_results (Integer)

    The maximum number of metric attributions to return in one page of results.

Returns:

See Also:



4057
4058
4059
4060
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4057

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

#list_recipes(params = {}) ⇒ Types::ListRecipesResponse

Returns a list of available recipes. The response provides the properties for each recipe, including the recipe's Amazon Resource Name (ARN).

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_recipes({
  recipe_provider: "SERVICE", # accepts SERVICE
  next_token: "NextToken",
  max_results: 1,
  domain: "ECOMMERCE", # accepts ECOMMERCE, VIDEO_ON_DEMAND
})

Response structure


resp.recipes #=> Array
resp.recipes[0].name #=> String
resp.recipes[0].recipe_arn #=> String
resp.recipes[0].status #=> String
resp.recipes[0].creation_date_time #=> Time
resp.recipes[0].last_updated_date_time #=> Time
resp.recipes[0].domain #=> String, one of "ECOMMERCE", "VIDEO_ON_DEMAND"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :recipe_provider (String)

    The default is SERVICE.

  • :next_token (String)

    A token returned from the previous call to ListRecipes for getting the next set of recipes (if they exist).

  • :max_results (Integer)

    The maximum number of recipes to return.

  • :domain (String)

    Filters returned recipes by domain for a Domain dataset group. Only recipes (Domain dataset group use cases) for this domain are included in the response. If you don't specify a domain, all recipes are returned.

Returns:

See Also:



4113
4114
4115
4116
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4113

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

#list_recommenders(params = {}) ⇒ Types::ListRecommendersResponse

Returns a list of recommenders in a given Domain dataset group. When a Domain dataset group is not specified, all the recommenders associated with the account are listed. The response provides the properties for each recommender, including the Amazon Resource Name (ARN). For more information on recommenders, see CreateRecommender.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_recommenders({
  dataset_group_arn: "Arn",
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.recommenders #=> Array
resp.recommenders[0].name #=> String
resp.recommenders[0].recommender_arn #=> String
resp.recommenders[0].dataset_group_arn #=> String
resp.recommenders[0].recipe_arn #=> String
resp.recommenders[0].recommender_config.item_exploration_config #=> Hash
resp.recommenders[0].recommender_config.item_exploration_config["ParameterName"] #=> String
resp.recommenders[0].recommender_config.min_recommendation_requests_per_second #=> Integer
resp.recommenders[0].recommender_config.training_data_config.excluded_dataset_columns #=> Hash
resp.recommenders[0].recommender_config.training_data_config.excluded_dataset_columns["DatasetType"] #=> Array
resp.recommenders[0].recommender_config.training_data_config.excluded_dataset_columns["DatasetType"][0] #=> String
resp.recommenders[0].recommender_config. #=> Boolean
resp.recommenders[0].status #=> String
resp.recommenders[0].creation_date_time #=> Time
resp.recommenders[0].last_updated_date_time #=> Time
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :dataset_group_arn (String)

    The Amazon Resource Name (ARN) of the Domain dataset group to list the recommenders for. When a Domain dataset group is not specified, all the recommenders associated with the account are listed.

  • :next_token (String)

    A token returned from the previous call to ListRecommenders for getting the next set of recommenders (if they exist).

  • :max_results (Integer)

    The maximum number of recommenders to return.

Returns:

See Also:



4178
4179
4180
4181
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4178

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

#list_schemas(params = {}) ⇒ Types::ListSchemasResponse

Returns the list of schemas associated with the account. The response provides the properties for each schema, including the Amazon Resource Name (ARN). For more information on schemas, see CreateSchema.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_schemas({
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.schemas #=> Array
resp.schemas[0].name #=> String
resp.schemas[0].schema_arn #=> String
resp.schemas[0].creation_date_time #=> Time
resp.schemas[0].last_updated_date_time #=> Time
resp.schemas[0].domain #=> String, one of "ECOMMERCE", "VIDEO_ON_DEMAND"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :next_token (String)

    A token returned from the previous call to ListSchemas for getting the next set of schemas (if they exist).

  • :max_results (Integer)

    The maximum number of schemas to return.

Returns:

See Also:



4226
4227
4228
4229
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4226

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

#list_solution_versions(params = {}) ⇒ Types::ListSolutionVersionsResponse

Returns a list of solution versions for the given solution. When a solution is not specified, all the solution versions associated with the account are listed. The response provides the properties for each solution version, including the Amazon Resource Name (ARN).

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_solution_versions({
  solution_arn: "Arn",
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.solution_versions #=> Array
resp.solution_versions[0].solution_version_arn #=> String
resp.solution_versions[0].status #=> String
resp.solution_versions[0].training_mode #=> String, one of "FULL", "UPDATE", "AUTOTRAIN"
resp.solution_versions[0].training_type #=> String, one of "AUTOMATIC", "MANUAL"
resp.solution_versions[0].creation_date_time #=> Time
resp.solution_versions[0].last_updated_date_time #=> Time
resp.solution_versions[0].failure_reason #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :solution_arn (String)

    The Amazon Resource Name (ARN) of the solution.

  • :next_token (String)

    A token returned from the previous call to ListSolutionVersions for getting the next set of solution versions (if they exist).

  • :max_results (Integer)

    The maximum number of solution versions to return.

Returns:

See Also:



4277
4278
4279
4280
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4277

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

#list_solutions(params = {}) ⇒ Types::ListSolutionsResponse

Returns a list of solutions in a given dataset group. When a dataset group is not specified, all the solutions associated with the account are listed. The response provides the properties for each solution, including the Amazon Resource Name (ARN). For more information on solutions, see CreateSolution.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_solutions({
  dataset_group_arn: "Arn",
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.solutions #=> Array
resp.solutions[0].name #=> String
resp.solutions[0].solution_arn #=> String
resp.solutions[0].status #=> String
resp.solutions[0].creation_date_time #=> Time
resp.solutions[0].last_updated_date_time #=> Time
resp.solutions[0].recipe_arn #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :dataset_group_arn (String)

    The Amazon Resource Name (ARN) of the dataset group.

  • :next_token (String)

    A token returned from the previous call to ListSolutions for getting the next set of solutions (if they exist).

  • :max_results (Integer)

    The maximum number of solutions to return.

Returns:

See Also:



4332
4333
4334
4335
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4332

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

#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse

Get a list of tags attached to a resource.

Examples:

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_arn: "Arn", # required
})

Response structure


resp.tags #=> Array
resp.tags[0].tag_key #=> String
resp.tags[0].tag_value #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The resource's Amazon Resource Name (ARN).

Returns:

See Also:



4366
4367
4368
4369
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4366

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

#start_recommender(params = {}) ⇒ Types::StartRecommenderResponse

Starts a recommender that is INACTIVE. Starting a recommender does not create any new models, but resumes billing and automatic retraining for the recommender.

Examples:

Request syntax with placeholder values


resp = client.start_recommender({
  recommender_arn: "Arn", # required
})

Response structure


resp.recommender_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :recommender_arn (required, String)

    The Amazon Resource Name (ARN) of the recommender to start.

Returns:

See Also:



4396
4397
4398
4399
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4396

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

#stop_recommender(params = {}) ⇒ Types::StopRecommenderResponse

Stops a recommender that is ACTIVE. Stopping a recommender halts billing and automatic retraining for the recommender.

Examples:

Request syntax with placeholder values


resp = client.stop_recommender({
  recommender_arn: "Arn", # required
})

Response structure


resp.recommender_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :recommender_arn (required, String)

    The Amazon Resource Name (ARN) of the recommender to stop.

Returns:

See Also:



4425
4426
4427
4428
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4425

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

#stop_solution_version_creation(params = {}) ⇒ Struct

Stops creating a solution version that is in a state of CREATE_PENDING or CREATE IN_PROGRESS.

Depending on the current state of the solution version, the solution version state changes as follows:

  • CREATE_PENDING > CREATE_STOPPED

    or

  • CREATE_IN_PROGRESS > CREATE_STOPPING > CREATE_STOPPED

You are billed for all of the training completed up until you stop the solution version creation. You cannot resume creating a solution version once it has been stopped.

Examples:

Request syntax with placeholder values


resp = client.stop_solution_version_creation({
  solution_version_arn: "Arn", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :solution_version_arn (required, String)

    The Amazon Resource Name (ARN) of the solution version you want to stop creating.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4462
4463
4464
4465
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4462

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

#tag_resource(params = {}) ⇒ Struct

Add a list of tags to a resource.

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  resource_arn: "Arn", # required
  tags: [ # required
    {
      tag_key: "TagKey", # required
      tag_value: "TagValue", # required
    },
  ],
})

Parameters:

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

    ({})

Options Hash (params):

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4498
4499
4500
4501
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4498

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

#untag_resource(params = {}) ⇒ Struct

Removes the specified tags that are attached to a resource. For more information, see Removing tags from Amazon Personalize resources.

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  resource_arn: "Arn", # required
  tag_keys: ["TagKey"], # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The resource's Amazon Resource Name (ARN).

  • :tag_keys (required, Array<String>)

    The keys of the tags to be removed.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4529
4530
4531
4532
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4529

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

#update_campaign(params = {}) ⇒ Types::UpdateCampaignResponse

Updates a campaign to deploy a retrained solution version with an existing campaign, change your campaign's minProvisionedTPS, or modify your campaign's configuration. For example, you can set enableMetadataWithRecommendations to true for an existing campaign.

To update a campaign to start automatically using the latest solution version, specify the following:

  • For the SolutionVersionArn parameter, specify the Amazon Resource Name (ARN) of your solution in SolutionArn/$LATEST format.

  • In the campaignConfig, set syncWithLatestSolutionVersion to true.

To update a campaign, the campaign status must be ACTIVE or CREATE FAILED. Check the campaign status using the DescribeCampaign operation.

You can still get recommendations from a campaign while an update is in progress. The campaign will use the previous solution version and campaign configuration to generate recommendations until the latest campaign update status is Active.

For more information about updating a campaign, including code samples, see Updating a campaign. For more information about campaigns, see Creating a campaign.

Examples:

Request syntax with placeholder values


resp = client.update_campaign({
  campaign_arn: "Arn", # required
  solution_version_arn: "Arn",
  min_provisioned_tps: 1,
  campaign_config: {
    item_exploration_config: {
      "ParameterName" => "ParameterValue",
    },
    enable_metadata_with_recommendations: false,
    sync_with_latest_solution_version: false,
  },
})

Response structure


resp.campaign_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :campaign_arn (required, String)

    The Amazon Resource Name (ARN) of the campaign.

  • :solution_version_arn (String)

    The Amazon Resource Name (ARN) of a new model to deploy. To specify the latest solution version of your solution, specify the ARN of your solution in SolutionArn/$LATEST format. You must use this format if you set syncWithLatestSolutionVersion to True in the CampaignConfig.

    To deploy a model that isn't the latest solution version of your solution, specify the ARN of the solution version.

    For more information about automatic campaign updates, see Enabling automatic campaign updates.

  • :min_provisioned_tps (Integer)

    Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon Personalize will support. A high minProvisionedTPS will increase your bill. We recommend starting with 1 for minProvisionedTPS (the default). Track your usage using Amazon CloudWatch metrics, and increase the minProvisionedTPS as necessary.

  • :campaign_config (Types::CampaignConfig)

    The configuration details of a campaign.

Returns:

See Also:



4628
4629
4630
4631
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4628

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

#update_dataset(params = {}) ⇒ Types::UpdateDatasetResponse

Update a dataset to replace its schema with a new or existing one. For more information, see Replacing a dataset's schema.

Examples:

Request syntax with placeholder values


resp = client.update_dataset({
  dataset_arn: "Arn", # required
  schema_arn: "Arn", # required
})

Response structure


resp.dataset_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :dataset_arn (required, String)

    The Amazon Resource Name (ARN) of the dataset that you want to update.

  • :schema_arn (required, String)

    The Amazon Resource Name (ARN) of the new schema you want use.

Returns:

See Also:



4665
4666
4667
4668
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4665

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

#update_metric_attribution(params = {}) ⇒ Types::UpdateMetricAttributionResponse

Updates a metric attribution.

Examples:

Request syntax with placeholder values


resp = client.update_metric_attribution({
  add_metrics: [
    {
      event_type: "EventType", # required
      metric_name: "MetricName", # required
      expression: "MetricExpression", # required
    },
  ],
  remove_metrics: ["MetricName"],
  metrics_output_config: {
    s3_data_destination: {
      path: "S3Location", # required
      kms_key_arn: "KmsKeyArn",
    },
    role_arn: "RoleArn", # required
  },
  metric_attribution_arn: "Arn",
})

Response structure


resp.metric_attribution_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :add_metrics (Array<Types::MetricAttribute>)

    Add new metric attributes to the metric attribution.

  • :remove_metrics (Array<String>)

    Remove metric attributes from the metric attribution.

  • :metrics_output_config (Types::MetricAttributionOutput)

    An output config for the metric attribution.

  • :metric_attribution_arn (String)

    The Amazon Resource Name (ARN) for the metric attribution to update.

Returns:

See Also:



4717
4718
4719
4720
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4717

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

#update_recommender(params = {}) ⇒ Types::UpdateRecommenderResponse

Updates the recommender to modify the recommender configuration. If you update the recommender to modify the columns used in training, Amazon Personalize automatically starts a full retraining of the models backing your recommender. While the update completes, you can still get recommendations from the recommender. The recommender uses the previous configuration until the update completes. To track the status of this update, use the latestRecommenderUpdate returned in the DescribeRecommender operation.

Examples:

Request syntax with placeholder values


resp = client.update_recommender({
  recommender_arn: "Arn", # required
  recommender_config: { # required
    item_exploration_config: {
      "ParameterName" => "ParameterValue",
    },
    min_recommendation_requests_per_second: 1,
    training_data_config: {
      excluded_dataset_columns: {
        "DatasetType" => ["ColumnName"],
      },
    },
    enable_metadata_with_recommendations: false,
  },
})

Response structure


resp.recommender_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :recommender_arn (required, String)

    The Amazon Resource Name (ARN) of the recommender to modify.

  • :recommender_config (required, Types::RecommenderConfig)

    The configuration details of the recommender.

Returns:

See Also:



4771
4772
4773
4774
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4771

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

#update_solution(params = {}) ⇒ Types::UpdateSolutionResponse

Updates an Amazon Personalize solution to use a different automatic training configuration. When you update a solution, you can change whether the solution uses automatic training, and you can change the training frequency. For more information about updating a solution, see Updating a solution.

A solution update can be in one of the following states:

CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

To get the status of a solution update, call the DescribeSolution API operation and find the status in the latestSolutionUpdate.

Examples:

Request syntax with placeholder values


resp = client.update_solution({
  solution_arn: "Arn", # required
  perform_auto_training: false,
  solution_update_config: {
    auto_training_config: {
      scheduling_expression: "SchedulingExpression",
    },
  },
})

Response structure


resp.solution_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :solution_arn (required, String)

    The Amazon Resource Name (ARN) of the solution to update.

  • :perform_auto_training (Boolean)

    Whether the solution uses automatic training to create new solution versions (trained models). You can change the training frequency by specifying a schedulingExpression in the AutoTrainingConfig as part of solution configuration.

    If you turn on automatic training, the first automatic training starts within one hour after the solution update completes. If you manually create a solution version within the hour, the solution skips the first automatic training. For more information about automatic training, see Configuring automatic training.

    After training starts, you can get the solution version's Amazon Resource Name (ARN) with the ListSolutionVersions API operation. To get its status, use the DescribeSolutionVersion.

  • :solution_update_config (Types::SolutionUpdateConfig)

    The new configuration details of the solution.

Returns:

See Also:



4846
4847
4848
4849
# File 'gems/aws-sdk-personalize/lib/aws-sdk-personalize/client.rb', line 4846

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