问题标签 [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.
aws-amplify - 创建函数时无法放大推送
使用 aws-amplify cli v4.17.1,当 amplify 项目中包含一个函数时,我似乎无法通过使用“amplify push”命令来推送我的更改。
例如,我使用 amplify add function 命令创建了一个简单的 hello world 函数。然后使用 amplify build function 命令构建函数。
最后,在运行放大推送时 - 我收到以下错误。
以前有没有其他人遇到过这种情况?
reactjs - 发布反应放大应用程序时如何为登台环境运行不同的构建命令
到目前为止,我有一个具有两个环境的放大反应应用程序:prod 和 staging。
然后我的.env.staging
和.env.production
文件具有不同的 API URL 值。
因此,在我的 package.json 中,我为部署准备了以下脚本:
现在问题来了,因为我不知道如何amplify publish
根据环境使命令运行其中一个或另一个。
无论amplify env checkout
我选择哪个,“发布”命令中使用的配置都在“project-config.json”中共享,如下所示:
有什么方法可以实现我想要的吗?
提前感谢您的帮助。
aws-amplify - 放大推送错误“资源目录中只允许一个 CloudFormation 模板”
我已经添加,在反应应用程序中推送了放大身份验证,它工作正常。在此之后,我添加了功能并尝试推送它,它给了我错误:-
你能帮我解决它吗?
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.ts
、queries.ts
等。但是,这种方法至少有两个原因是不好的。
- 在使用多个环境时,必须通过 AppSync 控制台手动更改每个环境,这对于大型项目来说是困难的。
amplify codegen
不更新schema.graphql
本地主机上的文件。- 在对 AppSync 进行更改后执行
amplify push
使用 localhost 上定义的架构并覆盖 AppSync 控制台中定义的架构。 - 中的自定义解析器
app/amplify/backend/<backend_name>/resolvers
未与 AppSync 同步 - 堆栈文件不会自动更新。
我会以错误的方式解决这个问题吗?在使用 RDS 后端时,是否有更好的方法来使用 Amplify CLI 更新架构/解析器?
谢谢!
graphql - 如何在 AWS AppSync GraphQL 架构上处理多个 @auth 指令?
我正在尝试创建具有一些属性的单个模型:
我想调整不同用户如何访问此模型中的数据:
在 cognito 中分配到“管理员”组的用户应该能够创建、读取、更新和删除记录中的所有字段。
记录的所有者应该能够读取每个字段并更新
attending
和dietryRequirements
字段。- 任何拥有有效 JWT 的用户都应该能够更新该
owner
字段。
为了实现这一点,我实现了以下@auth 指令:
@auth(rules: [{allow: groups, groups: ["admins"]}])
在Guest
模型上@auth(rules: [{allow: owner, ownerField: "owner", operations:[read]}])
在Guest
模型和和字段@auth(rules: [{allow: owner, ownerField: "owner", operations: [update]}])
上。attending
dietryRequirements
@auth(rules: [{allow: private, operations: [update]}])
在owner
球场上。
最终模型如下所示:
这似乎不起作用,我不知道为什么。管理员用户可以查看所有内容并创建新对象。经过验证的用户(非所有者)无法更新所有者字段,因为这会返回未经授权的错误。所有者可以查看所有记录,无论他们是否是每个特定记录的所有者。
我怎样才能达到我想要的?
amazon-web-services - 在放大删除命令后重新创建 AWS 放大应用程序
我在参加本次研讨会时遇到了几个问题,包括
为避免收取 aws 资源费用,我使用amplify delete
命令删除了所有 AWS 资源。如果我运行该amplify publish
命令,我会收到以下错误:
如何重新创建所有 AWS 资源而无需amplify init
再次执行该过程?
swift - 从更改的 GraphQL 文件生成 Swift 代码而不将更改推送到云端
我在我的 iOS 项目中使用 AWS Amplify 和 GraphQL。我想根据我更改的 GraphQL 文件更新我的 API.swift 文件。以下 Amplify CLI 命令可完成此操作,但会将更改推送到云端...
如何在不将更改推送到云的情况下生成更新的 GraphQL 文件?
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 方法,即
因此,我自己在 中创建了这个方法,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
amazon-dynamodb - 一旦有主键,提供的键元素与架构错误不匹配
我使用 aws amplify 并有一个这样的 graphql 模式,我使用 amplify push 进行推送:
我可以在 appsync 控制台中插入一个新用户而不会出错:
但是,一旦我通过在 graphql 模式中添加 @key(fields: ["customerID"]) 创建具有主键 customerID 的相同 dynamodb 表用户,我在 appsync 控制台中收到以下错误:
尽管在数据库中正确创建了用户。除了 pk customerID 之外,我没有看到创建的代码中的 2 个表之间有任何区别。
有任何想法吗?
aws-amplify - appsync codegen api 是否可以使用 amplify Datastore?
我想在我的项目中使用带有 appsync 的放大数据存储,但是我的 graphql apiamplify add codegen --apiId XXX
不是由生成的,amplify add api
所以当我执行amplify codegen models
它时,它给了我这个错误“没有配置 AppSync API。请添加 API