Illuminating Dark Mode
9th November 2022
What is Cloud Gaming?
22nd November 2022
AWS Amplify is a complete solution that lets frontend web and mobile developers easily build, ship, and host full-stack applications on AWS, with the flexibility to leverage the breadth of AWS services as use cases evolve. No cloud expertise needed.

GraphQL APIs built with AWS AppSync give frontend developers the ability to query multiple databases, microservices, and APIs from a single GraphQL endpoint. 

Serverless GraphQL and Pub/Sub APIs

AWS AppSync allows your applications to access exactly the data they need. Create a flexible API to securely access, manipulate, and combine data from multiple sources. Pay only for requests to your API and for real-time messages delivered to connected clients.

Use cases

Retrieve or modify data from multiple data sources

Interact with multiple data sources (SQL, NoSQL, search data, REST endpoints, and microservices) with a single network call.

Synchronize data if clients are disrupted

Automatically sync data between mobile and web applications and the cloud with AWS AppSync and AWS Amplify DataStore.

Build real-time collaboration and chat applications

Broadcast data from the backend to and between connected clients, and build conversational mobile or web applications.

Manage IoT data

Access device data sent to AWS IoT services to build real-time dashboards in a mobile or web application.

Unified Data Access

GraphQL

Simplified Data Access and Querying

AWS AppSync uses GraphQL, a data language that enables client apps to fetch, change and subscribe to data from servers. In a GraphQL query, the client specifies how the data is to be structured when it is returned by the server. This makes it possible for the client to query only for the data it needs, in the format that it needs it in. GraphQL also includes a feature called “introspection” which lets new developers on a project discover the data available without requiring knowledge of the backend.

Caching

Cache your data that doesn’t change frequently for improved performance

AWS AppSync’s server-side data caching capabilities reduce the need to directly access data sources by making data available in high speed in-memory managed caches, delivering data at low latency. Being fully managed, it eliminates the operational overhead of managing cache clusters. By providing the flexibility to selectively cache data fields and operations defined in the GraphQL schema with customizable expiration, data caching further enables developers to configure optimal performance for their business needs.

Offline data synchronization

Interact with and update your data, even when offline, with the Amplify DataStore

The Amplify DataStore is a queryable on-device DataStore for web, mobile and IoT developers that enables a local-first and familiar programming model to interact with data seamlessly whether you’re online or offline. Powered by AWS AppSync, the DataStore provides versioning, conflict detection and resolution in the cloud to automatically merge data from different clients as well as provide data consistency and integrity.

Real-Time Experiences

Real-time data access and updates

Immediate updates across clients and devices

AWS AppSync lets you specify which portions of your data should be available in a real-time manner using GraphQL Subscriptions. GraphQL Subscriptions are simple statements in the application code that tell the service what data should be updated in real-time.

Subscription filters

Support for complex real-time use case

With the subscriptions filtering capabilities in available with AWS AppSync, you can create a broad range of real-time experiences in your applications by leveraging filter operators, server-side filtering, and the ability to trigger subscription invalidations.

Simple pub/sub APIs

Get started without GraphQL

If all you want is a an ephemeral API that receives messages published to a channel and delivers those messages in real-time to subscribed clients, you can set up your API without any GraphQL knowledge or experience using AWS AppSyncs PubSub API wizard.

Simplified Operations

Enterprise security and fine-grained access to control

Control your data

AWS AppSync allows several levels of data access and authorization depending on the needs of an application. Simple access can be protected by a key and more restrictive permission can be done with AWS Identity and Access Management using Roles. Additionally, AWS AppSync integrates with Amazon Cognito User Pools for email and password functionality, social providers (Facebook, Google+, and Login with Amazon), and enterprise federation with SAML. Customers can use the Group functionality for logical organization of users and roles as well as OAuth features for application access.

Custom domain names

Use your own domain name to access a GraphQL endpoints

AWS AppSync enables customers to use custom domain names with their AWS AppSync API to access their GraphQl endpoint and real-time endpoint. To create a custom domain name in AppSync, you simply provide a domain name you own and indicate a valid AWS Certificate Manager (ACM) certificate that covers your domain. Once the custom domain name is created, you can associate the domain name with any available AppSync API in your account. After you have updated your DNS record to map to to the AppSync-provided domain name, you can configure your applications to use the new GraphQL and real-time endpoints. You can change the API association on your custom domain at any time without having to update your applications. When AppSync receives a request on the custom domain endpoint, it routes it to the associated API for handling.

Out-of-the-Box Observability

Monitoring, analytics, logging and tracing

With AWS AppSync you can easily configure AWS CloudWatch and AWS X-Ray to provide comprehensive logging and tracing for your GraphQL API.

Q. What application developer languages are supported in AWS AppSync?

AWS AppSync SDKs support iOS, Android, and JavaScript. The JavaScript support spans web frameworks such as React and Angular as well as technologies such as React Native and Ionic. You can also use open source clients to connect to the AppSync GraphQL endpoint for using other platform such as generic HTTP libraries or even a simple CURL command.

Q. What is GraphQL ? 

GraphQL is a data language to enable client apps to fetch, change and subscribe to data from servers. In a GraphQL query, the client specifies how the data is to be structured when it is returned by the server. This makes it possible for the client to query only for the data it needs, in the format that it needs it in.

Q. What is a GraphQL Schema? 

