问题标签 [aws-amplify-cli]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
729 浏览

aws-amplify - 创建函数时无法放大推送

使用 aws-amplify cli v4.17.1,当 amplify 项目中包含一个函数时,我似乎无法通过使用“amplify push”命令来推送我的更改。

例如,我使用 amplify add function 命令创建了一个简单的 hello world 函数。然后使用 amplify build function 命令构建函数。

最后,在运行放大推送时 - 我收到以下错误。

以前有没有其他人遇到过这种情况?

0 投票
1 回答
188 浏览

reactjs - 发布反应放大应用程序时如何为登台环境运行不同的构建命令

到目前为止,我有一个具有两个环境的放大反应应用程序:prod 和 staging。

然后我的.env.staging.env.production文件具有不同的 API URL 值。

因此,在我的 package.json 中,我为部署准备了以下脚本:

现在问题来了,因为我不知道如何amplify publish根据环境使命令运行其中一个或另一个。

无论amplify env checkout我选择哪个,“发布”命令中使用的配置都在“project-config.json”中共享,如下所示:

有什么方法可以实现我想要的吗?

提前感谢您的帮助。

0 投票
1 回答
425 浏览

aws-amplify - 放大推送错误“资源目录中只允许一个 CloudFormation 模板”

我已经添加,在反应应用程序中推送了放大身份验证,它工作正常。在此之后,我添加了功能并尝试推送它,它给了我错误:-

你能帮我解决它吗?

0 投票
1 回答
1104 浏览

amazon-web-services - 使用 RDS 后端修改 AWS Amplify 中的解析器

将 AWS Amplify 与 dynamodb 后端一起使用时,可以通过在本地修改文件然后执行amplify push.

我正在使用 RDS(amplify api add-graphql-datasource按照文档中的说明添加它)。查询和解析器会自动在 AppSync 中设置。当我更新 Aurora RDS 架构时,我amplify api add-graphql-datasource再次运行以更新查询和解析程序。

但是如何vtl使用 amplify CLI 添加新的查询/突变并将它们绑定到新的解析器(在本地主机上的文件中定义)?

我想出了如何使用 AppSync Web 控制台来做到这一点。我修改架构并在 AppSync 中创建解析器,然后使用amplify codegen更新App.tsqueries.ts等。但是,这种方法至少有两个原因是不好的。

  1. 在使用多个环境时,必须通过 AppSync 控制台手动更改每个环境,这对于大型项目来说是困难的。
  2. amplify codegen不更新schema.graphql本地主机上的文件。
  3. 在对 AppSync 进行更改后执行amplify push使用 localhost 上定义的架构并覆盖 AppSync 控制台中定义的架构。
  4. 中的自定义解析器app/amplify/backend/<backend_name>/resolvers未与 AppSync 同步
  5. 堆栈文件不会自动更新。

我会以错误的方式解决这个问题吗?在使用 RDS 后端时,是否有更好的方法来使用 Amplify CLI 更新架构/解析器?

谢谢!

0 投票
1 回答
636 浏览

graphql - 如何在 AWS AppSync GraphQL 架构上处理多个 @auth 指令?

我正在尝试创建具有一些属性的单个模型:

我想调整不同用户如何访问此模型中的数据:

  1. 在 cognito 中分配到“管理员”组的用户应该能够创建、读取、更新和删除记录中的所有字段。

  2. 记录的所有者应该能够读取每个字段并更新attendingdietryRequirements字段。

  3. 任何拥有有效 JWT 的用户都应该能够更新该owner字段。

为了实现这一点,我实现了以下@auth 指令:

  1. @auth(rules: [{allow: groups, groups: ["admins"]}])Guest模型上
  2. @auth(rules: [{allow: owner, ownerField: "owner", operations:[read]}])Guest模型和和字段@auth(rules: [{allow: owner, ownerField: "owner", operations: [update]}])上。attendingdietryRequirements
  3. @auth(rules: [{allow: private, operations: [update]}])owner球场上。

最终模型如下所示:

这似乎不起作用,我不知道为什么。管理员用户可以查看所有内容并创建新对象。经过验证的用户(非所有者)无法更新所有者字段,因为这会返回未经授权的错误。所有者可以查看所有记录,无论他们是否是每个特定记录的所有者。

我怎样才能达到我想要的?

0 投票
0 回答
980 浏览

amazon-web-services - 在放大删除命令后重新创建 AWS 放大应用程序

我在参加本次研讨会时遇到了几个问题,包括

为避免收取 aws 资源费用,我使用amplify delete命令删除了所有 AWS 资源。如果我运行该amplify publish命令,我会收到以下错误:

如何重新创建所有 AWS 资源而无需amplify init再次执行该过程?

0 投票
1 回答
201 浏览

swift - 从更改的 GraphQL 文件生成 Swift 代码而不将更改推送到云端

