Skip to main content

The CDK Construct Library for AWS::AppSync

Project description

AWS AppSync Construct Library

---

Stability: Experimental

This is a developer preview (public beta) module. Releases might lack important features and might have future breaking changes.

This API is still under active development and subject to non-backward compatible changes or removal in any future version. Use of the API is not recommended in production environments. Experimental APIs are not subject to the Semantic Versioning model.


This module is part of the AWS Cloud Development Kit project.

Usage Example

Given the following GraphQL schema file schema.graphql:

type Customer {
    id: String!
    name: String!
}

input SaveCustomerInput {
    name: String!
}

type Query {
    getCustomers: [Customer]
    getCustomer(id: String): Customer
}

type Mutation {
    addCustomer(customer: SaveCustomerInput!): Customer
    saveCustomer(id: String!, customer: SaveCustomerInput!): Customer
    removeCustomer(id: String!): Customer
}

the following CDK app snippet will create a complete CRUD AppSync API:

# Example automatically generated. See https://github.com/aws/jsii/issues/826
class ApiStack(Stack):
    def __init__(self, scope, id):
        super().__init__(scope, id)

        user_pool = UserPool(self, "UserPool",
            sign_in_type=SignInType.USERNAME
        )

        api = GraphQLApi(self, "Api",
            name="demoapi",
            log_config={
                "field_log_level": FieldLogLevel.ALL
            },
            user_pool_config={
                "user_pool": user_pool,
                "default_action": UserPoolDefaultAction.ALLOW
            },
            schema_definition_file="./schema.graphql"
        )

        customer_table = Table(self, "CustomerTable",
            billing_mode=BillingMode.PAY_PER_REQUEST,
            partition_key={
                "name": "id",
                "type": AttributeType.STRING
            }
        )
        customer_dS = api.add_dynamo_db_data_source("Customer", "The customer data source", customer_table)
        customer_dS.create_resolver(
            type_name="Query",
            field_name="getCustomers",
            request_mapping_template=MappingTemplate.dynamo_db_scan_table(),
            response_mapping_template=MappingTemplate.dynamo_db_result_list()
        )
        customer_dS.create_resolver(
            type_name="Query",
            field_name="getCustomer",
            request_mapping_template=MappingTemplate.dynamo_db_get_item("id", "id"),
            response_mapping_template=MappingTemplate.dynamo_db_result_item()
        )
        customer_dS.create_resolver(
            type_name="Mutation",
            field_name="addCustomer",
            request_mapping_template=MappingTemplate.dynamo_db_put_item("id", "customer"),
            response_mapping_template=MappingTemplate.dynamo_db_result_item()
        )
        customer_dS.create_resolver(
            type_name="Mutation",
            field_name="saveCustomer",
            request_mapping_template=MappingTemplate.dynamo_db_put_item("id", "customer", "id"),
            response_mapping_template=MappingTemplate.dynamo_db_result_item()
        )
        customer_dS.create_resolver(
            type_name="Mutation",
            field_name="removeCustomer",
            request_mapping_template=MappingTemplate.dynamo_db_delete_item("id", "id"),
            response_mapping_template=MappingTemplate.dynamo_db_result_item()
        )

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aws-cdk.aws-appsync-1.19.0.tar.gz (98.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aws_cdk.aws_appsync-1.19.0-py3-none-any.whl (97.0 kB view details)

Uploaded Python 3

File details

Details for the file aws-cdk.aws-appsync-1.19.0.tar.gz.

File metadata

  • Download URL: aws-cdk.aws-appsync-1.19.0.tar.gz
  • Upload date:
  • Size: 98.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.6.5

File hashes

Hashes for aws-cdk.aws-appsync-1.19.0.tar.gz
Algorithm Hash digest
SHA256 1c83ecb41c2d5942bece5c02df15b222d4311c737324ba3124df4242a9e29d5b
MD5 f46af11990e439cb869351d3948bafd0
BLAKE2b-256 991a7752ef59ed417cfae7d6c3e85f7eb8939edbefd6b6a4dfcc9c316e3431a0

See more details on using hashes here.

File details

Details for the file aws_cdk.aws_appsync-1.19.0-py3-none-any.whl.

File metadata

  • Download URL: aws_cdk.aws_appsync-1.19.0-py3-none-any.whl
  • Upload date:
  • Size: 97.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.6.5

File hashes

Hashes for aws_cdk.aws_appsync-1.19.0-py3-none-any.whl
Algorithm Hash digest
SHA256 24dd90d84ca6f724c791d12fbd7f32b79a5c53fb151bc0ccd7af852f307c1074
MD5 ba9355367ff151041f6d35778da9d799
BLAKE2b-256 be35329302db8643160c3aa6c64727aa1babf0402666bcccb334d1650677bdd4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page