Observação: o aws-amplify 6 foi lançado. Se você está procurando orientação sobre atualização, clique aqui
O AWS Amplify fornece uma interface declarativa e fácil de usar em diferentes categorias de operações em nuvem. O AWS Amplify funciona bem com qualquer fluxo de trabalho de front-end baseado em JavaScript e React Native para desenvolvedores móveis.
Nossa implementação padrão funciona com Amazon Web Services (AWS), mas o AWS Amplify foi projetado para ser aberto e conectável a qualquer back-end ou serviço personalizado.
Categoria | Provedor AWS | Descrição |
---|---|---|
Autenticação | Amazon Cognito | APIs e blocos de construção para criar experiências de autenticação. |
Análise | Amazon Pinpoint | Colete dados do Analytics para seu aplicativo, incluindo rastreamento de sessões de usuários. |
API REST | Gateway de API da Amazon | Assinatura Sigv4 e autenticação AWS para API Gateway e outros endpoints REST. |
API GraphQL | AWS AppSync | Interaja com seus endpoints GraphQL ou AWS AppSync. |
Armazenamento de dados | AWS AppSync | Modelo de programação para dados compartilhados e distribuídos, com sincronização simples online/offline. |
Armazenar | Amazon S3 | Gerencia conteúdo em buckets de armazenamento públicos, protegidos e privados. |
Geo (visualização do desenvolvedor) | Serviço de localização da Amazon | Fornece APIs e componentes de UI para mapas e pesquisa de localização para aplicativos da web baseados em JavaScript. |
Notificações push | Amazon Pinpoint | Permite integrar notificações push em seu aplicativo com segmentação do Amazon Pinpoint e suporte ao gerenciamento de campanhas. |
Interações | Amazon Lex | Crie bots conversacionais alimentados por tecnologias de aprendizagem profunda. |
PubSub | AWS IoT | Fornece conectividade com middleware orientado a mensagens baseado em nuvem. |
Internacionalização | --- | Uma solução leve de internacionalização. |
Cache | --- | Fornece um cache LRU genérico para desenvolvedores de JavaScript armazenarem dados com configurações de prioridade e expiração. |
Previsões | Vários* | Conecte seu aplicativo a serviços de aprendizado de máquina como PNL, visão computacional, TTS e muito mais. |
AWS Amplify está disponível como aws-amplify
no npm.
Para começar, escolha sua plataforma em nossa página inicial de primeiros passos
Se você estiver usando exportações padrão de qualquer pacote Amplify, precisará migrar para o uso de exportações nomeadas. Por exemplo:
- import Amplify from 'aws-amplify';
+ import { Amplify } from 'aws-amplify'
- import Analytics from '@aws-amplify/analytics';
+ import { Analytics } from '@aws-amplify/analytics';
// or better
+ import { Analytics } from 'aws-amplify';
- import Storage from '@aws-amplify/storage';
+ import { Storage } from '@aws-amplify/storage';
// or better
+ import { Storage } from 'aws-amplify';
A sintaxe do predicado do datastore foi alterada, impactando as interfaces DataStore.query
, DataStore.save
, DataStore.delete
e DataStore.observe
. Por exemplo:
- await DataStore.delete(Post, (post) => post.status('eq', PostStatus.INACTIVE));
+ await DataStore.delete(Post, (post) => post.status.eq(PostStatus.INACTIVE));
- await DataStore.query(Post, p => p.and( p => [p.title('eq', 'Amplify Getting Started Guide'), p.score('gt', 8)]));
+ await DataStore.query(Post, p => p.and( p => [p.title.eq('Amplify Getting Started Guide'), p.score.gt(8)]));
npm install -g @aws-amplify/cli
amplify codegen models
Storage.list
alterou o nome do parâmetro maxKeys
para pageSize
e possui um novo tipo de retorno que contém a lista de resultados. Por exemplo:
- const photos = await Storage.list('photos/', { maxKeys: 100 });
- const { key } = photos[0];
+ const photos = await Storage.list('photos/', { pageSize: 100 });
+ const { key } = photos.results[0];
Storage.put
com retomável ativado alterou a chave para não incluir mais o nome do bucket. Por exemplo:
- let uploadedObjectKey;
- Storage.put(file.name, file, {
- resumable: true,
- // Necessary to parse the bucket name out to work with the key
- completeCallback: (obj) => uploadedObjectKey = obj.key.substring( obj.key.indexOf("/") + 1 )
- }
+ let uploadedObjectKey;
+ Storage.put(file.name, file, {
+ resumable: true,
+ completeCallback: (obj) => uploadedObjectKey = obj.key
+ }
Analytics.record
não aceita mais string como entrada. Por exemplo:
- Analytics.record('my example event');
+ Analytics.record({ name: 'my example event' });
A exportação JS
foi removida de @aws-amplify/core
em favor da exportação das funções que ela continha.
Quaisquer chamadas para Amplify.Auth
, Amplify.Cache
e Amplify.ServiceWorker
não são mais suportadas. Em vez disso, seu código deve usar as exportações nomeadas. Por exemplo:
- import { Amplify } from 'aws-amplify';
- Amplify.configure(...);
- // ...
- Amplify.Auth.signIn(...);
+ import { Amplify, Auth } from 'aws-amplify';
+ Amplify.configure(...);
+ // ...
+ Auth.signIn(...);
@react-native-community/netinfo
@react-native-async-storage/async-storage
// React Native
yarn add aws-amplify amazon-cognito-identity-js @react-native-community/netinfo @react-native-async-storage/async-storage
npx pod-install
// Expo
yarn add aws-amplify @react-native-community/netinfo @react-native-async-storage/async-storage
AWS.credentials
e AWS.config
não existem mais no Amplify JavaScript.[email protected]
foi removido de [email protected]
em favor da versão 3 do aws-sdk-js. Recomendamos migrar para o aws-sdk-js-v3 se você depende de serviços da AWS que não são compatíveis com o Amplify, já que o aws-sdk-js-v3 é importado modularmente.Se você não puder migrar para aws-sdk-js-v3 ou confiar em [email protected], será necessário importá-lo separadamente.
Se você estiver usando caminhos exportados em seu aplicativo Amplify JS (por exemplo, import from "@aws-amplify/analytics/lib/Analytics"
), isso será interrompido e não será mais compatível. Você precisará mudar para importações nomeadas:
import { Analytics } from 'aws-amplify' ;
Se você estiver usando categorias como Amplify.<Category>
, isso não funcionará mais e recomendamos importar a categoria que você precisa usar:
import { Auth } from 'aws-amplify' ;
Para obter mais informações sobre como contribuir para o DataStore/como o DataStore funciona, consulte os documentos do DataStore