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: ["CustomerInputString"], # 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: ["CustomerInputString"], # required
  language_code: "en", # required, accepts en, es, fr, de, it, pt, ar, hi, ja, ko, zh, zh-TW
})

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 any of the primary languages supported by Amazon Comprehend. 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: ["CustomerInputString"], # required
  language_code: "en", # required, accepts en, es, fr, de, it, pt, ar, hi, ja, ko, zh, zh-TW
})

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 any of the primary languages supported by Amazon Comprehend. 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: ["CustomerInputString"], # required
  language_code: "en", # required, accepts en, es, fr, de, it, pt, ar, hi, ja, ko, zh, zh-TW
})

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 any of the primary languages supported by Amazon Comprehend. 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: ["CustomerInputString"], # 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 any of the following languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

Returns:

See Also:

#classify_document(options = {}) ⇒ Types::ClassifyDocumentResponse

Creates a new document classification request to analyze a single document in real-time, using a previously created and trained custom model and an endpoint.

Examples:

Request syntax with placeholder values


resp = client.classify_document({
  text: "CustomerInputString", # required
  endpoint_arn: "DocumentClassifierEndpointArn", # required
})

Response structure


resp.classes #=> Array
resp.classes[0].name #=> String
resp.classes[0].score #=> Float
resp.labels #=> Array
resp.labels[0].name #=> String
resp.labels[0].score #=> Float

Options Hash (options):

  • :text (required, String)

    The document text to be analyzed.

  • :endpoint_arn (required, String)

    The Amazon Resource Number (ARN) of the endpoint.

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. For more information, see how-document-classification.

Examples:

Request syntax with placeholder values


resp = client.create_document_classifier({
  document_classifier_name: "ComprehendArnName", # required
  data_access_role_arn: "IamRoleArn", # required
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue",
    },
  ],
  input_data_config: { # required
    data_format: "COMPREHEND_CSV", # accepts COMPREHEND_CSV, AUGMENTED_MANIFEST
    s3_uri: "S3Uri",
    label_delimiter: "LabelDelimiter",
    augmented_manifests: [
      {
        s3_uri: "S3Uri", # required
        attribute_names: ["AttributeNamesListItem"], # required
      },
    ],
  },
  output_data_config: {
    s3_uri: "S3Uri",
    kms_key_id: "KmsKeyId",
  },
  client_request_token: "ClientRequestTokenString",
  language_code: "en", # required, accepts en, es, fr, de, it, pt, ar, hi, ja, ko, zh, zh-TW
  volume_kms_key_id: "KmsKeyId",
  vpc_config: {
    security_group_ids: ["SecurityGroupId"], # required
    subnets: ["SubnetId"], # required
  },
  mode: "MULTI_CLASS", # accepts MULTI_CLASS, MULTI_LABEL
})

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.

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

    Tags to be associated with the document classifier being created. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.

  • :input_data_config (required, Types::DocumentClassifierInputDataConfig)

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

  • :output_data_config (Types::DocumentClassifierOutputDataConfig)

    Enables the addition of output results configuration parameters for custom classifier jobs.

  • :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 any of the following languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

  • :volume_kms_key_id (String)

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

    • KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"

    • Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"

  • :vpc_config (Types::VpcConfig)

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your custom classifier. For more information, see Amazon VPC.

  • :mode (String)

    Indicates the mode in which the classifier will be trained. The classifier can be trained in multi-class mode, which identifies one and only one class for each document, or multi-label mode, which identifies one or more labels for each document. In multi-label mode, multiple labels for an individual document are separated by a delimiter. The default delimiter between labels is a pipe (|).

Returns:

See Also:

#create_endpoint(options = {}) ⇒ Types::CreateEndpointResponse

Creates a model-specific endpoint for synchronous inference for a previously trained custom model

Examples:

Request syntax with placeholder values


resp = client.create_endpoint({
  endpoint_name: "ComprehendEndpointName", # required
  model_arn: "ComprehendModelArn", # required
  desired_inference_units: 1, # required
  client_request_token: "ClientRequestTokenString",
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue",
    },
  ],
})

Response structure


resp.endpoint_arn #=> String

