หมายเหตุ aws-amplify 6 ได้รับการเผยแพร่แล้ว หากคุณกำลังมองหาคำแนะนำในการอัพเกรด คลิกที่นี่
AWS Amplify มอบอินเทอร์เฟซที่ประกาศและใช้งานง่ายสำหรับการดำเนินการบนคลาวด์ประเภทต่างๆ AWS Amplify เข้ากันได้ดีกับเวิร์กโฟลว์ส่วนหน้าที่ใช้ JavaScript และ React Native สำหรับนักพัฒนามือถือ
การใช้งานเริ่มต้นของเราใช้ได้กับ Amazon Web Services (AWS) แต่ AWS Amplify ได้รับการออกแบบมาให้เปิดและเสียบได้สำหรับแบ็กเอนด์หรือบริการที่กำหนดเอง
หมวดหมู่ | ผู้ให้บริการ AWS | คำอธิบาย |
---|---|---|
การรับรองความถูกต้อง | อเมซอน Cognito | API และ Building Block เพื่อสร้างประสบการณ์การตรวจสอบสิทธิ์ |
การวิเคราะห์ | อเมซอน ระบุ | รวบรวมข้อมูล Analytics สำหรับแอปพลิเคชันของคุณ รวมถึงการติดตามเซสชันผู้ใช้ |
ส่วนที่เหลือ API | เกตเวย์ Amazon API | การลงนาม Sigv4 และการตรวจสอบสิทธิ์ AWS สำหรับ API Gateway และจุดสิ้นสุด REST อื่นๆ |
GraphQL API | AWS AppSync | โต้ตอบกับตำแหน่งข้อมูล GraphQL หรือ AWS AppSync ของคุณ |
ดาต้าสโตร์ | AWS AppSync | โมเดลการเขียนโปรแกรมสำหรับข้อมูลที่แชร์และกระจายพร้อมการซิงโครไนซ์ออนไลน์/ออฟไลน์อย่างง่าย |
พื้นที่จัดเก็บ | อเมซอน S3 | จัดการเนื้อหาในที่เก็บข้อมูลสาธารณะที่ได้รับการป้องกันและเป็นส่วนตัว |
ภูมิศาสตร์ (ตัวอย่างนักพัฒนา) | บริการระบุตำแหน่งของอเมซอน | จัดเตรียมส่วนประกอบ API และ UI สำหรับแผนที่และการค้นหาตำแหน่งสำหรับเว็บแอปที่ใช้ JavaScript |
การแจ้งเตือนแบบพุช | อเมซอน ระบุ | ช่วยให้คุณสามารถรวมการแจ้งเตือนแบบพุชในแอปของคุณเข้ากับการกำหนดเป้าหมายของ Amazon Pinpoint และการสนับสนุนการจัดการแคมเปญ |
การโต้ตอบ | อเมซอน เล็กซ์ | สร้างบอทสนทนาที่ขับเคลื่อนโดยเทคโนโลยีการเรียนรู้เชิงลึก |
ผับซับ | AWS IoT | ให้การเชื่อมต่อกับมิดเดิลแวร์ที่เน้นข้อความบนคลาวด์ |
ความเป็นสากล | - | โซลูชันการทำให้เป็นสากลแบบน้ำหนักเบา |
แคช | - | มอบแคช LRU ทั่วไปสำหรับนักพัฒนา JavaScript เพื่อจัดเก็บข้อมูลตามการตั้งค่าลำดับความสำคัญและการหมดอายุ |
การคาดการณ์ | หลากหลาย* | เชื่อมต่อแอปของคุณกับบริการแมชชีนเลิร์นนิง เช่น NLP, คอมพิวเตอร์วิทัศน์, TTS และอื่นๆ |
AWS Amplify พร้อมใช้งานในรูปแบบ aws-amplify
เวลา npm
ในการเริ่มต้น ให้เลือกแพลตฟอร์มของคุณจากหน้า แรกเริ่มต้น ใช้งานของเรา
หากคุณใช้ การส่งออกเริ่มต้น จากแพ็คเกจ Amplify ใดๆ คุณจะต้องย้ายไปใช้การส่งออกที่มีชื่อ ตัวอย่างเช่น:
- 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';
ไวยากรณ์เพรดิเคตของ Datastore มีการเปลี่ยนแปลง ซึ่งส่งผลต่ออินเทอร์เฟซ DataStore.query
, DataStore.save
, DataStore.delete
และ DataStore.observe
ตัวอย่างเช่น:
- 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
ได้เปลี่ยนชื่อของพารามิเตอร์ maxKeys
เป็น pageSize
และมีประเภทการส่งคืนใหม่ที่มีรายการผลลัพธ์ ตัวอย่างเช่น:
- 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
ที่เปิดใช้งานต่อได้เปลี่ยนคีย์ให้ไม่รวมชื่อที่เก็บข้อมูลอีกต่อไป ตัวอย่างเช่น:
- 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
ไม่ยอมรับสตริงเป็นอินพุตอีกต่อไป ตัวอย่างเช่น:
- Analytics.record('my example event');
+ Analytics.record({ name: 'my example event' });
การส่งออก JS
ถูกลบออกจาก @aws-amplify/core
เพื่อสนับสนุนการส่งออกฟังก์ชันที่มีอยู่
ไม่รองรับการเรียกไปยัง Amplify.Auth
, Amplify.Cache
และ Amplify.ServiceWorker
อีกต่อไป รหัสของคุณควรใช้การส่งออกที่มีชื่อแทน ตัวอย่างเช่น:
- 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
และ AWS.config
ไม่มีอยู่ใน Amplify JavaScript อีกต่อไป[email protected]
ถูกลบออกจาก [email protected]
เพื่อสนับสนุน aws-sdk-js เวอร์ชัน 3 เราขอแนะนำให้ย้ายไปยัง aws-sdk-js-v3 หากคุณใช้บริการของ AWS ที่ Amplify ไม่รองรับ เนื่องจาก aws-sdk-js-v3 ได้รับการนำเข้าแบบโมดูลาร์หากคุณไม่สามารถย้ายไปยัง aws-sdk-js-v3 หรือใช้ [email protected] ได้ คุณจะต้องนำเข้าแยกต่างหาก
หากคุณใช้เส้นทางที่ส่งออกภายในแอปพลิเคชัน Amplify JS ของคุณ (เช่น import from "@aws-amplify/analytics/lib/Analytics"
) สิ่งนี้จะใช้งานไม่ได้และจะไม่รองรับอีกต่อไป คุณจะต้องเปลี่ยนเป็นการนำเข้าที่มีชื่อ:
import { Analytics } from 'aws-amplify' ;
หากคุณใช้หมวดหมู่เป็น Amplify.<Category>
สิ่งนี้จะไม่ทำงานอีกต่อไป และเราขอแนะนำให้นำเข้าหมวดหมู่ที่คุณต้องการใช้:
import { Auth } from 'aws-amplify' ;
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการมีส่วนร่วมใน DataStore / วิธีการทำงานของ DataStore โปรดดูเอกสาร DataStore