Class: Aws::Kendra::Client

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

Overview

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

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

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

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

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

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

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :credentials (required, Aws::CredentialProvider)

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

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

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

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

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

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

    • Aws.config[:credentials]
    • The :access_key_id, :secret_access_key, and :session_token options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • ~/.aws/credentials
    • ~/.aws/config
    • EC2 IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentails to enable retries and extended timeouts.
  • :region (required, String)

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

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

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

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

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

  • :client_side_monitoring (Boolean) — default: false

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

  • :client_side_monitoring_client_id (String) — default: ""

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

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

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

  • :client_side_monitoring_port (Integer) — default: 31000

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

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

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

  • :convert_params (Boolean) — default: true

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

  • :correct_clock_skew (Boolean) — default: true

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

  • :disable_host_prefix_injection (Boolean) — default: false

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

  • :endpoint (String)

    The client endpoint is normally constructed from the :region option. You should only configure an :endpoint when connecting to test endpoints. This should be a valid HTTP(S) URI.

  • :endpoint_cache_max_entries (Integer) — default: 1000

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

  • :endpoint_cache_max_threads (Integer) — default: 10

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

  • :endpoint_cache_poll_interval (Integer) — default: 60

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

  • :endpoint_discovery (Boolean) — default: false

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

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

    The log formatter.

  • :log_level (Symbol) — default: :info

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

  • :logger (Logger)

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

  • :max_attempts (Integer) — default: 3

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

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

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

  • :retry_backoff (Proc)

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

  • :retry_base_delay (Float) — default: 0.3

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

  • :retry_jitter (Symbol) — default: :none

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

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

  • :retry_limit (Integer) — default: 3

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

  • :retry_max_delay (Integer) — default: 0

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

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

    Specifies which retry algorithm to use. Values are:

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

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

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

  • :secret_access_key (String)
  • :session_token (String)
  • :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.

  • :stub_responses (Boolean) — default: false

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

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

  • :validate_params (Boolean) — default: true

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

  • :http_proxy (URI::HTTP, String)

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

  • :http_open_timeout (Float) — default: 15

    The number of seconds to wait when opening a HTTP session before raising a Timeout::Error.

  • :http_read_timeout (Integer) — default: 60

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

  • :http_idle_timeout (Float) — default: 5

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

  • :http_continue_timeout (Float) — default: 1

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

  • :http_wire_trace (Boolean) — default: false

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

  • :ssl_verify_peer (Boolean) — default: true

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

  • :ssl_ca_bundle (String)

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

  • :ssl_ca_directory (String)

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



315
316
317
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 315

def initialize(*args)
  super
end

Instance Method Details

#batch_delete_document(params = {}) ⇒ Types::BatchDeleteDocumentResponse

Removes one or more documents from an index. The documents must have been added with the BatchPutDocument operation.

The documents are deleted asynchronously. You can see the progress of the deletion by using AWS CloudWatch. Any error messages releated to the processing of the batch are sent to you CloudWatch log.

Examples:

Request syntax with placeholder values


resp = client.batch_delete_document({
  index_id: "IndexId", # required
  document_id_list: ["DocumentId"], # required
  data_source_sync_job_metric_target: {
    data_source_id: "DataSourceId", # required
    data_source_sync_job_id: "DataSourceSyncJobId", # required
  },
})

Response structure


resp.failed_documents #=> Array
resp.failed_documents[0].id #=> String
resp.failed_documents[0].error_code #=> String, one of "InternalError", "InvalidRequest"
resp.failed_documents[0].error_message #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index that contains the documents to delete.

  • :document_id_list (required, Array<String>)

    One or more identifiers for documents to delete from the index.

  • :data_source_sync_job_metric_target (Types::DataSourceSyncJobMetricTarget)

    Maps a particular data source sync job to a particular data source.

Returns:

See Also:



363
364
365
366
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 363

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

#batch_put_document(params = {}) ⇒ Types::BatchPutDocumentResponse

Adds one or more documents to an index.

The BatchPutDocument operation enables you to ingest inline documents or a set of documents stored in an Amazon S3 bucket. Use this operation to ingest your text and unstructured text into an index, add custom attributes to the documents, and to attach an access control list to the documents added to the index.

The documents are indexed asynchronously. You can see the progress of the batch using AWS CloudWatch. Any error messages related to processing the batch are sent to your AWS CloudWatch log.

Examples:

Request syntax with placeholder values


