AWS Amplify, "Error: No credentials" when getting items from AppSync graphql API
AWS Amplify, "Error: No credentials" when getting items from AppSync graphql API
我已经发布了我的 React 应用程序来放大,那里一切顺利。但是当我打开 amplify URL 时,我发现没有从数据库中提取任何项目,并且控制台中出现错误,提示“无凭据”
我认为问题出在 AppSync API 上。
我使用 Amplify CLI 制作它,它使用 API 密钥身份验证。
我在本地使用生成的文件 aws-exports.js
提供凭据。我像这样在我的 index.tsx
中导入它:
import awsmobile from "./aws-exports";
Amplify.configure(awsmobile);
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
但是这个文件没有被推送到 git,所以 Amplify 显然没有从 repo 中得到这个。但我假设它能够生成自己的 aws-exports.js
文件,因为它不会在导入时出现任何错误。
那么,我在这里缺少什么?我是否必须在我的 AppSync api 上使用其他方法进行身份验证或者这里有什么问题?
谢谢!
我想我可能已经找到了解决方案。
我只需要像这样用 @aws_api_key
注释我的 schema.graphql:
type Item @model @aws_api_key {
id: ID!
name: String
}
当然还有您定义的任何自定义变更和订阅。
参见:https://aws.amazon.com/blogs/mobile/graphql-security-appsync-amplify/
我已经发布了我的 React 应用程序来放大,那里一切顺利。但是当我打开 amplify URL 时,我发现没有从数据库中提取任何项目,并且控制台中出现错误,提示“无凭据”
我认为问题出在 AppSync API 上。 我使用 Amplify CLI 制作它,它使用 API 密钥身份验证。
我在本地使用生成的文件 aws-exports.js
提供凭据。我像这样在我的 index.tsx
中导入它:
import awsmobile from "./aws-exports";
Amplify.configure(awsmobile);
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
但是这个文件没有被推送到 git,所以 Amplify 显然没有从 repo 中得到这个。但我假设它能够生成自己的 aws-exports.js
文件,因为它不会在导入时出现任何错误。
那么,我在这里缺少什么?我是否必须在我的 AppSync api 上使用其他方法进行身份验证或者这里有什么问题? 谢谢!
我想我可能已经找到了解决方案。
我只需要像这样用 @aws_api_key
注释我的 schema.graphql:
type Item @model @aws_api_key {
id: ID!
name: String
}
当然还有您定义的任何自定义变更和订阅。
参见:https://aws.amazon.com/blogs/mobile/graphql-security-appsync-amplify/