A GraphQL schema is a definition of what data capabilities are available for the client application to operate on. For example, a schema might say what queries are available or how an app can subscribe to data without needing to know about the underlying data source. Schemas are defined by a type system, which an application’s data model can leverage.

Q. Do I need to know GraphQL to get started? 

No, AWS AppSync can automatically setup your entire API, schema, and connect data sources with a simple UI builder that allows you to type in your data model in seconds. You can then immediately begin using the endpoint in a client application. The console also provides many sample schema and data sources for fully functioning applications.

Q. Can I use AWS AppSync with my existing AWS resources? 

Yes. With AWS AppSync you can use existing tables, functions, and domains from Amazon DynamoDB, AWS Lambda and Amazon OpenSearch Service with a GraphQL schema. AWS AppSync allows you to create data sources using existing AWS resources and configure the interactions using Mapping Templates.

Q. What is a Mapping Template? 

GraphQL requests execute as “resolvers” and need to be converted into the appropriate message format for the different AWS Services that AWS AppSync integrates. For example, a GraphQL query on a field will need to be converted into a unique format for Amazon DynamoDB, AWS Lambda, and Amazon OpenSearch Service respectively. AWS AppSync provides Mapping Templates for this, which are written in Apache Velocity Template Language (VTL) allowing you to provide custom logic to meet your needs. AWS AppSync also provides built-in templates for the different services and utility functions for enhanced usability.

Q. How do I verify the behavior of my VTL mapping template?

You can verify the behavior of your VTL mapping template directly from the console. From the console, you can use mock data to test the evaluation of your resolver mapping templates without interacting with your data sources. AppSync also provides a remote API that you can use to evaluate your mapping templates with mock data. You can leverage this API from the AWS CLI or the AWS SDKs. This allows you to evaluate your mapping templates inside your favorite test framework and to run unit tests. You can also use the console’s query editor to test GraphQL queries, mutations, and subscriptions and live stream log data for each request in realtime.

Q.  I don’t want to use VTL. Is it required?

No. You can configure your resolvers as Direct Lambda resolvers. This will enable you to bypass the VTL mapping templates and use a Lambda in your account to drive your business logic.

Q. How is data secured with AWS AppSync? 

Application data is stored at rest in your AWS account and not in the AWS AppSync service. You can protect access to this data from applications by using security controls with AWS AppSync including AWS Identity and Access Management (IAM), as well as Amazon Cognito User Pools. Additionally, user context can be passed through for authenticated requests so that you can perform fine-grained access control logic against your resources with Mapping Templates in AWS AppSync.

Q. Can I make my data real-time with AWS AppSync?

Yes. Subscriptions are supported with AWS AppSync against any of the data sources, so that when a mutation occurs, the results can be passed down to clients subscribing to the event stream immediately using over WebSockets.

Q. How can I do complex queries with AWS AppSync? 

The data sources available to AWS AppSync allow you to take full advantage of capabilities provided by Amazon DynamoDB, Amazon OpenSearch Service, and AWS Lambda when using GraphQL. Features such as indexing and conditional checks, along with Mapping Templates, return comprehensive results from DynamoDB. Use cases such as fuzzy searches, geo searches and more that Amazon OpenSearch Service offers are available to your application. Finally, Lambda can be used for serial or batched requests to return data from other sources such as Amazon Aurora.

Q. What AWS Regions are available for AWS AppSync?

AWS AppSync is available in different regions around the globe, please refer to the AWS Regions table for more details.

Q. Can I import existing Amazon DynamoDB tables? 

AWS AppSync can automatically generate a GraphQL schema from an existing DynamoDB table, including the inference of your table’s key schema and indexes. Once the import is complete GraphQL queries, mutations, and subscriptions can be used with zero coding. AppSync will also “auto-map” non-key attributes from your GraphQL types to DynamoDB attributes.

Q. Can AWS AppSync create a database for me? 

Customers can create a GraphQL schema, either by hand or using the console, and AWS AppSync can automatically provision Amazon DynamoDB tables and appropriate indexes for you. Additionally, it will connect the data sources to “GraphQL resolvers” allowing you to just focus on your application code and data structures.

Q. What clients can I use to connect my application to my AppSync API?

You can use any HTTP or GraphQL client to connect to a GraphQL API on AppSync. We do recommend using the Amplify clients which are optimized to connect to the AppSync backend. There are some options depending on your application’s use case:

  • For DynamoDB data sources, use the DataStore category in the Amplify client. It provides the best developer experience and built-in conflict detection and resolution.
  • For non-DynamoDB data sources in scenarios where you have no offline requirements, use the API (GraphQL) category in the Amplify client.
  • For non-DynamoDB data sources in scenarios where you have offline requirements, use the AppSync SDK.

Q. Can I use my own domain name to access my AppSync GraphQL endpoint?

AWS AppSync enables customers to use custom domain names with their AWS AppSync API to access their GraphQl endpoint and real-time endpoint. To create a custom domain name in AppSync, you simply provide a domain name you own and indicate a valid AWS Certificate Manager (ACM) certificate that covers your domain. Once the custom domain name is created, you can associate the domain name with any available AppSync API in your account. After you have updated your DNS record to map to to the AppSync-provided domain name, you can configure your applications to use the new GraphQL and real-time endpoints. You can change the API association on your custom domain at any time without having to update your applications. When AppSync receives a request on the custom domain endpoint, it routes it to the associated API for handling.

Hybrid Application Development Company Junagadh