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

Class: Aws::Comprehend::Client

Inherits:
Seahorse::Client::Base show all
Defined in:
(unknown)

Overview

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

comprehend = Aws::Comprehend::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

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

Region

You can configure a default region in the following locations:

  • ENV['AWS_REGION']
  • Aws.config[:region]

Go here for a list of supported regions.

Credentials

Default credentials are loaded automatically from the following locations:

  • ENV['AWS_ACCESS_KEY_ID'] and ENV['AWS_SECRET_ACCESS_KEY']
  • Aws.config[:credentials]
  • The shared credentials ini file at ~/.aws/credentials (more information)
  • From an instance profile when running on EC2

You can also construct a credentials object from one of the following classes:

Alternatively, you configure credentials with :access_key_id and :secret_access_key:

# load credentials from disk
creds = YAML.load(File.read('/path/to/secrets'))

Aws::Comprehend::Client.new(
  access_key_id: creds['access_key_id'],
  secret_access_key: creds['secret_access_key']
)

Always load your credentials from outside your application. Avoid configuring credentials statically and never commit them to source control.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

Constructor collapse

API Operations collapse

Instance Method Summary collapse

Methods inherited from Seahorse::Client::Base

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

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options = {}) ⇒ Aws::Comprehend::Client

Constructs an API client.

