AppSync, Amplify Flashcards
AppSync - это … service с тремя предназначениями …
Раньше для третьего применения использовали сервис …
managed serverless
- создание
GraphQL
API - создание
WebSocket
(real-time) API илиMQTT
API -
local data access
&data synchronisation
для мобильных приложений
Cognito Sync
GraphQL нативно поддерживается для … и других
Для построения GraphQL API для других кастомные DataSources можно использовать …
DynamoDB, Aurora, OpenSearch
Lambda
Какими сущностями оперирует AppSync?
Как это связано с одним/несколькими DataSource’ами?
Чтобы использовать AppSync в него нужно загрузить СХЕМУ данных.
Дальше клиенты будут сами указывать, какие поля им нужны.
Под одним AppSync’ом может быть НЕСКОЛЬКО разных data-sources.
Ответы на запросы с разными схемами AppSync будет наполнять данными из РАЗНЫХ data-sources.
AppSync использует GraphQL RESOLVERS для этого.
Какие способы есть для клиента, чтобы авторизоваться при отправке запросов в AppSync?
Есть 4 способа, как приложение может слать запросы на AppSync GraphQL API.
-
API_KEY
- также как API Gateway генерирует ключи и даёт своим юзерам -
IAM
- роли, включая Cross-Account-Access -
OPENID_CONNECT
- OpenID Connect провайдер через JWT токен AMAZON_COGNITO_USER_POOLS
Если нужно сделать custom domain и HTTPS для GraphQL API,
то нужно использовать …
CloudFront вместе с AppSync
Зачем нужен сервис Amplify?
-
Amplify Studio
- для создания full-stack приложений через UI -
Amplify CLI
- для создания full-stack приложений через CLI -
Amplify Library
- для соединения приложения к AWS сервисам -
Amplify Hosting
- для hosting’а и деплоймента приложений (Ci/CD, Domains)
Если проводить аналогию, то Amplify - это … для …
Amplify - это ElasticBeanstalk для мобильных и веб-приложений
Back-end для Amplify приложения построен на …
serverless сервисах
DynamoDB
AppSync
Cognito
S3
Важные фичи Amplify
- A…
- D…
- E…
Через что они реализованы под капотом?
-
AUTHENTICATION - Amplify поддерживает его из коробки (
amplify add auth
)
реализован через AWSCognito
-
DATASTORE - Amplify поддерживает его из коробки (
amplify add api
)
реализован черезDynamoDB
иAppSync
(GraphQL)
синхронизация локальных данных с DynamoDB без сложного кода -
E2E ТЕСТЫ - Amplify поддерживает тесты в Ci/CD
реализован через Cypress