2022-10-21 10:23:10 -06:00
# DynamoDB code examples for the SDK for Ruby
2023-05-19 13:23:56 -06:00
2022-03-02 16:17:28 -08:00
## Overview
2021-10-13 19:30:48 +01:00
2023-05-19 13:23:56 -06:00
Shows how to use the AWS SDK for Ruby to work with Amazon DynamoDB.
<!--custom.overview.start-->
<!--custom.overview.end-->
2024-01-04 13:25:48 -05:00
_ DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. _
2023-05-19 13:23:56 -06:00
## ⚠ Important
2022-03-02 16:17:28 -08:00
2024-01-04 13:25:48 -05:00
* 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/ ).
2022-03-02 16:17:28 -08:00
* Running the tests might result in charges to your AWS account.
2023-05-19 13:23:56 -06: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 ).
2022-03-02 16:17:28 -08:00
* 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 ).
2023-05-19 13:23:56 -06:00
<!--custom.important.start-->
<!--custom.important.end-->
2022-03-02 16:17:28 -08:00
## Code examples
2023-05-19 13:23:56 -06:00
### Prerequisites
For prerequisites, see the [README ](../../README.md#Prerequisites ) in the `ruby` folder.
<!--custom.prerequisites.start-->
<!--custom.prerequisites.end-->
2024-07-09 11:47:20 -04:00
### Get started
- [Hello DynamoDB ](hello/hello_dynamodb.rb#L4 ) (`ListTables` )
2024-08-21 13:27:36 -07:00
### Basics
Code examples that show you how to perform the essential operations within a service.
- [Learn the basics ](scaffold.rb )
2022-10-21 10:23:10 -06:00
### Single actions
2023-05-19 13:23:56 -06:00
2022-10-21 10:23:10 -06:00
Code excerpts that show you how to call individual service functions.
2022-03-02 16:17:28 -08:00
2024-09-25 15:25:54 -04:00
- [BatchExecuteStatement ](partiql/partiql_batch.rb#L22 )
- [BatchWriteItem ](scaffold.rb#L81 )
- [CreateTable ](scaffold.rb#L53 )
- [DeleteItem ](basics/dynamodb_basics.rb#L129 )
- [DeleteTable ](scaffold.rb#L108 )
- [DescribeTable ](scaffold.rb#L34 )
- [ExecuteStatement ](partiql/partiql_single.rb#L22 )
2024-04-30 12:22:08 -07:00
- [GetItem ](basics/dynamodb_basics.rb#L40 )
2024-09-25 15:25:54 -04:00
- [ListTables ](scaffold.rb#L34 )
- [PutItem ](basics/dynamodb_basics.rb#L21 )
2024-04-30 12:22:08 -07:00
- [Query ](basics/dynamodb_basics.rb#L75 )
2024-09-25 15:25:54 -04:00
- [Scan ](basics/dynamodb_basics.rb#L95 )
2024-04-30 12:22:08 -07:00
- [UpdateItem ](basics/dynamodb_basics.rb#L55 )
2021-01-27 13:29:19 -08:00
2023-05-19 13:23:56 -06:00
### Scenarios
2021-01-27 13:29:19 -08:00
2023-05-19 13:23:56 -06:00
Code examples that show you how to accomplish a specific task by calling multiple
functions within the same service.
2021-01-27 13:29:19 -08:00
2024-01-04 13:25:48 -05:00
- [Query a table by using batches of PartiQL statements ](partiql/scenario_partiql_batch.rb )
- [Query a table using PartiQL ](partiql/scenario_partiql_single.rb )
<!--custom.examples.start-->
<!--custom.examples.end-->
2021-01-27 13:29:19 -08:00
2023-05-19 13:23:56 -06:00
## Run the examples
2022-03-02 16:17:28 -08:00
2023-05-19 13:23:56 -06:00
### Instructions
2021-01-27 13:29:19 -08:00
2023-05-19 13:23:56 -06:00
<!--custom.instructions.start-->
<!--custom.instructions.end-->
2022-03-02 16:17:28 -08:00
2024-07-09 11:47:20 -04:00
#### Hello DynamoDB
This example shows you how to get started using DynamoDB.
```
ruby hello/hello_dynamodb.rb
```
2022-03-02 16:17:28 -08:00
2024-08-21 13:27:36 -07:00
#### Learn the basics
2021-01-27 13:29:19 -08:00
2023-05-19 13:23:56 -06:00
This example shows you how to do the following:
2023-03-04 02:09:05 -06:00
2024-01-04 13:25:48 -05:00
- 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.
2023-03-04 02:09:05 -06:00
2024-08-21 13:27:36 -07:00
<!--custom.basic_prereqs.dynamodb_Scenario_GettingStartedMovies.start-->
<!--custom.basic_prereqs.dynamodb_Scenario_GettingStartedMovies.end-->
2023-03-04 02:09:05 -06:00
2023-05-19 13:23:56 -06:00
Start the example by running the following at a command prompt:
2023-03-04 02:09:05 -06:00
2023-05-19 13:23:56 -06:00
```
ruby scaffold.rb
```
2023-03-04 02:09:05 -06:00
2024-08-21 13:27:36 -07:00
<!--custom.basics.dynamodb_Scenario_GettingStartedMovies.start-->
<!--custom.basics.dynamodb_Scenario_GettingStartedMovies.end-->
2021-01-27 13:29:19 -08:00
2023-05-19 13:23:56 -06:00
#### Query a table by using batches of PartiQL statements
2022-10-21 10:23:10 -06:00
2023-05-19 13:23:56 -06:00
This example shows you how to do the following:
2022-03-02 16:17:28 -08:00
2024-01-04 13:25:48 -05:00
- 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.
2022-03-02 16:17:28 -08:00
2023-05-19 13:23:56 -06:00
<!--custom.scenario_prereqs.dynamodb_Scenario_PartiQLBatch.start-->
<!--custom.scenario_prereqs.dynamodb_Scenario_PartiQLBatch.end-->
2021-01-27 13:29:19 -08:00
2023-05-19 13:23:56 -06:00
Start the example by running the following at a command prompt:
2022-03-02 16:17:28 -08:00
2023-05-19 13:23:56 -06:00
```
ruby partiql/scenario_partiql_batch.rb
```
2022-10-21 10:23:10 -06:00
2023-05-19 13:23:56 -06:00
<!--custom.scenarios.dynamodb_Scenario_PartiQLBatch.start-->
<!--custom.scenarios.dynamodb_Scenario_PartiQLBatch.end-->
2022-10-21 10:23:10 -06:00
2023-05-19 13:23:56 -06:00
#### Query a table using PartiQL
2022-10-21 10:23:10 -06:00
2023-05-19 13:23:56 -06:00
This example shows you how to do the following:
2024-01-04 13:25:48 -05:00
- 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.
2023-05-19 13:23:56 -06:00
<!--custom.scenario_prereqs.dynamodb_Scenario_PartiQLSingle.start-->
<!--custom.scenario_prereqs.dynamodb_Scenario_PartiQLSingle.end-->
2022-10-21 10:23:10 -06:00
2023-05-19 13:23:56 -06:00
Start the example by running the following at a command prompt:
```
ruby partiql/scenario_partiql_single.rb
```
<!--custom.scenarios.dynamodb_Scenario_PartiQLSingle.start-->
<!--custom.scenarios.dynamodb_Scenario_PartiQLSingle.end-->
2022-10-21 10:23:10 -06:00
### Tests
2023-05-19 13:23:56 -06:00
⚠ Running tests might result in charges to your AWS account.
To find instructions for running these tests, see the [README ](../../README.md#Tests )
in the `ruby` folder.
<!--custom.tests.start-->
## Contribute
Code examples thrive on community contribution.
To learn more about the contributing process, see [CONTRIBUTING.md ](../../../CONTRIBUTING.md ).
<!--custom.tests.end-->
2022-10-21 10:23:10 -06:00
## Additional resources
2021-01-27 13:29:19 -08:00
2024-01-04 13:25:48 -05:00
- [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 Ruby DynamoDB reference ](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Dynamodb.html )
2023-05-19 13:23:56 -06:00
<!--custom.resources.start-->
<!--custom.resources.end-->
---
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0