Options Hash (options):

  • :access_key_id (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :active_endpoint_cache (Boolean)

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

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types. See Plugins::ParamConverter for more details.

  • :credentials (required, Credentials)

    Your AWS credentials. The following locations will be searched in order for credentials:

    • :access_key_id, :secret_access_key, and :session_token options
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • HOME/.aws/credentials shared credentials file
    • EC2 instance profile credentials See Plugins::RequestSigner for more details.
  • :disable_host_prefix_injection (Boolean)

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available. See Plugins::EndpointPattern for more details.

  • :endpoint (String)

    A default endpoint is constructed from the :region. See Plugins::RegionalEndpoint for more details.

  • :endpoint_cache_max_entries (Integer)

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000. See Plugins::EndpointDiscovery for more details.

  • :endpoint_cache_max_threads (Integer)

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10. See Plugins::EndpointDiscovery for more details.

  • :endpoint_cache_poll_interval (Integer)

    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. See Plugins::EndpointDiscovery for more details.

  • :endpoint_discovery (Boolean)

    When set to true, endpoint discovery will be enabled for operations when available. Defaults to false. See Plugins::EndpointDiscovery for more details.

  • :http_continue_timeout (Float) — default: 1

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_idle_timeout (Integer) — default: 5

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_open_timeout (Integer) — default: 15

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_proxy (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_read_timeout (Integer) — default: 60

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_wire_trace (Boolean) — default: false

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the logger at. See Plugins::Logging for more details.

  • :log_formatter (Logging::LogFormatter)

    The log formatter. Defaults to Seahorse::Client::Logging::Formatter.default. See Plugins::Logging for more details.

  • :logger (Logger) — default: nil

    The Logger instance to send log messages to. If this option is not set, logging will be disabled. See Plugins::Logging for more details.

  • :profile (String)

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used. See Plugins::RequestSigner for more details.

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised. See Seahorse::Client::Plugins::RaiseResponseErrors for more details.

  • :region (required, String)

    The AWS region to connect to. The region is used to construct the client endpoint. Defaults to ENV['AWS_REGION']. Also checks AMAZON_REGION and AWS_DEFAULT_REGION. See Plugins::RegionalEndpoint for more details.

  • :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 and auth errors from expired credentials. See Plugins::RetryErrors for more details.

  • :secret_access_key (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :session_token (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :simple_json (Boolean) — default: false

    Disables request parameter conversion, validation, and formatting. Also disable response data type conversions. 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.

    When :simple_json is enabled, the request parameters hash must be formatted exactly as the DynamoDB API expects. See Plugins::Protocols::JsonRpc for more details.

  • :ssl_ca_bundle (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_directory (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_store (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_verify_peer (Boolean) — default: true

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :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 Aws::ClientStubs#stub_responses. See Aws::ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled. See Plugins::StubResponses for more details.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request. See Plugins::ParamValidator for more details.

Instance Method Details

#batch_detect_dominant_language(options = {}) ⇒ Types::BatchDetectDominantLanguageResponse

Determines the dominant language of the input text for a batch of documents. For a list of languages that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages.

Examples:

Request syntax with placeholder values


resp = client.batch_detect_dominant_language({
  text_list: ["String"], # required
})

Response structure


resp.result_list #=> Array
resp.result_list[0].index #=> Integer
resp.result_list[0].languages #=> Array
resp.result_list[0].languages[0].language_code #=> String
resp.result_list[0].languages[0].score #=> Float
resp.error_list #=> Array
resp.error_list[0].index #=> Integer
resp.error_list[0].error_code #=> String
resp.error_list[0].error_message #=> String

Options Hash (options):

  • :text_list (required, Array<String>)

    A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document should contain at least 20 characters and must contain fewer than 5,000 bytes of UTF-8 encoded characters.

Returns:

See Also:

#batch_detect_entities(options = {}) ⇒ Types::BatchDetectEntitiesResponse

Inspects the text of a batch of documents for named entities and returns information about them. For more information about named entities, see how-entities

Examples:

Request syntax with placeholder values


resp = client.batch_detect_entities({
  text_list: ["String"], # required
  language_code: "en", # required, accepts en, es, fr, de, it, pt
})

Response structure


resp.result_list #=> Array
resp.result_list[0].index #=> Integer
resp.result_list[0].entities #=> Array
resp.result_list[0].entities[0].score #=> Float
resp.result_list[0].entities[0].type #=> String, one of "PERSON", "LOCATION", "ORGANIZATION", "COMMERCIAL_ITEM", "EVENT", "DATE", "QUANTITY", "TITLE", "OTHER"
resp.result_list[0].entities[0].text #=> String
resp.result_list[0].entities[0].begin_offset #=> Integer
resp.result_list[0].entities[0].end_offset #=> Integer
resp.error_list #=> Array
resp.error_list[0].index #=> Integer
resp.error_list[0].error_code #=> String
resp.error_list[0].error_message #=> String

Options Hash (options):

  • :text_list (required, Array<String>)

    A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer than 5,000 bytes of UTF-8 encoded characters.

  • :language_code (required, String)

    The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

Returns:

See Also:

#batch_detect_key_phrases(options = {}) ⇒ Types::BatchDetectKeyPhrasesResponse

Detects the key noun phrases found in a batch of documents.

Examples:

Request syntax with placeholder values


resp = client.batch_detect_key_phrases({
  text_list: ["String"], # required
  language_code: "en", # required, accepts en, es, fr, de, it, pt
})

Response structure


resp.result_list #=> Array
resp.result_list[0].index #=> Integer
resp.result_list[0].key_phrases #=> Array
resp.result_list[0].key_phrases[0].score #=> Float
resp.result_list[0].key_phrases[0].text #=> String
resp.result_list[0].key_phrases[0].begin_offset #=> Integer
resp.result_list[0].key_phrases[0].end_offset #=> Integer
resp.error_list #=> Array
resp.error_list[0].index #=> Integer
resp.error_list[0].error_code #=> String
resp.error_list[0].error_message #=> String

Options Hash (options):

  • :text_list (required, Array<String>)

    A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.

  • :language_code (required, String)

    The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

Returns:

See Also:

#batch_detect_sentiment(options = {}) ⇒ Types::BatchDetectSentimentResponse

Inspects a batch of documents and returns an inference of the prevailing sentiment, POSITIVE, NEUTRAL, MIXED, or NEGATIVE, in each one.

Examples:

Request syntax with placeholder values


resp = client.batch_detect_sentiment({
  text_list: ["String"], # required
  language_code: "en", # required, accepts en, es, fr, de, it, pt
})

Response structure


resp.result_list #=> Array
resp.result_list[0].index #=> Integer
resp.result_list[0].sentiment #=> String, one of "POSITIVE", "NEGATIVE", "NEUTRAL", "MIXED"
resp.result_list[0].sentiment_score.positive #=> Float
resp.result_list[0].sentiment_score.negative #=> Float
resp.result_list[0].sentiment_score.neutral #=> Float
resp.result_list[0].sentiment_score.mixed #=> Float
resp.error_list #=> Array
resp.error_list[0].index #=> Integer
resp.error_list[0].error_code #=> String
resp.error_list[0].error_message #=> String

Options Hash (options):

  • :text_list (required, Array<String>)

    A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.

  • :language_code (required, String)

    The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

Returns:

See Also:

#batch_detect_syntax(options = {}) ⇒ Types::BatchDetectSyntaxResponse

Inspects the text of a batch of documents for the syntax and part of speech of the words in the document and returns information about them. For more information, see how-syntax.

Examples:

Request syntax with placeholder values


resp = client.batch_detect_syntax({
  text_list: ["String"], # required
  language_code: "en", # required, accepts en, es, fr, de, it, pt
})

Response structure


resp.result_list #=> Array
resp.result_list[0].index #=> Integer
resp.result_list[0].syntax_tokens #=> Array
resp.result_list[0].syntax_tokens[0].token_id #=> Integer
resp.result_list[0].syntax_tokens[0].text #=> String
resp.result_list[0].syntax_tokens[0].begin_offset #=> Integer
resp.result_list[0].syntax_tokens[0].end_offset #=> Integer
resp.result_list[0].syntax_tokens[0].part_of_speech.tag #=> String, one of "ADJ", "ADP", "ADV", "AUX", "CONJ", "CCONJ", "DET", "INTJ", "NOUN", "NUM", "O", "PART", "PRON", "PROPN", "PUNCT", "SCONJ", "SYM", "VERB"
resp.result_list[0].syntax_tokens[0].part_of_speech.score #=> Float
resp.error_list #=> Array
resp.error_list[0].index #=> Integer
resp.error_list[0].error_code #=> String
resp.error_list[0].error_message #=> String

Options Hash (options):

  • :text_list (required, Array<String>)

    A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.

  • :language_code (required, String)

    The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

Returns:

See Also:

#create_document_classifier(options = {}) ⇒ Types::CreateDocumentClassifierResponse

Creates a new document classifier that you can use to categorize documents. To create a classifier you provide a set of training documents that labeled with the categories that you want to use. After the classifier is trained you can use it to categorize a set of labeled documents into the categories.

Examples:

Request syntax with placeholder values


resp = client.create_document_classifier({
  document_classifier_name: "ComprehendArnName", # required
  data_access_role_arn: "IamRoleArn", # required
  input_data_config: { # required
    s3_uri: "S3Uri", # required
  },
  client_request_token: "ClientRequestTokenString",
  language_code: "en", # required, accepts en, es, fr, de, it, pt
})

Response structure


resp.document_classifier_arn #=> String

Options Hash (options):

  • :document_classifier_name (required, String)

    The name of the document classifier.

  • :data_access_role_arn (required, String)

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your input data.

  • :input_data_config (required, Types::DocumentClassifierInputDataConfig)

    Specifies the format and location of the input data for the job.

  • :client_request_token (String)

    This parameter will be auto-filled on your behalf with a random UUIDv4 when no value is provided. A unique identifier for the request. If you don\'t set the client request token, Amazon Comprehend generates one.

  • :language_code (required, String)

    The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

Returns:

See Also:

#create_entity_recognizer(options = {}) ⇒ Types::CreateEntityRecognizerResponse

Creates an entity recognizer using submitted files. After your CreateEntityRecognizer request is submitted, you can check job status using the API.

Examples:

Request syntax with placeholder values


resp = client.create_entity_recognizer({
  recognizer_name: "ComprehendArnName", # required
  data_access_role_arn: "IamRoleArn", # required
  input_data_config: { # required
    entity_types: [ # required
      {
        type: "EntityTypeName", # required
      },
    ],
    documents: { # required
      s3_uri: "S3Uri", # required
    },
    annotations: {
      s3_uri: "S3Uri", # required
    },
    entity_list: {
      s3_uri: "S3Uri", # required
    },
  },
  client_request_token: "ClientRequestTokenString",
  language_code: "en", # required, accepts en, es, fr, de, it, pt
})

Response structure


resp.entity_recognizer_arn #=> String

Options Hash (options):

  • :recognizer_name (required, String)

    The name given to the newly created recognizer. Recognizer names can be a maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. The name must be unique in the account/region.

  • :data_access_role_arn (required, String)

    The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your input data.

  • :input_data_config (required, Types::EntityRecognizerInputDataConfig)

    Specifies the format and location of the input data. The S3 bucket containing the input data must be located in the same region as the entity recognizer being created.

  • :client_request_token (String)

    This parameter will be auto-filled on your behalf with a random UUIDv4 when no value is provided. A unique identifier for the request. If you don\'t set the client request token, Amazon Comprehend generates one.

  • :language_code (required, String)

    The language of the input documents. All documents must be in the same language. Only English (\"en\") is currently supported.

Returns:

See Also:

#delete_document_classifier(options = {}) ⇒ Struct

Deletes a previously created document classifier

Only those classifiers that are in terminated states (IN_ERROR, TRAINED) will be deleted. If an active inference job is using the model, a ResourceInUseException will be returned.

This is an asynchronous action that puts the classifier into a DELETING state, and it is then removed by a background job. Once removed, the classifier disappears from your account and is no longer available for use.

Examples:

Request syntax with placeholder values


resp = client.delete_document_classifier({
  document_classifier_arn: "DocumentClassifierArn", # required
})

Options Hash (options):

  • :document_classifier_arn (required, String)

    The Amazon Resource Name (ARN) that identifies the document classifier.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#delete_entity_recognizer(options = {}) ⇒ Struct

Deletes an entity recognizer.

Only those recognizers that are in terminated states (IN_ERROR, TRAINED) will be deleted. If an active inference job is using the model, a ResourceInUseException will be returned.

This is an asynchronous action that puts the recognizer into a DELETING state, and it is then removed by a background job. Once removed, the recognizer disappears from your account and is no longer available for use.

Examples:

Request syntax with placeholder values


resp = client.delete_entity_recognizer({
  entity_recognizer_arn: "EntityRecognizerArn", # required
})

Options Hash (options):

  • :entity_recognizer_arn (required, String)

    The Amazon Resource Name (ARN) that identifies the entity recognizer.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#describe_document_classification_job(options = {}) ⇒ Types::DescribeDocumentClassificationJobResponse

Gets the properties associated with a document classification job. Use this operation to get the status of a classification job.

Examples:

Request syntax with placeholder values


resp = client.describe_document_classification_job({
  job_id: "JobId", # required
})

Response structure


resp.document_classification_job_properties.job_id #=> String
resp.document_classification_job_properties.job_name #=> String
resp.document_classification_job_properties.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"
resp.document_classification_job_properties.message #=> String
resp.document_classification_job_properties.submit_time #=> Time
resp.document_classification_job_properties.end_time #=> Time
resp.document_classification_job_properties.document_classifier_arn #=> String
resp.document_classification_job_properties.input_data_config.s3_uri #=> String
resp.document_classification_job_properties.input_data_config.input_format #=> String, one of "ONE_DOC_PER_FILE", "ONE_DOC_PER_LINE"
resp.document_classification_job_properties.output_data_config.s3_uri #=> String
resp.document_classification_job_properties.data_access_role_arn #=> String

Options Hash (options):

  • :job_id (required, String)

    The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

Returns:

See Also:

#describe_document_classifier(options = {}) ⇒ Types::DescribeDocumentClassifierResponse

Gets the properties associated with a document classifier.

Examples:

Request syntax with placeholder values


resp = client.describe_document_classifier({
  document_classifier_arn: "DocumentClassifierArn", # required
})

Response structure


resp.document_classifier_properties.document_classifier_arn #=> String
resp.document_classifier_properties.language_code #=> String, one of "en", "es", "fr", "de", "it", "pt"
resp.document_classifier_properties.status #=> String, one of "SUBMITTED", "TRAINING", "DELETING", "IN_ERROR", "TRAINED"
resp.document_classifier_properties.message #=> String
resp.document_classifier_properties.submit_time #=> Time
resp.document_classifier_properties.end_time #=> Time
resp.document_classifier_properties.training_start_time #=> Time
resp.document_classifier_properties.training_end_time #=> Time
resp.document_classifier_properties.input_data_config.s3_uri #=> String
resp.document_classifier_properties..number_of_labels #=> Integer
resp.document_classifier_properties..number_of_trained_documents #=> Integer
resp.document_classifier_properties..number_of_test_documents #=> Integer
resp.document_classifier_properties..evaluation_metrics.accuracy #=> Float
resp.document_classifier_properties..evaluation_metrics.precision #=> Float
resp.document_classifier_properties..evaluation_metrics.recall #=> Float
resp.document_classifier_properties..evaluation_metrics.f1_score #=> Float
resp.document_classifier_properties.data_access_role_arn #=> String

Options Hash (options):

  • :document_classifier_arn (required, String)

    The Amazon Resource Name (ARN) that identifies the document classifier. The operation returns this identifier in its response.

Returns:

See Also:

#describe_dominant_language_detection_job(options = {}) ⇒ Types::DescribeDominantLanguageDetectionJobResponse

Gets the properties associated with a dominant language detection job. Use this operation to get the status of a detection job.

Examples:

Request syntax with placeholder values


resp = client.describe_dominant_language_detection_job({
  job_id: "JobId", # required
})

Response structure


resp.dominant_language_detection_job_properties.job_id #=> String
resp.dominant_language_detection_job_properties.job_name #=> String
resp.dominant_language_detection_job_properties.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"
resp.dominant_language_detection_job_properties.message #=> String
resp.dominant_language_detection_job_properties.submit_time #=> Time
resp.dominant_language_detection_job_properties.end_time #=> Time
resp.dominant_language_detection_job_properties.input_data_config.s3_uri #=> String
resp.dominant_language_detection_job_properties.input_data_config.input_format #=> String, one of "ONE_DOC_PER_FILE", "ONE_DOC_PER_LINE"
resp.dominant_language_detection_job_properties.output_data_config.s3_uri #=> String
resp.dominant_language_detection_job_properties.data_access_role_arn #=> String

Options Hash (options):

  • :job_id (required, String)

    The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

Returns:

See Also:

#describe_entities_detection_job(options = {}) ⇒ Types::DescribeEntitiesDetectionJobResponse

Gets the properties associated with an entities detection job. Use this operation to get the status of a detection job.

Examples:

Request syntax with placeholder values


resp = client.describe_entities_detection_job({
  job_id: "JobId", # required
})

Response structure


resp.entities_detection_job_properties.job_id #=> String
resp.entities_detection_job_properties.job_name #=> String
resp.entities_detection_job_properties.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"
resp.entities_detection_job_properties.message #=> String
resp.entities_detection_job_properties.submit_time #=> Time
resp.entities_detection_job_properties.end_time #=> Time
resp.entities_detection_job_properties.entity_recognizer_arn #=> String
resp.entities_detection_job_properties.input_data_config.s3_uri #=> String
resp.entities_detection_job_properties.input_data_config.input_format #=> String, one of "ONE_DOC_PER_FILE", "ONE_DOC_PER_LINE"
resp.entities_detection_job_properties.output_data_config.s3_uri #=> String
resp.entities_detection_job_properties.language_code #=> String, one of "en", "es", "fr", "de", "it", "pt"
resp.entities_detection_job_properties.data_access_role_arn #=> String

Options Hash (options):

  • :job_id (required, String)

    The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

Returns:

See Also:

#describe_entity_recognizer(options = {}) ⇒ Types::DescribeEntityRecognizerResponse

Provides details about an entity recognizer including status, S3 buckets containing training data, recognizer metadata, metrics, and so on.

Examples:

Request syntax with placeholder values


resp = client.describe_entity_recognizer({
  entity_recognizer_arn: "EntityRecognizerArn", # required
})

Response structure


resp.entity_recognizer_properties.entity_recognizer_arn #=> String
resp.entity_recognizer_properties.language_code #=> String, one of "en", "es", "fr", "de", "it", "pt"
resp.entity_recognizer_properties.status #=> String, one of "SUBMITTED", "TRAINING", "DELETING", "IN_ERROR", "TRAINED"
resp.entity_recognizer_properties.message #=> String
resp.entity_recognizer_properties.submit_time #=> Time
resp.entity_recognizer_properties.end_time #=> Time
resp.entity_recognizer_properties.training_start_time #=> Time
resp.entity_recognizer_properties.training_end_time #=> Time
resp.entity_recognizer_properties.input_data_config.entity_types #=> Array
resp.entity_recognizer_properties.input_data_config.entity_types[0].type #=> String
resp.entity_recognizer_properties.input_data_config.documents.s3_uri #=> String
resp.entity_recognizer_properties.input_data_config.annotations.s3_uri #=> String
resp.entity_recognizer_properties.input_data_config.entity_list.s3_uri #=> String
resp.entity_recognizer_properties..number_of_trained_documents #=> Integer
resp.entity_recognizer_properties..number_of_test_documents #=> Integer
resp.entity_recognizer_properties..evaluation_metrics.precision #=> Float
resp.entity_recognizer_properties..evaluation_metrics.recall #=> Float
resp.entity_recognizer_properties..evaluation_metrics.f1_score #=> Float
resp.entity_recognizer_properties..entity_types #=> Array
resp.entity_recognizer_properties..entity_types[0].type #=> String
resp.entity_recognizer_properties.data_access_role_arn #=> String

Options Hash (options):

  • :entity_recognizer_arn (required, String)

    The Amazon Resource Name (ARN) that identifies the entity recognizer.

Returns:

See Also:

#describe_key_phrases_detection_job(options = {}) ⇒ Types::DescribeKeyPhrasesDetectionJobResponse

Gets the properties associated with a key phrases detection job. Use this operation to get the status of a detection job.

Examples:

Request syntax with placeholder values


resp = client.describe_key_phrases_detection_job({
  job_id: "JobId", # required
})

Response structure


resp.key_phrases_detection_job_properties.job_id #=> String
resp.key_phrases_detection_job_properties.job_name #=> String
resp.key_phrases_detection_job_properties.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"
resp.key_phrases_detection_job_properties.message #=> String
resp.key_phrases_detection_job_properties.submit_time #=> Time
resp.key_phrases_detection_job_properties.end_time #=> Time
resp.key_phrases_detection_job_properties.input_data_config.s3_uri #=> String
resp.key_phrases_detection_job_properties.input_data_config.input_format #=> String, one of "ONE_DOC_PER_FILE", "ONE_DOC_PER_LINE"
resp.key_phrases_detection_job_properties.output_data_config.s3_uri #=> String
resp.key_phrases_detection_job_properties.language_code #=> String, one of "en", "es", "fr", "de", "it", "pt"
resp.key_phrases_detection_job_properties.data_access_role_arn #=> String

Options Hash (options):

  • :job_id (required, String)

    The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

Returns:

See Also:

#describe_sentiment_detection_job(options = {}) ⇒ Types::DescribeSentimentDetectionJobResponse

Gets the properties associated with a sentiment detection job. Use this operation to get the status of a detection job.

Examples:

Request syntax with placeholder values


resp = client.describe_sentiment_detection_job({
  job_id: "JobId", # required
})

Response structure


resp.sentiment_detection_job_properties.job_id #=> String
resp.sentiment_detection_job_properties.job_name #=> String
resp.sentiment_detection_job_properties.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"
resp.sentiment_detection_job_properties.message #=> String
resp.sentiment_detection_job_properties.submit_time #=> Time
resp.sentiment_detection_job_properties.end_time #=> Time
resp.sentiment_detection_job_properties.input_data_config.s3_uri #=> String
resp.sentiment_detection_job_properties.input_data_config.input_format #=> String, one of "ONE_DOC_PER_FILE", "ONE_DOC_PER_LINE"
resp.sentiment_detection_job_properties.output_data_config.s3_uri #=> String
resp.sentiment_detection_job_properties.language_code #=> String, one of "en", "es", "fr", "de", "it", "pt"
resp.sentiment_detection_job_properties.data_access_role_arn #=> String

Options Hash (options):

  • :job_id (required, String)

    The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

Returns:

See Also:

#describe_topics_detection_job(options = {}) ⇒ Types::DescribeTopicsDetectionJobResponse

Gets the properties associated with a topic detection job. Use this operation to get the status of a detection job.

Examples:

Request syntax with placeholder values


resp = client.describe_topics_detection_job({
  job_id: "JobId", # required
})

Response structure


resp.topics_detection_job_properties.job_id #=> String
resp.topics_detection_job_properties.job_name #=> String
resp.topics_detection_job_properties.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"
resp.topics_detection_job_properties.message #=> String
resp.topics_detection_job_properties.submit_time #=> Time
resp.topics_detection_job_properties.end_time #=> Time
resp.topics_detection_job_properties.input_data_config.s3_uri #=> String
resp.topics_detection_job_properties.input_data_config.input_format #=> String, one of "ONE_DOC_PER_FILE", "ONE_DOC_PER_LINE"
resp.topics_detection_job_properties.output_data_config.s3_uri #=> String
resp.topics_detection_job_properties.number_of_topics #=> Integer

Options Hash (options):

  • :job_id (required, String)

    The identifier assigned by the user to the detection job.

Returns:

See Also:

#detect_dominant_language(options = {}) ⇒ Types::DetectDominantLanguageResponse

Determines the dominant language of the input text. For a list of languages that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages.

Examples:

Request syntax with placeholder values


resp = client.detect_dominant_language({
  text: "String", # required
})

Response structure


resp.languages #=> Array
resp.languages[0].language_code #=> String
resp.languages[0].score #=> Float

Options Hash (options):

  • :text (required, String)

    A UTF-8 text string. Each string should contain at least 20 characters and must contain fewer that 5,000 bytes of UTF-8 encoded characters.

Returns:

See Also:

#detect_entities(options = {}) ⇒ Types::DetectEntitiesResponse

Inspects text for named entities, and returns information about them. For more information, about named entities, see how-entities.

Examples:

Request syntax with placeholder values


resp = client.detect_entities({
  text: "String", # required
  language_code: "en", # required, accepts en, es, fr, de, it, pt
})

Response structure


resp.entities #=> Array
resp.entities[0].score #=> Float
resp.entities[0].type #=> String, one of "PERSON", "LOCATION", "ORGANIZATION", "COMMERCIAL_ITEM", "EVENT", "DATE", "QUANTITY", "TITLE", "OTHER"
resp.entities[0].text #=> String
resp.entities[0].begin_offset #=> Integer
resp.entities[0].end_offset #=> Integer

Options Hash (options):

  • :text (required, String)

    A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.

  • :language_code (required, String)

    The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

Returns:

See Also:

#detect_key_phrases(options = {}) ⇒ Types::DetectKeyPhrasesResponse

Detects the key noun phrases found in the text.

Examples:

Request syntax with placeholder values


resp = client.detect_key_phrases({
  text: "String", # required
  language_code: "en", # required, accepts en, es, fr, de, it, pt
})

Response structure


resp.key_phrases #=> Array
resp.key_phrases[0].score #=> Float
resp.key_phrases[0].text #=> String
resp.key_phrases[0].begin_offset #=> Integer
resp.key_phrases[0].end_offset #=> Integer

Options Hash (options):

  • :text (required, String)

    A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.

  • :language_code (required, String)

    The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

Returns:

See Also:

#detect_sentiment(options = {}) ⇒ Types::DetectSentimentResponse

Inspects text and returns an inference of the prevailing sentiment (POSITIVE, NEUTRAL, MIXED, or NEGATIVE).

Examples:

Request syntax with placeholder values


resp = client.detect_sentiment({
  text: "String", # required
  language_code: "en", # required, accepts en, es, fr, de, it, pt
})

Response structure


resp.sentiment #=> String, one of "POSITIVE", "NEGATIVE", "NEUTRAL", "MIXED"
resp.sentiment_score.positive #=> Float
resp.sentiment_score.negative #=> Float
resp.sentiment_score.neutral #=> Float
resp.sentiment_score.mixed #=> Float

Options Hash (options):

  • :text (required, String)

    A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.

  • :language_code (required, String)

    The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

Returns:

See Also:

#detect_syntax(options = {}) ⇒ Types::DetectSyntaxResponse

Inspects text for syntax and the part of speech of words in the document. For more information, how-syntax.

Examples:

Request syntax with placeholder values


resp = client.detect_syntax({
  text: "String", # required
  language_code: "en", # required, accepts en, es, fr, de, it, pt
})

Response structure


resp.syntax_tokens #=> Array
resp.syntax_tokens[0].token_id #=> Integer
resp.syntax_tokens[0].text #=> String
resp.syntax_tokens[0].begin_offset #=> Integer
resp.syntax_tokens[0].end_offset #=> Integer
resp.syntax_tokens[0].part_of_speech.tag #=> String, one of "ADJ", "ADP", "ADV", "AUX", "CONJ", "CCONJ", "DET", "INTJ", "NOUN", "NUM", "O", "PART", "PRON", "PROPN", "PUNCT", "SCONJ", "SYM", "VERB"
resp.syntax_tokens[0].part_of_speech.score #=> Float

Options Hash (options):

  • :text (required, String)

    A UTF-8 string. Each string must contain fewer that 5,000 bytes of UTF encoded characters.

  • :language_code (required, String)

    The language code of the input documents. You can specify English (\"en\") or Spanish (\"es\").

Returns:

See Also:

#list_document_classification_jobs(options = {}) ⇒ Types::ListDocumentClassificationJobsResponse

Gets a list of the documentation classification jobs that you have submitted.

Examples:

Request syntax with placeholder values


resp = client.list_document_classification_jobs({
  filter: {
    job_name: "JobName",
    job_status: "SUBMITTED", # accepts SUBMITTED, IN_PROGRESS, COMPLETED, FAILED, STOP_REQUESTED, STOPPED
    submit_time_before: Time.now,
    submit_time_after: Time.now,
  },
  next_token: "String",
  max_results: 1,
})

Response structure


resp.document_classification_job_properties_list #=> Array
resp.document_classification_job_properties_list[0].job_id #=> String
resp.document_classification_job_properties_list[0].job_name #=> String
resp.document_classification_job_properties_list[0].job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"
resp.document_classification_job_properties_list[0].message #=> String
resp.document_classification_job_properties_list[0].submit_time #=> Time
resp.document_classification_job_properties_list[0].end_time #=> Time
resp.document_classification_job_properties_list[0].document_classifier_arn #=> String
resp.document_classification_job_properties_list[0].input_data_config.s3_uri #=> String
resp.document_classification_job_properties_list[0].input_data_config.input_format #=> String, one of "ONE_DOC_PER_FILE", "ONE_DOC_PER_LINE"
resp.document_classification_job_properties_list[0].output_data_config.s3_uri #=> String
resp.document_classification_job_properties_list[0].data_access_role_arn #=> String
resp.next_token #=> String

Options Hash (options):

  • :filter (Types::DocumentClassificationJobFilter)

    Filters the jobs that are returned. You can filter jobs on their names, status, or the date and time that they were submitted. You can only set one filter at a time.

  • :next_token (String)

    Identifies the next page of results to return.

  • :max_results (Integer)

    The maximum number of results to return in each page. The default is 100.

Returns:

See Also:

#list_document_classifiers(options = {}) ⇒ Types::ListDocumentClassifiersResponse

Gets a list of the document classifiers that you have created.

Examples:

Request syntax with placeholder values


resp = client.list_document_classifiers({
  filter: {
    status: "SUBMITTED", # accepts SUBMITTED, TRAINING, DELETING, IN_ERROR, TRAINED
    submit_time_before: Time.now,
    submit_time_after: Time.now,
  },
  next_token: "String",
  max_results: 1,
})

Response structure


resp.document_classifier_properties_list #=> Array
resp.document_classifier_properties_list[0].document_classifier_arn #=> String
resp.document_classifier_properties_list[0].language_code #=> String, one of "en", "es", "fr", "de", "it", "pt"
resp.document_classifier_properties_list[0].status #=> String, one of "SUBMITTED", "TRAINING", "DELETING", "IN_ERROR", "TRAINED"
resp.document_classifier_properties_list[0].message #=> String
resp.document_classifier_properties_list[0].submit_time #=> Time
resp.document_classifier_properties_list[0].end_time #=> Time
resp.document_classifier_properties_list[0].training_start_time #=> Time
resp.document_classifier_properties_list[0].training_end_time #=> Time
resp.document_classifier_properties_list[0].input_data_config.s3_uri #=> String
resp.document_classifier_properties_list[0]..number_of_labels #=> Integer
resp.document_classifier_properties_list[0]..number_of_trained_documents #=> Integer
resp.document_classifier_properties_list[0]..number_of_test_documents #=> Integer
resp.document_classifier_properties_list[0]..evaluation_metrics.accuracy #=> Float
resp.document_classifier_properties_list[0]..evaluation_metrics.precision #=> Float
resp.document_classifier_properties_list[0]..evaluation_metrics.recall #=> Float
resp.document_classifier_properties_list[0]..evaluation_metrics.f1_score #=> Float
resp.document_classifier_properties_list[0].data_access_role_arn #=> String
resp.next_token #=> String

Options Hash (options):

  • :filter (Types::DocumentClassifierFilter)

    Filters the jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time.

  • :next_token (String)

    Identifies the next page of results to return.

  • :max_results (Integer)

    The maximum number of results to return in each page. The default is 100.

Returns:

See Also:

#list_dominant_language_detection_jobs(options = {}) ⇒ Types::ListDominantLanguageDetectionJobsResponse

Gets a list of the dominant language detection jobs that you have submitted.

Examples:

Request syntax with placeholder values


resp = client.list_dominant_language_detection_jobs({
  filter: {
    job_name: "JobName",
    job_status: "SUBMITTED", # accepts SUBMITTED, IN_PROGRESS, COMPLETED, FAILED, STOP_REQUESTED, STOPPED
    submit_time_before: Time.now,
    submit_time_after: Time.now,
  },
  next_token: "String",
  max_results: 1,
})

Response structure


resp.dominant_language_detection_job_properties_list #=> Array
resp.dominant_language_detection_job_properties_list[0].job_id #=> String
resp.dominant_language_detection_job_properties_list[0].job_name #=> String
resp.dominant_language_detection_job_properties_list[0].job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"
resp.dominant_language_detection_job_properties_list[0].message #=> String
resp.dominant_language_detection_job_properties_list[0].submit_time #=> Time
resp.dominant_language_detection_job_properties_list[0].end_time #=> Time
resp.dominant_language_detection_job_properties_list[0].input_data_config.s3_uri #=> String
resp.dominant_language_detection_job_properties_list[0].input_data_config.input_format #=> String, one of "ONE_DOC_PER_FILE", "ONE_DOC_PER_LINE"
resp.dominant_language_detection_job_properties_list[0].output_data_config.s3_uri #=> String
resp.dominant_language_detection_job_properties_list[0].data_access_role_arn #=> String
resp.next_token #=> String

Options Hash (options):

  • :filter (Types::DominantLanguageDetectionJobFilter)

    Filters that jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time.

  • :next_token (String)

    Identifies the next page of results to return.

  • :max_results (Integer)

    The maximum number of results to return in each page. The default is 100.

Returns:

See Also:

#list_entities_detection_jobs(options = {}) ⇒ Types::ListEntitiesDetectionJobsResponse

Gets a list of the entity detection jobs that you have submitted.

Examples:

Request syntax with placeholder values


resp = client.list_entities_detection_jobs({
  filter: {
    job_name: "JobName",
    job_status: "SUBMITTED", # accepts SUBMITTED, IN_PROGRESS, COMPLETED, FAILED, STOP_REQUESTED, STOPPED
    submit_time_before: Time.now,
    submit_time_after: Time.now,
  },
  next_token: "String",
  max_results: 1,
})

Response structure


resp.entities_detection_job_properties_list #=> Array
resp.entities_detection_job_properties_list[0].job_id #=> String
resp.entities_detection_job_properties_list[0].job_name #=> String
resp.entities_detection_job_properties_list[0].job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"
resp.entities_detection_job_properties_list[0].message #=> String
resp.entities_detection_job_properties_list[0].submit_time #=> Time
resp.entities_detection_job_properties_list[0].end_time #=> Time
resp.entities_detection_job_properties_list[0].entity_recognizer_arn #=> String
resp.entities_detection_job_properties_list[0].input_data_config.s3_uri #=> String
resp.entities_detection_job_properties_list[0].input_data_config.input_format #=> String, one of "ONE_DOC_PER_FILE", "ONE_DOC_PER_LINE"
resp.entities_detection_job_properties_list[0].output_data_config.s3_uri #=> String
resp.entities_detection_job_properties_list[0].language_code #=> String, one of "en", "es", "fr", "de", "it", "pt"
resp.entities_detection_job_properties_list[0].data_access_role_arn #=> String
resp.next_token #=> String

Options Hash (options):

  • :filter (Types::EntitiesDetectionJobFilter)

    Filters the jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time.

  • :next_token (String)

    Identifies the next page of results to return.

  • :max_results (Integer)

    The maximum number of results to return in each page. The default is 100.

Returns:

See Also:

#list_entity_recognizers(options = {}) ⇒ Types::ListEntityRecognizersResponse

Gets a list of the properties of all entity recognizers that you created, including recognizers currently in training. Allows you to filter the list of recognizers based on criteria such as status and submission time. This call returns up to 500 entity recognizers in the list, with a default number of 100 recognizers in the list.

The results of this list are not in any particular order. Please get the list and sort locally if needed.

Examples:

Request syntax with placeholder values


resp = client.list_entity_recognizers({
  filter: {
    status: "SUBMITTED", # accepts SUBMITTED, TRAINING, DELETING, IN_ERROR, TRAINED
    submit_time_before: Time.now,
    submit_time_after: Time.now,
  },
  next_token: "String",
  max_results: 1,
})

Response structure


resp.entity_recognizer_properties_list #=> Array
resp.entity_recognizer_properties_list[0].entity_recognizer_arn #=> String
resp.entity_recognizer_properties_list[0].language_code #=> String, one of "en", "es", "fr", "de", "it", "pt"
resp.entity_recognizer_properties_list[0].status #=> String, one of "SUBMITTED", "TRAINING", "DELETING", "IN_ERROR", "TRAINED"
resp.entity_recognizer_properties_list[0].message #=> String
resp.entity_recognizer_properties_list[0].submit_time #=> Time
resp.entity_recognizer_properties_list[0].end_time #=> Time
resp.entity_recognizer_properties_list[0].training_start_time #=> Time
resp.entity_recognizer_properties_list[0].training_end_time #=> Time
resp.entity_recognizer_properties_list[0].input_data_config.entity_types #=> Array
resp.entity_recognizer_properties_list[0].input_data_config.entity_types[0].type #=> String
resp.entity_recognizer_properties_list[0].input_data_config.documents.s3_uri #=> String
resp.entity_recognizer_properties_list[0].input_data_config.annotations.s3_uri #=> String
resp.entity_recognizer_properties_list[0].input_data_config.entity_list.s3_uri #=> String
resp.entity_recognizer_properties_list[0]..number_of_trained_documents #=> Integer
resp.entity_recognizer_properties_list[0]..number_of_test_documents #=> Integer
resp.entity_recognizer_properties_list[0]..evaluation_metrics.precision #=> Float
resp.entity_recognizer_properties_list[0]..evaluation_metrics.recall #=> Float
resp.entity_recognizer_properties_list[0]..evaluation_metrics.f1_score #=> Float
resp.entity_recognizer_properties_list[0]..entity_types #=> Array
resp.entity_recognizer_properties_list[0]..entity_types[0].type #=> String
resp.entity_recognizer_properties_list[0].data_access_role_arn #=> String
resp.next_token #=> String

Options Hash (options):

  • :filter (Types::EntityRecognizerFilter)

    Filters the list of entities returned. You can filter on Status, SubmitTimeBefore, or SubmitTimeAfter. You can only set one filter at a time.

  • :next_token (String)

    Identifies the next page of results to return.

  • :max_results (Integer)

    The maximum number of results to return on each page. The default is 100.

Returns:

See Also:

#list_key_phrases_detection_jobs(options = {}) ⇒ Types::ListKeyPhrasesDetectionJobsResponse

Get a list of key phrase detection jobs that you have submitted.

Examples:

Request syntax with placeholder values


resp = client.list_key_phrases_detection_jobs({
  filter: {
    job_name: "JobName",
    job_status: "SUBMITTED", # accepts SUBMITTED, IN_PROGRESS, COMPLETED, FAILED, STOP_REQUESTED, STOPPED
    submit_time_before: Time.now,
    submit_time_after: Time.now,
  },
  next_token: "String",
  max_results: 1,
})

Response structure


resp.key_phrases_detection_job_properties_list #=> Array
resp.key_phrases_detection_job_properties_list[0].job_id #=> String
resp.key_phrases_detection_job_properties_list[0].job_name #=> String
resp.key_phrases_detection_job_properties_list[0].job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"
resp.key_phrases_detection_job_properties_list[0].message #=> String
resp.key_phrases_detection_job_properties_list[0].submit_time #=> Time
resp.key_phrases_detection_job_properties_list[0].end_time #=> Time
resp.key_phrases_detection_job_properties_list[0].input_data_config.s3_uri #=> String
resp.key_phrases_detection_job_properties_list[0].input_data_config.input_format #=> String, one of "ONE_DOC_PER_FILE", "ONE_DOC_PER_LINE"
resp.key_phrases_detection_job_properties_list[0].output_data_config.s3_uri #=> String
resp.key_phrases_detection_job_properties_list[0].language_code #=> String, one of "en", "es", "fr", "de", "it", "pt"
resp.key_phrases_detection_job_properties_list[0].data_access_role_arn #=> String
resp.next_token #=> String

Options Hash (options):

  • :filter (Types::KeyPhrasesDetectionJobFilter)

    Filters the jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time.

  • :next_token (String)

    Identifies the next page of results to return.

  • :max_results (Integer)

    The maximum number of results to return in each page. The default is 100.

Returns:

See Also:

#list_sentiment_detection_jobs(options = {}) ⇒ Types::ListSentimentDetectionJobsResponse

Gets a list of sentiment detection jobs that you have submitted.

Examples:

Request syntax with placeholder values


resp = client.list_sentiment_detection_jobs({
  filter: {
    job_name: "JobName",
    job_status: "SUBMITTED", # accepts SUBMITTED, IN_PROGRESS, COMPLETED, FAILED, STOP_REQUESTED, STOPPED
    submit_time_before: Time.now,
    submit_time_after: Time.now,
  },
  next_token: "String",
  max_results: 1,
})

Response structure


resp.sentiment_detection_job_properties_list #=> Array
resp.sentiment_detection_job_properties_list[0].job_id #=> String
resp.sentiment_detection_job_properties_list[0].job_name #=> String
resp.sentiment_detection_job_properties_list[0].job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"
resp.sentiment_detection_job_properties_list[0].message #=> String
resp.sentiment_detection_job_properties_list[0].submit_time #=> Time
resp.sentiment_detection_job_properties_list[0].end_time #=> Time
resp.sentiment_detection_job_properties_list[0].input_data_config.s3_uri #=> String
resp.sentiment_detection_job_properties_list[0].input_data_config.input_format #=> String, one of "ONE_DOC_PER_FILE", "ONE_DOC_PER_LINE"
resp.sentiment_detection_job_properties_list[0].output_data_config.s3_uri #=> String
resp.sentiment_detection_job_properties_list[0].language_code #=> String, one of "en", "es", "fr", "de", "it", "pt"
resp.sentiment_detection_job_properties_list[0].data_access_role_arn #=> String
resp.next_token #=> String

Options Hash (options):

  • :filter (Types::SentimentDetectionJobFilter)

    Filters the jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time.

  • :next_token (String)

    Identifies the next page of results to return.

  • :max_results (Integer)

    The maximum number of results to return in each page. The default is 100.

Returns:

See Also:

#list_topics_detection_jobs(options = {}) ⇒ Types::ListTopicsDetectionJobsResponse

Gets a list of the topic detection jobs that you have submitted.

Examples:

Request syntax with placeholder values


resp = client.list_topics_detection_jobs({
  filter: {
    job_name: "JobName",
    job_status: "SUBMITTED", # accepts SUBMITTED, IN_PROGRESS, COMPLETED, FAILED, STOP_REQUESTED, STOPPED
    submit_time_before: Time.now,
    submit_time_after: Time.now,
  },
  next_token: "String",
  max_results: 1,
})

Response structure


resp.topics_detection_job_properties_list #=> Array
resp.topics_detection_job_properties_list[0].job_id #=> String
resp.topics_detection_job_properties_list[0].job_name #=> String
resp.topics_detection_job_properties_list[0].job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"
resp.topics_detection_job_properties_list[0].message #=> String
resp.topics_detection_job_properties_list[0].submit_time #=> Time
resp.topics_detection_job_properties_list[0].end_time #=> Time
resp.topics_detection_job_properties_list[0].input_data_config.s3_uri #=> String
resp.topics_detection_job_properties_list[0].input_data_config.input_format #=> String, one of "ONE_DOC_PER_FILE", "ONE_DOC_PER_LINE"
resp.topics_detection_job_properties_list[0].output_data_config.s3_uri #=> String
resp.topics_detection_job_properties_list[0].number_of_topics #=> Integer
resp.next_token #=> String

Options Hash (options):

  • :filter (Types::TopicsDetectionJobFilter)

    Filters the jobs that are returned. Jobs can be filtered on their name, status, or the date and time that they were submitted. You can set only one filter at a time.

  • :next_token (String)

    Identifies the next page of results to return.

  • :max_results (Integer)

    The maximum number of results to return in each page. The default is 100.

Returns:

See Also:

#start_document_classification_job(options = {}) ⇒ Types::StartDocumentClassificationJobResponse

Starts an asynchronous document classification job. Use the operation to track the progress of the job.

Examples:

Request syntax with placeholder values


resp = client.start_document_classification_job({
  job_name: "JobName",
  document_classifier_arn: "DocumentClassifierArn", # required
  input_data_config: { # required
    s3_uri: "S3Uri", # required
    input_format: "ONE_DOC_PER_FILE", # accepts ONE_DOC_PER_FILE, ONE_DOC_PER_LINE
  },
  output_data_config: { # required
    s3_uri: "S3Uri", # required
  },
  data_access_role_arn: "IamRoleArn", # required
  client_request_token: "ClientRequestTokenString",
})

Response structure


resp.job_id #=> String
resp.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"

Options Hash (options):

  • :job_name (String)

    The identifier of the job.

  • :document_classifier_arn (required, String)

    The Amazon Resource Name (ARN) of the document classifier to use to process the job.

  • :input_data_config (required, Types::InputDataConfig)

    Specifies the format and location of the input data for the job.

  • :output_data_config (required, Types::OutputDataConfig)

    Specifies where to send the output files.

  • :data_access_role_arn (required, String)

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data.

  • :client_request_token (String)

    This parameter will be auto-filled on your behalf with a random UUIDv4 when no value is provided. A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.

Returns:

See Also:

#start_dominant_language_detection_job(options = {}) ⇒ Types::StartDominantLanguageDetectionJobResponse

Starts an asynchronous dominant language detection job for a collection of documents. Use the operation to track the status of a job.

Examples:

Request syntax with placeholder values


resp = client.start_dominant_language_detection_job({
  input_data_config: { # required
    s3_uri: "S3Uri", # required
    input_format: "ONE_DOC_PER_FILE", # accepts ONE_DOC_PER_FILE, ONE_DOC_PER_LINE
  },
  output_data_config: { # required
    s3_uri: "S3Uri", # required
  },
  data_access_role_arn: "IamRoleArn", # required
  job_name: "JobName",
  client_request_token: "ClientRequestTokenString",
})

Response structure


resp.job_id #=> String
resp.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"

Options Hash (options):

  • :input_data_config (required, Types::InputDataConfig)

    Specifies the format and location of the input data for the job.

  • :output_data_config (required, Types::OutputDataConfig)

    Specifies where to send the output files.

  • :data_access_role_arn (required, String)

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

  • :job_name (String)

    An identifier for the job.

  • :client_request_token (String)

    This parameter will be auto-filled on your behalf with a random UUIDv4 when no value is provided. A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.

Returns:

See Also:

#start_entities_detection_job(options = {}) ⇒ Types::StartEntitiesDetectionJobResponse

Starts an asynchronous entity detection job for a collection of documents. Use the operation to track the status of a job.

This API can be used for either standard entity detection or custom entity recognition. In order to be used for custom entity recognition, the optional EntityRecognizerArn must be used in order to provide access to the recognizer being used to detect the custom entity.

Examples:

Request syntax with placeholder values


resp = client.start_entities_detection_job({
  input_data_config: { # required
    s3_uri: "S3Uri", # required
    input_format: "ONE_DOC_PER_FILE", # accepts ONE_DOC_PER_FILE, ONE_DOC_PER_LINE
  },
  output_data_config: { # required
    s3_uri: "S3Uri", # required
  },
  data_access_role_arn: "IamRoleArn", # required
  job_name: "JobName",
  entity_recognizer_arn: "EntityRecognizerArn",
  language_code: "en", # required, accepts en, es, fr, de, it, pt
  client_request_token: "ClientRequestTokenString",
})

Response structure


resp.job_id #=> String
resp.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"

Options Hash (options):

  • :input_data_config (required, Types::InputDataConfig)

    Specifies the format and location of the input data for the job.

  • :output_data_config (required, Types::OutputDataConfig)

    Specifies where to send the output files.

  • :data_access_role_arn (required, String)

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

  • :job_name (String)

    The identifier of the job.

  • :entity_recognizer_arn (String)

    The Amazon Resource Name (ARN) that identifies the specific entity recognizer to be used by the StartEntitiesDetectionJob. This ARN is optional and is only used for a custom entity recognition job.

  • :language_code (required, String)

    The language of the input documents. All documents must be in the same language. You can specify any of the languages supported by Amazon Comprehend: English (\"en\"), Spanish (\"es\"), French (\"fr\"), German (\"de\"), Italian (\"it\"), or Portuguese (\"pt\"). If custom entities recognition is used, this parameter is ignored and the language used for training the model is used instead.

  • :client_request_token (String)

    This parameter will be auto-filled on your behalf with a random UUIDv4 when no value is provided. A unique identifier for the request. If you don\'t set the client request token, Amazon Comprehend generates one.

Returns:

See Also:

#start_key_phrases_detection_job(options = {}) ⇒ Types::StartKeyPhrasesDetectionJobResponse

Starts an asynchronous key phrase detection job for a collection of documents. Use the operation to track the status of a job.

Examples:

Request syntax with placeholder values


resp = client.start_key_phrases_detection_job({
  input_data_config: { # required
    s3_uri: "S3Uri", # required
    input_format: "ONE_DOC_PER_FILE", # accepts ONE_DOC_PER_FILE, ONE_DOC_PER_LINE
  },
  output_data_config: { # required
    s3_uri: "S3Uri", # required
  },
  data_access_role_arn: "IamRoleArn", # required
  job_name: "JobName",
  language_code: "en", # required, accepts en, es, fr, de, it, pt
  client_request_token: "ClientRequestTokenString",
})

Response structure


resp.job_id #=> String
resp.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"

Options Hash (options):

  • :input_data_config (required, Types::InputDataConfig)

    Specifies the format and location of the input data for the job.

  • :output_data_config (required, Types::OutputDataConfig)

    Specifies where to send the output files.

  • :data_access_role_arn (required, String)

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

  • :job_name (String)

    The identifier of the job.

  • :language_code (required, String)

    The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

  • :client_request_token (String)

    This parameter will be auto-filled on your behalf with a random UUIDv4 when no value is provided. A unique identifier for the request. If you don\'t set the client request token, Amazon Comprehend generates one.

Returns:

See Also:

#start_sentiment_detection_job(options = {}) ⇒ Types::StartSentimentDetectionJobResponse

Starts an asynchronous sentiment detection job for a collection of documents. use the operation to track the status of a job.

Examples:

Request syntax with placeholder values


resp = client.start_sentiment_detection_job({
  input_data_config: { # required
    s3_uri: "S3Uri", # required
    input_format: "ONE_DOC_PER_FILE", # accepts ONE_DOC_PER_FILE, ONE_DOC_PER_LINE
  },
  output_data_config: { # required
    s3_uri: "S3Uri", # required
  },
  data_access_role_arn: "IamRoleArn", # required
  job_name: "JobName",
  language_code: "en", # required, accepts en, es, fr, de, it, pt
  client_request_token: "ClientRequestTokenString",
})

Response structure


resp.job_id #=> String
resp.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"

Options Hash (options):

  • :input_data_config (required, Types::InputDataConfig)

    Specifies the format and location of the input data for the job.

  • :output_data_config (required, Types::OutputDataConfig)

    Specifies where to send the output files.

  • :data_access_role_arn (required, String)

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

  • :job_name (String)

    The identifier of the job.

  • :language_code (required, String)

    The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

  • :client_request_token (String)

    This parameter will be auto-filled on your behalf with a random UUIDv4 when no value is provided. A unique identifier for the request. If you don\'t set the client request token, Amazon Comprehend generates one.

Returns:

See Also:

#start_topics_detection_job(options = {}) ⇒ Types::StartTopicsDetectionJobResponse

Starts an asynchronous topic detection job. Use the DescribeTopicDetectionJob operation to track the status of a job.

Examples:

Request syntax with placeholder values


resp = client.start_topics_detection_job({
  input_data_config: { # required
    s3_uri: "S3Uri", # required
    input_format: "ONE_DOC_PER_FILE", # accepts ONE_DOC_PER_FILE, ONE_DOC_PER_LINE
  },
  output_data_config: { # required
    s3_uri: "S3Uri", # required
  },
  data_access_role_arn: "IamRoleArn", # required
  job_name: "JobName",
  number_of_topics: 1,
  client_request_token: "ClientRequestTokenString",
})

Response structure


resp.job_id #=> String
resp.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"

Options Hash (options):

  • :input_data_config (required, Types::InputDataConfig)

    Specifies the format and location of the input data for the job.

  • :output_data_config (required, Types::OutputDataConfig)

    Specifies where to send the output files. The output is a compressed archive with two files, topic-terms.csv that lists the terms associated with each topic, and doc-topics.csv that lists the documents associated with each topic

  • :data_access_role_arn (required, String)

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

  • :job_name (String)

    The identifier of the job.

  • :number_of_topics (Integer)

    The number of topics to detect.

  • :client_request_token (String)

    This parameter will be auto-filled on your behalf with a random UUIDv4 when no value is provided. A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.

Returns:

See Also:

#stop_dominant_language_detection_job(options = {}) ⇒ Types::StopDominantLanguageDetectionJobResponse

Stops a dominant language detection job in progress.

If the job state is IN_PROGRESS the job is marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state; otherwise the job is stopped and put into the STOPPED state.

If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request Exception.

When a job is stopped, any documents already processed are written to the output location.

Examples:

Request syntax with placeholder values


resp = client.stop_dominant_language_detection_job({
  job_id: "JobId", # required
})

Response structure


resp.job_id #=> String
resp.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"

Options Hash (options):

  • :job_id (required, String)

    The identifier of the dominant language detection job to stop.

Returns:

See Also:

#stop_entities_detection_job(options = {}) ⇒ Types::StopEntitiesDetectionJobResponse

Stops an entities detection job in progress.

If the job state is IN_PROGRESS the job is marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state; otherwise the job is stopped and put into the STOPPED state.

If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request Exception.

When a job is stopped, any documents already processed are written to the output location.

Examples:

Request syntax with placeholder values


resp = client.stop_entities_detection_job({
  job_id: "JobId", # required
})

Response structure


resp.job_id #=> String
resp.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"

Options Hash (options):

  • :job_id (required, String)

    The identifier of the entities detection job to stop.

Returns:

See Also:

#stop_key_phrases_detection_job(options = {}) ⇒ Types::StopKeyPhrasesDetectionJobResponse

Stops a key phrases detection job in progress.

If the job state is IN_PROGRESS the job is marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state; otherwise the job is stopped and put into the STOPPED state.

If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request Exception.

When a job is stopped, any documents already processed are written to the output location.

Examples:

Request syntax with placeholder values


resp = client.stop_key_phrases_detection_job({
  job_id: "JobId", # required
})

Response structure


resp.job_id #=> String
resp.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"

Options Hash (options):

  • :job_id (required, String)

    The identifier of the key phrases detection job to stop.

Returns:

See Also:

#stop_sentiment_detection_job(options = {}) ⇒ Types::StopSentimentDetectionJobResponse

Stops a sentiment detection job in progress.

If the job state is IN_PROGRESS the job is marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state; otherwise the job is be stopped and put into the STOPPED state.

If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request Exception.

When a job is stopped, any documents already processed are written to the output location.

Examples:

Request syntax with placeholder values


resp = client.stop_sentiment_detection_job({
  job_id: "JobId", # required
})

Response structure


resp.job_id #=> String
resp.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"

Options Hash (options):

  • :job_id (required, String)

    The identifier of the sentiment detection job to stop.

Returns:

See Also:

#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean

Waiters polls an API operation until a resource enters a desired state.

Basic Usage

Waiters will poll until they are succesful, they fail by entering a terminal state, or until a maximum number of attempts are made.

# polls in a loop, sleeping between attempts client.waiter_until(waiter_name, params)

Configuration

You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You configure waiters by passing a block to #wait_until:

# poll for ~25 seconds
client.wait_until(...) do |w|
  w.max_attempts = 5
  w.delay = 5
end

Callbacks

You can be notified before each polling attempt and before each delay. If you throw :success or :failure from these callbacks, it will terminate the waiter.

started_at = Time.now
client.wait_until(...) do |w|

  # disable max attempts
  w.max_attempts = nil

  # poll for 1 hour, instead of a number of attempts
  w.before_wait do |attempts, response|
    throw :failure if Time.now - started_at > 3600
  end

end

Handling Errors

When a waiter is successful, it returns true. When a waiter fails, it raises an error. All errors raised extend from Waiters::Errors::WaiterFailed.

begin
  client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
  # resource did not enter the desired state in time
end

Parameters:

  • waiter_name (Symbol)

    The name of the waiter. See #waiter_names for a full list of supported waiters.

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

    Additional request parameters. See the #waiter_names for a list of supported waiters and what request they call. The called request determines the list of accepted parameters.

Yield Parameters:

Returns:

  • (Boolean)

    Returns true if the waiter was successful.

Raises:

  • (Errors::FailureStateError)

    Raised when the waiter terminates because the waiter has entered a state that it will not transition out of, preventing success.

  • (Errors::TooManyAttemptsError)

    Raised when the configured maximum number of attempts have been made, and the waiter is not yet successful.

  • (Errors::UnexpectedError)

    Raised when an error is encounted while polling for a resource that is not expected.

  • (Errors::NoSuchWaiterError)

    Raised when you request to wait for an unknown state.

#waiter_namesArray<Symbol>

Returns the list of supported waiters. The following table lists the supported waiters and the client method they call:

Waiter NameClient MethodDefault Delay:Default Max Attempts:

Returns:

  • (Array<Symbol>)

    the list of supported waiters.