Class PrimaryKey

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.appsync.PrimaryKey
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable
Direct Known Subclasses:
PartitionKey

@Generated(value="jsii-pacmak/1.97.0 (build 729de35)", date="2024-04-18T17:54:12.826Z") @Stability(Stable) public class PrimaryKey extends software.amazon.jsii.JsiiObject
Specifies the assignment to the primary key.

It either contains the full primary key or only the partition key.

Example:

 GraphqlApi api = GraphqlApi.Builder.create(this, "Api")
         .name("demo")
         .definition(Definition.fromFile(join(__dirname, "schema.graphql")))
         .authorizationConfig(AuthorizationConfig.builder()
                 .defaultAuthorization(AuthorizationMode.builder()
                         .authorizationType(AuthorizationType.IAM)
                         .build())
                 .build())
         .xrayEnabled(true)
         .build();
 Table demoTable = Table.Builder.create(this, "DemoTable")
         .partitionKey(Attribute.builder()
                 .name("id")
                 .type(AttributeType.STRING)
                 .build())
         .build();
 DynamoDbDataSource demoDS = api.addDynamoDbDataSource("demoDataSource", demoTable);
 // Resolver for the Query "getDemos" that scans the DynamoDb table and returns the entire list.
 // Resolver Mapping Template Reference:
 // https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference-dynamodb.html
 demoDS.createResolver("QueryGetDemosResolver", BaseResolverProps.builder()
         .typeName("Query")
         .fieldName("getDemos")
         .requestMappingTemplate(MappingTemplate.dynamoDbScanTable())
         .responseMappingTemplate(MappingTemplate.dynamoDbResultList())
         .build());
 // Resolver for the Mutation "addDemo" that puts the item into the DynamoDb table.
 demoDS.createResolver("MutationAddDemoResolver", BaseResolverProps.builder()
         .typeName("Mutation")
         .fieldName("addDemo")
         .requestMappingTemplate(MappingTemplate.dynamoDbPutItem(PrimaryKey.partition("id").auto(), Values.projecting("input")))
         .responseMappingTemplate(MappingTemplate.dynamoDbResultItem())
         .build());
 //To enable DynamoDB read consistency with the `MappingTemplate`:
 demoDS.createResolver("QueryGetDemosConsistentResolver", BaseResolverProps.builder()
         .typeName("Query")
         .fieldName("getDemosConsistent")
         .requestMappingTemplate(MappingTemplate.dynamoDbScanTable(true))
         .responseMappingTemplate(MappingTemplate.dynamoDbResultList())
         .build());
 
  • Nested Class Summary

    Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject

    software.amazon.jsii.JsiiObject.InitializationMode
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
     
     
     
    PrimaryKey(Assign pkey, Assign skey)
     
    protected
    PrimaryKey(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
     
    protected
    PrimaryKey(software.amazon.jsii.JsiiObjectRef objRef)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Assign
     
    Allows assigning a value to the partition key.
    Renders the key assignment to a VTL string.

    Methods inherited from class software.amazon.jsii.JsiiObject

    jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface software.amazon.jsii.JsiiSerializable

    $jsii$toJson
  • Constructor Details

    • PrimaryKey

      protected PrimaryKey(software.amazon.jsii.JsiiObjectRef objRef)
    • PrimaryKey

      protected PrimaryKey(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • PrimaryKey

      @Stability(Stable) public PrimaryKey(@NotNull Assign pkey, @Nullable Assign skey)
      Parameters:
      pkey - This parameter is required.
      skey -
    • PrimaryKey

      @Stability(Stable) public PrimaryKey(@NotNull Assign pkey)
      Parameters:
      pkey - This parameter is required.
  • Method Details

    • partition

      @Stability(Stable) @NotNull public static PartitionKeyStep partition(@NotNull String key)
      Allows assigning a value to the partition key.

      Parameters:
      key - This parameter is required.
    • renderTemplate

      @Stability(Stable) @NotNull public String renderTemplate()
      Renders the key assignment to a VTL string.
    • getPkey

      @Stability(Stable) @NotNull protected Assign getPkey()