Options Hash (options):

  • :endpoint_name (required, String)

    This is the descriptive suffix that becomes part of the EndpointArn used for all subsequent requests to this resource.

  • :model_arn (required, String)

    The Amazon Resource Number (ARN) of the model to which the endpoint will be attached.

  • :desired_inference_units (required, Integer)

    The desired number of inference units to be used by the model using this endpoint. Each inference unit represents of a throughput of 100 characters per second.

  • :client_request_token (String)

    This parameter will be auto-filled on your behalf with a random UUIDv4 when no value is provided. An idempotency token provided by the customer. If this token matches a previous endpoint creation request, Amazon Comprehend will not return a ResourceInUseException.

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

    Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata to the endpoint. For example, a tag with \"Sales\" as the key might be added to an endpoint to indicate its use by the sales department.

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
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue",
    },
  ],
  input_data_config: { # required
    data_format: "COMPREHEND_CSV", # accepts COMPREHEND_CSV, AUGMENTED_MANIFEST
    entity_types: [ # required
      {
        type: "EntityTypeName", # required
      },
    ],
    documents: {
      s3_uri: "S3Uri", # required
    },
    annotations: {
      s3_uri: "S3Uri", # required
    },
    entity_list: {
      s3_uri: "S3Uri", # required
    },
    augmented_manifests: [
      {
        s3_uri: "S3Uri", # required
        attribute_names: ["AttributeNamesListItem"], # required
      },
    ],
  },
  client_request_token: "ClientRequestTokenString",
  language_code: "en", # required, accepts en, es, fr, de, it, pt, ar, hi, ja, ko, zh, zh-TW
  volume_kms_key_id: "KmsKeyId",
  vpc_config: {
    security_group_ids: ["SecurityGroupId"], # required
    subnets: ["SubnetId"], # required
  },
})

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.

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

    Tags to be associated with the entity recognizer being created. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.

  • :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)

    You can specify any of the following languages supported by Amazon Comprehend: English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), German (\"de\"), or Portuguese (\"pt\"). All documents must be in the same language.

  • :volume_kms_key_id (String)

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

    • KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"

    • Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"

  • :vpc_config (Types::VpcConfig)

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your custom entity recognizer. For more information, see Amazon VPC.

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_endpoint(options = {}) ⇒ Struct

Deletes a model-specific endpoint for a previously-trained custom model. All endpoints must be deleted in order for the model to be deleted.

Examples:

Request syntax with placeholder values


resp = client.delete_endpoint({
  endpoint_arn: "ComprehendEndpointArn", # required
})

Options Hash (options):

  • :endpoint_arn (required, String)

    The Amazon Resource Number (ARN) of the endpoint being deleted.

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.output_data_config.kms_key_id #=> String
resp.document_classification_job_properties.data_access_role_arn #=> String
resp.document_classification_job_properties.volume_kms_key_id #=> String
resp.document_classification_job_properties.vpc_config.security_group_ids #=> Array
resp.document_classification_job_properties.vpc_config.security_group_ids[0] #=> String
resp.document_classification_job_properties.vpc_config.subnets #=> Array
resp.document_classification_job_properties.vpc_config.subnets[0] #=> 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", "ar", "hi", "ja", "ko", "zh", "zh-TW"
resp.document_classifier_properties.status #=> String, one of "SUBMITTED", "TRAINING", "DELETING", "STOP_REQUESTED", "STOPPED", "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.data_format #=> String, one of "COMPREHEND_CSV", "AUGMENTED_MANIFEST"
resp.document_classifier_properties.input_data_config.s3_uri #=> String
resp.document_classifier_properties.input_data_config.label_delimiter #=> String
resp.document_classifier_properties.input_data_config.augmented_manifests #=> Array
resp.document_classifier_properties.input_data_config.augmented_manifests[0].s3_uri #=> String
resp.document_classifier_properties.input_data_config.augmented_manifests[0].attribute_names #=> Array
resp.document_classifier_properties.input_data_config.augmented_manifests[0].attribute_names[0] #=> String
resp.document_classifier_properties.output_data_config.s3_uri #=> String
resp.document_classifier_properties.output_data_config.kms_key_id #=> 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..evaluation_metrics.micro_precision #=> Float
resp.document_classifier_properties..evaluation_metrics.micro_recall #=> Float
resp.document_classifier_properties..evaluation_metrics.micro_f1_score #=> Float
resp.document_classifier_properties..evaluation_metrics.hamming_loss #=> Float
resp.document_classifier_properties.data_access_role_arn #=> String
resp.document_classifier_properties.volume_kms_key_id #=> String
resp.document_classifier_properties.vpc_config.security_group_ids #=> Array
resp.document_classifier_properties.vpc_config.security_group_ids[0] #=> String
resp.document_classifier_properties.vpc_config.subnets #=> Array
resp.document_classifier_properties.vpc_config.subnets[0] #=> String
resp.document_classifier_properties.mode #=> String, one of "MULTI_CLASS", "MULTI_LABEL"

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.output_data_config.kms_key_id #=> String
resp.dominant_language_detection_job_properties.data_access_role_arn #=> String
resp.dominant_language_detection_job_properties.volume_kms_key_id #=> String
resp.dominant_language_detection_job_properties.vpc_config.security_group_ids #=> Array
resp.dominant_language_detection_job_properties.vpc_config.security_group_ids[0] #=> String
resp.dominant_language_detection_job_properties.vpc_config.subnets #=> Array
resp.dominant_language_detection_job_properties.vpc_config.subnets[0] #=> 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_endpoint(options = {}) ⇒ Types::DescribeEndpointResponse

Gets the properties associated with a specific endpoint. Use this operation to get the status of an endpoint.

Examples:

Request syntax with placeholder values


resp = client.describe_endpoint({
  endpoint_arn: "ComprehendEndpointArn", # required
})

Response structure


resp.endpoint_properties.endpoint_arn #=> String
resp.endpoint_properties.status #=> String, one of "CREATING", "DELETING", "FAILED", "IN_SERVICE", "UPDATING"
resp.endpoint_properties.message #=> String
resp.endpoint_properties.model_arn #=> String
resp.endpoint_properties.desired_inference_units #=> Integer
resp.endpoint_properties.current_inference_units #=> Integer
resp.endpoint_properties.creation_time #=> Time
resp.endpoint_properties.last_modified_time #=> Time

Options Hash (options):

  • :endpoint_arn (required, String)

    The Amazon Resource Number (ARN) of the endpoint being described.

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.output_data_config.kms_key_id #=> String
resp.entities_detection_job_properties.language_code #=> String, one of "en", "es", "fr", "de", "it", "pt", "ar", "hi", "ja", "ko", "zh", "zh-TW"
resp.entities_detection_job_properties.data_access_role_arn #=> String
resp.entities_detection_job_properties.volume_kms_key_id #=> String
resp.entities_detection_job_properties.vpc_config.security_group_ids #=> Array
resp.entities_detection_job_properties.vpc_config.security_group_ids[0] #=> String
resp.entities_detection_job_properties.vpc_config.subnets #=> Array
resp.entities_detection_job_properties.vpc_config.subnets[0] #=> 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", "ar", "hi", "ja", "ko", "zh", "zh-TW"
resp.entity_recognizer_properties.status #=> String, one of "SUBMITTED", "TRAINING", "DELETING", "STOP_REQUESTED", "STOPPED", "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.data_format #=> String, one of "COMPREHEND_CSV", "AUGMENTED_MANIFEST"
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.input_data_config.augmented_manifests #=> Array
resp.entity_recognizer_properties.input_data_config.augmented_manifests[0].s3_uri #=> String
resp.entity_recognizer_properties.input_data_config.augmented_manifests[0].attribute_names #=> Array
resp.entity_recognizer_properties.input_data_config.augmented_manifests[0].attribute_names[0] #=> 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..entity_types[0].evaluation_metrics.precision #=> Float
resp.entity_recognizer_properties..entity_types[0].evaluation_metrics.recall #=> Float
resp.entity_recognizer_properties..entity_types[0].evaluation_metrics.f1_score #=> Float
resp.entity_recognizer_properties..entity_types[0].number_of_train_mentions #=> Integer
resp.entity_recognizer_properties.data_access_role_arn #=> String
resp.entity_recognizer_properties.volume_kms_key_id #=> String
resp.entity_recognizer_properties.vpc_config.security_group_ids #=> Array
resp.entity_recognizer_properties.vpc_config.security_group_ids[0] #=> String
resp.entity_recognizer_properties.vpc_config.subnets #=> Array
resp.entity_recognizer_properties.vpc_config.subnets[0] #=> 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.output_data_config.kms_key_id #=> String
resp.key_phrases_detection_job_properties.language_code #=> String, one of "en", "es", "fr", "de", "it", "pt", "ar", "hi", "ja", "ko", "zh", "zh-TW"
resp.key_phrases_detection_job_properties.data_access_role_arn #=> String
resp.key_phrases_detection_job_properties.volume_kms_key_id #=> String
resp.key_phrases_detection_job_properties.vpc_config.security_group_ids #=> Array
resp.key_phrases_detection_job_properties.vpc_config.security_group_ids[0] #=> String
resp.key_phrases_detection_job_properties.vpc_config.subnets #=> Array
resp.key_phrases_detection_job_properties.vpc_config.subnets[0] #=> 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_pii_entities_detection_job(options = {}) ⇒ Types::DescribePiiEntitiesDetectionJobResponse

Gets the properties associated with a PII entities detection job. For example, you can use this operation to get the job status.

Examples:

Request syntax with placeholder values


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

Response structure


resp.pii_entities_detection_job_properties.job_id #=> String
resp.pii_entities_detection_job_properties.job_name #=> String
resp.pii_entities_detection_job_properties.job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"
resp.pii_entities_detection_job_properties.message #=> String
resp.pii_entities_detection_job_properties.submit_time #=> Time
resp.pii_entities_detection_job_properties.end_time #=> Time
resp.pii_entities_detection_job_properties.input_data_config.s3_uri #=> String
resp.pii_entities_detection_job_properties.input_data_config.input_format #=> String, one of "ONE_DOC_PER_FILE", "ONE_DOC_PER_LINE"
resp.pii_entities_detection_job_properties.output_data_config.s3_uri #=> String
resp.pii_entities_detection_job_properties.output_data_config.kms_key_id #=> String
resp.pii_entities_detection_job_properties.redaction_config.pii_entity_types #=> Array
resp.pii_entities_detection_job_properties.redaction_config.pii_entity_types[0] #=> String, one of "BANK_ACCOUNT_NUMBER", "BANK_ROUTING", "CREDIT_DEBIT_NUMBER", "CREDIT_DEBIT_CVV", "CREDIT_DEBIT_EXPIRY", "PIN", "EMAIL", "ADDRESS", "NAME", "PHONE", "SSN", "DATE_TIME", "PASSPORT_NUMBER", "DRIVER_ID", "URL", "AGE", "USERNAME", "PASSWORD", "AWS_ACCESS_KEY", "AWS_SECRET_KEY", "IP_ADDRESS", "MAC_ADDRESS", "ALL"
resp.pii_entities_detection_job_properties.redaction_config.mask_mode #=> String, one of "MASK", "REPLACE_WITH_PII_ENTITY_TYPE"
resp.pii_entities_detection_job_properties.redaction_config.mask_character #=> String
resp.pii_entities_detection_job_properties.language_code #=> String, one of "en", "es", "fr", "de", "it", "pt", "ar", "hi", "ja", "ko", "zh", "zh-TW"
resp.pii_entities_detection_job_properties.data_access_role_arn #=> String
resp.pii_entities_detection_job_properties.mode #=> String, one of "ONLY_REDACTION", "ONLY_OFFSETS"

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.output_data_config.kms_key_id #=> String
resp.sentiment_detection_job_properties.language_code #=> String, one of "en", "es", "fr", "de", "it", "pt", "ar", "hi", "ja", "ko", "zh", "zh-TW"
resp.sentiment_detection_job_properties.data_access_role_arn #=> String
resp.sentiment_detection_job_properties.volume_kms_key_id #=> String
resp.sentiment_detection_job_properties.vpc_config.security_group_ids #=> Array
resp.sentiment_detection_job_properties.vpc_config.security_group_ids[0] #=> String
resp.sentiment_detection_job_properties.vpc_config.subnets #=> Array
resp.sentiment_detection_job_properties.vpc_config.subnets[0] #=> 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.output_data_config.kms_key_id #=> String
resp.topics_detection_job_properties.number_of_topics #=> Integer
resp.topics_detection_job_properties.data_access_role_arn #=> String
resp.topics_detection_job_properties.volume_kms_key_id #=> String
resp.topics_detection_job_properties.vpc_config.security_group_ids #=> Array
resp.topics_detection_job_properties.vpc_config.security_group_ids[0] #=> String
resp.topics_detection_job_properties.vpc_config.subnets #=> Array
resp.topics_detection_job_properties.vpc_config.subnets[0] #=> String

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: "CustomerInputString", # 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: "CustomerInputString", # required
  language_code: "en", # accepts en, es, fr, de, it, pt, ar, hi, ja, ko, zh, zh-TW
  endpoint_arn: "EntityRecognizerEndpointArn",
})

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 (String)

    The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

    If your request includes the endpoint for a custom entity recognition model, Amazon Comprehend uses the language of your custom model, and it ignores any language code that you specify here.

  • :endpoint_arn (String)

    The Amazon Resource Name of an endpoint that is associated with a custom entity recognition model. Provide an endpoint if you want to detect entities by using your own custom model instead of the default model that is used by Amazon Comprehend.

    If you specify an endpoint, Amazon Comprehend uses the language of your custom model, and it ignores any language code that you provide in your request.

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: "CustomerInputString", # required
  language_code: "en", # required, accepts en, es, fr, de, it, pt, ar, hi, ja, ko, zh, zh-TW
})

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 any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

