我正在启动一个放大S3存储的项目。我关注过许多教程和示例项目。
我下载了这个示例项目:https://github.com/aws-amplify/amplify-flutter/tree/main/example
但当调用Amplify.configue(Amplifyconfig)时,我得到了以下错误:
E/flutter ( 5798):错误:flutter/lib/ui/ui_dart_state.cc(209)未处理的异常:AnalyticsException(消息:无法从放大配置json中读取appId或region。,recoverySuggestion:确保amplifyconfiguration.json是预期格式的有效json对象。请查看文档了解预期的amplifyconfiguration.json格式,underlyingException: org.json.JSONException:无pinpointAnalytics的值) E/flutter ( 5798):#0 AmplifyClass.configure (软件包:amplify_flutter/Amplify.dart:171:9) E/flutter ( 5798):E/flutter ( 5798):#1 _MyAppState._initAmplifyFlutter (软件包:sample_app/Main.Dart:65:7) E/flutter ( 5798):E/flutter ( 5798):
以下是部分代码:
@override
initState() {
super.initState();
_initAmplifyFlutter();
}
void _initAmplifyFlutter() async {
AmplifyAuthCognito auth = AmplifyAuthCognito();
AmplifyStorageS3 storage = AmplifyStorageS3();
AmplifyAnalyticsPinpoint analytics = AmplifyAnalyticsPinpoint();
Amplify.addPlugins([auth, storage, analytics]);
// Initialize AmplifyFlutter
try {
await Amplify.configure(amplifyconfig);
} on AmplifyAlreadyConfiguredException {
print(
"Amplify was already configured. Looks like app restarted on android.");
}
setState(() {
_isAmplifyConfigured = true;
});
}而且,我的amplifyconfiguation.dart看起来还不错;
const amplifyconfig = ''' {
"UserAgent": "aws-amplify-cli/2.0",
"Version": "1.0",
"auth": {
"plugins": {
"awsCognitoAuthPlugin": {
"UserAgent": "aws-amplify-cli/0.1.0",
"Version": "0.1.0",
"IdentityManager": {
"Default": {}
},
"CredentialsProvider": {
"CognitoIdentity": {
"Default": {
"PoolId": "us-east-1:b9741a22-5ce7-44e6-807d-43ac31244d3b",
"Region": "us-east-1"
}
}
},
"CognitoUserPool": {
"Default": {
"PoolId": "us-east-1_xTO13zNaS",
"AppClientId": "3im526imsnhcl9rugc3t8c70tn",
"Region": "us-east-1"
}
},
"Auth": {
"Default": {
"authenticationFlowType": "USER_SRP_AUTH",
"loginMechanisms": [
"PREFERRED_USERNAME"
],
"signupAttributes": [
"EMAIL"
],
"passwordProtectionSettings": {
"passwordPolicyMinLength": 8,
"passwordPolicyCharacters": []
},
"mfaConfiguration": "OFF",
"mfaTypes": [
"SMS"
],
"verificationMechanisms": [
"EMAIL"
]
}
},
"S3TransferUtility": {
"Default": {
"Bucket": "demobucket225218-dev",
"Region": "us-east-1"
}
}
}
}
},
"storage": {
"plugins": {
"awsS3StoragePlugin": {
"bucket": "demobucket225218-dev",
"region": "us-east-1",
"defaultAccessLevel": "guest"
}
}
}
}''';我已经运行了:
amplify add auth
amplify add storage
amplify push以下是我在pubspec.yaml中的依赖项
file_picker: ^4.0.0
amplify_flutter: 0.2.7
amplify_analytics_pinpoint: 0.2.7
amplify_auth_cognito: 0.2.7
amplify_storage_s3: 0.2.7还是不走运。谢谢
发布于 2021-11-11 06:19:15
您从未将分析添加到项目中。你做到了
amplify add auth
amplify add storage
amplify push但是你没有添加分析。
此外,如果你检查你的amplifyconfiguation.dart,有“身份验证”和“存储”-但没有分析。
只需将其注释掉并尝试:
@override
initState() {
super.initState();
_initAmplifyFlutter();
}
void _initAmplifyFlutter() async {
AmplifyAuthCognito auth = AmplifyAuthCognito();
AmplifyStorageS3 storage = AmplifyStorageS3();
//AmplifyAnalyticsPinpoint analytics = AmplifyAnalyticsPinpoint();
Amplify.addPlugins([auth, storage/*, analytics*/]);
// Initialize AmplifyFlutter
try {
await Amplify.configure(amplifyconfig);
} on AmplifyAlreadyConfiguredException {
print(
"Amplify was already configured. Looks like app restarted on android.");
}
setState(() {
_isAmplifyConfigured = true;
});
}https://stackoverflow.com/questions/69920558
复制相似问题