Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.

Page updated May 2, 2026

Maintenance ModeYou are viewing Amplify Gen 1 documentation. Amplify Gen 1 has entered maintenance mode and will reach end of life on May 1, 2027. New project should use Amplify Gen 2. For existing Gen 1 projects, a migration guide and tooling are available to help you upgrade. Switch to the latest Gen 2 docs →

DataStore を削除する

DataStore の呼び出しを移行する前に、Amplify DataStore をプロジェクトから削除し、API プラグインを設定してモデルを使用するようにします。

依存関係を更新する

pubspec.yaml から amplify_datastore パッケージを削除し、amplify_api パッケージが存在することを確認します:

dependencies:
# このようにコメントアウト:
# amplify_datastore: ^2.x.x
# これらを保持または追加:
amplify_flutter: ^2.x.x
amplify_api: ^2.x.x
amplify_auth_cognito: ^2.x.x # 認証を使用している場合

pubspec.yaml を更新した後、以下を実行します:

flutter pub get

Amplify 設定を更新する

DataStore を使用する場合、ModelProviderAmplifyDataStore プラグインに渡されていました。DataStore を削除した後、ModelProvider.instance を代わりに AmplifyAPI プラグインに渡す必要があります。これを行わないと、ModelMutationsModelQueries はモデルをシリアライズおよびデシリアライズできず、API 呼び出しは実行時に失敗します。

前(DataStore を使用):

import 'package:amplify_datastore/amplify_datastore.dart';
import 'package:amplify_api/amplify_api.dart';
import 'models/ModelProvider.dart';
final datastorePlugin = AmplifyDataStore(modelProvider: ModelProvider.instance);
final api = AmplifyAPI();
await Amplify.addPlugins([datastorePlugin, api]);
await Amplify.configure(amplifyConfig);

後(API のみ):

import 'package:amplify_api/amplify_api.dart';
import 'package:amplify_api/model_queries.dart';
import 'package:amplify_api/model_mutations.dart';
import 'package:amplify_api/model_subscriptions.dart';
import 'models/ModelProvider.dart';
// ModelProvider を API プラグインに渡す
final api = AmplifyAPI(
options: APIPluginOptions(modelProvider: ModelProvider.instance),
);
await Amplify.addPlugins([api]);
await Amplify.configure(amplifyConfig);

ModelProvider.instanceAmplifyAPI に渡すことを忘れた場合、モデルベースのクエリと変更は機能しません。これは最も一般的な移行の失敗です。

すべての DataStore 呼び出しを削除する

コードベースをチェックして、すべての DataStore 呼び出しを削除または置き換えます:

DataStore の呼び出しAPI 置き換え
Amplify.DataStore.save()ModelMutations.create() / .update()Amplify.API.mutate()
Amplify.DataStore.delete()ModelMutations.delete()Amplify.API.mutate()
Amplify.DataStore.query()ModelQueries.get() / .list()Amplify.API.query()
Amplify.DataStore.observe()ModelSubscriptions.onCreate/onUpdate/onDelete()Amplify.API.subscribe()
Amplify.DataStore.observeQuery()初期リストクエリ + 3 つのサブスクリプション(Amplify API への移行参照)
Amplify.DataStore.clear()不要になりました(クリアするローカル DataStore がありません)
Amplify.DataStore.start() / stop()不要になりました

認証またはその他のサービスに Amplify をまだ使用している場合は、amplify_auth_cognito(または他の認証プラグイン)を保持してください。DataStore プラグインと依存関係のみを削除する必要があります。

サインアウトフローの Amplify.DataStore.clear(): サインアウトフローが Amplify.DataStore.clear() を呼び出してサインアウト前にローカルデータをワイプしている場合、移行後にクリアするローカル DataStore がないため、その呼び出しを完全に削除してください。