Returns:

See Also:

#detect_pii_entities(options = {}) ⇒ Types::DetectPiiEntitiesResponse

Inspects the input text for entities that contain personally identifiable information (PII) and returns information about them.

Examples:

Request syntax with placeholder values


resp = client.detect_pii_entities({
  text: "String", # required
  language_code: "en", # required, accepts en, es, fr, de, it, pt, ar, hi, ja, ko, zh, zh-TW
})

Response structure


resp.entities #=> Array
resp.entities[0].score #=> Float
resp.entities[0].type #=> String, one of "BANK_ACCOUNT_NUMBER", "BANK_ROUTING", "CREDIT_DEBIT_NUMBER", "CREDIT_DEBIT_CVV", "CREDIT_DEBIT_EXPIRY", "PIN", "EMAIL", "ADDRESS", "NAME", "PHONE", "SSN", "DATE_TIME", "PASSPORT_NUMBER", "DRIVER_ID", "URL", "AGE", "USERNAME", "PASSWORD", "AWS_ACCESS_KEY", "AWS_SECRET_KEY", "IP_ADDRESS", "MAC_ADDRESS", "ALL"
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.

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: "CustomerInputString", # required
  language_code: "en", # required, accepts en, es, fr, de, it, pt, ar, hi, ja, ko, zh, zh-TW
})

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 any of the primary languages supported by Amazon Comprehend. 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: "CustomerInputString", # 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 any of the following languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\").

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].output_data_config.kms_key_id #=> String
resp.document_classification_job_properties_list[0].data_access_role_arn #=> String
resp.document_classification_job_properties_list[0].volume_kms_key_id #=> String
resp.document_classification_job_properties_list[0].vpc_config.security_group_ids #=> Array
resp.document_classification_job_properties_list[0].vpc_config.security_group_ids[0] #=> String
resp.document_classification_job_properties_list[0].vpc_config.subnets #=> Array
resp.document_classification_job_properties_list[0].vpc_config.subnets[0] #=> 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, STOP_REQUESTED, STOPPED, 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", "ar", "hi", "ja", "ko", "zh", "zh-TW"
resp.document_classifier_properties_list[0].status #=> String, one of "SUBMITTED", "TRAINING", "DELETING", "STOP_REQUESTED", "STOPPED", "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.data_format #=> String, one of "COMPREHEND_CSV", "AUGMENTED_MANIFEST"
resp.document_classifier_properties_list[0].input_data_config.s3_uri #=> String
resp.document_classifier_properties_list[0].input_data_config.label_delimiter #=> String
resp.document_classifier_properties_list[0].input_data_config.augmented_manifests #=> Array
resp.document_classifier_properties_list[0].input_data_config.augmented_manifests[0].s3_uri #=> String
resp.document_classifier_properties_list[0].input_data_config.augmented_manifests[0].attribute_names #=> Array
resp.document_classifier_properties_list[0].input_data_config.augmented_manifests[0].attribute_names[0] #=> String
resp.document_classifier_properties_list[0].output_data_config.s3_uri #=> String
resp.document_classifier_properties_list[0].output_data_config.kms_key_id #=> 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]..evaluation_metrics.micro_precision #=> Float
resp.document_classifier_properties_list[0]..evaluation_metrics.micro_recall #=> Float
resp.document_classifier_properties_list[0]..evaluation_metrics.micro_f1_score #=> Float
resp.document_classifier_properties_list[0]..evaluation_metrics.hamming_loss #=> Float
resp.document_classifier_properties_list[0].data_access_role_arn #=> String
resp.document_classifier_properties_list[0].volume_kms_key_id #=> String
resp.document_classifier_properties_list[0].vpc_config.security_group_ids #=> Array
resp.document_classifier_properties_list[0].vpc_config.security_group_ids[0] #=> String
resp.document_classifier_properties_list[0].vpc_config.subnets #=> Array
resp.document_classifier_properties_list[0].vpc_config.subnets[0] #=> String
resp.document_classifier_properties_list[0].mode #=> String, one of "MULTI_CLASS", "MULTI_LABEL"
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].output_data_config.kms_key_id #=> String
resp.dominant_language_detection_job_properties_list[0].data_access_role_arn #=> String
resp.dominant_language_detection_job_properties_list[0].volume_kms_key_id #=> String
resp.dominant_language_detection_job_properties_list[0].vpc_config.security_group_ids #=> Array
resp.dominant_language_detection_job_properties_list[0].vpc_config.security_group_ids[0] #=> String
resp.dominant_language_detection_job_properties_list[0].vpc_config.subnets #=> Array
resp.dominant_language_detection_job_properties_list[0].vpc_config.subnets[0] #=> 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_endpoints(options = {}) ⇒ Types::ListEndpointsResponse

