Hinweis: aws-amplify 6 wurde veröffentlicht. Wenn Sie eine Upgrade-Anleitung suchen, klicken Sie hier
AWS Amplify bietet eine deklarative und benutzerfreundliche Schnittstelle für verschiedene Kategorien von Cloud-Vorgängen. AWS Amplify passt gut zu jedem JavaScript-basierten Frontend-Workflow und React Native für mobile Entwickler.
Unsere Standardimplementierung funktioniert mit Amazon Web Services (AWS), aber AWS Amplify ist so konzipiert, dass es für jedes benutzerdefinierte Backend oder jeden benutzerdefinierten Dienst offen und integrierbar ist.
Kategorie | AWS-Anbieter | Beschreibung |
---|---|---|
Authentifizierung | Amazon Cognito | APIs und Bausteine zum Erstellen von Authentifizierungserlebnissen. |
Analytik | Amazon Pinpoint | Sammeln Sie Analytics-Daten für Ihre Anwendung, einschließlich der Verfolgung von Benutzersitzungen. |
REST-API | Amazon API Gateway | Sigv4-Signierung und AWS-Authentifizierung für API Gateway und andere REST-Endpunkte. |
GraphQL-API | AWS AppSync | Interagieren Sie mit Ihren GraphQL- oder AWS AppSync-Endpunkten. |
Datenspeicher | AWS AppSync | Programmiermodell für gemeinsame und verteilte Daten mit einfacher Online-/Offline-Synchronisierung. |
Lagerung | Amazon S3 | Verwaltet Inhalte in öffentlichen, geschützten und privaten Speicherbereichen. |
Geo (Entwicklervorschau) | Amazon-Standortdienst | Stellt APIs und UI-Komponenten für Karten und Standortsuche für JavaScript-basierte Web-Apps bereit. |
Push-Benachrichtigungen | Amazon Pinpoint | Ermöglicht die Integration von Push-Benachrichtigungen in Ihre App mit Unterstützung für Amazon Pinpoint-Targeting und Kampagnenmanagement. |
Interaktionen | Amazon Lex | Erstellen Sie Konversations-Bots, die auf Deep-Learning-Technologien basieren. |
PubSub | AWS IoT | Bietet Konnektivität mit cloudbasierter nachrichtenorientierter Middleware. |
Internationalisierung | --- | Eine leichte Internationalisierungslösung. |
Cache | --- | Bietet JavaScript-Entwicklern einen generischen LRU-Cache zum Speichern von Daten mit Prioritäts- und Ablaufeinstellungen. |
Vorhersagen | Verschieden* | Verbinden Sie Ihre App mit maschinellen Lerndiensten wie NLP, Computer Vision, TTS und mehr. |
AWS Amplify ist als aws-amplify
auf npm verfügbar.
Wählen Sie zunächst Ihre Plattform auf unserer Startseite „Erste Schritte“ aus
Wenn Sie Standardexporte aus einem Amplify-Paket verwenden, müssen Sie auf die Verwendung benannter Exporte umsteigen. Zum Beispiel:
- 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';
Die Syntax des Datastore-Prädikats hat sich geändert und wirkt sich auf die Schnittstellen DataStore.query
, DataStore.save
, DataStore.delete
und DataStore.observe
aus. Zum Beispiel:
- 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
hat den Namen des maxKeys
-Parameters in pageSize
geändert und verfügt über einen neuen Rückgabetyp, der die Ergebnisliste enthält. Zum Beispiel:
- 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
mit aktivierter Wiederaufnahmefunktion hat den Schlüssel so geändert, dass er den Bucket-Namen nicht mehr enthält. Zum Beispiel:
- 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
akzeptiert keine Zeichenfolge mehr als Eingabe. Zum Beispiel:
- Analytics.record('my example event');
+ Analytics.record({ name: 'my example event' });
Der JS
Export wurde aus @aws-amplify/core
entfernt und stattdessen die darin enthaltenen Funktionen exportiert.
Alle Aufrufe von Amplify.Auth
, Amplify.Cache
und Amplify.ServiceWorker
werden nicht mehr unterstützt. Stattdessen sollte Ihr Code die benannten Exporte verwenden. Zum Beispiel:
- 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
und AWS.config
sind in Amplify JavaScript nicht mehr vorhanden.[email protected]
wurde aus [email protected]
zugunsten der Version 3 von aws-sdk-js entfernt. Wir empfehlen die Migration auf aws-sdk-js-v3, wenn Sie auf AWS-Dienste angewiesen sind, die nicht von Amplify unterstützt werden, da aws-sdk-js-v3 modular importiert wird.Wenn Sie nicht auf aws-sdk-js-v3 migrieren oder sich nicht auf [email protected] verlassen können, müssen Sie es separat importieren.
Wenn Sie exportierte Pfade in Ihrer Amplify JS-Anwendung verwenden (z. B. import from "@aws-amplify/analytics/lib/Analytics"
), funktioniert dies nun nicht mehr und wird nicht mehr unterstützt. Sie müssen zu benannten Importen wechseln:
import { Analytics } from 'aws-amplify' ;
Wenn Sie Kategorien als Amplify.<Category>
verwenden, funktioniert dies nicht mehr und wir empfehlen, die Kategorie zu importieren, die Sie verwenden müssen:
import { Auth } from 'aws-amplify' ;
Weitere Informationen zum Mitwirken an DataStore bzw. zur Funktionsweise von DataStore finden Sie in den DataStore-Dokumenten