This is an automated email from the ASF dual-hosted git repository. nfilotto pushed a commit to branch CAMEL-17792/doc-message-headers in repository https://gitbox.apache.org/repos/asf/camel.git
commit 4b50966916948cf34df176c584085c27722d61e0 Author: Nicolas Filotto <[email protected]> AuthorDate: Tue Mar 15 19:05:50 2022 +0100 CAMEL-17792: Add doc about the message headers of camel-aws2-athena --- .../camel/component/aws2/athena/aws2-athena.json | 24 ++++++ .../src/main/docs/aws2-athena-component.adoc | 91 +--------------------- .../component/aws2/athena/Athena2Constants.java | 83 +++++++++++++++++++- .../component/aws2/athena/Athena2Endpoint.java | 3 +- 4 files changed, 109 insertions(+), 92 deletions(-) diff --git a/components/camel-aws/camel-aws2-athena/src/generated/resources/org/apache/camel/component/aws2/athena/aws2-athena.json b/components/camel-aws/camel-aws2-athena/src/generated/resources/org/apache/camel/component/aws2/athena/aws2-athena.json index 053e4a0..65d93c4 100644 --- a/components/camel-aws/camel-aws2-athena/src/generated/resources/org/apache/camel/component/aws2/athena/aws2-athena.json +++ b/components/camel-aws/camel-aws2-athena/src/generated/resources/org/apache/camel/component/aws2/athena/aws2-athena.json @@ -53,6 +53,30 @@ "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...] "clientRequestToken": { "kind": "property", "displayName": "Client Request Token", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "A unique string to ensure issues queries are idempotent. It is unlikely you will need to set this." } }, + "headers": { + "CamelAwsAthenaOperation": { "kind": "header", "displayName": "", "group": "all", "label": "all", "required": false, "javaType": "org.apache.camel.component.aws2.athena.Athena2Operations", "enum": [ "getQueryExecution", "getQueryResults", "listQueryExecutions", "startQueryExecution" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "startQueryExecution", "description": "The operation to perform. Permitted values are getQueryExecution, [...] + "CamelAwsAthenaDatabase": { "kind": "header", "displayName": "", "group": "startQueryExecution", "label": "startQueryExecution", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Athena database to use." }, + "CamelAwsAthenaQueryExecutionId": { "kind": "header", "displayName": "", "group": "getQueryExecution getQueryResults startQueryExecution", "label": "getQueryExecution getQueryResults startQueryExecution", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique ID identifying the query execution." }, + "CamelAwsAthenaWorkGroup": { "kind": "header", "displayName": "", "group": "listQueryExecutions startQueryExecution", "label": "listQueryExecutions startQueryExecution", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The workgroup to use for running the query." }, + "CamelAwsAthenaNextToken": { "kind": "header", "displayName": "", "group": "getQueryResults listQueryExecutions", "label": "getQueryResults listQueryExecutions", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Pagination token to use in the case where the response from the previous request was truncated." }, + "CamelAwsAthenaMaxResults": { "kind": "header", "displayName": "", "group": "getQueryResults listQueryExecutions", "label": "getQueryResults listQueryExecutions", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Max number of results to return for the given operation (if supported by the Athena API endpoint).\nIf not set, will use the Athena API default for the given operation." }, + "CamelAwsAthenaIncludeTrace": { "kind": "header", "displayName": "", "group": "startQueryExecution", "label": "startQueryExecution", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Include useful trace information at the beginning of queries as an SQL comment (prefixed with \"--\")." }, + "CamelAwsAthenaOutputLocation": { "kind": "header", "displayName": "", "group": "getQueryExecution getQueryResults startQueryExecution", "label": "getQueryExecution getQueryResults startQueryExecution", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The location in Amazon S3 where query results are stored, such as s3:\/\/path\/to\/query\/bucket\/.\nEnsure this value ends with a forward slash (' [...] + "CamelAwsAthenaOutputType": { "kind": "header", "displayName": "", "group": "getQueryResults", "label": "getQueryResults", "required": false, "javaType": "org.apache.camel.component.aws2.athena.Athena2OutputType", "enum": [ "StreamList", "SelectList", "S3Pointer" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "How query results should be returned. One of\nStreamList (default - return a GetQueryResultsIterable that can page through [...] + "CamelAwsAthenaQueryExecutionState": { "kind": "header", "displayName": "", "group": "getQueryExecution getQueryResults startQueryExecution", "label": "getQueryExecution getQueryResults startQueryExecution", "required": false, "javaType": "software.amazon.awssdk.services.athena.model.QueryExecutionState", "enum": [ "QUEUED", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED", "null" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The sta [...] + "CamelAwsAthenaClientRequestToken": { "kind": "header", "displayName": "", "group": "startQueryExecution", "label": "startQueryExecution", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "A unique string to ensure issues queries are idempotent. It is unlikely you will need to set this." }, + "CamelAwsAthenaQueryString": { "kind": "header", "displayName": "", "group": "startQueryExecution", "label": "startQueryExecution", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The SQL query to run. Except for simple queries, prefer setting this as the `body` of the\nExchange or as this header to avoid having to deal with URL encoding issues." }, + "CamelAwsAthenaEncryptionOption": { "kind": "header", "displayName": "", "group": "startQueryExecution", "label": "startQueryExecution", "required": false, "javaType": "software.amazon.awssdk.services.athena.model.EncryptionOption", "enum": [ "SSE_S3", "SSE_KMS", "CSE_KMS", "null" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The encryption type to use when storing query results in S3." }, + "CamelAwsAthenaKmsKey": { "kind": "header", "displayName": "", "group": "startQueryExecution", "label": "startQueryExecution", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID." }, + "CamelAwsAthenaWaitTimeout": { "kind": "header", "displayName": "", "group": "startQueryExecution", "label": "startQueryExecution", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Optional max wait time in millis to wait for a successful query completion.\nSee the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more." }, + "CamelAwsAthenaInitialDelay": { "kind": "header", "displayName": "", "group": "startQueryExecution", "label": "startQueryExecution", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Milliseconds before the first poll for query execution status.\nSee the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more." }, + "CamelAwsAthenaDelay": { "kind": "header", "displayName": "", "group": "startQueryExecution", "label": "startQueryExecution", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Milliseconds before the next poll for query execution status.\nSee the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more." }, + "CamelAwsAthenaMaxAttempts": { "kind": "header", "displayName": "", "group": "startQueryExecution", "label": "startQueryExecution", "required": false, "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Maximum number of times to attempt a query. Set to 1 to disable retries.\nSee the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more." }, + "CamelAwsAthenaRetry": { "kind": "header", "displayName": "", "group": "startQueryExecution", "label": "startQueryExecution", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Optional comma separated list of error types to retry the query for. Use\n'retryable' to retry all retryable failure conditions (e.g. generic errors and resources exhausted),\n'generic' to retry 'GENERIC_INTERNAL_ERROR' fai [...] + "CamelAwsAthenaResetWaitTimeoutOnRetry": { "kind": "header", "displayName": "", "group": "startQueryExecution", "label": "startQueryExecution", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Reset the waitTimeout countdown in the event of a query retry.\nIf set to true, potential max time spent waiting for queries is equal to waitTimeout x maxAttempts.\nSee the section 'Waiting for Query Compl [...] + "CamelAwsAthenaStartQueryExecutionAttempts": { "kind": "header", "displayName": "", "group": "startQueryExecution", "label": "startQueryExecution", "required": false, "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Total number of attempts made to run the query. Will be greater than 1 if the query is retried." }, + "CamelAwsAthenaStartQueryExecutionElapsedMillis": { "kind": "header", "displayName": "", "group": "startQueryExecution", "label": "startQueryExecution", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Total time in millis taken in startQueryExecution (mostly relevant when waiting for query completion within startQueryExecution)." } + }, "properties": { "label": { "kind": "path", "displayName": "Label", "group": "producer", "label": "producer", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Logical name" }, "accessKey": { "kind": "parameter", "displayName": "Access Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.athena.Athena2Configuration", "configurationField": "configuration", "description": "Amazon AWS Access Key." }, diff --git a/components/camel-aws/camel-aws2-athena/src/main/docs/aws2-athena-component.adoc b/components/camel-aws/camel-aws2-athena/src/main/docs/aws2-athena-component.adoc index 18e945f..96cf586 100644 --- a/components/camel-aws/camel-aws2-athena/src/main/docs/aws2-athena-component.adoc +++ b/components/camel-aws/camel-aws2-athena/src/main/docs/aws2-athena-component.adoc @@ -79,94 +79,9 @@ from("direct:start") .to("mock:result"); -------------------------------------------------------------------------------- -=== Message headers evaluated by the Athena producer - -Message headers listed here override the corresponding -query parameters listed in "Query Parameters". - -[width="100%",cols="5%,5%,10%,75%,5%",options="header",] -|======================================================================= -|Operation |Header |Type |Description |Required - -|All |`CamelAwsAthenaOperation` |`String` |The operation to perform. Permitted values are getQueryExecution, getQueryResults, listQueryExecutions, startQueryExecution. Default is startQueryExecution. | No - -|startQueryExecution |`CamelAwsAthenaDatabase` |`String` |The Athena database to use. | No - -|getQueryExecution, getQueryResults |`CamelAwsAthenaQueryExecutionId` |`String` |The unique ID identifying the query execution. | No - -|listQueryExecutions, startQueryExecution |`CamelAwsAthenaWorkGroup` |`String` |The workgroup to use for running the query. | No - -|getQueryResults, listQueryExecutions |`CamelAwsAthenaNextToken` |`String` |Pagination token to use in the case where the response from the previous request was truncated. | No - -|getQueryResults, listQueryExecutions |`CamelAwsAthenaMaxResults` |`Integer` |Max number of results to return for the given operation (if supported by the Athena API endpoint). -If not set, will use the Athena API default for the given operation. | No - -|startQueryExecution |`CamelAwsAthenaIncludeTrace` |`boolean` |Include useful trace information at the beginning of queries as an SQL comment (prefixed with "--"). | No - -|startQueryExecution |`CamelAwsAthenaOutputLocation` |`String` |The location in Amazon S3 where query results are stored, such as s3://path/to/query/bucket/. -Ensure this value ends with a forward slash ('/'). | No - -|getQueryResults |`CamelAwsAthenaOutputType` |`Athena2OutputType` |How query results should be returned. One of -StreamList (default - return a GetQueryResultsIterable that can page through all results), -SelectList (returns at most 1,000 rows at a time, plus a NextToken value as a header than can be used for manual pagination of results), -S3Pointer (return an S3 path pointing to the results). | No - -|startQueryExecution |`CamelAwsAthenaClientRequestToken` |`String` |A unique string to ensure issues queries are idempotent. It is unlikely you will need to set this. | No - -|startQueryExecution |`CamelAwsAthenaQueryString` |`String` |The SQL query to run. Except for simple queries, prefer setting this as the `body` of the -Exchange or as this header to avoid having to deal with URL encoding issues. | No - -|startQueryExecution |`CamelAwsAthenaEncryptionOption` |`String` |The encryption type to use when storing query results in S3. One of SSE_S3, SSE_KMS, or CSE_KMS. | No - -|startQueryExecution |`CamelAwsAthenaKmsKey` |`String` |For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID. | No - -|startQueryExecution |`CamelAwsAthenaWaitTimeout` |`long` |Optional max wait time in millis to wait for a successful query completion. -See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more. | No - -|startQueryExecution |`CamelAwsAthenaInitialDelay` |`long` |Milliseconds before the first poll for query execution status. -See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more. | No - -|startQueryExecution |`CamelAwsAthenaDelay` |`long` |Milliseconds before the next poll for query execution status. -See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more. | No - -|startQueryExecution |`CamelAwsAthenaMaxAttempts` |`int` |Maximum number of times to attempt a query. Set to 1 to disable retries. -See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more. | No - -|startQueryExecution |`CamelAwsAthenaRetry` |`String` |Optional comma separated list of error types to retry the query for. Use -'retryable' to retry all retryable failure conditions (e.g. generic errors and resources exhausted), -'generic' to retry 'GENERIC_INTERNAL_ERROR' failures, -'exhausted' to retry queries that have exhausted resource limits, -'always' to always retry regardless of failure condition, or -'never' or null to never retry (default). -See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more. | No - -|startQueryExecution |`CamelAwsAthenaResetWaitTimeoutOnRetry` |`boolean` |Reset the waitTimeout countdown in the event of a query retry. -If set to true, potential max time spent waiting for queries is equal to waitTimeout x maxAttempts. -See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more. | No - -|======================================================================= - -=== Message headers set by the Athena producer - -[width="100%",cols="5%,5%,10%,80%",options="header",] -|======================================================================= -|Operation |Header |Type |Description - -|getQueryExecution, getQueryResults, startQueryExecution |`CamelAwsAthenaQueryExecutionId` |`String` |The unique ID identifying the query execution. - -|getQueryExecution, getQueryResults, startQueryExecution |`CamelAwsAthenaQueryExecutionState` |`software.amazon.awssdk.services.athena.model.QueryExecutionState` |The state of the query execution. One of `QUEUED`, `RUNNING`, `SUCCEEDED`, `FAILED`, `CANCELLED`. - -|getQueryExecution, getQueryResults, startQueryExecution |`CamelAwsAthenaOutputLocation` |`String` |The location in Amazon S3 where query results are stored, such as s3://path/to/query/bucket/. - -|getQueryExecution, getQueryResults, startQueryExecution |`CamelAwsAthenaQueryExecutionId` |`String` |The unique ID identifying the query execution. - -|getQueryResults, listQueryExecutions |`CamelAwsAthenaNextToken` |`String` |Pagination token to use in the case where the response from the previous request was truncated. - -|startQueryExecution |`CamelAwsAthenaStartQueryExecutionAttempts` |`int` |Total number of attempts made to run the query. Will be greater than 1 if the query is retried. - -|startQueryExecution |`CamelAwsAthenaStartQueryExecutionElapsedMillis` |`long` |Total time in millis taken in startQueryExecution (mostly relevant when waiting for query completion within startQueryExecution). - -|======================================================================= +// component headers: START +include::partial$component-endpoint-headers.adoc[] +// component headers: END === Static credentials vs Default Credential Provider diff --git a/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Constants.java b/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Constants.java index 7a73470..e051097 100644 --- a/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Constants.java +++ b/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Constants.java @@ -16,37 +16,116 @@ */ package org.apache.camel.component.aws2.athena; +import org.apache.camel.spi.Metadata; + /** * Constants used in Camel AWS Athena module SDK v2. */ public interface Athena2Constants { // common + @Metadata(label = "all", + description = "The operation to perform. Permitted values are getQueryExecution, getQueryResults, listQueryExecutions, startQueryExecution.", + javaType = "org.apache.camel.component.aws2.athena.Athena2Operations", defaultValue = "startQueryExecution") String OPERATION = "CamelAwsAthenaOperation"; + @Metadata(label = "startQueryExecution", description = "The Athena database to use.", javaType = "String") String DATABASE = "CamelAwsAthenaDatabase"; + @Metadata(label = "getQueryExecution getQueryResults startQueryExecution", + description = "The unique ID identifying the query execution.", javaType = "String") String QUERY_EXECUTION_ID = "CamelAwsAthenaQueryExecutionId"; + @Metadata(label = "listQueryExecutions startQueryExecution", description = "The workgroup to use for running the query.", + javaType = "String") String WORK_GROUP = "CamelAwsAthenaWorkGroup"; + @Metadata(label = "getQueryResults listQueryExecutions", + description = "Pagination token to use in the case where the response from the previous request was truncated.", + javaType = "String") String NEXT_TOKEN = "CamelAwsAthenaNextToken"; + @Metadata(label = "getQueryResults listQueryExecutions", + description = "Max number of results to return for the given operation (if supported by the Athena API endpoint).\n" + + + "If not set, will use the Athena API default for the given operation.", + javaType = "Integer") String MAX_RESULTS = "CamelAwsAthenaMaxResults"; + @Metadata(label = "startQueryExecution", + description = "Include useful trace information at the beginning of queries as an SQL comment (prefixed with \"--\").", + javaType = "boolean") String INCLUDE_TRACE = "CamelAwsAthenaIncludeTrace"; + @Metadata(label = "getQueryExecution getQueryResults startQueryExecution", + description = "The location in Amazon S3 where query results are stored, such as s3://path/to/query/bucket/.\n" + + "Ensure this value ends with a forward slash ('/').", + javaType = "String") String OUTPUT_LOCATION = "CamelAwsAthenaOutputLocation"; + @Metadata(label = "getQueryResults", description = "How query results should be returned. One of\n" + + "StreamList (default - return a GetQueryResultsIterable that can page through all results),\n" + + + "SelectList (returns at most 1,000 rows at a time, plus a NextToken value as a header than can be used for manual pagination of results),\n" + + + "S3Pointer (return an S3 path pointing to the results).", + javaType = "org.apache.camel.component.aws2.athena.Athena2OutputType") String OUTPUT_TYPE = "CamelAwsAthenaOutputType"; + @Metadata(label = "getQueryExecution getQueryResults startQueryExecution", + description = "The state of the query execution.", + javaType = "software.amazon.awssdk.services.athena.model.QueryExecutionState") String QUERY_EXECUTION_STATE = "CamelAwsAthenaQueryExecutionState"; // read only // startQueryExecution + @Metadata(label = "startQueryExecution", + description = "A unique string to ensure issues queries are idempotent. It is unlikely you will need to set this.", + javaType = "String") String CLIENT_REQUEST_TOKEN = "CamelAwsAthenaClientRequestToken"; + @Metadata(label = "startQueryExecution", + description = "The SQL query to run. Except for simple queries, prefer setting this as the `body` of the\n" + + "Exchange or as this header to avoid having to deal with URL encoding issues.", + javaType = "String") String QUERY_STRING = "CamelAwsAthenaQueryString"; + @Metadata(label = "startQueryExecution", description = "The encryption type to use when storing query results in S3.", + javaType = "software.amazon.awssdk.services.athena.model.EncryptionOption") String ENCRYPTION_OPTION = "CamelAwsAthenaEncryptionOption"; + @Metadata(label = "startQueryExecution", description = "For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID.", + javaType = "String") String KMS_KEY = "CamelAwsAthenaKmsKey"; - + @Metadata(label = "startQueryExecution", + description = "Optional max wait time in millis to wait for a successful query completion.\n" + + "See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more.", + javaType = "long") String WAIT_TIMEOUT = "CamelAwsAthenaWaitTimeout"; + @Metadata(label = "startQueryExecution", description = "Milliseconds before the first poll for query execution status.\n" + + "See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more.", + javaType = "long") String INITIAL_DELAY = "CamelAwsAthenaInitialDelay"; + @Metadata(label = "startQueryExecution", description = "Milliseconds before the next poll for query execution status.\n" + + "See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more.", + javaType = "long") String DELAY = "CamelAwsAthenaDelay"; - + @Metadata(label = "startQueryExecution", + description = "Maximum number of times to attempt a query. Set to 1 to disable retries.\n" + + "See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more.", + javaType = "int") String MAX_ATTEMPTS = "CamelAwsAthenaMaxAttempts"; + @Metadata(label = "startQueryExecution", + description = "Optional comma separated list of error types to retry the query for. Use\n" + + "'retryable' to retry all retryable failure conditions (e.g. generic errors and resources exhausted),\n" + + + "'generic' to retry 'GENERIC_INTERNAL_ERROR' failures,\n" + + "'exhausted' to retry queries that have exhausted resource limits,\n" + + "'always' to always retry regardless of failure condition, or\n" + + "'never' or null to never retry (default).\n" + + "See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more.", + javaType = "String") String RETRY = "CamelAwsAthenaRetry"; + @Metadata(label = "startQueryExecution", description = "Reset the waitTimeout countdown in the event of a query retry.\n" + + "If set to true, potential max time spent waiting for queries is equal to waitTimeout x maxAttempts.\n" + + + "See the section 'Waiting for Query Completion and Retrying Failed Queries' to learn more.", + javaType = "boolean") String RESET_WAIT_TIMEOUT_ON_RETRY = "CamelAwsAthenaResetWaitTimeoutOnRetry"; + @Metadata(label = "startQueryExecution", + description = "Total number of attempts made to run the query. Will be greater than 1 if the query is retried.", + javaType = "int") String START_QUERY_EXECUTION_ATTEMPTS = "CamelAwsAthenaStartQueryExecutionAttempts"; // read only + @Metadata(label = "startQueryExecution", + description = "Total time in millis taken in startQueryExecution (mostly relevant when waiting for query completion within startQueryExecution).", + javaType = "long") String START_QUERY_EXECUTION_ELAPSED_MILLIS = "CamelAwsAthenaStartQueryExecutionElapsedMillis"; // read only } diff --git a/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Endpoint.java b/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Endpoint.java index f74d1e8..797fb34 100644 --- a/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Endpoint.java +++ b/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2Endpoint.java @@ -32,8 +32,7 @@ import software.amazon.awssdk.services.athena.AthenaClient; * Access AWS Athena service using AWS SDK version 2.x. */ @UriEndpoint(firstVersion = "3.4.0", scheme = "aws2-athena", title = "AWS Athena", syntax = "aws2-athena:label", - producerOnly = true, category = { - Category.CLOUD, Category.DATABASE }) + producerOnly = true, category = { Category.CLOUD, Category.DATABASE }, headersClass = Athena2Constants.class) public class Athena2Endpoint extends DefaultEndpoint { private AthenaClient athenaClient;
