Difference between revisions of "Terraform resource: aws dynamodb table"

From wikieduonline
Jump to navigation Jump to search
Tags: Mobile web edit, Mobile edit
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
  aws_dynamodb_table
+
<code>aws_dynamodb_table</code>
 +
* https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/dynamodb_table
 +
 
 +
* <code>billing_mode: [ PROVISIONED | PAY_PER_REQUEST ]</code>
 +
 
 +
== Official example ==
 +
 
 +
  resource "aws_dynamodb_table" "basic-dynamodb-table" {
 +
  name          = "GameScores"
 +
  [[billing_mode]]  = "PROVISIONED"
 +
  read_capacity  = 20
 +
  write_capacity = 20
 +
  [[hash_key]]      = "UserId"
 +
  range_key      = "GameTitle"
 +
 +
  attribute {
 +
    name = "UserId"
 +
    type = "S"
 +
  }
 +
 +
  attribute {
 +
    name = "GameTitle"
 +
    type = "S"
 +
  }
 +
 +
  attribute {
 +
    name = "TopScore"
 +
    type = "N"
 +
  }
 +
 +
  ttl {
 +
    attribute_name = "TimeToExist"
 +
    enabled        = false
 +
  }
 +
 +
  global_secondary_index {
 +
    name              = "GameTitleIndex"
 +
    hash_key          = "GameTitle"
 +
    range_key          = "TopScore"
 +
    [[write_capacity]]    = 10
 +
    [[read_capacity]]      = 10
 +
    projection_type    = "INCLUDE"
 +
    non_key_attributes = ["UserId"]
 +
  }
 +
 
 +
  tags = {
 +
    Name        = "dynamodb-table-1"
 +
    Environment = "production"
 +
  }
 +
}
  
 
== See also ==
 
== See also ==
 +
* {{tf dynamodb}}
 
* {{DynamoDB}}
 
* {{DynamoDB}}
  
 
[[Category:AWS]]
 
[[Category:AWS]]

Latest revision as of 04:51, 28 March 2023

aws_dynamodb_table

  • billing_mode: [ PROVISIONED | PAY_PER_REQUEST ]

Official example[edit]

resource "aws_dynamodb_table" "basic-dynamodb-table" {
 name           = "GameScores"
 billing_mode   = "PROVISIONED"
 read_capacity  = 20
 write_capacity = 20
 hash_key       = "UserId"
 range_key      = "GameTitle"

 attribute {
   name = "UserId"
   type = "S"
 }

 attribute {
   name = "GameTitle"
   type = "S"
 }

 attribute {
   name = "TopScore"
   type = "N"
 }

 ttl {
   attribute_name = "TimeToExist"
   enabled        = false
 }

 global_secondary_index {
   name               = "GameTitleIndex"
   hash_key           = "GameTitle"
   range_key          = "TopScore"
   write_capacity     = 10
   read_capacity      = 10
   projection_type    = "INCLUDE"
   non_key_attributes = ["UserId"]
 }
 tags = {
   Name        = "dynamodb-table-1"
   Environment = "production"
 }
}

See also[edit]

Advertising: