Skip to content
8 changes: 4 additions & 4 deletions kotlin/services/dynamodb/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ For prerequisites, see the [README](../../README.md#Prerequisites) in the `kotli

Code examples that show you how to perform the essential operations within a service.

- [Learn the basics](src/main/kotlin/com/kotlin/dynamodb/Scenario.kt)
- [Learn the basics](src/main/kotlin/com/kotlin/dynamodb/scenario/Scenario.kt)


### Single actions
Expand All @@ -55,8 +55,8 @@ Code excerpts that show you how to call individual service functions.
Code examples that show you how to accomplish a specific task by calling multiple
functions within the same service.

- [Query a table by using batches of PartiQL statements](src/main/kotlin/com/kotlin/dynamodb/ScenarioPartiQLBatch.kt)
- [Query a table using PartiQL](src/main/kotlin/com/kotlin/dynamodb/ScenarioPartiQ.kt)
- [Query a table by using batches of PartiQL statements](src/main/kotlin/com/kotlin/dynamodb/scenario/ScenarioPartiQLBatch.kt)
- [Query a table using PartiQL](src/main/kotlin/com/kotlin/dynamodb/scenario/ScenarioPartiQ.kt)


<!--custom.examples.start-->
Expand Down Expand Up @@ -148,4 +148,4 @@ in the `kotlin` folder.

Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0
SPDX-License-Identifier: Apache-2.0
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ package com.kotlin.dynamodb
// snippet-start:[dynamodb.kotlin.create_table.import]
import aws.sdk.kotlin.services.dynamodb.DynamoDbClient
import aws.sdk.kotlin.services.dynamodb.model.AttributeDefinition
import aws.sdk.kotlin.services.dynamodb.model.BillingMode
import aws.sdk.kotlin.services.dynamodb.model.CreateTableRequest
import aws.sdk.kotlin.services.dynamodb.model.KeySchemaElement
import aws.sdk.kotlin.services.dynamodb.model.KeyType
import aws.sdk.kotlin.services.dynamodb.model.ProvisionedThroughput
import aws.sdk.kotlin.services.dynamodb.model.ScalarAttributeType
import aws.sdk.kotlin.services.dynamodb.waiters.waitUntilTableExists
import kotlin.system.exitProcess
Expand Down Expand Up @@ -62,17 +62,11 @@ suspend fun createNewTable(
keyType = KeyType.Hash
}

val provisionedVal =
ProvisionedThroughput {
readCapacityUnits = 10
writeCapacityUnits = 10
}

val request =
CreateTableRequest {
attributeDefinitions = listOf(attDef)
keySchema = listOf(keySchemaVal)
provisionedThroughput = provisionedVal
billingMode = BillingMode.PayPerRequest
tableName = tableNameVal
}

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

package com.kotlin.dynamodb
package com.kotlin.dynamodb.scenario

// snippet-start:[dynamodb.kotlin.scenario.import]
import aws.sdk.kotlin.services.dynamodb.DynamoDbClient
import aws.sdk.kotlin.services.dynamodb.model.AttributeDefinition
import aws.sdk.kotlin.services.dynamodb.model.AttributeValue
import aws.sdk.kotlin.services.dynamodb.model.BillingMode
import aws.sdk.kotlin.services.dynamodb.model.CreateTableRequest
import aws.sdk.kotlin.services.dynamodb.model.DeleteTableRequest
import aws.sdk.kotlin.services.dynamodb.model.GetItemRequest
import aws.sdk.kotlin.services.dynamodb.model.KeySchemaElement
import aws.sdk.kotlin.services.dynamodb.model.KeyType
import aws.sdk.kotlin.services.dynamodb.model.ProvisionedThroughput
import aws.sdk.kotlin.services.dynamodb.model.PutItemRequest
import aws.sdk.kotlin.services.dynamodb.model.QueryRequest
import aws.sdk.kotlin.services.dynamodb.model.ScalarAttributeType
Expand All @@ -23,7 +23,7 @@ import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.databind.node.ObjectNode
import java.io.File
import kotlin.system.exitProcess

// snippet-end:[dynamodb.kotlin.scenario.import]

/**
Expand All @@ -35,23 +35,9 @@ https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/setup.html
*/

// snippet-start:[dynamodb.kotlin.scenario.main]
suspend fun main(args: Array<String>) {
val usage = """
Usage:
<fileName>

Where:
fileName - The path to the moviedata.json you can download from the Amazon DynamoDB Developer Guide.
"""

if (args.size != 1) {
println(usage)
exitProcess(1)
}

// Get the moviedata.json from the Amazon DynamoDB Developer Guide.
suspend fun main() {
val tableName = "Movies"
val fileName = args[0]
val fileName = "../../../resources/sample_files/movies.json"
val partitionAlias = "#a"

println("Creating an Amazon DynamoDB table named Movies with a key named id and a sort key named title.")
Expand Down Expand Up @@ -93,17 +79,11 @@ suspend fun createScenarioTable(
keyType = KeyType.Range
}

val provisionedVal =
ProvisionedThroughput {
readCapacityUnits = 10
writeCapacityUnits = 10
}

val request =
CreateTableRequest {
attributeDefinitions = listOf(attDef, attDef1)
keySchema = listOf(keySchemaVal, keySchemaVal1)
provisionedThroughput = provisionedVal
billingMode = BillingMode.PayPerRequest
tableName = tableNameVal
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,27 +1,26 @@
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

package com.kotlin.dynamodb
package com.kotlin.dynamodb.scenario

// snippet-start:[dynamodb.kotlin.scenario.partiql.import]
import aws.sdk.kotlin.services.dynamodb.DynamoDbClient
import aws.sdk.kotlin.services.dynamodb.model.AttributeDefinition
import aws.sdk.kotlin.services.dynamodb.model.AttributeValue
import aws.sdk.kotlin.services.dynamodb.model.BillingMode
import aws.sdk.kotlin.services.dynamodb.model.CreateTableRequest
import aws.sdk.kotlin.services.dynamodb.model.DeleteTableRequest
import aws.sdk.kotlin.services.dynamodb.model.ExecuteStatementRequest
import aws.sdk.kotlin.services.dynamodb.model.ExecuteStatementResponse
import aws.sdk.kotlin.services.dynamodb.model.KeySchemaElement
import aws.sdk.kotlin.services.dynamodb.model.KeyType
import aws.sdk.kotlin.services.dynamodb.model.ProvisionedThroughput
import aws.sdk.kotlin.services.dynamodb.model.ScalarAttributeType
import aws.sdk.kotlin.services.dynamodb.waiters.waitUntilTableExists
import com.fasterxml.jackson.core.JsonFactory
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.databind.node.ObjectNode
import java.io.File
import kotlin.system.exitProcess
// snippet-end:[dynamodb.kotlin.scenario.partiql.import]

/**
Expand All @@ -33,25 +32,10 @@ import kotlin.system.exitProcess
*/

// snippet-start:[dynamodb.kotlin.scenario.partiql.main]
suspend fun main(args: Array<String>) {
val usage = """
Usage:
<fileName>

Where:
fileName - The path to the moviedata.json file You can download from the Amazon DynamoDB Developer Guide.
"""

if (args.size != 1) {
println(usage)
exitProcess(1)
}

suspend fun main() {
val ddb = DynamoDbClient { region = "us-east-1" }
val tableName = "MoviesPartiQ"

// Get the moviedata.json from the Amazon DynamoDB Developer Guide.
val fileName = args[0]
val fileName = "../../../resources/sample_files/movies.json"
println("Creating an Amazon DynamoDB table named MoviesPartiQ with a key named id and a sort key named title.")
createTablePartiQL(ddb, tableName, "year")
loadDataPartiQL(ddb, fileName)
Expand Down Expand Up @@ -101,17 +85,11 @@ suspend fun createTablePartiQL(
keyType = KeyType.Range
}

val provisionedVal =
ProvisionedThroughput {
readCapacityUnits = 10
writeCapacityUnits = 10
}

val request =
CreateTableRequest {
attributeDefinitions = listOf(attDef, attDef1)
keySchema = listOf(keySchemaVal, keySchemaVal1)
provisionedThroughput = provisionedVal
billingMode = BillingMode.PayPerRequest
tableName = tableNameVal
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

package com.kotlin.dynamodb
package com.kotlin.dynamodb.scenario

// snippet-start:[dynamodb.kotlin.scenario.partiql.batch.import]
import aws.sdk.kotlin.services.dynamodb.DynamoDbClient
import aws.sdk.kotlin.services.dynamodb.model.AttributeDefinition
import aws.sdk.kotlin.services.dynamodb.model.AttributeValue
import aws.sdk.kotlin.services.dynamodb.model.BatchExecuteStatementRequest
import aws.sdk.kotlin.services.dynamodb.model.BatchStatementRequest
import aws.sdk.kotlin.services.dynamodb.model.BillingMode
import aws.sdk.kotlin.services.dynamodb.model.CreateTableRequest
import aws.sdk.kotlin.services.dynamodb.model.DeleteTableRequest
import aws.sdk.kotlin.services.dynamodb.model.KeySchemaElement
import aws.sdk.kotlin.services.dynamodb.model.KeyType
import aws.sdk.kotlin.services.dynamodb.model.ProvisionedThroughput
import aws.sdk.kotlin.services.dynamodb.model.ScalarAttributeType
import aws.sdk.kotlin.services.dynamodb.waiters.waitUntilTableExists
// snippet-end:[dynamodb.kotlin.scenario.partiql.batch.import]
Expand Down Expand Up @@ -75,17 +75,11 @@ suspend fun createTablePartiQLBatch(
keyType = KeyType.Range
}

val provisionedVal =
ProvisionedThroughput {
readCapacityUnits = 10
writeCapacityUnits = 10
}

val request =
CreateTableRequest {
attributeDefinitions = listOf(attDef, attDef1)
keySchema = listOf(keySchemaVal, keySchemaVal1)
provisionedThroughput = provisionedVal
billingMode = BillingMode.PayPerRequest
tableName = tableNameVal
}

Expand Down
Loading
Loading