Основные возможности

GraphQL

Упрощенные запросы и доступ к данным

В AWS AppSync используется язык для работы с данными GraphQL, который позволяет клиентским приложениям получать данные от серверов, изменять их и подписываться на них. В запросе GraphQL клиент задает способ структурирования данных для ответа от сервера. Это позволяет клиенту запрашивать только необходимые данные в требуемом формате. Возможность GraphQL под названием «самоанализ» позволяет новым разработчикам того или иного проекта находить доступные данные без знания серверной части.

Доступ к данным и обновление в режиме реального времени

Мгновенные обновления для разнообразных клиентов и устройств

С помощью подписок GraphQL AWS AppSync позволяет задать части данных, которые должны быть доступны в режиме реального времени. Подписки GraphQL представляют собой простые операторы в коде приложения, которые указывают сервису, какие данные должны обновляться в режиме реального времени.

Синхронизация данных в автономном режиме

Взаимодействие с данными и их обновление даже в автономном режиме

AWS AppSync поддерживает автономную модель программирования, в соответствии с которой без подключения к сети пользователям обеспечен не только доступ к данным, но и возможность их редактировать и добавлять новые данные. Когда устройство находится в автономном режиме, пользовательский интерфейс автоматически обновляется на основе автономных данных. AppSync позволяет указывать, как будут кэшироваться данные в автономном режиме, а также как управлять обновлениями кэша при различных состояниях сети.

Запросы к данным, фильтрация и поиск в приложениях

Заранее настроенный доступ к источникам данных AWS

AWS AppSync предоставляет клиентским приложениям возможность задавать требования к данным с помощью GraphQL, чтобы получать только необходимые данные, обеспечивая фильтрацию на стороне как сервера, так и клиента. AWS AppSync поддерживает AWS Lambda, Amazon DynamoDB и Amazon Elasticsearch, поэтому в качестве операций GraphQL может выступать простой поиск, сложные запросы и сопоставления, полнотекстовый поиск, поиск ключевых слов или неточных соответствий, а также поиск с использованием геолокационных данных.

Корпоративная безопасность и точный контроль доступа

Контроль над вашими данными

В зависимости от требований приложения AWS AppSync позволяет настраивать многоуровневый доступ к данным и авторизацию. Простой доступ можно защитить на основе ключа, более сложные ограничения можно задать с помощью ролей AWS Identity and Access Management. Кроме того, AWS AppSync интегрирован с Amazon Cognito User Pools для проверки адресов электронной почты и паролей, с социальными поставщиками сетевых удостоверений (Facebook, Google+ и Login with Amazon) и корпоративной федерацией на основе SAML. Для логической организации пользователей и ролей клиенты могут использовать функциональные возможности групп, а для доступа к приложениям – возможности OAuth.

