SIGN IN SIGN UP

Welcome to the AWS Code Examples Repository. This repo contains code examples used in the AWS documentation, AWS SDK Developer Guides, and more. For more information, see the Readme.md file below.

0 0 1 Java
# DynamoDB code examples for the SDK for C++
2022-10-04 12:50:26 -04:00
## Overview
Shows how to use the AWS SDK for C++ to work with Amazon DynamoDB.
2022-10-04 12:50:26 -04:00
<!--custom.overview.start-->
<!--custom.overview.end-->
_DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability._
## ⚠ Important
* Running this code might result in charges to your AWS account. For more details, see [AWS Pricing](https://aws.amazon.com/pricing/) and [Free Tier](https://aws.amazon.com/free/).
* Running the tests might result in charges to your AWS account.
2022-10-04 12:50:26 -04:00
* We recommend that you grant your code least privilege. At most, grant only the minimum permissions required to perform the task. For more information, see [Grant least privilege](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).
* This code is not tested in every AWS Region. For more information, see [AWS Regional Services](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services).
<!--custom.important.start-->
<!--custom.important.end-->
2022-10-04 12:50:26 -04:00
## Code examples
### Prerequisites
Before using the code examples, first complete the installation and setup steps
for [Getting started](https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/getting-started.html) in the AWS SDK for
C++ Developer Guide.
This section covers how to get and build the SDK, and how to build your own code by using the SDK with a
sample Hello World-style application.
Next, for information on code example structures and how to build and run the examples, see [Getting started with the AWS SDK for C++ code examples](https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/getting-started-code-examples.html).
<!--custom.prerequisites.start-->
<!--custom.prerequisites.end-->
### Get started
- [Hello DynamoDB](hello_dynamodb/CMakeLists.txt#L4) (`ListTables`)
### Basics
Code examples that show you how to perform the essential operations within a service.
- [Learn the basics](dynamodb_getting_started_scenario.cpp)
2022-10-04 12:50:26 -04:00
### Single actions
2022-10-04 12:50:26 -04:00
Code excerpts that show you how to call individual service functions.
- [BatchExecuteStatement](dynamodb_partiql_batch_scenario.cpp#L48)
- [BatchGetItem](batch_get_item.cpp#L30)
- [BatchWriteItem](batch_write_item.cpp#L49)
- [CreateTable](create_table.cpp#L27)
- [DeleteItem](delete_item.cpp#L22)
- [DeleteTable](delete_table.cpp#L23)
- [DescribeTable](describe_table.cpp#L23)
- [ExecuteStatement](dynamodb_partiql_single_scenario.cpp#L47)
- [GetItem](get_item.cpp#L24)
- [ListTables](list_tables.cpp#L26)
- [PutItem](put_item.cpp#L25)
- [Query](query_items.cpp#L22)
- [Scan](scan_table.cpp#L23)
- [UpdateItem](update_item.cpp#L24)
- [UpdateTable](update_table.cpp#L33)
2022-10-04 12:50:26 -04:00
### Scenarios
Code examples that show you how to accomplish a specific task by calling multiple
functions within the same service.
- [Create a serverless application to manage photos](../../example_code/cross-service/photo_asset_manager)
- [Query a table by using batches of PartiQL statements](dynamodb_partiql_batch_scenario.cpp)
- [Query a table using PartiQL](dynamodb_partiql_single_scenario.cpp)
<!--custom.examples.start-->
<!--custom.examples.end-->
2022-10-04 12:50:26 -04:00
## Run the examples
### Instructions
2024-02-08 15:35:59 -05:00
An executable is built for each source file in this folder. These executables are located in the build folder and have
"run_" prepended to the source file name, minus the suffix. See the "main" function in the source file for further instructions.
2022-10-04 12:50:26 -04:00
For example, to run the action in the source file "my_action.cpp", execute the following command from within the build folder. The command
will display any required arguments.
```
./run_my_action
```
2024-02-08 15:35:59 -05:00
If the source file is in a different folder, instructions can be found in the README in that
folder.
<!--custom.instructions.start-->
<!--custom.instructions.end-->
#### Hello DynamoDB
This example shows you how to get started using DynamoDB.
#### Learn the basics
This example shows you how to do the following:
- Create a table that can hold movie data.
- Put, get, and update a single movie in the table.
- Write movie data to the table from a sample JSON file.
- Query for movies that were released in a given year.
- Scan for movies that were released in a range of years.
- Delete a movie from the table, then delete the table.
<!--custom.basic_prereqs.dynamodb_Scenario_GettingStartedMovies.start-->
<!--custom.basic_prereqs.dynamodb_Scenario_GettingStartedMovies.end-->
<!--custom.basics.dynamodb_Scenario_GettingStartedMovies.start-->
<!--custom.basics.dynamodb_Scenario_GettingStartedMovies.end-->
#### Create a serverless application to manage photos
This example shows you how to create a serverless application that lets users manage photos using labels.
<!--custom.scenario_prereqs.cross_PAM.start-->
<!--custom.scenario_prereqs.cross_PAM.end-->
<!--custom.scenarios.cross_PAM.start-->
<!--custom.scenarios.cross_PAM.end-->
#### Query a table by using batches of PartiQL statements
This example shows you how to do the following:
- Get a batch of items by running multiple SELECT statements.
- Add a batch of items by running multiple INSERT statements.
- Update a batch of items by running multiple UPDATE statements.
- Delete a batch of items by running multiple DELETE statements.
<!--custom.scenario_prereqs.dynamodb_Scenario_PartiQLBatch.start-->
<!--custom.scenario_prereqs.dynamodb_Scenario_PartiQLBatch.end-->
<!--custom.scenarios.dynamodb_Scenario_PartiQLBatch.start-->
<!--custom.scenarios.dynamodb_Scenario_PartiQLBatch.end-->
#### Query a table using PartiQL
This example shows you how to do the following:
- Get an item by running a SELECT statement.
- Add an item by running an INSERT statement.
- Update an item by running an UPDATE statement.
- Delete an item by running a DELETE statement.
<!--custom.scenario_prereqs.dynamodb_Scenario_PartiQLSingle.start-->
<!--custom.scenario_prereqs.dynamodb_Scenario_PartiQLSingle.end-->
<!--custom.scenarios.dynamodb_Scenario_PartiQLSingle.start-->
<!--custom.scenarios.dynamodb_Scenario_PartiQLSingle.end-->
### Tests
⚠ Running tests might result in charges to your AWS account.
2022-10-04 12:50:26 -04:00
```sh
cd <BUILD_DIR>
cmake <path-to-root-of-this-source-code> -DBUILD_TESTS=ON
make
ctest
```
<!--custom.tests.start-->
<!--custom.tests.end-->
2022-10-04 12:50:26 -04:00
## Additional resources
- [DynamoDB Developer Guide](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html)
- [DynamoDB API Reference](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/Welcome.html)
- [SDK for C++ DynamoDB reference](https://sdk.amazonaws.com/cpp/api/LATEST/aws-cpp-sdk-dynamodb/html/annotated.html)
<!--custom.resources.start-->
<!--custom.resources.end-->
---
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2022-10-04 12:50:26 -04:00
SPDX-License-Identifier: Apache-2.0