Principais recursos

GraphQL

Acesso e consultas de dados simplificados

O AWS AppSync usa o GraphQL, uma linguagem de dados que permite que aplicativos clientes recuperem, alterem e assinem dados de servidores. Em uma consulta do GraphQL, o cliente especifica como os dados devem ser estruturados quando retornados pelo servidor. Isso permite que o cliente consulte apenas os dados necessários, no formato em que precisa recebê-los. Além disso, o GraphQL inclui um recurso denominado “introspecção”, que permite que novos desenvolvedores em um projeto descubram os dados disponíveis sem precisar conhecer o back-end.

Acesso e atualização de dados em tempo real

Atualizações imediatas em clientes e dispositivos

O AWS AppSync permite especificar quais partes dos dados devem ser disponibilizados em tempo real usando assinaturas do GraphQL. As assinaturas do GraphQL são instruções simples no código do aplicativo que informam ao serviço quais dados devem ser atualizados em tempo real.

Sincronização de dados offline

Acesse e atualize os dados, mesmo quando offline

O AWS AppSync oferece suporte a um modelo de programação offline em que, além de disponibilizar os dados do aplicativo no modo offline, o modelo permite que usuários adicionem e atualizem esses dados. Quando o dispositivo estiver offline, a IU do aplicativo será atualizada automaticamente com os dados offline. O AppSync permite definir como os dados são armazenados em cache offline e como o AppSync deve gerenciar as atualizações do cache em diferentes condições de rede.

Consulta, filtragem e pesquisa de dados ema aplicativos

Acesso pré-configurado a fontes de dados da AWS

O AWS AppSync oferece aos aplicativos clientes o recurso de especificar requisitos de dados com GraphQL para que apenas os dados necessários sejam recuperados, permitindo filtragem no servidor e no cliente. Como o AWS AppSync oferece suporte aos serviços AWS Lambda, Amazon DynamoDB e Amazon Elasticsearch, as operações do GraphQL podem ser pesquisas simples, consultas e mapeamentos complexos, pesquisas de texto completo, pesquisas difusas e de palavras-chave, ou pesquisas geográficas.

Segurança empresarial e controle de acesso detalhado

Controle os seus dados

O AWS AppSync permite vários níveis de acesso e autorização de dados, dependendo das necessidades dos aplicativos. O acesso simples pode ser protegido por uma chave. Permissões mais restritivas podem ser atribuídas com o AWS Identity and Access Management usando funções. Além disso, o AWS AppSync é integrado aos grupos de usuários do Amazon Cognito para oferecer funcionalidades de e-mail e senha, aos provedores sociais (Facebook, Google+ e Login with Amazon) e à federação empresarial com o SAML. Os clientes podem usar a funcionalidade de grupos para organizar logicamente usuários e funções e os recursos do OAuth para acesso a aplicativos.