Вопросы и ответы

  • Вопрос: Что такое AWS AppSync?

    AWS AppSync – это новый сервис, позволяющий разработчикам синхронизировать данные в режиме реального времени и управлять ими для различных устройств и пользователей. Сервис позволяет изменять данные и получать к ним доступ, когда мобильное устройство находится в автономном состоянии.

    Сервис позволяет разработчикам повышать удобство работы пользователей с помощью языка запросов GraphQL: они могут выбирать конкретные данные для автоматической синхронизации с устройством пользователя при внесении изменений, тем самым снижая требования к памяти и пропускной способности сети.

    С такими возможностями разработчики могут за считаные минуты организовать совместную работу в режиме реального времени в различных браузерах, мобильных приложениях, с использованием навыков Alexa и устройств IoT, обеспечивая возможность использования данных даже при отсутствии сетевого подключения.

  • Вопрос: Какие типы приложений можно создавать с новыми возможностями?

    AWS AppSync можно использовать для создания мобильных приложений, которые могут синхронизировать данные пользователя и приложений на различных устройствах, продолжать работать при отсутствии сетевого подключения и обеспечивать совместную работу в режиме реального времени. Такие приложения существуют в любых сферах применения. Примеры перечислены ниже.

    • Игровые приложения с табло, обновляющимся в режиме реального времени
    • Ленты новостей и финансовые данные
    • Панели управления для обслуживания клиентов
    • Отслеживание общих кошельков, поездок или маршрутов с использованием в автономном режиме
    • Социальные сети с лентами новостей, функциями поиска и обмена сообщениями
    • Приложения для знакомств с отметками «нравится», функциями обмена сообщениями и учетом географического положения
    • Приложения для эксплуатационного обслуживания, которым необходимо выполнять запросы и действия CRUD даже без подключения к сети
    • Приложения для совместной работы с документами
    • Приложения для совместной работы с трехмерным контентом, например совместно используемые электронные доски
    • Приложения дополненной и виртуальной реальности (AR/VR) с несколькими участниками (врачи в операционной с наблюдателями, преподаватели и учащиеся)
    • Приложения для различных устройств (например, Alexa, приложения для мобильных устройств, интернет-приложения, приложения для устройств IoT) и приложения с комбинированным вводом данных (например, списки задач), которым необходимо работать в автономном режиме и поддерживать единообразное состояние
    • Чаты с индикацией присутствия и историй сообщений
  • Вопрос: Какие языки разработки поддерживаются в AWS AppSync?

    Пакеты SDK сервиса AWS AppSync поддерживают iOS, Android и JavaScript. Поддержка JavaScript охватывает интернет-платформы, например React и Angular, а также технологии React Native и Ionic. Возможно применение клиентов с открытым исходным кодом для подключения к адресу GraphQL с целью использовать другие платформы (например, общие библиотеки HTTP или даже простые команды CURL).

  • Вопрос: Что такое GraphQL?

    GraphQL – это язык данных, который позволяет клиентским приложениям получать данные от серверов, изменять их и подписываться на них. В запросе GraphQL клиент задает способ структурирования данных для ответа от сервера. Это позволяет клиенту запрашивать только необходимые данные в требуемом формате.

  • Вопрос: Что такое схема GraphQL?

    Схема GraphQL определяет, какие возможности для работы с данными доступны для клиентского приложения. Пример: схема может указывать доступные запросы или способ подписки приложения на данные. При этом информация о базовом источнике данных не требуется. Схемы определяются системой типов, которую может использовать модель данных приложения.

  • Вопрос: Требуется ли для начала работы знание GraphQL?

    Нет, AWS AppSync может полностью настроить API, схему и подключить источники данных в автоматическом режиме с помощью удобного инструмента для создания пользовательского интерфейса. На ввод модели данных потребуются считаные секунды. Сразу же после этого можно использовать адрес сервиса в клиентском приложении. Кроме того, консоль предлагает большой выбор образцов схем и источников данных для полнофункциональных приложений.

  • Вопрос: Возможно использовать AWS AppSync с существующими ресурсами AWS?

    Да. Применяя схемы GraphQL с AWS AppSync, можно использовать существующие таблицы Amazon DynamoDB, функции AWS Lambda и Amazon Elasticsearch Service. AWS AppSync позволяет создавать источники данных, используя существующие ресурсы AWS, и настраивать взаимодействие с помощью шаблонов сопоставления.

  • Вопрос: Что такое шаблон сопоставления?

    Запросы GraphQL выполняются как преобразователи, их необходимо преобразовывать в подходящий формат сообщений для различных сервисов AWS, интегрированных с AWS AppSync. Пример: запрос GraphQL в ходе исполнения необходимо преобразовать в уникальные форматы для Amazon DynamoDB, AWS Lambda и Amazon Elasticsearch Service соответственно. Для этого AWS AppSync предоставляет шаблоны сопоставления. Они написаны на языке Apache Velocity Template Language (VTL) и позволяют указывать специальную логику для решения конкретных задач. Для большего удобства AWS AppSync предоставляет встроенные шаблоны для различных сервисов и служебные функции.

  • Вопрос: Каким образом защищаются данные при использовании AWS AppSync?

    Данные приложений хранятся в аккаунте пользователя AWS, а не в сервисе AWS AppSync. Доступ к данным из приложений можно защитить в AWS AppSync с помощью средств управления безопасностью, в том числе AWS Identity and Access Management (IAM) и Amazon Cognito User Pools. Кроме того, для аутентифицированных запросов можно передавать контекст пользователя, чтобы реализовать точную логику доступа к ресурсам с помощью шаблонов сопоставления в AWS AppSync.

  • Вопрос: Позволяет ли AWS AppSync синхронизировать данные в режиме реального времени?

    Да. AWS AppSync поддерживает подписки по отношению к любому источнику данных, поэтому при любом зафиксированном изменении результаты можно незамедлительно передать клиентам, подписанным на события, с помощью MQTT через Websocket.

  • Вопрос: Как выполнять сложные запросы с AWS AppSync?

    При использовании GraphQL источники данных, доступные для AWS AppSync, позволяют реализовать все возможности, предоставляемые Amazon DynamoDB, Amazon Elasticsearch Service и AWS Lambda. Такие возможности, как индексирование и проверка условий, в сочетании с шаблонами сопоставления возвращают подробные результаты из DynamoDB. Для приложений доступны поиск по неточному соответствию, поиск с использованием геолокационных данных и другие возможности Amazon Elasticsearch Service. Lambda можно использовать для последовательных или пакетных запросов на возврат данных из других источников (например, Amazon Aurora).

  • Вопрос: В каких регионах AWS работает AWS AppSync?

    AWS AppSync доступен в регионах Восток США (Сев. Вирджиния), Запад США (Орегон), Восток США (Огайо), ЕС (Ирландия), ЕС (Франкфурт), Азия и Тихий океан (Токио), Азия и Тихий океан (Сидней), Азия и Тихий океан (Мумбаи), Азия и Тихий океан (Сингапур).

     

  • Вопрос: Можно ли импортировать существующие таблицы Amazon DynamoDB?

    AWS AppSync может автоматически создавать схемы GraphQL из существующих таблиц DynamoDB, в том числе определять индексы и схему ключей таблицы. По завершении импорта можно использовать запросы, мутации и подписки GraphQL без дополнительного кода. Кроме того, AWS AppSync автоматически сопоставляет неключевые атрибуты типов GraphQL с атрибутами DynamoDB.

  • Вопрос: Может ли AWS AppSync создавать базы данных?

    Клиенты могут вручную или с помощью консоли создать схему GraphQL, после чего AWS AppSync автоматически подготовит к работе таблицы Amazon DynamoDB и соответствующие индексы. В дополнение AWS AppSync подключит источники данных к преобразователям GraphQL, позволяя клиентам сосредоточиться на коде приложения и структурах данных.

Подробнее о ценах на AWS AppSync

Перейти на страницу цен
Готовы начать работу?
Откройте консоль AWS AppSync
Есть вопросы?
Свяжитесь с нами