/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents a set of primary keys and, for each key, the attributes to
* retrieve from the table. For each primary key, you must provide
* all of the key attributes. For example, with a simple primary key, you
* only need to provide the partition key. For a composite primary key, you must
* provide both the partition key and the sort key.See Also:
* AWS
* API Reference
The primary key attribute values that define the items and the attributes * associated with the items.
*/ inline const Aws::VectorThe primary key attribute values that define the items and the attributes * associated with the items.
*/ inline bool KeysHasBeenSet() const { return m_keysHasBeenSet; } /** *The primary key attribute values that define the items and the attributes * associated with the items.
*/ inline void SetKeys(const Aws::VectorThe primary key attribute values that define the items and the attributes * associated with the items.
*/ inline void SetKeys(Aws::VectorThe primary key attribute values that define the items and the attributes * associated with the items.
*/ inline KeysAndAttributes& WithKeys(const Aws::VectorThe primary key attribute values that define the items and the attributes * associated with the items.
*/ inline KeysAndAttributes& WithKeys(Aws::VectorThe primary key attribute values that define the items and the attributes * associated with the items.
*/ inline KeysAndAttributes& AddKeys(const Aws::MapThe primary key attribute values that define the items and the attributes * associated with the items.
*/ inline KeysAndAttributes& AddKeys(Aws::MapThis is a legacy parameter. Use ProjectionExpression
instead.
* For more information, see Legacy
* Conditional Parameters in the Amazon DynamoDB Developer Guide.
This is a legacy parameter. Use ProjectionExpression
instead.
* For more information, see Legacy
* Conditional Parameters in the Amazon DynamoDB Developer Guide.
This is a legacy parameter. Use ProjectionExpression
instead.
* For more information, see Legacy
* Conditional Parameters in the Amazon DynamoDB Developer Guide.
This is a legacy parameter. Use ProjectionExpression
instead.
* For more information, see Legacy
* Conditional Parameters in the Amazon DynamoDB Developer Guide.
This is a legacy parameter. Use ProjectionExpression
instead.
* For more information, see Legacy
* Conditional Parameters in the Amazon DynamoDB Developer Guide.
This is a legacy parameter. Use ProjectionExpression
instead.
* For more information, see Legacy
* Conditional Parameters in the Amazon DynamoDB Developer Guide.
This is a legacy parameter. Use ProjectionExpression
instead.
* For more information, see Legacy
* Conditional Parameters in the Amazon DynamoDB Developer Guide.
This is a legacy parameter. Use ProjectionExpression
instead.
* For more information, see Legacy
* Conditional Parameters in the Amazon DynamoDB Developer Guide.
This is a legacy parameter. Use ProjectionExpression
instead.
* For more information, see Legacy
* Conditional Parameters in the Amazon DynamoDB Developer Guide.
The consistency of a read operation. If set to true
, then a
* strongly consistent read is used; otherwise, an eventually consistent read is
* used.
The consistency of a read operation. If set to true
, then a
* strongly consistent read is used; otherwise, an eventually consistent read is
* used.
The consistency of a read operation. If set to true
, then a
* strongly consistent read is used; otherwise, an eventually consistent read is
* used.
The consistency of a read operation. If set to true
, then a
* strongly consistent read is used; otherwise, an eventually consistent read is
* used.
A string that identifies one or more attributes to retrieve from the table.
* These attributes can include scalars, sets, or elements of a JSON document. The
* attributes in the ProjectionExpression
must be separated by
* commas.
If no attribute names are specified, then all attributes will be * returned. If any of the requested attributes are not found, they will not appear * in the result.
For more information, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline const Aws::String& GetProjectionExpression() const{ return m_projectionExpression; } /** *A string that identifies one or more attributes to retrieve from the table.
* These attributes can include scalars, sets, or elements of a JSON document. The
* attributes in the ProjectionExpression
must be separated by
* commas.
If no attribute names are specified, then all attributes will be * returned. If any of the requested attributes are not found, they will not appear * in the result.
For more information, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline bool ProjectionExpressionHasBeenSet() const { return m_projectionExpressionHasBeenSet; } /** *A string that identifies one or more attributes to retrieve from the table.
* These attributes can include scalars, sets, or elements of a JSON document. The
* attributes in the ProjectionExpression
must be separated by
* commas.
If no attribute names are specified, then all attributes will be * returned. If any of the requested attributes are not found, they will not appear * in the result.
For more information, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline void SetProjectionExpression(const Aws::String& value) { m_projectionExpressionHasBeenSet = true; m_projectionExpression = value; } /** *A string that identifies one or more attributes to retrieve from the table.
* These attributes can include scalars, sets, or elements of a JSON document. The
* attributes in the ProjectionExpression
must be separated by
* commas.
If no attribute names are specified, then all attributes will be * returned. If any of the requested attributes are not found, they will not appear * in the result.
For more information, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline void SetProjectionExpression(Aws::String&& value) { m_projectionExpressionHasBeenSet = true; m_projectionExpression = std::move(value); } /** *A string that identifies one or more attributes to retrieve from the table.
* These attributes can include scalars, sets, or elements of a JSON document. The
* attributes in the ProjectionExpression
must be separated by
* commas.
If no attribute names are specified, then all attributes will be * returned. If any of the requested attributes are not found, they will not appear * in the result.
For more information, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline void SetProjectionExpression(const char* value) { m_projectionExpressionHasBeenSet = true; m_projectionExpression.assign(value); } /** *A string that identifies one or more attributes to retrieve from the table.
* These attributes can include scalars, sets, or elements of a JSON document. The
* attributes in the ProjectionExpression
must be separated by
* commas.
If no attribute names are specified, then all attributes will be * returned. If any of the requested attributes are not found, they will not appear * in the result.
For more information, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline KeysAndAttributes& WithProjectionExpression(const Aws::String& value) { SetProjectionExpression(value); return *this;} /** *A string that identifies one or more attributes to retrieve from the table.
* These attributes can include scalars, sets, or elements of a JSON document. The
* attributes in the ProjectionExpression
must be separated by
* commas.
If no attribute names are specified, then all attributes will be * returned. If any of the requested attributes are not found, they will not appear * in the result.
For more information, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline KeysAndAttributes& WithProjectionExpression(Aws::String&& value) { SetProjectionExpression(std::move(value)); return *this;} /** *A string that identifies one or more attributes to retrieve from the table.
* These attributes can include scalars, sets, or elements of a JSON document. The
* attributes in the ProjectionExpression
must be separated by
* commas.
If no attribute names are specified, then all attributes will be * returned. If any of the requested attributes are not found, they will not appear * in the result.
For more information, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline KeysAndAttributes& WithProjectionExpression(const char* value) { SetProjectionExpression(value); return *this;} /** *One or more substitution tokens for attribute names in an expression. The
* following are some use cases for using
* ExpressionAttributeNames
:
To access an attribute * whose name conflicts with a DynamoDB reserved word.
To create * a placeholder for repeating occurrences of an attribute name in an * expression.
To prevent special characters in an attribute name * from being misinterpreted in an expression.
Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:
Percentile
*
The name of this attribute conflicts with a reserved word,
* so it cannot be used directly in an expression. (For the complete list of
* reserved words, see Reserved
* Words in the Amazon DynamoDB Developer Guide). To work around this,
* you could specify the following for ExpressionAttributeNames
:
{"#P":"Percentile"}
You could * then use this substitution in an expression, as in this example:
#P = :val
Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.
For more * information on expression attribute names, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline const Aws::MapOne or more substitution tokens for attribute names in an expression. The
* following are some use cases for using
* ExpressionAttributeNames
:
To access an attribute * whose name conflicts with a DynamoDB reserved word.
To create * a placeholder for repeating occurrences of an attribute name in an * expression.
To prevent special characters in an attribute name * from being misinterpreted in an expression.
Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:
Percentile
*
The name of this attribute conflicts with a reserved word,
* so it cannot be used directly in an expression. (For the complete list of
* reserved words, see Reserved
* Words in the Amazon DynamoDB Developer Guide). To work around this,
* you could specify the following for ExpressionAttributeNames
:
{"#P":"Percentile"}
You could * then use this substitution in an expression, as in this example:
#P = :val
Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.
For more * information on expression attribute names, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline bool ExpressionAttributeNamesHasBeenSet() const { return m_expressionAttributeNamesHasBeenSet; } /** *One or more substitution tokens for attribute names in an expression. The
* following are some use cases for using
* ExpressionAttributeNames
:
To access an attribute * whose name conflicts with a DynamoDB reserved word.
To create * a placeholder for repeating occurrences of an attribute name in an * expression.
To prevent special characters in an attribute name * from being misinterpreted in an expression.
Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:
Percentile
*
The name of this attribute conflicts with a reserved word,
* so it cannot be used directly in an expression. (For the complete list of
* reserved words, see Reserved
* Words in the Amazon DynamoDB Developer Guide). To work around this,
* you could specify the following for ExpressionAttributeNames
:
{"#P":"Percentile"}
You could * then use this substitution in an expression, as in this example:
#P = :val
Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.
For more * information on expression attribute names, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline void SetExpressionAttributeNames(const Aws::MapOne or more substitution tokens for attribute names in an expression. The
* following are some use cases for using
* ExpressionAttributeNames
:
To access an attribute * whose name conflicts with a DynamoDB reserved word.
To create * a placeholder for repeating occurrences of an attribute name in an * expression.
To prevent special characters in an attribute name * from being misinterpreted in an expression.
Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:
Percentile
*
The name of this attribute conflicts with a reserved word,
* so it cannot be used directly in an expression. (For the complete list of
* reserved words, see Reserved
* Words in the Amazon DynamoDB Developer Guide). To work around this,
* you could specify the following for ExpressionAttributeNames
:
{"#P":"Percentile"}
You could * then use this substitution in an expression, as in this example:
#P = :val
Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.
For more * information on expression attribute names, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline void SetExpressionAttributeNames(Aws::MapOne or more substitution tokens for attribute names in an expression. The
* following are some use cases for using
* ExpressionAttributeNames
:
To access an attribute * whose name conflicts with a DynamoDB reserved word.
To create * a placeholder for repeating occurrences of an attribute name in an * expression.
To prevent special characters in an attribute name * from being misinterpreted in an expression.
Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:
Percentile
*
The name of this attribute conflicts with a reserved word,
* so it cannot be used directly in an expression. (For the complete list of
* reserved words, see Reserved
* Words in the Amazon DynamoDB Developer Guide). To work around this,
* you could specify the following for ExpressionAttributeNames
:
{"#P":"Percentile"}
You could * then use this substitution in an expression, as in this example:
#P = :val
Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.
For more * information on expression attribute names, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline KeysAndAttributes& WithExpressionAttributeNames(const Aws::MapOne or more substitution tokens for attribute names in an expression. The
* following are some use cases for using
* ExpressionAttributeNames
:
To access an attribute * whose name conflicts with a DynamoDB reserved word.
To create * a placeholder for repeating occurrences of an attribute name in an * expression.
To prevent special characters in an attribute name * from being misinterpreted in an expression.
Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:
Percentile
*
The name of this attribute conflicts with a reserved word,
* so it cannot be used directly in an expression. (For the complete list of
* reserved words, see Reserved
* Words in the Amazon DynamoDB Developer Guide). To work around this,
* you could specify the following for ExpressionAttributeNames
:
{"#P":"Percentile"}
You could * then use this substitution in an expression, as in this example:
#P = :val
Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.
For more * information on expression attribute names, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline KeysAndAttributes& WithExpressionAttributeNames(Aws::MapOne or more substitution tokens for attribute names in an expression. The
* following are some use cases for using
* ExpressionAttributeNames
:
To access an attribute * whose name conflicts with a DynamoDB reserved word.
To create * a placeholder for repeating occurrences of an attribute name in an * expression.
To prevent special characters in an attribute name * from being misinterpreted in an expression.
Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:
Percentile
*
The name of this attribute conflicts with a reserved word,
* so it cannot be used directly in an expression. (For the complete list of
* reserved words, see Reserved
* Words in the Amazon DynamoDB Developer Guide). To work around this,
* you could specify the following for ExpressionAttributeNames
:
{"#P":"Percentile"}
You could * then use this substitution in an expression, as in this example:
#P = :val
Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.
For more * information on expression attribute names, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline KeysAndAttributes& AddExpressionAttributeNames(const Aws::String& key, const Aws::String& value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames.emplace(key, value); return *this; } /** *One or more substitution tokens for attribute names in an expression. The
* following are some use cases for using
* ExpressionAttributeNames
:
To access an attribute * whose name conflicts with a DynamoDB reserved word.
To create * a placeholder for repeating occurrences of an attribute name in an * expression.
To prevent special characters in an attribute name * from being misinterpreted in an expression.
Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:
Percentile
*
The name of this attribute conflicts with a reserved word,
* so it cannot be used directly in an expression. (For the complete list of
* reserved words, see Reserved
* Words in the Amazon DynamoDB Developer Guide). To work around this,
* you could specify the following for ExpressionAttributeNames
:
{"#P":"Percentile"}
You could * then use this substitution in an expression, as in this example:
#P = :val
Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.
For more * information on expression attribute names, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline KeysAndAttributes& AddExpressionAttributeNames(Aws::String&& key, const Aws::String& value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames.emplace(std::move(key), value); return *this; } /** *One or more substitution tokens for attribute names in an expression. The
* following are some use cases for using
* ExpressionAttributeNames
:
To access an attribute * whose name conflicts with a DynamoDB reserved word.
To create * a placeholder for repeating occurrences of an attribute name in an * expression.
To prevent special characters in an attribute name * from being misinterpreted in an expression.
Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:
Percentile
*
The name of this attribute conflicts with a reserved word,
* so it cannot be used directly in an expression. (For the complete list of
* reserved words, see Reserved
* Words in the Amazon DynamoDB Developer Guide). To work around this,
* you could specify the following for ExpressionAttributeNames
:
{"#P":"Percentile"}
You could * then use this substitution in an expression, as in this example:
#P = :val
Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.
For more * information on expression attribute names, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline KeysAndAttributes& AddExpressionAttributeNames(const Aws::String& key, Aws::String&& value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames.emplace(key, std::move(value)); return *this; } /** *One or more substitution tokens for attribute names in an expression. The
* following are some use cases for using
* ExpressionAttributeNames
:
To access an attribute * whose name conflicts with a DynamoDB reserved word.
To create * a placeholder for repeating occurrences of an attribute name in an * expression.
To prevent special characters in an attribute name * from being misinterpreted in an expression.
Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:
Percentile
*
The name of this attribute conflicts with a reserved word,
* so it cannot be used directly in an expression. (For the complete list of
* reserved words, see Reserved
* Words in the Amazon DynamoDB Developer Guide). To work around this,
* you could specify the following for ExpressionAttributeNames
:
{"#P":"Percentile"}
You could * then use this substitution in an expression, as in this example:
#P = :val
Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.
For more * information on expression attribute names, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline KeysAndAttributes& AddExpressionAttributeNames(Aws::String&& key, Aws::String&& value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames.emplace(std::move(key), std::move(value)); return *this; } /** *One or more substitution tokens for attribute names in an expression. The
* following are some use cases for using
* ExpressionAttributeNames
:
To access an attribute * whose name conflicts with a DynamoDB reserved word.
To create * a placeholder for repeating occurrences of an attribute name in an * expression.
To prevent special characters in an attribute name * from being misinterpreted in an expression.
Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:
Percentile
*
The name of this attribute conflicts with a reserved word,
* so it cannot be used directly in an expression. (For the complete list of
* reserved words, see Reserved
* Words in the Amazon DynamoDB Developer Guide). To work around this,
* you could specify the following for ExpressionAttributeNames
:
{"#P":"Percentile"}
You could * then use this substitution in an expression, as in this example:
#P = :val
Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.
For more * information on expression attribute names, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline KeysAndAttributes& AddExpressionAttributeNames(const char* key, Aws::String&& value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames.emplace(key, std::move(value)); return *this; } /** *One or more substitution tokens for attribute names in an expression. The
* following are some use cases for using
* ExpressionAttributeNames
:
To access an attribute * whose name conflicts with a DynamoDB reserved word.
To create * a placeholder for repeating occurrences of an attribute name in an * expression.
To prevent special characters in an attribute name * from being misinterpreted in an expression.
Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:
Percentile
*
The name of this attribute conflicts with a reserved word,
* so it cannot be used directly in an expression. (For the complete list of
* reserved words, see Reserved
* Words in the Amazon DynamoDB Developer Guide). To work around this,
* you could specify the following for ExpressionAttributeNames
:
{"#P":"Percentile"}
You could * then use this substitution in an expression, as in this example:
#P = :val
Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.
For more * information on expression attribute names, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline KeysAndAttributes& AddExpressionAttributeNames(Aws::String&& key, const char* value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames.emplace(std::move(key), value); return *this; } /** *One or more substitution tokens for attribute names in an expression. The
* following are some use cases for using
* ExpressionAttributeNames
:
To access an attribute * whose name conflicts with a DynamoDB reserved word.
To create * a placeholder for repeating occurrences of an attribute name in an * expression.
To prevent special characters in an attribute name * from being misinterpreted in an expression.
Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:
Percentile
*
The name of this attribute conflicts with a reserved word,
* so it cannot be used directly in an expression. (For the complete list of
* reserved words, see Reserved
* Words in the Amazon DynamoDB Developer Guide). To work around this,
* you could specify the following for ExpressionAttributeNames
:
{"#P":"Percentile"}
You could * then use this substitution in an expression, as in this example:
#P = :val
Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.
For more * information on expression attribute names, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.
*/ inline KeysAndAttributes& AddExpressionAttributeNames(const char* key, const char* value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames.emplace(key, value); return *this; } private: Aws::Vector