Perguntas frequentes

  • P: O que é o AWS AppSync?

    O AWS AppSync é um novo serviço que permite que desenvolvedores gerenciem e sincronizem dados de aplicativos móveis em tempo real em dispositivos e usuários, mas também permite que os dados sejam acessados e alterados quando o dispositivo móvel está em um estado offline.

    Além disso, o serviço possibilita que os desenvolvedores otimizem as experiências de usuários selecionando quais dados são sincronizados automaticamente no dispositivo do usuário em caso de alterações, minimizando requisitos de armazenamento e largura de banda, com uma linguagem de consultas denominada GraphQL.

    Usando esses recursos, os desenvolvedores podem criar em minutos experiências colaborativas em tempo real em diversos navegadores, aplicativos móveis, Alexa Skills e dispositivos da IoT que permanecem utilizáveis quando a conectividade de rede é perdida.

  • P: Que tipos de aplicativos posso criar usando os recursos lançados hoje?

    O AWS AppSync pode ser usado para criar aplicativos móveis que se beneficiam com a capacidade de sincronizar dados de usuários e aplicativos entre os dispositivos, continuar a funcionar quando desconectados e oferecer experiências de colaboração em tempo real. Há aplicativos em todas as verticais. Os exemplos incluem:

    • Aplicativos de jogos com placares em tempo real
    • Feeds de notícias e dados financeiros
    • Painéis de atendimento ao cliente
    • Rastreamento compartilhado de carteira, viagens ou itinerários com uso offline
    • Mídia social com feeds de conteúdo e pesquisa/descoberta/sistema de mensagens
    • Aplicativos de relacionamento com curtidas, sistemas de mensagens e percepção geológica/de proximidade
    • Aplicativos de serviço em campo que precisam permitir operações de consultas e CRUD mesmo desconectados
    • Colaboração de documentos
    • Colaboração 3D como quadros brancos compartilhados
    • AR/VR com vários atores (médicos em cirurgia com observadores, professores e alunos)
    • Aplicativos multidispositivo (por exemplo, Alexa, dispositivos móveis, web, IoT) e multimodais (por exemplo, lista de tarefas) que precisam trabalhar offline sem deixar de refletir o mesmo estado eventualmente consistente
    • Aplicativos de chat, incluindo indicadores de presença e histórico de conversação
  • P: Quais linguagens de desenvolvimento de aplicativos contam com o suporte do AWS AppSync?

    Inicialmente, o SDK do AWS AppSync oferecerá suporte a iOS e JavaScript. O suporte ao JavaScript abrange estruturas web como React e Angular, bem como tecnologias como React Native e Ionic. Também é possível usar clientes de código aberto para conexão ao endpoint GraphQL do AppSync para usar outra plataforma como Android, bibliotecas HTTP ou até mesmo comandos CURL simples.

  • P: O que é GraphQL?

    O GraphQL é uma linguagem de dados que permite que aplicativos cliente recuperem, alterem e assinem dados de servidores. Em uma consulta do GraphQL, o cliente especifica como os dados devem ser estruturados quando retornados pelo servidor. Isso permite que o cliente consulte apenas os dados necessários, no formato em que precisa recebê-los.

  • P: O que é um schema do GraphQL?

    Um schema de GraphQL é uma definição de que recursos de dados estão disponíveis para operações em aplicativos cliente. Por exemplo, um schema pode informar quais consultas estão disponíveis ou como um aplicativo pode assinar dados sem necessidade de conhecer a fonte de dados subjacente. Os schemas são definidos por um sistema de tipos que pode ser usado pelo modelo de dados dos aplicativos.

  • P: O AWS AppSync pode criar um banco de dados para mim?

    Os clientes podem criar um schema do GraphQL manualmente ou usando o console. O AWS AppSync pode provisionar automaticamente tabelas do DynamoDB e os índices adequados. Além disso, o serviço conecta as fontes de dados a “resolvedores do GraphQL”, o que permite que você se concentre no código e nas estruturas de dados dos aplicativos.

  • P: Posso usar o AWS AppSync com meus recursos atuais da AWS?

    Sim. Com o AWS AppSync, você pode usar tabelas, funções e domínios existentes dos serviços Amazon DynamoDB, AWS Lambda e Amazon Elasticsearch com um schema do GraphQL. O AWS AppSync permite criar fontes de dados usando recursos existentes da AWS e configurar as interações usando modelos de mapeamento.

  • P: O que é um modelo de mapeamento?

    As solicitações do GraphQL são executadas como “resolvedores” e precisam ser convertidas no formato de mensagem adequado para os diferentes Serviços da AWS com os quais o AWS AppSync é integrado. Por exemplo, uma consulta do GraphQL em um campo precisará ser convertida em um formato exclusivo para Amazon DynamoDB, AWS Lambda e Amazon Elasticsearch, respectivamente. Para isso, o AWS AppSync oferece os modelos de mapeamento, escritos na Apache Velocity Template Language (VTL). Esses modelos permitem fornecer lógica personalizada para atender às necessidades. Além disso, o AWS AppSync oferece modelos incorporados para serviços e funções de utilitários diferentes, o que aumenta a usabilidade.

  • P: Como os dados são protegidos com o AWS AppSync?

    Dados ociosos dos aplicativos são armazenados na conta da AWS e não no serviço AWS AppSync. Você pode proteger o acesso a esses dados por aplicativos usando controles de segurança com o AWS AppSync, incluindo o AWS Identity and Access Management (IAM) e os grupos de usuários do Amazon Cognito. Além disso, o contexto do usuário pode ser passado para solicitações autenticadas. Isso permite a execução de lógica detalhada de controle de acesso a recursos com modelos de mapeamento no AWS AppSync.

  • P: Posso tornar meus dados em tempo real com o AWS AppSync?

    Sim. O AWS AppSync oferece suporte a assinaturas para qualquer das fontes de dados. Portanto, quando ocorre uma mutação, os resultados podem ser repassados imediatamente aos clientes que assinam o stream de eventos usando um MQTT sobre Weksockets.

  • P: Como posso executar consultas complexas com o AWS AppSync?

    As fontes de dados disponíveis para o AWS AppSync permitem aproveitar todos os recursos oferecidos pelos serviços Amazon DynamoDB, Amazon Elasticsearch e AWS Lambda ao usar o GraphQL. Recursos como indexação e verificações condicionais, bem como modelos de mapeamento, retornam resultados abrangentes do DynamoDB. Casos de uso como pesquisas difusas, pesquisas geográficas e outros possibilitados pelo Elasticsearch estão disponíveis para os aplicativos. Por fim, o Lambda pode ser usado para solicitações seriais ou em lotes para retornar dados de outras fontes, como o Amazon Aurora.

  • P: Quais regiões da AWS estão disponíveis para o AWS AppSync?

    O AWS AppSync está disponível nas regiões Leste dos EUA (Norte da Virgínia), Oeste dos EUA (Oregon) e Leste dos EUA (Ohio).

Saiba mais sobre a definição de preço do AWS AppSync

Acesse a página de definição de preço