Gets a list of all existing endpoints that you've created.

Examples:

Request syntax with placeholder values


resp = client.list_endpoints({
  filter: {
    model_arn: "ComprehendModelArn",
    status: "CREATING", # accepts CREATING, DELETING, FAILED, IN_SERVICE, UPDATING
    creation_time_before: Time.now,
    creation_time_after: Time.now,
  },
  next_token: "String",
  max_results: 1,
})

Response structure


resp.endpoint_properties_list #=> Array
resp.endpoint_properties_list[0].endpoint_arn #=> String
resp.endpoint_properties_list[0].status #=> String, one of "CREATING", "DELETING", "FAILED", "IN_SERVICE", "UPDATING"
resp.endpoint_properties_list[0].message #=> String
resp.endpoint_properties_list[0].model_arn #=> String
resp.endpoint_properties_list[0].desired_inference_units #=> Integer
resp.endpoint_properties_list[0].current_inference_units #=> Integer
resp.endpoint_properties_list[0].creation_time #=> Time
resp.endpoint_properties_list[0].last_modified_time #=> Time
resp.next_token #=> String

Options Hash (options):

  • :filter (Types::EndpointFilter)

    Filters the endpoints that are returned. You can filter endpoints on their name, model, status, or the date and time that they were created. 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].output_data_config.kms_key_id #=> String