resp = client.batch_put_document({
  index_id: "IndexId", # required
  role_arn: "RoleArn",
  documents: [ # required
    {
      id: "DocumentId", # required
      title: "Title",
      blob: "data",
      s3_path: {
        bucket: "S3BucketName", # required
        key: "S3ObjectKey", # required
      },
      attributes: [
        {
          key: "DocumentAttributeKey", # required
          value: { # required
            string_value: "DocumentAttributeStringValue",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
      ],
      access_control_list: [
        {
          name: "PrincipalName", # required
          type: "USER", # required, accepts USER, GROUP
          access: "ALLOW", # required, accepts ALLOW, DENY
        },
      ],
      content_type: "PDF", # accepts PDF, HTML, MS_WORD, PLAIN_TEXT, PPT
    },
  ],
})

Response structure


resp.failed_documents #=> Array
resp.failed_documents[0].id #=> String
resp.failed_documents[0].error_code #=> String, one of "InternalError", "InvalidRequest"
resp.failed_documents[0].error_message #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index to add the documents to. You need to create the index first using the CreateIndex operation.

  • :role_arn (String)

    The Amazon Resource Name (ARN) of a role that is allowed to run the BatchPutDocument operation. For more information, see IAM Roles for Amazon Kendra.

  • :documents (required, Array<Types::Document>)

    One or more documents to add to the index.

    Documents have the following file size limits.

    • 5 MB total size for inline documents

    • 50 MB total size for files from an S3 bucket

    • 5 MB extracted text for any file

    For more information about file size and transaction per second quotas, see Quotas.

Returns:

See Also:



463
464
465
466
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 463

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

#create_data_source(params = {}) ⇒ Types::CreateDataSourceResponse

Creates a data source that you use to with an Amazon Kendra index.

You specify a name, connector type and description for your data source. You can choose between an S3 connector, a SharePoint Online connector, and a database connector.

You also specify configuration information such as document metadata (author, source URI, and so on) and user context information.

CreateDataSource is a synchronous operation. The operation returns 200 if the data source was successfully created. Otherwise, an exception is raised.

Examples:

Request syntax with placeholder values


resp = client.create_data_source({
  name: "DataSourceName", # required
  index_id: "IndexId", # required
  type: "S3", # required, accepts S3, SHAREPOINT, DATABASE, SALESFORCE, ONEDRIVE, SERVICENOW
  configuration: { # required
    s3_configuration: {
      bucket_name: "S3BucketName", # required
      inclusion_prefixes: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      documents_metadata_configuration: {
        s3_prefix: "S3ObjectKey",
      },
      access_control_list_configuration: {
        key_path: "S3ObjectKey",
      },
    },
    share_point_configuration: {
      share_point_version: "SHAREPOINT_ONLINE", # required, accepts SHAREPOINT_ONLINE
      urls: ["Url"], # required
      secret_arn: "SecretArn", # required
      crawl_attachments: false,
      use_change_log: false,
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
      field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      document_title_field_name: "DataSourceFieldName",
    },
    database_configuration: {
      database_engine_type: "RDS_AURORA_MYSQL", # required, accepts RDS_AURORA_MYSQL, RDS_AURORA_POSTGRESQL, RDS_MYSQL, RDS_POSTGRESQL
      connection_configuration: { # required
        database_host: "DatabaseHost", # required
        database_port: 1, # required
        database_name: "DatabaseName", # required
        table_name: "TableName", # required
        secret_arn: "SecretArn", # required
      },
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
      column_configuration: { # required
        document_id_column_name: "ColumnName", # required
        document_data_column_name: "ColumnName", # required
        document_title_column_name: "ColumnName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
        change_detecting_columns: ["ColumnName"], # required
      },
      acl_configuration: {
        allowed_groups_column_name: "ColumnName", # required
      },
    },
    salesforce_configuration: {
      server_url: "Url", # required
      secret_arn: "SecretArn", # required
      standard_object_configurations: [
        {
          name: "ACCOUNT", # required, accepts ACCOUNT, CAMPAIGN, CASE, CONTACT, CONTRACT, DOCUMENT, GROUP, IDEA, LEAD, OPPORTUNITY, PARTNER, PRICEBOOK, PRODUCT, PROFILE, SOLUTION, TASK, USER
          document_data_field_name: "DataSourceFieldName", # required
          document_title_field_name: "DataSourceFieldName",
          field_mappings: [
            {
              data_source_field_name: "DataSourceFieldName", # required
              date_field_format: "DataSourceDateFieldFormat",
              index_field_name: "IndexFieldName", # required
            },
          ],
        },
      ],
      knowledge_article_configuration: {
        included_states: ["DRAFT"], # required, accepts DRAFT, PUBLISHED, ARCHIVED
        standard_knowledge_article_type_configuration: {
          document_data_field_name: "DataSourceFieldName", # required
          document_title_field_name: "DataSourceFieldName",
          field_mappings: [
            {
              data_source_field_name: "DataSourceFieldName", # required
              date_field_format: "DataSourceDateFieldFormat",
              index_field_name: "IndexFieldName", # required
            },
          ],
        },
        custom_knowledge_article_type_configurations: [
          {
            name: "SalesforceCustomKnowledgeArticleTypeName", # required
            document_data_field_name: "DataSourceFieldName", # required
            document_title_field_name: "DataSourceFieldName",
            field_mappings: [
              {
                data_source_field_name: "DataSourceFieldName", # required
                date_field_format: "DataSourceDateFieldFormat",
                index_field_name: "IndexFieldName", # required
              },
            ],
          },
        ],
      },
      chatter_feed_configuration: {
        document_data_field_name: "DataSourceFieldName", # required
        document_title_field_name: "DataSourceFieldName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
        include_filter_types: ["ACTIVE_USER"], # accepts ACTIVE_USER, STANDARD_USER
      },
      crawl_attachments: false,
      standard_object_attachment_configuration: {
        document_title_field_name: "DataSourceFieldName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
      },
      include_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclude_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
    },
    one_drive_configuration: {
      tenant_domain: "TenantDomain", # required
      secret_arn: "SecretArn", # required
      one_drive_users: { # required
        one_drive_user_list: ["OneDriveUser"],
        one_drive_user_s3_path: {
          bucket: "S3BucketName", # required
          key: "S3ObjectKey", # required
        },
      },
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
    },
    service_now_configuration: {
      host_url: "ServiceNowHostUrl", # required
      secret_arn: "SecretArn", # required
      service_now_build_version: "LONDON", # required, accepts LONDON, OTHERS
      knowledge_article_configuration: {
        crawl_attachments: false,
        include_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        exclude_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        document_data_field_name: "DataSourceFieldName", # required
        document_title_field_name: "DataSourceFieldName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
      },
      service_catalog_configuration: {
        crawl_attachments: false,
        include_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        exclude_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        document_data_field_name: "DataSourceFieldName", # required
        document_title_field_name: "DataSourceFieldName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
      },
    },
  },
  description: "Description",
  schedule: "ScanSchedule",
  role_arn: "RoleArn", # required
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Response structure


resp.id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    A unique name for the data source. A data source name can't be changed without deleting and recreating the data source.

  • :index_id (required, String)

    The identifier of the index that should be associated with this data source.

  • :type (required, String)

    The type of repository that contains the data source.

  • :configuration (required, Types::DataSourceConfiguration)

    The connector configuration information that is required to access the repository.

  • :description (String)

    A description for the data source.

  • :schedule (String)

    Sets the frequency that Amazon Kendra will check the documents in your repository and update the index. If you don't set a schedule Amazon Kendra will not periodically update the index. You can call the StartDataSourceSyncJob operation to update the index.

  • :role_arn (required, String)

    The Amazon Resource Name (ARN) of a role with permission to access the data source. For more information, see IAM Roles for Amazon Kendra.

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

    A list of key-value pairs that identify the data source. You can use the tags to identify and organize your resources and to control access to resources.

Returns:

See Also:



736
737
738
739
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 736

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

#create_faq(params = {}) ⇒ Types::CreateFaqResponse

Creates an new set of frequently asked question (FAQ) questions and answers.

Examples:

Request syntax with placeholder values


resp = client.create_faq({
  index_id: "IndexId", # required
  name: "FaqName", # required
  description: "Description",
  s3_path: { # required
    bucket: "S3BucketName", # required
    key: "S3ObjectKey", # required
  },
  role_arn: "RoleArn", # required
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Response structure


resp.id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index that contains the FAQ.

  • :name (required, String)

    The name that should be associated with the FAQ.

  • :description (String)

    A description of the FAQ.

  • :s3_path (required, Types::S3Path)

    The S3 location of the FAQ input data.

  • :role_arn (required, String)

    The Amazon Resource Name (ARN) of a role with permission to access the S3 bucket that contains the FAQs. For more information, see IAM Roles for Amazon Kendra.

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

    A list of key-value pairs that identify the FAQ. You can use the tags to identify and organize your resources and to control access to resources.

Returns:

See Also:



801
802
803
804
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 801

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

#create_index(params = {}) ⇒ Types::CreateIndexResponse

Creates a new Amazon Kendra index. Index creation is an asynchronous operation. To determine if index creation has completed, check the Status field returned from a call to . The Status field is set to ACTIVE when the index is ready to use.

Once the index is active you can index your documents using the operation or using one of the supported data sources.

Examples:

Request syntax with placeholder values


resp = client.create_index({
  name: "IndexName", # required
  edition: "DEVELOPER_EDITION", # accepts DEVELOPER_EDITION, ENTERPRISE_EDITION
  role_arn: "RoleArn", # required
  server_side_encryption_configuration: {
    kms_key_id: "KmsKeyId",
  },
  description: "Description",
  client_token: "ClientTokenName",
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Response structure


resp.id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name for the new index.

  • :edition (String)

    The Amazon Kendra edition to use for the index. Choose DEVELOPER_EDITION for indexes intended for development, testing, or proof of concept. Use ENTERPRISE_EDITION for your production databases. Once you set the edition for an index, it can't be changed.

  • :role_arn (required, String)

    An IAM role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and metrics. This is also the role used when you use the BatchPutDocument operation to index documents from an Amazon S3 bucket.

  • :server_side_encryption_configuration (Types::ServerSideEncryptionConfiguration)

    The identifier of the AWS KMS customer managed key (CMK) to use to encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't support asymmetric CMKs.

  • :description (String)

    A description for the index.

  • :client_token (String)

    A token that you provide to identify the request to create an index. Multiple calls to the CreateIndex operation with the same client token will create only one index.”

    A suitable default value is auto-generated. You should normally not need to pass this option.**

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

    A list of key-value pairs that identify the index. You can use the tags to identify and organize your resources and to control access to resources.

Returns:

See Also:



882
883
884
885
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 882

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

#delete_data_source(params = {}) ⇒ Struct

Deletes an Amazon Kendra data source. An exception is not thrown if the data source is already being deleted. While the data source is being deleted, the Status field returned by a call to the operation is set to DELETING. For more information, see Deleting Data Sources.

Examples:

Request syntax with placeholder values


resp = client.delete_data_source({
  id: "DataSourceId", # required
  index_id: "IndexId", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :id (required, String)

    The unique identifier of the data source to delete.

  • :index_id (required, String)

    The unique identifier of the index associated with the data source.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



916
917
918
919
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 916

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

#delete_faq(params = {}) ⇒ Struct

Removes an FAQ from an index.

Examples:

Request syntax with placeholder values


resp = client.delete_faq({
  id: "FaqId", # required
  index_id: "IndexId", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the FAQ to remove.

  • :index_id (required, String)

    The index to remove the FAQ from.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



942
943
944
945
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 942

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

#delete_index(params = {}) ⇒ Struct

Deletes an existing Amazon Kendra index. An exception is not thrown if the index is already being deleted. While the index is being deleted, the Status field returned by a call to the DescribeIndex operation is set to DELETING.

Examples:

Request syntax with placeholder values


resp = client.delete_index({
  id: "IndexId", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the index to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



967
968
969
970
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 967

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

#describe_data_source(params = {}) ⇒ Types::DescribeDataSourceResponse

Gets information about a Amazon Kendra data source.

Examples:

Request syntax with placeholder values


resp = client.describe_data_source({
  id: "DataSourceId", # required
  index_id: "IndexId", # required
})

Response structure


resp.id #=> String
resp.index_id #=> String
resp.name #=> String
resp.type #=> String, one of "S3", "SHAREPOINT", "DATABASE", "SALESFORCE", "ONEDRIVE", "SERVICENOW"
resp.configuration.s3_configuration.bucket_name #=> String
resp.configuration.s3_configuration.inclusion_prefixes #=> Array
resp.configuration.s3_configuration.inclusion_prefixes[0] #=> String
resp.configuration.s3_configuration.exclusion_patterns #=> Array
resp.configuration.s3_configuration.exclusion_patterns[0] #=> String
resp.configuration.s3_configuration..s3_prefix #=> String
resp.configuration.s3_configuration.access_control_list_configuration.key_path #=> String
resp.configuration.share_point_configuration.share_point_version #=> String, one of "SHAREPOINT_ONLINE"
resp.configuration.share_point_configuration.urls #=> Array
resp.configuration.share_point_configuration.urls[0] #=> String
resp.configuration.share_point_configuration.secret_arn #=> String
resp.configuration.share_point_configuration.crawl_attachments #=> Boolean
resp.configuration.share_point_configuration.use_change_log #=> Boolean
resp.configuration.share_point_configuration.inclusion_patterns #=> Array
resp.configuration.share_point_configuration.inclusion_patterns[0] #=> String
resp.configuration.share_point_configuration.exclusion_patterns #=> Array
resp.configuration.share_point_configuration.exclusion_patterns[0] #=> String
resp.configuration.share_point_configuration.vpc_configuration.subnet_ids #=> Array
resp.configuration.share_point_configuration.vpc_configuration.subnet_ids[0] #=> String
resp.configuration.share_point_configuration.vpc_configuration.security_group_ids #=> Array
resp.configuration.share_point_configuration.vpc_configuration.security_group_ids[0] #=> String
resp.configuration.share_point_configuration.field_mappings #=> Array
resp.configuration.share_point_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.share_point_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.share_point_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.share_point_configuration.document_title_field_name #=> String
resp.configuration.database_configuration.database_engine_type #=> String, one of "RDS_AURORA_MYSQL", "RDS_AURORA_POSTGRESQL", "RDS_MYSQL", "RDS_POSTGRESQL"
resp.configuration.database_configuration.connection_configuration.database_host #=> String
resp.configuration.database_configuration.connection_configuration.database_port #=> Integer
resp.configuration.database_configuration.connection_configuration.database_name #=> String
resp.configuration.database_configuration.connection_configuration.table_name #=> String
resp.configuration.database_configuration.connection_configuration.secret_arn #=> String
resp.configuration.database_configuration.vpc_configuration.subnet_ids #=> Array
resp.configuration.database_configuration.vpc_configuration.subnet_ids[0] #=> String
resp.configuration.database_configuration.vpc_configuration.security_group_ids #=> Array
resp.configuration.database_configuration.vpc_configuration.security_group_ids[0] #=> String
resp.configuration.database_configuration.column_configuration.document_id_column_name #=> String
resp.configuration.database_configuration.column_configuration.document_data_column_name #=> String
resp.configuration.database_configuration.column_configuration.document_title_column_name #=> String
resp.configuration.database_configuration.column_configuration.field_mappings #=> Array
resp.configuration.database_configuration.column_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.database_configuration.column_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.database_configuration.column_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.database_configuration.column_configuration.change_detecting_columns #=> Array
resp.configuration.database_configuration.column_configuration.change_detecting_columns[0] #=> String
resp.configuration.database_configuration.acl_configuration.allowed_groups_column_name #=> String
resp.configuration.salesforce_configuration.server_url #=> String
resp.configuration.salesforce_configuration.secret_arn #=> String
resp.configuration.salesforce_configuration.standard_object_configurations #=> Array
resp.configuration.salesforce_configuration.standard_object_configurations[0].name #=> String, one of "ACCOUNT", "CAMPAIGN", "CASE", "CONTACT", "CONTRACT", "DOCUMENT", "GROUP", "IDEA", "LEAD", "OPPORTUNITY", "PARTNER", "PRICEBOOK", "PRODUCT", "PROFILE", "SOLUTION", "TASK", "USER"
resp.configuration.salesforce_configuration.standard_object_configurations[0].document_data_field_name #=> String
resp.configuration.salesforce_configuration.standard_object_configurations[0].document_title_field_name #=> String
resp.configuration.salesforce_configuration.standard_object_configurations[0].field_mappings #=> Array
resp.configuration.salesforce_configuration.standard_object_configurations[0].field_mappings[0].data_source_field_name #=> String
resp.configuration.salesforce_configuration.standard_object_configurations[0].field_mappings[0].date_field_format #=> String
resp.configuration.salesforce_configuration.standard_object_configurations[0].field_mappings[0].index_field_name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.included_states #=> Array
resp.configuration.salesforce_configuration.knowledge_article_configuration.included_states[0] #=> String, one of "DRAFT", "PUBLISHED", "ARCHIVED"
resp.configuration.salesforce_configuration.knowledge_article_configuration.standard_knowledge_article_type_configuration.document_data_field_name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.standard_knowledge_article_type_configuration.document_title_field_name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.standard_knowledge_article_type_configuration.field_mappings #=> Array
resp.configuration.salesforce_configuration.knowledge_article_configuration.standard_knowledge_article_type_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.standard_knowledge_article_type_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.standard_knowledge_article_type_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.custom_knowledge_article_type_configurations #=> Array
resp.configuration.salesforce_configuration.knowledge_article_configuration.custom_knowledge_article_type_configurations[0].name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.custom_knowledge_article_type_configurations[0].document_data_field_name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.custom_knowledge_article_type_configurations[0].document_title_field_name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.custom_knowledge_article_type_configurations[0].field_mappings #=> Array
resp.configuration.salesforce_configuration.knowledge_article_configuration.custom_knowledge_article_type_configurations[0].field_mappings[0].data_source_field_name #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.custom_knowledge_article_type_configurations[0].field_mappings[0].date_field_format #=> String
resp.configuration.salesforce_configuration.knowledge_article_configuration.custom_knowledge_article_type_configurations[0].field_mappings[0].index_field_name #=> String
resp.configuration.salesforce_configuration.chatter_feed_configuration.document_data_field_name #=> String
resp.configuration.salesforce_configuration.chatter_feed_configuration.document_title_field_name #=> String
resp.configuration.salesforce_configuration.chatter_feed_configuration.field_mappings #=> Array
resp.configuration.salesforce_configuration.chatter_feed_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.salesforce_configuration.chatter_feed_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.salesforce_configuration.chatter_feed_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.salesforce_configuration.chatter_feed_configuration.include_filter_types #=> Array
resp.configuration.salesforce_configuration.chatter_feed_configuration.include_filter_types[0] #=> String, one of "ACTIVE_USER", "STANDARD_USER"
resp.configuration.salesforce_configuration.crawl_attachments #=> Boolean
resp.configuration.salesforce_configuration.standard_object_attachment_configuration.document_title_field_name #=> String
resp.configuration.salesforce_configuration.standard_object_attachment_configuration.field_mappings #=> Array
resp.configuration.salesforce_configuration.standard_object_attachment_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.salesforce_configuration.standard_object_attachment_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.salesforce_configuration.standard_object_attachment_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.salesforce_configuration.include_attachment_file_patterns #=> Array
resp.configuration.salesforce_configuration.include_attachment_file_patterns[0] #=> String
resp.configuration.salesforce_configuration.exclude_attachment_file_patterns #=> Array
resp.configuration.salesforce_configuration.exclude_attachment_file_patterns[0] #=> String
resp.configuration.one_drive_configuration.tenant_domain #=> String
resp.configuration.one_drive_configuration.secret_arn #=> String
resp.configuration.one_drive_configuration.one_drive_users.one_drive_user_list #=> Array
resp.configuration.one_drive_configuration.one_drive_users.one_drive_user_list[0] #=> String
resp.configuration.one_drive_configuration.one_drive_users.one_drive_user_s3_path.bucket #=> String
resp.configuration.one_drive_configuration.one_drive_users.one_drive_user_s3_path.key #=> String
resp.configuration.one_drive_configuration.inclusion_patterns #=> Array
resp.configuration.one_drive_configuration.inclusion_patterns[0] #=> String
resp.configuration.one_drive_configuration.exclusion_patterns #=> Array
resp.configuration.one_drive_configuration.exclusion_patterns[0] #=> String
resp.configuration.one_drive_configuration.field_mappings #=> Array
resp.configuration.one_drive_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.one_drive_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.one_drive_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.service_now_configuration.host_url #=> String
resp.configuration.service_now_configuration.secret_arn #=> String
resp.configuration.service_now_configuration.service_now_build_version #=> String, one of "LONDON", "OTHERS"
resp.configuration.service_now_configuration.knowledge_article_configuration.crawl_attachments #=> Boolean
resp.configuration.service_now_configuration.knowledge_article_configuration.include_attachment_file_patterns #=> Array
resp.configuration.service_now_configuration.knowledge_article_configuration.include_attachment_file_patterns[0] #=> String
resp.configuration.service_now_configuration.knowledge_article_configuration.exclude_attachment_file_patterns #=> Array
resp.configuration.service_now_configuration.knowledge_article_configuration.exclude_attachment_file_patterns[0] #=> String
resp.configuration.service_now_configuration.knowledge_article_configuration.document_data_field_name #=> String
resp.configuration.service_now_configuration.knowledge_article_configuration.document_title_field_name #=> String
resp.configuration.service_now_configuration.knowledge_article_configuration.field_mappings #=> Array
resp.configuration.service_now_configuration.knowledge_article_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.service_now_configuration.knowledge_article_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.service_now_configuration.knowledge_article_configuration.field_mappings[0].index_field_name #=> String
resp.configuration.service_now_configuration.service_catalog_configuration.crawl_attachments #=> Boolean
resp.configuration.service_now_configuration.service_catalog_configuration.include_attachment_file_patterns #=> Array
resp.configuration.service_now_configuration.service_catalog_configuration.include_attachment_file_patterns[0] #=> String
resp.configuration.service_now_configuration.service_catalog_configuration.exclude_attachment_file_patterns #=> Array
resp.configuration.service_now_configuration.service_catalog_configuration.exclude_attachment_file_patterns[0] #=> String
resp.configuration.service_now_configuration.service_catalog_configuration.document_data_field_name #=> String
resp.configuration.service_now_configuration.service_catalog_configuration.document_title_field_name #=> String
resp.configuration.service_now_configuration.service_catalog_configuration.field_mappings #=> Array
resp.configuration.service_now_configuration.service_catalog_configuration.field_mappings[0].data_source_field_name #=> String
resp.configuration.service_now_configuration.service_catalog_configuration.field_mappings[0].date_field_format #=> String
resp.configuration.service_now_configuration.service_catalog_configuration.field_mappings[0].index_field_name #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.description #=> String
resp.status #=> String, one of "CREATING", "DELETING", "FAILED", "UPDATING", "ACTIVE"
resp.schedule #=> String
resp.role_arn #=> String
resp.error_message #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :id (required, String)

    The unique identifier of the data source to describe.

  • :index_id (required, String)

    The identifier of the index that contains the data source.

Returns:

See Also:



1149
1150
1151
1152
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 1149

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

#describe_faq(params = {}) ⇒ Types::DescribeFaqResponse

Gets information about an FAQ list.

Examples:

Request syntax with placeholder values


resp = client.describe_faq({
  id: "FaqId", # required
  index_id: "IndexId", # required
})

Response structure


resp.id #=> String
resp.index_id #=> String
resp.name #=> String
resp.description #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp.s3_path.bucket #=> String
resp.s3_path.key #=> String
resp.status #=> String, one of "CREATING", "UPDATING", "ACTIVE", "DELETING", "FAILED"
resp.role_arn #=> String
resp.error_message #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :id (required, String)

    The unique identifier of the FAQ.

  • :index_id (required, String)

    The identifier of the index that contains the FAQ.

Returns:

See Also:



1200
1201
1202
1203
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 1200

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

#describe_index(params = {}) ⇒ Types::DescribeIndexResponse

Describes an existing Amazon Kendra index

Examples:

Request syntax with placeholder values


resp = client.describe_index({
  id: "IndexId", # required
})

Response structure


resp.name #=> String
resp.id #=> String
resp.edition #=> String, one of "DEVELOPER_EDITION", "ENTERPRISE_EDITION"
resp.role_arn #=> String
resp.server_side_encryption_configuration.kms_key_id #=> String
resp.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "UPDATING", "SYSTEM_UPDATING"
resp.description #=> String
resp.created_at #=> Time
resp.updated_at #=> Time
resp. #=> Array
resp.[0].name #=> String
resp.[0].type #=> String, one of "STRING_VALUE", "STRING_LIST_VALUE", "LONG_VALUE", "DATE_VALUE"
resp.[0].relevance.freshness #=> Boolean
resp.[0].relevance.importance #=> Integer
resp.[0].relevance.duration #=> String
resp.[0].relevance.rank_order #=> String, one of "ASCENDING", "DESCENDING"
resp.[0].relevance.value_importance_map #=> Hash
resp.[0].relevance.value_importance_map["ValueImportanceMapKey"] #=> Integer
resp.[0].search.facetable #=> Boolean
resp.[0].search.searchable #=> Boolean
resp.[0].search.displayable #=> Boolean
resp.index_statistics.faq_statistics.indexed_question_answers_count #=> Integer
resp.index_statistics.text_document_statistics.indexed_text_documents_count #=> Integer
resp.index_statistics.text_document_statistics.indexed_text_bytes #=> Integer
resp.error_message #=> String
resp.capacity_units.storage_capacity_units #=> Integer
resp.capacity_units.query_capacity_units #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :id (required, String)

    The name of the index to describe.

Returns:

See Also:



1266
1267
1268
1269
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 1266

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

#list_data_source_sync_jobs(params = {}) ⇒ Types::ListDataSourceSyncJobsResponse

Gets statistics about synchronizing Amazon Kendra with a data source.

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

Examples:

Request syntax with placeholder values


resp = client.list_data_source_sync_jobs({
  id: "DataSourceId", # required
  index_id: "IndexId", # required
  next_token: "NextToken",
  max_results: 1,
  start_time_filter: {
    start_time: Time.now,
    end_time: Time.now,
  },
  status_filter: "FAILED", # accepts FAILED, SUCCEEDED, SYNCING, INCOMPLETE, STOPPING, ABORTED, SYNCING_INDEXING
})

Response structure


resp.history #=> Array
resp.history[0].execution_id #=> String
resp.history[0].start_time #=> Time
resp.history[0].end_time #=> Time
resp.history[0].status #=> String, one of "FAILED", "SUCCEEDED", "SYNCING", "INCOMPLETE", "STOPPING", "ABORTED", "SYNCING_INDEXING"
resp.history[0].error_message #=> String
resp.history[0].error_code #=> String, one of "InternalError", "InvalidRequest"
resp.history[0].data_source_error_code #=> String
resp.history[0].metrics.documents_added #=> String
resp.history[0].metrics.documents_modified #=> String
resp.history[0].metrics.documents_deleted #=> String
resp.history[0].metrics.documents_failed #=> String
resp.history[0].metrics.documents_scanned #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the data source.

  • :index_id (required, String)

    The identifier of the index that contains the data source.

  • :next_token (String)

    If the result of the previous request to GetDataSourceSyncJobHistory was truncated, include the NextToken to fetch the next set of jobs.

  • :max_results (Integer)

    The maximum number of synchronization jobs to return in the response. If there are fewer results in the list, this response contains only the actual results.

  • :start_time_filter (Types::TimeRange)

    When specified, the synchronization jobs returned in the list are limited to jobs between the specified dates.

  • :status_filter (String)

    When specified, only returns synchronization jobs with the Status field equal to the specified status.

Returns:

See Also:



1338
1339
1340
1341
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 1338

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

#list_data_sources(params = {}) ⇒ Types::ListDataSourcesResponse

Lists the data sources that you have created.

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

Examples:

Request syntax with placeholder values


resp = client.list_data_sources({
  index_id: "IndexId", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.summary_items #=> Array
resp.summary_items[0].name #=> String
resp.summary_items[0].id #=> String
resp.summary_items[0].type #=> String, one of "S3", "SHAREPOINT", "DATABASE", "SALESFORCE", "ONEDRIVE", "SERVICENOW"
resp.summary_items[0].created_at #=> Time
resp.summary_items[0].updated_at #=> Time
resp.summary_items[0].status #=> String, one of "CREATING", "DELETING", "FAILED", "UPDATING", "ACTIVE"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index that contains the data source.

  • :next_token (String)

    If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of data sources (DataSourceSummaryItems).

  • :max_results (Integer)

    The maximum number of data sources to return.

Returns:

See Also:



1387
1388
1389
1390
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 1387

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

#list_faqs(params = {}) ⇒ Types::ListFaqsResponse

Gets a list of FAQ lists associated with an index.

Examples:

Request syntax with placeholder values


resp = client.list_faqs({
  index_id: "IndexId", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.faq_summary_items #=> Array
resp.faq_summary_items[0].id #=> String
resp.faq_summary_items[0].name #=> String
resp.faq_summary_items[0].status #=> String, one of "CREATING", "UPDATING", "ACTIVE", "DELETING", "FAILED"
resp.faq_summary_items[0].created_at #=> Time
resp.faq_summary_items[0].updated_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :index_id (required, String)

    The index that contains the FAQ lists.

  • :next_token (String)

    If the result of the previous request to ListFaqs was truncated, include the NextToken to fetch the next set of FAQs.

  • :max_results (Integer)

    The maximum number of FAQs to return in the response. If there are fewer results in the list, this response contains only the actual results.

Returns:

See Also:



1433
1434
1435
1436
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 1433

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

#list_indices(params = {}) ⇒ Types::ListIndicesResponse

Lists the Amazon Kendra indexes that you have created.

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

Examples:

Request syntax with placeholder values


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

Response structure


resp.index_configuration_summary_items #=> Array
resp.index_configuration_summary_items[0].name #=> String
resp.index_configuration_summary_items[0].id #=> String
resp.index_configuration_summary_items[0].edition #=> String, one of "DEVELOPER_EDITION", "ENTERPRISE_EDITION"
resp.index_configuration_summary_items[0].created_at #=> Time
resp.index_configuration_summary_items[0].updated_at #=> Time
resp.index_configuration_summary_items[0].status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED", "UPDATING", "SYSTEM_UPDATING"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :next_token (String)

    If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of indexes (DataSourceSummaryItems).

  • :max_results (Integer)

    The maximum number of data sources to return.

Returns:

See Also:



1478
1479
1480
1481
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 1478

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

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

Gets a list of tags associated with a specified resource. Indexes, FAQs, and data sources can have tags associated with them.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the index, FAQ, or data source to get a list of tags for.

Returns:

See Also:



1510
1511
1512
1513
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 1510

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

#query(params = {}) ⇒ Types::QueryResult

Searches an active index. Use this API to search your documents using query. The Query operation enables to do faceted search and to filter results based on document attributes.

It also enables you to provide user context that Amazon Kendra uses to enforce document access control in the search results.

Amazon Kendra searches your index for text content and question and answer (FAQ) content. By default the response contains three types of results.

  • Relevant passages

  • Matching FAQs

  • Relevant documents

You can specify that the query return only one type of result using the QueryResultTypeConfig parameter.

Examples:

Request syntax with placeholder values


resp = client.query({
  index_id: "IndexId", # required
  query_text: "QueryText", # required
  attribute_filter: {
    and_all_filters: [
      {
        # recursive AttributeFilter
      },
    ],
    or_all_filters: [
      {
        # recursive AttributeFilter
      },
    ],
    not_filter: {
      # recursive AttributeFilter
    },
    equals_to: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    contains_all: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    contains_any: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    greater_than: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    greater_than_or_equals: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    less_than: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
    less_than_or_equals: {
      key: "DocumentAttributeKey", # required
      value: { # required
        string_value: "DocumentAttributeStringValue",
        string_list_value: ["String"],
        long_value: 1,
        date_value: Time.now,
      },
    },
  },
  facets: [
    {
      document_attribute_key: "DocumentAttributeKey",
    },
  ],
  requested_document_attributes: ["DocumentAttributeKey"],
  query_result_type_filter: "DOCUMENT", # accepts DOCUMENT, QUESTION_ANSWER, ANSWER
  page_number: 1,
  page_size: 1,
})

Response structure


resp.query_id #=> String
resp.result_items #=> Array
resp.result_items[0].id #=> String
resp.result_items[0].type #=> String, one of "DOCUMENT", "QUESTION_ANSWER", "ANSWER"
resp.result_items[0].additional_attributes #=> Array
resp.result_items[0].additional_attributes[0].key #=> String
resp.result_items[0].additional_attributes[0].value_type #=> String, one of "TEXT_WITH_HIGHLIGHTS_VALUE"
resp.result_items[0].additional_attributes[0].value.text_with_highlights_value.text #=> String
resp.result_items[0].additional_attributes[0].value.text_with_highlights_value.highlights #=> Array
resp.result_items[0].additional_attributes[0].value.text_with_highlights_value.highlights[0].begin_offset #=> Integer
resp.result_items[0].additional_attributes[0].value.text_with_highlights_value.highlights[0].end_offset #=> Integer
resp.result_items[0].additional_attributes[0].value.text_with_highlights_value.highlights[0].top_answer #=> Boolean
resp.result_items[0].document_id #=> String
resp.result_items[0].document_title.text #=> String
resp.result_items[0].document_title.highlights #=> Array
resp.result_items[0].document_title.highlights[0].begin_offset #=> Integer
resp.result_items[0].document_title.highlights[0].end_offset #=> Integer
resp.result_items[0].document_title.highlights[0].top_answer #=> Boolean
resp.result_items[0].document_excerpt.text #=> String
resp.result_items[0].document_excerpt.highlights #=> Array
resp.result_items[0].document_excerpt.highlights[0].begin_offset #=> Integer
resp.result_items[0].document_excerpt.highlights[0].end_offset #=> Integer
resp.result_items[0].document_excerpt.highlights[0].top_answer #=> Boolean
resp.result_items[0].document_uri #=> String
resp.result_items[0].document_attributes #=> Array
resp.result_items[0].document_attributes[0].key #=> String
resp.result_items[0].document_attributes[0].value.string_value #=> String
resp.result_items[0].document_attributes[0].value.string_list_value #=> Array
resp.result_items[0].document_attributes[0].value.string_list_value[0] #=> String
resp.result_items[0].document_attributes[0].value.long_value #=> Integer
resp.result_items[0].document_attributes[0].value.date_value #=> Time
resp.facet_results #=> Array
resp.facet_results[0].document_attribute_key #=> String
resp.facet_results[0].document_attribute_value_count_pairs #=> Array
resp.facet_results[0].document_attribute_value_count_pairs[0].document_attribute_value.string_value #=> String
resp.facet_results[0].document_attribute_value_count_pairs[0].document_attribute_value.string_list_value #=> Array
resp.facet_results[0].document_attribute_value_count_pairs[0].document_attribute_value.string_list_value[0] #=> String
resp.facet_results[0].document_attribute_value_count_pairs[0].document_attribute_value.long_value #=> Integer
resp.facet_results[0].document_attribute_value_count_pairs[0].document_attribute_value.date_value #=> Time
resp.facet_results[0].document_attribute_value_count_pairs[0].count #=> Integer
resp.total_number_of_results #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :index_id (required, String)

    The unique identifier of the index to search. The identifier is returned in the response from the operation.

  • :query_text (required, String)

    The text to search for.

  • :attribute_filter (Types::AttributeFilter)

    Enables filtered searches based on document attributes. You can only provide one attribute filter; however, the AndAllFilters, NotFilter, and OrAllFilters parameters contain a list of other filters.

    The AttributeFilter parameter enables you to create a set of filtering rules that a document must satisfy to be included in the query results.

  • :facets (Array<Types::Facet>)

    An array of documents attributes. Amazon Kendra returns a count for each attribute key specified. You can use this information to help narrow the search for your user.

  • :requested_document_attributes (Array<String>)

    An array of document attributes to include in the response. No other document attributes are included in the response. By default all document attributes are included in the response.

  • :query_result_type_filter (String)

    Sets the type of query. Only results for the specified query type are returned.

  • :page_number (Integer)

    Query results are returned in pages the size of the PageSize parameter. By default, Amazon Kendra returns the first page of results. Use this parameter to get result pages after the first one.

  • :page_size (Integer)

    Sets the number of results that are returned in each page of results. The default page size is 10. The maximum number of results returned is 100. If you ask for more than 100 results, only 100 are returned.

Returns:

See Also:



1725
1726
1727
1728
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 1725

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

#start_data_source_sync_job(params = {}) ⇒ Types::StartDataSourceSyncJobResponse

Starts a synchronization job for a data source. If a synchronization job is already in progress, Amazon Kendra returns a ResourceInUseException exception.

Examples:

Request syntax with placeholder values


resp = client.start_data_source_sync_job({
  id: "DataSourceId", # required
  index_id: "IndexId", # required
})

Response structure


resp.execution_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the data source to synchronize.

  • :index_id (required, String)

    The identifier of the index that contains the data source.

Returns:

See Also:



1759
1760
1761
1762
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 1759

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

#stop_data_source_sync_job(params = {}) ⇒ Struct

Stops a running synchronization job. You can't stop a scheduled synchronization job.

Examples:

Request syntax with placeholder values


resp = client.stop_data_source_sync_job({
  id: "DataSourceId", # required
  index_id: "IndexId", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the data source for which to stop the synchronization jobs.

  • :index_id (required, String)

    The identifier of the index that contains the data source.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1787
1788
1789
1790
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 1787

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

#submit_feedback(params = {}) ⇒ Struct

Enables you to provide feedback to Amazon Kendra to improve the performance of the service.

Examples:

Request syntax with placeholder values


resp = client.submit_feedback({
  index_id: "IndexId", # required
  query_id: "QueryId", # required
  click_feedback_items: [
    {
      result_id: "ResultId", # required
      click_time: Time.now, # required
    },
  ],
  relevance_feedback_items: [
    {
      result_id: "ResultId", # required
      relevance_value: "RELEVANT", # required, accepts RELEVANT, NOT_RELEVANT
    },
  ],
})

Parameters:

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

    ({})

Options Hash (params):

  • :index_id (required, String)

    The identifier of the index that was queried.

  • :query_id (required, String)

    The identifier of the specific query for which you are submitting feedback. The query ID is returned in the response to the operation.

  • :click_feedback_items (Array<Types::ClickFeedback>)

    Tells Amazon Kendra that a particular search result link was chosen by the user.

  • :relevance_feedback_items (Array<Types::RelevanceFeedback>)

    Provides Amazon Kendra with relevant or not relevant feedback for whether a particular item was relevant to the search.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1835
1836
1837
1838
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 1835

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

#tag_resource(params = {}) ⇒ Struct

Adds the specified tag to the specified index, FAQ, or data source resource. If the tag already exists, the existing value is replaced with the new value.

Examples:

Request syntax with placeholder values


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

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the index, FAQ, or data source to tag.

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

    A list of tag keys to add to the index, FAQ, or data source. If a tag already exists, the existing value is replaced with the new value.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1870
1871
1872
1873
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 1870

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

#untag_resource(params = {}) ⇒ Struct

Removes a tag from an index, FAQ, or a data source.

Examples:

Request syntax with placeholder values


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

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the index, FAQ, or data source to remove the tag from.

  • :tag_keys (required, Array<String>)

    A list of tag keys to remove from the index, FAQ, or data source. If a tag key does not exist on the resource, it is ignored.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1898
1899
1900
1901
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 1898

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

#update_data_source(params = {}) ⇒ Struct

Updates an existing Amazon Kendra data source.

Examples:

Request syntax with placeholder values


resp = client.update_data_source({
  id: "DataSourceId", # required
  name: "DataSourceName",
  index_id: "IndexId", # required
  configuration: {
    s3_configuration: {
      bucket_name: "S3BucketName", # required
      inclusion_prefixes: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      documents_metadata_configuration: {
        s3_prefix: "S3ObjectKey",
      },
      access_control_list_configuration: {
        key_path: "S3ObjectKey",
      },
    },
    share_point_configuration: {
      share_point_version: "SHAREPOINT_ONLINE", # required, accepts SHAREPOINT_ONLINE
      urls: ["Url"], # required
      secret_arn: "SecretArn", # required
      crawl_attachments: false,
      use_change_log: false,
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
      field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
      document_title_field_name: "DataSourceFieldName",
    },
    database_configuration: {
      database_engine_type: "RDS_AURORA_MYSQL", # required, accepts RDS_AURORA_MYSQL, RDS_AURORA_POSTGRESQL, RDS_MYSQL, RDS_POSTGRESQL
      connection_configuration: { # required
        database_host: "DatabaseHost", # required
        database_port: 1, # required
        database_name: "DatabaseName", # required
        table_name: "TableName", # required
        secret_arn: "SecretArn", # required
      },
      vpc_configuration: {
        subnet_ids: ["SubnetId"], # required
        security_group_ids: ["VpcSecurityGroupId"], # required
      },
      column_configuration: { # required
        document_id_column_name: "ColumnName", # required
        document_data_column_name: "ColumnName", # required
        document_title_column_name: "ColumnName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
        change_detecting_columns: ["ColumnName"], # required
      },
      acl_configuration: {
        allowed_groups_column_name: "ColumnName", # required
      },
    },
    salesforce_configuration: {
      server_url: "Url", # required
      secret_arn: "SecretArn", # required
      standard_object_configurations: [
        {
          name: "ACCOUNT", # required, accepts ACCOUNT, CAMPAIGN, CASE, CONTACT, CONTRACT, DOCUMENT, GROUP, IDEA, LEAD, OPPORTUNITY, PARTNER, PRICEBOOK, PRODUCT, PROFILE, SOLUTION, TASK, USER
          document_data_field_name: "DataSourceFieldName", # required
          document_title_field_name: "DataSourceFieldName",
          field_mappings: [
            {
              data_source_field_name: "DataSourceFieldName", # required
              date_field_format: "DataSourceDateFieldFormat",
              index_field_name: "IndexFieldName", # required
            },
          ],
        },
      ],
      knowledge_article_configuration: {
        included_states: ["DRAFT"], # required, accepts DRAFT, PUBLISHED, ARCHIVED
        standard_knowledge_article_type_configuration: {
          document_data_field_name: "DataSourceFieldName", # required
          document_title_field_name: "DataSourceFieldName",
          field_mappings: [
            {
              data_source_field_name: "DataSourceFieldName", # required
              date_field_format: "DataSourceDateFieldFormat",
              index_field_name: "IndexFieldName", # required
            },
          ],
        },
        custom_knowledge_article_type_configurations: [
          {
            name: "SalesforceCustomKnowledgeArticleTypeName", # required
            document_data_field_name: "DataSourceFieldName", # required
            document_title_field_name: "DataSourceFieldName",
            field_mappings: [
              {
                data_source_field_name: "DataSourceFieldName", # required
                date_field_format: "DataSourceDateFieldFormat",
                index_field_name: "IndexFieldName", # required
              },
            ],
          },
        ],
      },
      chatter_feed_configuration: {
        document_data_field_name: "DataSourceFieldName", # required
        document_title_field_name: "DataSourceFieldName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
        include_filter_types: ["ACTIVE_USER"], # accepts ACTIVE_USER, STANDARD_USER
      },
      crawl_attachments: false,
      standard_object_attachment_configuration: {
        document_title_field_name: "DataSourceFieldName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
      },
      include_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclude_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
    },
    one_drive_configuration: {
      tenant_domain: "TenantDomain", # required
      secret_arn: "SecretArn", # required
      one_drive_users: { # required
        one_drive_user_list: ["OneDriveUser"],
        one_drive_user_s3_path: {
          bucket: "S3BucketName", # required
          key: "S3ObjectKey", # required
        },
      },
      inclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      exclusion_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
      field_mappings: [
        {
          data_source_field_name: "DataSourceFieldName", # required
          date_field_format: "DataSourceDateFieldFormat",
          index_field_name: "IndexFieldName", # required
        },
      ],
    },
    service_now_configuration: {
      host_url: "ServiceNowHostUrl", # required
      secret_arn: "SecretArn", # required
      service_now_build_version: "LONDON", # required, accepts LONDON, OTHERS
      knowledge_article_configuration: {
        crawl_attachments: false,
        include_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        exclude_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        document_data_field_name: "DataSourceFieldName", # required
        document_title_field_name: "DataSourceFieldName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
      },
      service_catalog_configuration: {
        crawl_attachments: false,
        include_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        exclude_attachment_file_patterns: ["DataSourceInclusionsExclusionsStringsMember"],
        document_data_field_name: "DataSourceFieldName", # required
        document_title_field_name: "DataSourceFieldName",
        field_mappings: [
          {
            data_source_field_name: "DataSourceFieldName", # required
            date_field_format: "DataSourceDateFieldFormat",
            index_field_name: "IndexFieldName", # required
          },
        ],
      },
    },
  },
  description: "Description",
  schedule: "ScanSchedule",
  role_arn: "RoleArn",
})

Parameters:

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

    ({})

Options Hash (params):

  • :id (required, String)

    The unique identifier of the data source to update.

  • :name (String)

    The name of the data source to update. The name of the data source can't be updated. To rename a data source you must delete the data source and re-create it.

  • :index_id (required, String)

    The identifier of the index that contains the data source to update.

  • :configuration (Types::DataSourceConfiguration)

    Configuration information for a Amazon Kendra data source.

  • :description (String)

    The new description for the data source.

  • :schedule (String)

    The new update schedule for the data source.

  • :role_arn (String)

    The Amazon Resource Name (ARN) of the new role to use when the data source is accessing resources on your behalf.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2134
2135
2136
2137
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 2134

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

#update_index(params = {}) ⇒ Struct

Updates an existing Amazon Kendra index.

Examples:

Request syntax with placeholder values


resp = client.update_index({
  id: "IndexId", # required
  name: "IndexName",
  role_arn: "RoleArn",
  description: "Description",
  document_metadata_configuration_updates: [
    {
      name: "DocumentMetadataConfigurationName", # required
      type: "STRING_VALUE", # required, accepts STRING_VALUE, STRING_LIST_VALUE, LONG_VALUE, DATE_VALUE
      relevance: {
        freshness: false,
        importance: 1,
        duration: "Duration",
        rank_order: "ASCENDING", # accepts ASCENDING, DESCENDING
        value_importance_map: {
          "ValueImportanceMapKey" => 1,
        },
      },
      search: {
        facetable: false,
        searchable: false,
        displayable: false,
      },
    },
  ],
  capacity_units: {
    storage_capacity_units: 1, # required
    query_capacity_units: 1, # required
  },
})

Parameters:

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

    ({})

Options Hash (params):

  • :id (required, String)

    The identifier of the index to update.

  • :name (String)

    The name of the index to update.

  • :role_arn (String)

    A new IAM role that gives Amazon Kendra permission to access your Amazon CloudWatch logs.

  • :description (String)

    A new description for the index.

  • :document_metadata_configuration_updates (Array<Types::DocumentMetadataConfiguration>)

    The document metadata to update.

  • :capacity_units (Types::CapacityUnitsConfiguration)

    Sets the number of addtional storage and query capacity units that should be used by the index. You can change the capacity of the index up to 5 times per day.

    If you are using extra storage units, you can't reduce the storage capacity below that required to meet the storage needs for your index.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2204
2205
2206
2207
# File 'gems/aws-sdk-kendra/lib/aws-sdk-kendra/client.rb', line 2204

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