Catatan aws-amplify 6 telah dirilis. Jika Anda mencari panduan peningkatan, klik di sini
AWS Amplify menyediakan antarmuka deklaratif dan mudah digunakan di berbagai kategori operasi cloud. AWS Amplify cocok dengan alur kerja frontend berbasis JavaScript dan React Native untuk pengembang seluler.
Implementasi default kami berfungsi dengan Amazon Web Services (AWS), namun AWS Amplify dirancang agar terbuka dan dapat dipasang untuk backend atau layanan kustom apa pun.
Kategori | Penyedia AWS | Keterangan |
---|---|---|
Otentikasi | Amazon Kognito | API dan Blok Penyusun untuk menciptakan pengalaman Otentikasi. |
Analisis | Amazon Tepat | Kumpulkan data Analytics untuk aplikasi Anda termasuk melacak sesi pengguna. |
API REST | Gerbang API Amazon | Penandatanganan Sigv4 dan autentikasi AWS untuk API Gateway dan titik akhir REST lainnya. |
API GrafikQL | AWS AppSync | Berinteraksi dengan titik akhir GraphQL atau AWS AppSync Anda. |
Penyimpanan Data | AWS AppSync | Model pemrograman untuk data bersama dan terdistribusi, dengan sinkronisasi online/offline sederhana. |
Penyimpanan | Amazon S3 | Mengelola konten di keranjang penyimpanan publik, terlindungi, dan pribadi. |
Geo (Pratinjau pengembang) | Layanan Lokasi Amazon | Menyediakan komponen API dan UI untuk peta dan pencarian lokasi untuk aplikasi web berbasis JavaScript. |
Pemberitahuan Dorong | Amazon Tepat | Memungkinkan Anda mengintegrasikan pemberitahuan push di aplikasi Anda dengan penargetan Amazon Pinpoint dan dukungan manajemen kampanye. |
Interaksi | Amazon Lex | Buat bot percakapan yang didukung oleh teknologi pembelajaran mendalam. |
PubSub | AWS IoT | Menyediakan konektivitas dengan middleware berorientasi pesan berbasis cloud. |
Internasionalisasi | --- | Solusi internasionalisasi ringan. |
Cache | --- | Menyediakan cache LRU generik bagi pengembang JavaScript untuk menyimpan data dengan pengaturan prioritas dan kedaluwarsa. |
Prediksi | Bermacam-macam* | Hubungkan aplikasi Anda dengan layanan pembelajaran mesin seperti NLP, computer vision, TTS, dan banyak lagi. |
AWS Amplify tersedia sebagai aws-amplify
di npm.
Untuk memulai, pilih platform Anda dari beranda Memulai kami
Jika Anda menggunakan ekspor default dari paket Amplify mana pun, Anda harus bermigrasi untuk menggunakan ekspor bernama. Misalnya:
- 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';
Sintaks predikat Datastore telah berubah, yang berdampak pada antarmuka DataStore.query
, DataStore.save
, DataStore.delete
, dan DataStore.observe
. Misalnya:
- 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
telah mengubah nama parameter maxKeys
menjadi pageSize
dan memiliki tipe kembalian baru yang berisi daftar hasil. Misalnya:
- 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
dengan resumable diaktifkan telah mengubah kunci untuk tidak lagi menyertakan nama bucket. Misalnya:
- 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
tidak lagi menerima string sebagai masukan. Misalnya:
- Analytics.record('my example event');
+ Analytics.record({ name: 'my example event' });
Ekspor JS
telah dihapus dari @aws-amplify/core
demi mengekspor fungsi yang ada di dalamnya.
Panggilan apa pun ke Amplify.Auth
, Amplify.Cache
, dan Amplify.ServiceWorker
tidak lagi didukung. Sebaliknya, kode Anda harus menggunakan ekspor bernama. Misalnya:
- 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
dan AWS.config
tidak ada lagi di Amplify JavaScript.[email protected]
telah dihapus dari [email protected]
dan mendukung aws-sdk-js versi 3. Kami menyarankan untuk bermigrasi ke aws-sdk-js-v3 jika Anda mengandalkan layanan AWS yang tidak didukung oleh Amplify, karena aws-sdk-js-v3 diimpor secara modular.Jika Anda tidak dapat bermigrasi ke aws-sdk-js-v3 atau mengandalkan [email protected], Anda perlu mengimpornya secara terpisah.
Jika Anda menggunakan jalur yang diekspor dalam aplikasi Amplify JS Anda, (misalnya import from "@aws-amplify/analytics/lib/Analytics"
) jalur ini sekarang akan rusak dan tidak lagi didukung. Anda perlu mengubah ke impor bernama:
import { Analytics } from 'aws-amplify' ;
Jika Anda menggunakan kategori sebagai Amplify.<Category>
, ini tidak akan berfungsi lagi dan kami menyarankan untuk mengimpor kategori yang perlu Anda gunakan:
import { Auth } from 'aws-amplify' ;
Untuk informasi selengkapnya tentang berkontribusi pada DataStore/cara kerja DataStore, lihat Dokumen DataStore