resp.entities_detection_job_properties_list[0].language_code #=> String, one of "en", "es", "fr", "de", "it", "pt", "ar", "hi", "ja", "ko", "zh", "zh-TW"
resp.entities_detection_job_properties_list[0].data_access_role_arn #=> String
resp.entities_detection_job_properties_list[0].volume_kms_key_id #=> String
resp.entities_detection_job_properties_list[0].vpc_config.security_group_ids #=> Array
resp.entities_detection_job_properties_list[0].vpc_config.security_group_ids[0] #=> String
resp.entities_detection_job_properties_list[0].vpc_config.subnets #=> Array
resp.entities_detection_job_properties_list[0].vpc_config.subnets[0] #=> 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, STOP_REQUESTED, STOPPED, 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", "ar", "hi", "ja", "ko", "zh", "zh-TW"
resp.entity_recognizer_properties_list[0].status #=> String, one of "SUBMITTED", "TRAINING", "DELETING", "STOP_REQUESTED", "STOPPED", "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.data_format #=> String, one of "COMPREHEND_CSV", "AUGMENTED_MANIFEST"
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].input_data_config.augmented_manifests #=> Array
resp.entity_recognizer_properties_list[0].input_data_config.augmented_manifests[0].s3_uri #=> String
resp.entity_recognizer_properties_list[0].input_data_config.augmented_manifests[0].attribute_names #=> Array
resp.entity_recognizer_properties_list[0].input_data_config.augmented_manifests[0].attribute_names[0] #=> 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]..entity_types[0].evaluation_metrics.precision #=> Float
resp.entity_recognizer_properties_list[0]..entity_types[0].evaluation_metrics.recall #=> Float
resp.entity_recognizer_properties_list[0]..entity_types[0].evaluation_metrics.f1_score #=> Float
resp.entity_recognizer_properties_list[0]..entity_types[0].number_of_train_mentions #=> Integer
resp.entity_recognizer_properties_list[0].data_access_role_arn #=> String
resp.entity_recognizer_properties_list[0].volume_kms_key_id #=> String
resp.entity_recognizer_properties_list[0].vpc_config.security_group_ids #=> Array
resp.entity_recognizer_properties_list[0].vpc_config.security_group_ids[0] #=> String
resp.entity_recognizer_properties_list[0].vpc_config.subnets #=> Array
resp.entity_recognizer_properties_list[0].vpc_config.subnets[0] #=> 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].output_data_config.kms_key_id #=> String
resp.key_phrases_detection_job_properties_list[0].language_code #=> String, one of "en", "es", "fr", "de", "it", "pt", "ar", "hi", "ja", "ko", "zh", "zh-TW"
resp.key_phrases_detection_job_properties_list[0].data_access_role_arn #=> String
resp.key_phrases_detection_job_properties_list[0].volume_kms_key_id #=> String
resp.key_phrases_detection_job_properties_list[0].vpc_config.security_group_ids #=> Array
resp.key_phrases_detection_job_properties_list[0].vpc_config.security_group_ids[0] #=> String
resp.key_phrases_detection_job_properties_list[0].vpc_config.subnets #=> Array
resp.key_phrases_detection_job_properties_list[0].vpc_config.subnets[0] #=> 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_pii_entities_detection_jobs(options = {}) ⇒ Types::ListPiiEntitiesDetectionJobsResponse

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

Examples:

Request syntax with placeholder values


resp = client.list_pii_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.pii_entities_detection_job_properties_list #=> Array
resp.pii_entities_detection_job_properties_list[0].job_id #=> String
resp.pii_entities_detection_job_properties_list[0].job_name #=> String
resp.pii_entities_detection_job_properties_list[0].job_status #=> String, one of "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOP_REQUESTED", "STOPPED"
resp.pii_entities_detection_job_properties_list[0].message #=> String
resp.pii_entities_detection_job_properties_list[0].submit_time #=> Time
resp.pii_entities_detection_job_properties_list[0].end_time #=> Time
resp.pii_entities_detection_job_properties_list[0].input_data_config.s3_uri #=> String
resp.pii_entities_detection_job_properties_list[0].input_data_config.input_format #=> String, one of "ONE_DOC_PER_FILE", "ONE_DOC_PER_LINE"
resp.pii_entities_detection_job_properties_list[0].output_data_config.s3_uri #=> String
resp.pii_entities_detection_job_properties_list[0].output_data_config.kms_key_id #=> String
resp.pii_entities_detection_job_properties_list[0].redaction_config.pii_entity_types #=> Array
resp.pii_entities_detection_job_properties_list[0].redaction_config.pii_entity_types[0] #=> String, one of "BANK_ACCOUNT_NUMBER", "BANK_ROUTING", "CREDIT_DEBIT_NUMBER", "CREDIT_DEBIT_CVV", "CREDIT_DEBIT_EXPIRY", "PIN", "EMAIL", "ADDRESS", "NAME", "PHONE", "SSN", "DATE_TIME", "PASSPORT_NUMBER", "DRIVER_ID", "URL", "AGE", "USERNAME", "PASSWORD", "AWS_ACCESS_KEY", "AWS_SECRET_KEY", "IP_ADDRESS", "MAC_ADDRESS", "ALL"
resp.pii_entities_detection_job_properties_list[0].redaction_config.mask_mode #=> String, one of "MASK", "REPLACE_WITH_PII_ENTITY_TYPE"
resp.pii_entities_detection_job_properties_list[0].redaction_config.mask_character #=> String
resp.pii_entities_detection_job_properties_list[0].language_code #=> String, one of "en", "es", "fr", "de", "it", "pt", "ar", "hi", "ja", "ko", "zh", "zh-TW"
resp.pii_entities_detection_job_properties_list[0].data_access_role_arn #=> String
resp.pii_entities_detection_job_properties_list[0].mode #=> String, one of "ONLY_REDACTION", "ONLY_OFFSETS"
resp.next_token #=> String

