Amplify.service.api.get returns sampleCloudAPI 不存在
Amplify.service.api.get returns sampleCloudAPI does not exist
我正在尝试设置 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 启用
然后做了推
awsmobile 推送
我在 MobileHub 中看到了 Cloudlogic sampleAPI 设置。但是,当我尝试访问时,它一直重复不可用。
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。这必须在我添加云逻辑部分后手动完成
您还可以将 package.json 中的 "start" 脚本修改为以下内容,这样您就不必每次都手动更改它。
"start": "[ -f src/aws-exports.js ] && mv src/aws-exports.js src/aws-exports.ts || ng serve; ng serve"
当您 运行 awsmobile init 时,它会询问 src/ 目录,因为那将是 aws-exports.js 文件所在的位置保存。每次您 运行 推送或拉取此文件时,都会使用您在云端的资源的最新配置进行更新。
我正在尝试设置 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 启用 然后做了推 awsmobile 推送
我在 MobileHub 中看到了 Cloudlogic sampleAPI 设置。但是,当我尝试访问时,它一直重复不可用。
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。这必须在我添加云逻辑部分后手动完成
您还可以将 package.json 中的 "start" 脚本修改为以下内容,这样您就不必每次都手动更改它。
"start": "[ -f src/aws-exports.js ] && mv src/aws-exports.js src/aws-exports.ts || ng serve; ng serve"
当您 运行 awsmobile init 时,它会询问 src/ 目录,因为那将是 aws-exports.js 文件所在的位置保存。每次您 运行 推送或拉取此文件时,都会使用您在云端的资源的最新配置进行更新。