x-dynamodb

Properties

See AWS CFN Dynamodb Documentation

Hint

We are testing using the examples provided by AWS in the documentation of DynamoDB itself!

Services

List of key/pair values, as for other ECS ComposeX x-resources.

Three access types have been created for the table:

  • RW

  • RO

  • PowerUser

Services example
x-dynamodb:
  tableA:
    Properties: {}
    Services:
      - name: serviceA
        access: RW
      - name: serviceB
        access: RO

Settings

The only setting available at this time is EnvNames, as for all other x-resources. Stay tuned for updates.

Lookup

Lookup is currently implemented for DynamoDB tables!

Examples

Lookup existing table
x-dynamodb:
  tableC:
    Lookup:
      Tags:
        - name: tableC
        - key: value
Tables with GSI
---
# Blog applications

version: '3.8'

x-dynamodb:
  tableA:
    Properties:
      AttributeDefinitions:
        - AttributeName: "Album"
          AttributeType: "S"
        - AttributeName: "Artist"
          AttributeType: "S"
        - AttributeName: "Sales"
          AttributeType: "N"
        - AttributeName: "NumberOfSongs"
          AttributeType: "N"
      KeySchema:
        - AttributeName: "Album"
          KeyType: "HASH"
        - AttributeName: "Artist"
          KeyType: "RANGE"
      ProvisionedThroughput:
        ReadCapacityUnits: "5"
        WriteCapacityUnits: "5"
      GlobalSecondaryIndexes:
        - IndexName: "myGSI"
          KeySchema:
            - AttributeName: "Sales"
              KeyType: "HASH"
            - AttributeName: "Artist"
              KeyType: "RANGE"
          Projection:
            NonKeyAttributes:
              - "Album"
              - "NumberOfSongs"
            ProjectionType: "INCLUDE"
          ProvisionedThroughput:
            ReadCapacityUnits: "5"
            WriteCapacityUnits: "5"
        - IndexName: "myGSI2"
          KeySchema:
            - AttributeName: "NumberOfSongs"
              KeyType: "HASH"
            - AttributeName: "Sales"
              KeyType: "RANGE"
          Projection:
            NonKeyAttributes:
              - "Album"
              - "Artist"
            ProjectionType: "INCLUDE"
          ProvisionedThroughput:
            ReadCapacityUnits: "5"
            WriteCapacityUnits: "5"
      LocalSecondaryIndexes:
        - IndexName: "myLSI"
          KeySchema:
            - AttributeName: "Album"
              KeyType: "HASH"
            - AttributeName: "Sales"
              KeyType: "RANGE"
          Projection:
            NonKeyAttributes:
              - "Artist"
              - "NumberOfSongs"
            ProjectionType: "INCLUDE"

    Services:
      - name: app03
        access: RW
      - name: app02
        access: RW
      - name: bignicefamily
        access: RO