Options Hash (options):

  • :filter (Types::PiiEntitiesDetectionJobFilter)

    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.

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].output_data_config.kms_key_id #=> String
resp.sentiment_detection_job_properties_list[0].language_code #=> String, one of "en", "es", "fr", "de", "it", "pt", "ar", "hi", "ja", "ko", "zh", "zh-TW"
resp.sentiment_detection_job_properties_list[0].data_access_role_arn #=> String
resp.sentiment_detection_job_properties_list[0].volume_kms_key_id #=> String
resp.sentiment_detection_job_properties_list[0].vpc_config.security_group_ids #=> Array
resp.sentiment_detection_job_properties_list[0].vpc_config.security_group_ids[0] #=> String
resp.sentiment_detection_job_properties_list[0].vpc_config.subnets #=> Array
resp.sentiment_detection_job_properties_list[0].vpc_config.subnets[0] #=> 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_tags_for_resource(options = {}) ⇒ Types::ListTagsForResourceResponse

Lists all tags associated with a given Amazon Comprehend resource.

Examples:

Request syntax with placeholder values


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

Response structure


resp.resource_arn #=> String
resp.tags #=> Array
resp.tags[0].key #=> String
resp.tags[0].value #=> String

Options Hash (options):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are querying.

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].output_data_config.kms_key_id #=> String
resp.topics_detection_job_properties_list[0].number_of_topics #=> Integer
resp.topics_detection_job_properties_list[0].data_access_role_arn #=> String
resp.topics_detection_job_properties_list[0].volume_kms_key_id #=> String
resp.topics_detection_job_properties_list[0].vpc_config.security_group_ids #=> Array
resp.topics_detection_job_properties_list[0].vpc_config.security_group_ids[0] #=> String
resp.topics_detection_job_properties_list[0].vpc_config.subnets #=> Array
resp.topics_detection_job_properties_list[0].vpc_config.subnets[0] #=> String
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
    kms_key_id: "KmsKeyId",
  },
  data_access_role_arn: "IamRoleArn", # required
  client_request_token: "ClientRequestTokenString",
  volume_kms_key_id: "KmsKeyId",
  vpc_config: {
    security_group_ids: ["SecurityGroupId"], # required
    subnets: ["SubnetId"], # 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_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.

  • :volume_kms_key_id (String)

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

    • KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"

    • Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"

  • :vpc_config (Types::VpcConfig)

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your document classification job. For more information, see Amazon VPC.

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
    kms_key_id: "KmsKeyId",
  },
  data_access_role_arn: "IamRoleArn", # required
  job_name: "JobName",
  client_request_token: "ClientRequestTokenString",
  volume_kms_key_id: "KmsKeyId",
  vpc_config: {
    security_group_ids: ["SecurityGroupId"], # required
    subnets: ["SubnetId"], # required
  },
})

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.

  • :volume_kms_key_id (String)

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

    • KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"

    • Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"

  • :vpc_config (Types::VpcConfig)

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your dominant language detection job. For more information, see Amazon VPC.

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
    kms_key_id: "KmsKeyId",
  },
  data_access_role_arn: "IamRoleArn", # required
  job_name: "JobName",
  entity_recognizer_arn: "EntityRecognizerArn",
  language_code: "en", # required, accepts en, es, fr, de, it, pt, ar, hi, ja, ko, zh, zh-TW
  client_request_token: "ClientRequestTokenString",
  volume_kms_key_id: "KmsKeyId",
  vpc_config: {
    security_group_ids: ["SecurityGroupId"], # required
    subnets: ["SubnetId"], # required
  },
})

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. 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.

  • :volume_kms_key_id (String)

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

    • KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"

    • Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"

  • :vpc_config (Types::VpcConfig)

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your entity detection job. For more information, see Amazon VPC.

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
    kms_key_id: "KmsKeyId",
  },
  data_access_role_arn: "IamRoleArn", # required
  job_name: "JobName",
  language_code: "en", # required, accepts en, es, fr, de, it, pt, ar, hi, ja, ko, zh, zh-TW
  client_request_token: "ClientRequestTokenString",
  volume_kms_key_id: "KmsKeyId",
  vpc_config: {
    security_group_ids: ["SecurityGroupId"], # required
    subnets: ["SubnetId"], # required
  },
})

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 any of the primary languages supported by Amazon Comprehend. 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.

  • :volume_kms_key_id (String)

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

    • KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"

    • Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"

  • :vpc_config (Types::VpcConfig)

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your key phrases detection job. For more information, see Amazon VPC.

Returns:

See Also:

#start_pii_entities_detection_job(options = {}) ⇒ Types::StartPiiEntitiesDetectionJobResponse

Starts an asynchronous PII entity detection job for a collection of documents.

Examples:

Request syntax with placeholder values


