Tenga en cuenta que se lanzó aws-amplify 6. Si está buscando orientación sobre actualización, haga clic aquí
AWS Amplify proporciona una interfaz declarativa y fácil de usar en diferentes categorías de operaciones en la nube. AWS Amplify combina bien con cualquier flujo de trabajo frontend basado en JavaScript y React Native para desarrolladores móviles.
Nuestra implementación predeterminada funciona con Amazon Web Services (AWS), pero AWS Amplify está diseñado para ser abierto y conectable a cualquier backend o servicio personalizado.
Categoría | Proveedor de AWS | Descripción |
---|---|---|
Autenticación | Cognito Amazonas | API y bloques de construcción para crear experiencias de autenticación. |
Analítica | Punto de referencia de Amazon | Recopile datos de Analytics para su aplicación, incluido el seguimiento de las sesiones de los usuarios. |
API DESCANSO | Puerta de enlace API de Amazon | Firma Sigv4 y autenticación de AWS para API Gateway y otros puntos finales REST. |
API GraphQL | Sincronización de aplicaciones de AWS | Interactúe con sus puntos finales GraphQL o AWS AppSync. |
Almacén de datos | Sincronización de aplicaciones de AWS | Modelo de programación para datos compartidos y distribuidos, con sincronización simple online/offline. |
Almacenamiento | amazon s3 | Gestiona contenido en depósitos de almacenamiento públicos, protegidos y privados. |
Geo (vista previa para desarrolladores) | Servicio de localización de Amazon | Proporciona API y componentes de interfaz de usuario para mapas y búsqueda de ubicación para aplicaciones web basadas en JavaScript. |
Notificaciones push | Punto de referencia de Amazon | Le permite integrar notificaciones automáticas en su aplicación con soporte de gestión de campañas y orientación de Amazon Pinpoint. |
Interacciones | Amazon Lex | Cree bots conversacionales impulsados por tecnologías de aprendizaje profundo. |
PubSub | AWS IoT | Proporciona conectividad con middleware orientado a mensajes basado en la nube. |
Internacionalización | --- | Una solución de internacionalización ligera. |
Cache | --- | Proporciona una caché LRU genérica para que los desarrolladores de JavaScript almacenen datos con configuraciones de prioridad y caducidad. |
Predicciones | Varios* | Conecte su aplicación con servicios de aprendizaje automático como PNL, visión por computadora, TTS y más. |
AWS Amplify está disponible como aws-amplify
en npm.
Para comenzar, elija su plataforma en nuestra página de inicio de Introducción
Si está utilizando exportaciones predeterminadas de cualquier paquete de Amplify, deberá migrar para utilizar exportaciones con nombre. Por ejemplo:
- 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';
La sintaxis del predicado del almacén de datos ha cambiado, lo que afecta las interfaces DataStore.query
, DataStore.save
, DataStore.delete
y DataStore.observe
. Por ejemplo:
- 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
ha cambiado el nombre del parámetro maxKeys
a pageSize
y tiene un nuevo tipo de retorno que contiene la lista de resultados. Por ejemplo:
- 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
con la reanudación activada cambió la clave para que ya no incluya el nombre del depósito. Por ejemplo:
- 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
ya no acepta cadenas como entrada. Por ejemplo:
- Analytics.record('my example event');
+ Analytics.record({ name: 'my example event' });
La exportación JS
se eliminó de @aws-amplify/core
a favor de exportar las funciones que contenía.
Ya no se admiten llamadas a Amplify.Auth
, Amplify.Cache
y Amplify.ServiceWorker
. En su lugar, su código debería utilizar las exportaciones nombradas. Por ejemplo:
- 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
y AWS.config
ya no existen en Amplify JavaScript.[email protected]
se eliminó de [email protected]
en favor de la versión 3 de aws-sdk-js. Recomendamos migrar a aws-sdk-js-v3 si depende de servicios de AWS que no son compatibles con Amplify, ya que aws-sdk-js-v3 se importa de forma modular.Si no puede migrar a aws-sdk-js-v3 o confiar en [email protected], deberá importarlo por separado.
Si está utilizando rutas exportadas dentro de su aplicación Amplify JS (por ejemplo, import from "@aws-amplify/analytics/lib/Analytics"
), esto ahora fallará y ya no será compatible. Deberá cambiar a importaciones con nombre:
import { Analytics } from 'aws-amplify' ;
Si está utilizando categorías como Amplify.<Category>
, esto ya no funcionará y le recomendamos importar la categoría que necesita utilizar:
import { Auth } from 'aws-amplify' ;
Para obtener más información sobre cómo contribuir a DataStore/cómo funciona DataStore, consulte los documentos de DataStore.