Notez qu'aws-amplify 6 a été publié. Si vous recherchez des conseils de mise à niveau, cliquez ici
AWS Amplify fournit une interface déclarative et facile à utiliser pour différentes catégories d'opérations cloud. AWS Amplify s'adapte bien à n'importe quel flux de travail frontal basé sur JavaScript et à React Native pour les développeurs mobiles.
Notre implémentation par défaut fonctionne avec Amazon Web Services (AWS), mais AWS Amplify est conçu pour être ouvert et connectable à tout backend ou service personnalisé.
Catégorie | Fournisseur AWS | Description |
---|---|---|
Authentification | Amazon Cognito | API et blocs de construction pour créer des expériences d'authentification. |
Analytique | Amazon Pinpoint | Collectez des données Analytics pour votre application, y compris le suivi des sessions utilisateur. |
API REST | Passerelle API Amazon | Signature Sigv4 et authentification AWS pour API Gateway et autres points de terminaison REST. |
API GraphQL | AWS AppSync | Interagissez avec votre ou vos points de terminaison GraphQL ou AWS AppSync. |
Banque de données | AWS AppSync | Modèle de programmation pour données partagées et distribuées, avec synchronisation simple en ligne/hors ligne. |
Stockage | Amazone S3 | Gère le contenu dans des compartiments de stockage publics, protégés et privés. |
Géo (aperçu pour les développeurs) | Service de localisation Amazon | Fournit des API et des composants d'interface utilisateur pour les cartes et la recherche d'emplacement pour les applications Web basées sur JavaScript. |
Notifications poussées | Amazon Pinpoint | Vous permet d'intégrer des notifications push dans votre application avec la prise en charge du ciblage et de la gestion de campagne Amazon Pinpoint. |
Interactions | AmazonLex | Créez des robots conversationnels alimentés par des technologies d'apprentissage profond. |
PubSub | AWSIoT | Fournit une connectivité avec un middleware orienté message basé sur le cloud. |
Internationalisation | --- | Une solution d’internationalisation légère. |
Cache | --- | Fournit un cache LRU générique permettant aux développeurs JavaScript de stocker des données avec des paramètres de priorité et d'expiration. |
Prédictions | Divers* | Connectez votre application à des services d'apprentissage automatique tels que la PNL, la vision par ordinateur, la TTS, etc. |
AWS Amplify est disponible en tant que aws-amplify
sur npm.
Pour commencer, choisissez votre plateforme sur notre page d'accueil Mise en route
Si vous utilisez les exportations par défaut de n'importe quel package Amplify, vous devrez alors migrer vers l'utilisation d'exportations nommées. Par exemple:
- 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 syntaxe du prédicat Datastore a changé, ce qui a un impact sur les interfaces DataStore.query
, DataStore.save
, DataStore.delete
et DataStore.observe
. Par exemple:
- 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
a changé le nom du paramètre maxKeys
en pageSize
et dispose d'un nouveau type de retour qui contient la liste des résultats. Par exemple:
- 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
avec la reprise activée a modifié la clé pour ne plus inclure le nom du compartiment. Par exemple:
- 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'accepte plus de chaîne comme entrée. Par exemple:
- Analytics.record('my example event');
+ Analytics.record({ name: 'my example event' });
L'export JS
a été supprimé de @aws-amplify/core
au profit de l'export des fonctions qu'il contenait.
Tous les appels à Amplify.Auth
, Amplify.Cache
et Amplify.ServiceWorker
ne sont plus pris en charge. Au lieu de cela, votre code doit utiliser les exportations nommées. Par exemple:
- 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
et AWS.config
n'existent plus dans Amplify JavaScript.[email protected]
a été supprimé [email protected]
au profit de la version 3 de aws-sdk-js. Nous vous recommandons de migrer vers aws-sdk-js-v3 si vous comptez sur des services AWS qui ne sont pas pris en charge par Amplify, car aws-sdk-js-v3 est importé de manière modulaire.Si vous ne pouvez pas migrer vers aws-sdk-js-v3 ou compter sur [email protected], vous devrez l'importer séparément.
Si vous utilisez des chemins exportés dans votre application Amplify JS (par exemple, import from "@aws-amplify/analytics/lib/Analytics"
), cela sera désormais interrompu et ne sera plus pris en charge. Vous devrez passer aux importations nommées :
import { Analytics } from 'aws-amplify' ;
Si vous utilisez des catégories comme Amplify.<Category>
, cela ne fonctionnera plus et nous vous recommandons d'importer la catégorie que vous devez utiliser :
import { Auth } from 'aws-amplify' ;
Pour plus d'informations sur la contribution à DataStore/le fonctionnement de DataStore, consultez la documentation DataStore.