Method: Aws::Athena::Client#start_query_execution

Defined in:
lib/aws-sdk-athena/client.rb

#start_query_execution(params = {}) ⇒ Types::StartQueryExecutionOutput

Runs the SQL query statements contained in the Query. Requires you to have access to the workgroup in which the query ran. Running queries against an external catalog requires GetDataCatalog permission to the catalog. For code samples using the Amazon Web Services SDK for Java, see [Examples and Code Samples] in the *Amazon Athena User Guide*.

[1]: docs.aws.amazon.com/athena/latest/ug/code-samples.html

Examples:

Request syntax with placeholder values


resp = client.start_query_execution({
  query_string: "QueryString", # required
  client_request_token: "IdempotencyToken",
  query_execution_context: {
    database: "DatabaseString",
    catalog: "CatalogNameString",
  },
  result_configuration: {
    output_location: "ResultOutputLocation",
    encryption_configuration: {
      encryption_option: "SSE_S3", # required, accepts SSE_S3, SSE_KMS, CSE_KMS
      kms_key: "String",
    },
    expected_bucket_owner: "AwsAccountId",
    acl_configuration: {
      s3_acl_option: "BUCKET_OWNER_FULL_CONTROL", # required, accepts BUCKET_OWNER_FULL_CONTROL
    },
  },
  work_group: "WorkGroupName",
  execution_parameters: ["ExecutionParameter"],
  result_reuse_configuration: {
    result_reuse_by_age_configuration: {
      enabled: false, # required
      max_age_in_minutes: 1,
    },
  },
  engine_configuration: {
    coordinator_dpu_size: 1,
    max_concurrent_dpus: 1,
    default_executor_dpu_size: 1,
    additional_configs: {
      "KeyString" => "ParametersMapValue",
    },
    spark_properties: {
      "KeyString" => "ParametersMapValue",
    },
    classifications: [
      {
        name: "NameString",
        properties: {
          "KeyString" => "ParametersMapValue",
        },
      },
    ],
  },
})

Response structure


resp.query_execution_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :query_string (required, String)

    The SQL query statements to be executed.

  • :client_request_token (String)

    A unique case-sensitive string used to ensure the request to create the query is idempotent (executes only once). If another StartQueryExecution request is received, the same response is returned and another query is not created. An error is returned if a parameter, such as QueryString, has changed. A call to StartQueryExecution that uses a previous client request token returns the same QueryExecutionId even if the requester doesn’t have permission on the tables specified in QueryString.

    This token is listed as not required because Amazon Web Services SDKs (for example the Amazon Web Services SDK for Java) auto-generate the token for users. If you are not using the Amazon Web Services SDK or the Amazon Web Services CLI, you must provide this token or the action will fail.

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

  • :query_execution_context (Types::QueryExecutionContext)

    The database within which the query executes.

  • :result_configuration (Types::ResultConfiguration)

    Specifies information about where and how to save the results of the query execution. If the query runs in a workgroup, then workgroup’s settings may override query settings. This affects the query results location. The workgroup settings override is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

  • :work_group (String)

    The name of the workgroup in which the query is being started.

  • :execution_parameters (Array<String>)

    A list of values for the parameters in a query. The values are applied sequentially to the parameters in the query in the order in which the parameters occur.

  • :result_reuse_configuration (Types::ResultReuseConfiguration)

    Specifies the query result reuse behavior for the query.

  • :engine_configuration (Types::EngineConfiguration)

    Contains data processing unit (DPU) configuration settings and parameter mappings for a notebook engine.

Returns:

See Also:



3439
3440
3441
3442
# File 'lib/aws-sdk-athena/client.rb', line 3439

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