Skip to content

Commit 60322a1

Browse files
robertojrojasItalyPaleAleartursouza
authored
[AWS State DynamoDB] Adds Component Metadata Schema (#2906)
Signed-off-by: Roberto J Rojas <[email protected]> Signed-off-by: Roberto Rojas <[email protected]> Co-authored-by: Alessandro (Ale) Segala <[email protected]> Co-authored-by: Artur Souza <[email protected]>
1 parent c2dbb03 commit 60322a1

File tree

2 files changed

+64
-3
lines changed

2 files changed

+64
-3
lines changed

state/aws/dynamodb/dynamodb.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,13 @@ type StateStore struct {
4646
}
4747

4848
type dynamoDBMetadata struct {
49+
// Ignored by metadata parser because included in built-in authentication profile
50+
AccessKey string `json:"accessKey" mapstructure:"accessKey" mdignore:"true"`
51+
SecretKey string `json:"secretKey" mapstructure:"secretKey" mdignore:"true"`
52+
SessionToken string `json:"sessionToken" mapstructure:"sessionToken" mdignore:"true"`
53+
4954
Region string `json:"region"`
5055
Endpoint string `json:"endpoint"`
51-
AccessKey string `json:"accessKey"`
52-
SecretKey string `json:"secretKey"`
53-
SessionToken string `json:"sessionToken"`
5456
Table string `json:"table"`
5557
TTLAttributeName string `json:"ttlAttributeName"`
5658
PartitionKey string `json:"partitionKey"`

state/aws/dynamodb/metadata.yaml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# yaml-language-server: $schema=../../../component-metadata-schema.json
2+
schemaVersion: v1
3+
type: state
4+
name: aws.dynamodb
5+
version: v1
6+
status: stable
7+
title: "AWS DynamoDB"
8+
urls:
9+
- title: Reference
10+
url: https://docs.dapr.io/reference/components-reference/supported-state-stores/setup-dynamodb/
11+
capabilities:
12+
- crud
13+
- transactional
14+
- etag
15+
- ttl
16+
- actorStateStore
17+
builtinAuthenticationProfiles:
18+
- name: "aws"
19+
metadata:
20+
- name: table
21+
required: true
22+
description: |
23+
The name of the DynamoDB table to use.
24+
example: '"Contracts"'
25+
type: string
26+
- name: region
27+
required: false
28+
description: |
29+
The AWS region to use. Ensure that DynamoDB is available in that region.
30+
See the `Amazon DynamoDB endpoints and quotas` documentation.
31+
url:
32+
title: Amazon DynamoDB endpoints and quotas
33+
url: https://docs.aws.amazon.com/general/latest/gr/ddb.html
34+
example: '"us-east-1"'
35+
type: string
36+
- name: endpoint
37+
required: false
38+
description: |
39+
AWS endpoint for the component to use. Only used for local development.
40+
The endpoint is not necessary when running against production AWS.
41+
example: '"http://localhost:4566"'
42+
type: string
43+
- name: ttlAttributeName
44+
required: false
45+
description: |
46+
The table attribute name which should be used for TTL.
47+
example: '"expiresAt"'
48+
type: string
49+
- name: partitionKey
50+
required: false
51+
description: |
52+
The table primary key or partition key attribute name.
53+
This field is used to replace the default primary key attribute name "key".
54+
url:
55+
title: More details
56+
url: https://docs.dapr.io/reference/components-reference/supported-state-stores/setup-dynamodb/#partition-keys
57+
example: '"ContractID"'
58+
type: string
59+

0 commit comments

Comments
 (0)