我正在尝试设置 AWS Mobile Hub,特别是使用 Amplify 和 Angular (5)。我已经使用提供的设置设置了身份验证,效果很好。我可以通过 AWS 提供的示例登录并访问用户名,如下所示:
this.amplifyService.authStateChange$
.subscribe(authState => {
this.signedIn = authState.state === 'signedIn';
if (!authState.user) {
this.user = null;
} else {
this.user = authState.user;
this.greeting = 'Hello ' + this.user.username;
console.log('greeting ' + this.greeting );
}
});
然后我想设置 APIGateway/Lambda 函数 - 所以我启用了 cloudLogic,如下所示:
awsmobile 云 API 启用 然后推了 AWS移动推送
我在 MobileHub 中看到 Cloudlogic 示例 API 设置。但是,当我尝试访问时,它不断重复不可用。
newmethod(View) {
this.amplifyService.api().get('sampleCloudApi', '/items')
.then(result => console.log('result' + result));
}
我在 javascript 控制台中收到的错误是:
core.js:1449 ERROR Error: Uncaught (in promise): Api sampleCloudApi does not exist
at resolvePromise (zone.js:814)
at resolvePromise (zone.js:771)
at eval (zone.js:873)
at ZoneDelegate.invokeTask (zone.js:421)
at Object.onInvokeTask (core.js:4751)
at ZoneDelegate.invokeTask (zone.js:420)
at Zone.runTask (zone.js:188)
at drainMicroTaskQueue (zone.js:595)
at ZoneTask.invokeTask [as invoke] (zone.js:500)
at invokeTask (zone.js:1540)
我不知道下一步该做什么。我尝试以这种方式调用:
awsmobile cloud-api 调用sampleCloudApi post/items '{"body": {"testKey":"testValue"}}'
但我还是没有得到 200
最佳答案
如果其他人遇到这个问题,我只需将 awe-exports.js 从后端目录复制到 src 目录中的 aws-exports.ts 即可。在我添加云逻辑部分后,这必须手动完成
关于javascript - Amplify.service.api.get 返回sampleCloudAPI 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51901480/