resp = client.start_pii_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
    kms_key_id: "KmsKeyId",
  },
  mode: "ONLY_REDACTION", # required, accepts ONLY_REDACTION, ONLY_OFFSETS
  redaction_config: {
    pii_entity_types: ["BANK_ACCOUNT_NUMBER"], # accepts BANK_ACCOUNT_NUMBER, BANK_ROUTING, CREDIT_DEBIT_NUMBER, CREDIT_DEBIT_CVV, CREDIT_DEBIT_EXPIRY, PIN, EMAIL, ADDRESS, NAME, PHONE, SSN, DATE_TIME, PASSPORT_NUMBER, DRIVER_ID, URL, AGE, USERNAME, PASSWORD, AWS_ACCESS_KEY, AWS_SECRET_KEY, IP_ADDRESS, MAC_ADDRESS, ALL
    mask_mode: "MASK", # accepts MASK, REPLACE_WITH_PII_ENTITY_TYPE
    mask_character: "MaskCharacter",
  },
  data_access_role_arn: "IamRoleArn", # required
  job_name: "JobName",
  language_code: "en", # required, accepts en, es, fr, de, it, pt, ar, hi, ja, ko, zh, zh-TW
  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)

    The input properties for a PII entities detection job.

  • :output_data_config (required, Types::OutputDataConfig)

    Provides configuration parameters for the output of PII entity detection jobs.

  • :mode (required, String)

    Specifies whether the output provides the locations (offsets) of PII entities or a file in which PII entities are redacted.

  • :redaction_config (Types::RedactionConfig)

    Provides configuration parameters for PII entity redaction.

    This parameter is required if you set the Mode parameter to ONLY_REDACTION. In that case, you must provide a RedactionConfig definition that includes the PiiEntityTypes parameter.

  • :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.

  • :job_name (String)

    The identifier of the job.

  • :language_code (required, String)

    The language of the input documents.

  • :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
    kms_key_id: "KmsKeyId",
  },
  data_access_role_arn: "IamRoleArn", # required
  job_name: "JobName",
  language_code: "en", # required, accepts en, es, fr, de, it, pt, ar, hi, ja, ko, zh, zh-TW
  client_request_token: "ClientRequestTokenString",
  volume_kms_key_id: "KmsKeyId",
  vpc_config: {
    security_group_ids: ["SecurityGroupId"], # required
    subnets: ["SubnetId"], # required
  },
})

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 any of the primary languages supported by Amazon Comprehend. 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.

  • :volume_kms_key_id (String)

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

    • KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"

    • Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"

  • :vpc_config (Types::VpcConfig)

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your sentiment detection job. For more information, see Amazon VPC.

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
    kms_key_id: "KmsKeyId",
  },
  data_access_role_arn: "IamRoleArn", # required
  job_name: "JobName",
  number_of_topics: 1,
  client_request_token: "ClientRequestTokenString",
  volume_kms_key_id: "KmsKeyId",
  vpc_config: {
    security_group_ids: ["SecurityGroupId"], # required
    subnets: ["SubnetId"], # required
  },
})

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.

  • :volume_kms_key_id (String)

    ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

    • KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"

    • Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"

  • :vpc_config (Types::VpcConfig)

    Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your topic detection job. For more information, see Amazon VPC.

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_pii_entities_detection_job(options = {}) ⇒ Types::StopPiiEntitiesDetectionJobResponse

Stops a PII entities detection job in progress.

Examples:

Request syntax with placeholder values


resp = client.stop_pii_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 PII entities 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:

#stop_training_document_classifier(options = {}) ⇒ Struct

Stops a document classifier training job while in progress.

If the training job state is TRAINING, the job is marked for termination and put into the STOP_REQUESTED state. If the training job completes before it can be stopped, it is put into the TRAINED; otherwise the training job is stopped and put into the STOPPED state and the service sends back an HTTP 200 response with an empty HTTP body.

Examples:

Request syntax with placeholder values


resp = client.stop_training_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 currently being trained.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#stop_training_entity_recognizer(options = {}) ⇒ Struct

Stops an entity recognizer training job while in progress.

If the training job state is TRAINING, the job is marked for termination and put into the STOP_REQUESTED state. If the training job completes before it can be stopped, it is put into the TRAINED; otherwise the training job is stopped and putted into the STOPPED state and the service sends back an HTTP 200 response with an empty HTTP body.

Examples:

Request syntax with placeholder values


resp = client.stop_training_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 currently being trained.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#tag_resource(options = {}) ⇒ Struct

Associates a specific tag with an Amazon Comprehend resource. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with "Sales" as the key might be added to a resource to indicate its use by the sales department.

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  resource_arn: "ComprehendArn", # required
  tags: [ # required
    {
      key: "TagKey", # required
      value: "TagValue",
    },
  ],
})

Options Hash (options):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the given Amazon Comprehend resource to which you want to associate the tags.

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

    Tags being associated with a specific Amazon Comprehend resource. There can be a maximum of 50 tags (both existing and pending) associated with a specific resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#untag_resource(options = {}) ⇒ Struct

Removes a specific tag associated with an Amazon Comprehend resource.

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the given Amazon Comprehend resource from which you want to remove the tags.

  • :tag_keys (required, Array<String>)

    The initial part of a key-value pair that forms a tag being removed from a given resource. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department. Keys must be unique and cannot be duplicated for a particular resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#update_endpoint(options = {}) ⇒ Struct

Updates information about the specified endpoint.

Examples:

Request syntax with placeholder values


resp = client.update_endpoint({
  endpoint_arn: "ComprehendEndpointArn", # required
  desired_inference_units: 1, # required
})

Options Hash (options):

  • :endpoint_arn (required, String)

    The Amazon Resource Number (ARN) of the endpoint being updated.

  • :desired_inference_units (required, Integer)

    The desired number of inference units to be used by the model using this endpoint. Each inference unit represents of a throughput of 100 characters per second.

Returns:

  • (Struct)

    Returns an empty response.

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.