참고 aws-amplify 6이 출시되었습니다. 업그레이드 지침을 찾고 있다면 여기를 클릭하세요.
AWS Amplify는 다양한 클라우드 운영 범주에 걸쳐 선언적이고 사용하기 쉬운 인터페이스를 제공합니다. AWS Amplify는 모든 JavaScript 기반 프런트엔드 워크플로 및 모바일 개발자를 위한 React Native와 잘 어울립니다.
기본 구현은 Amazon Web Services(AWS)에서 작동하지만 AWS Amplify는 모든 사용자 지정 백엔드 또는 서비스에 대해 개방형 및 플러그형으로 설계되었습니다.
범주 | AWS 공급자 | 설명 |
---|---|---|
입증 | 아마존 코그니토 | 인증 경험을 생성하기 위한 API 및 빌딩 블록. |
해석학 | 아마존 핀포인트 | 사용자 세션 추적을 포함하여 애플리케이션에 대한 Analytics 데이터를 수집합니다. |
REST API | 아마존 API 게이트웨이 | API 게이트웨이 및 기타 REST 엔드포인트에 대한 Sigv4 서명 및 AWS 인증. |
GraphQL API | AWS 앱싱크 | GraphQL 또는 AWS AppSync 엔드포인트와 상호 작용합니다. |
데이터스토어 | AWS 앱싱크 | 간단한 온라인/오프라인 동기화를 통해 공유 및 분산 데이터를 위한 프로그래밍 모델입니다. |
저장 | 아마존 S3 | 공개, 보호, 비공개 스토리지 버킷의 콘텐츠를 관리합니다. |
Geo(개발자 미리보기) | 아마존 위치 서비스 | JavaScript 기반 웹 앱의 지도 및 위치 검색을 위한 API 및 UI 구성 요소를 제공합니다. |
푸시 알림 | 아마존 핀포인트 | Amazon Pinpoint 타겟팅 및 캠페인 관리 지원을 통해 앱에 푸시 알림을 통합할 수 있습니다. |
상호작용 | 아마존 렉스 | 딥 러닝 기술로 구동되는 대화형 봇을 만들어 보세요. |
PubSub | AWS IoT | 클라우드 기반 메시지 지향 미들웨어와의 연결성을 제공합니다. |
국제화 | --- | 가벼운 국제화 솔루션입니다. |
은닉처 | --- | JavaScript 개발자가 우선순위 및 만료 설정으로 데이터를 저장할 수 있도록 일반 LRU 캐시를 제공합니다. |
예측 | 다양한* | NLP, 컴퓨터 비전, TTS 등과 같은 기계 학습 서비스와 앱을 연결하세요. |
AWS Amplify는 npm에서 aws-amplify
로 제공됩니다.
시작하려면 시작하기 홈 페이지에서 플랫폼을 선택하세요.
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.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]
aws-sdk-js 버전 3을 위해 [email protected]
에서 제거되었습니다. aws-sdk-js-v3은 모듈식으로 가져오기 때문에 Amplify에서 지원하지 않는 AWS 서비스를 사용하는 경우 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 문서를 참조하세요.