我正在尝试设置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 cloud-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。在添加云逻辑部分之后,必须手动完成此操作

07-28 06:00