我在我的 iOS 项目中使用 AWS Amplify 和 GraphQL。我想根据我更改的 GraphQL 文件更新我的 API.swift 文件。以下 Amplify CLI 命令可完成此操作,但会将更改推送到云端...

如何在不将更改推送到云的情况下生成更新的 GraphQL 文件?

0 投票
1 回答
276 浏览

angular - 放大 CLI - Angular + Ionic - MFA - AdminQueries API:XMLHttpRequest.handleError [as __zone_symbol__ON_PROPERTYerror]

所以,我使用 Amplify 和 ionic + angular 并遵循以下链接和子链接,

https://aws-amplify.github.io/docs/js/tutorials/building-ionic-4-apps/

https://aws-amplify.github.io/docs/cli-toolchain/quickstart#administrative-actions

现在,我要在我的应用程序中创建一个管理面板,通过它我可以创建为登录过程启用 MFA 的用户(就像通过 aws-cognito-console 完成的那样)。因此,在我的表单中,我提供了电子邮件和电话号码作为必填字段,并且我计划使用 javascript 创建一个自动生成的密码。

正如我从文档中了解到的那样,这可以通过 AdminQueries API 实现,并且在使用 初始化我的项目时amplify cli,我进行了所需的配置。结果,我确实在放大后端文件夹中准备好了样板代码,如下面的屏幕所示,

检查突出显示的黄色区域

不幸的是,样板代码没有实现 AdminCreateUser 方法,即

https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#adminCreateUser-property

因此,我自己在 中创建了这个方法,cognitoActions.js并且在 中实现了相同的路由app.js,做了一些CORS设置,最后做了一个amplify push

但是当我尝试从 amplify-angular 方法访问此 api 方法时,它给了我以下错误(我已将错误粘贴在屏幕截图下方)

在此处输入图像描述

这就是我的请求、响应标头中的所有内容,

在此处输入图像描述 在此处输入图像描述

{"message":"Network Error","name":"Error","stack":"Error: Network Error\n at createError (http://localhost:8100/vendor.js:263903:15)\n at XMLHttpRequest.handleError [as __zone_symbol__ON_PROPERTYerror] (http://localhost:8100/vendor.js:263394:14)\n at XMLHttpRequest.wrapFn (http://localhost:8100/polyfills.js:4541:39)\n at ZoneDelegate.invokeTask (http://localhost:8100/polyfills.js:3741:31)\n at Object.onInvokeTask (http://localhost:8100/vendor.js:70625:33)\n at ZoneDelegate.invokeTask (http://localhost:8100/polyfills.js:3740:60)\n at Zone.runTask (http://localhost:8100/polyfills.js:3518:47)\n at ZoneTask.invokeTask [as invoke] (http://localhost:8100/polyfills.js:3815:34)\n at invokeTask (http://localhost:8100/polyfills.js:4953:14)\n at XMLHttpRequest.globalZoneAwareCallback (http://localhost:8100/polyfills.js:4979:17)","config":{"url":"https://4wdmydkl7e.execute-api.ap-south-1.amazonaws.com/test/addUser","method":"post","data":"{\"user\":{\"firstname\":\"Prateek\",\"lastname\":\"k\",\"email\":\"opensource.prateek@gmail.com\",\"phoneNumber\":\"+918700416661\",\"specialization\":\"instrumentation\",\"role\":\"admin\"}}","headers":{"Accept":"application/json, text/plain, */*","Content-Type":"application/json"},"transformRequest":[null],"transformResponse":[null],"timeout":0,"responseType":"json","xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"host":"4wdmydkl7e.execute-api.ap-south-1.amazonaws.com","path":"/test/addUser"}}

----更新1 -----

我在我的 polyfills.js 中添加了以下内容,

这对我的 index.html

0 投票
1 回答
445 浏览

amazon-dynamodb - 一旦有主键,提供的键元素与架构错误不匹配

我使用 aws amplify 并有一个这样的 graphql 模式,我使用 amplify push 进行推送:

我可以在 appsync 控制台中插入一个新用户而不会出错:

但是,一旦我通过在 graphql 模式中添加 @key(fields: ["customerID"]) 创建具有主键 customerID 的相同 dynamodb 表用户,我在 appsync 控制台中收到以下错误:

尽管在数据库中正确创建了用户。除了 pk customerID 之外,我没有看到创建的代码中的 2 个表之间有任何区别。

有任何想法吗?

0 投票
0 回答
138 浏览

aws-amplify - appsync codegen api 是否可以使用 amplify Datastore?

我想在我的项目中使用带有 appsync 的放大数据存储,但是我的 graphql apiamplify add codegen --apiId XXX不是由生成的,amplify add api所以当我执行amplify codegen models它时,它给了我这个错误“没有配置 AppSync API。请添加 API