问题标签 [aws-amplify]

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 回答
1660 浏览

reactjs - AWS Amplify - 更新 DynamoDB 中的列

我试图弄清楚如何使用“aws-amplify”API 更新 Dynamo 表中的列。

如果没有Amplify(仅使用 AWS 开发工具包),可以这样完成:

我使用此处的文档设置了后端/api(启用云 API 来执行 CRUD 操作) https://docs.aws.amazon.com/aws-mobile/latest/developerguide/web-access-databases.html

就创建新记录的“放置/获取”方法等而言,一切正常

但是关于像上面的更新这样的更高级技术的文档很少,我不知道如何/如何使用 Amplify 来实现。

希望有人已经这样做了!谢谢

0 投票
3 回答
5108 浏览

javascript - 通过 aws Amplify 使用 Storage 类对本机图像上传进行反应

我有一个图像。我想使用 aws-amplify 将它上传到 S3。所有Storage类上传示例均使用文本文档;但是,我想上传一张图片。我正在使用不支持 react-native-fetch-blob 的 expo,并且 react native 没有 blob 支持......但是。

所以我的选择似乎是:

  1. 通过 lambda 创建节点服务。
  2. 仅将 base64 信息上传到 S3 而不是 blob。

const { status } = await Permissions.askAsync(Permissions.CAMERA_ROLL); if (status === 'granted') { const image = await ImagePicker.launchImageLibraryAsync({ quality: 0.5, base64: true }); const { base64 } = image; Storage.put(`${username}-profileImage.jpeg`, base64); }

它是否正确?

0 投票
1 回答
771 浏览

javascript - 在 currentSession() 上使用 .then 时,aws-amplify 仍然返回一个承诺

在 React / Redux 中,我尝试使用 redux connect 将 aws-amplify 会话数据映射到道具。

我的问题是,即使我使用 .then 我总是得到一个返回的承诺,结果看起来像这样:

代码如下。

我尝试使用 JSON.stringify、Promise.resolve() 等进行解析……但我总是得到承诺。

如果我在 redux 连接器中运行它,或者直接在页面上运行它似乎也没有关系,也尝试过 double 。然后认为它可能是一个包装在一个承诺中的承诺,但事实并非如此。

0 投票
2 回答
1629 浏览

angular - 缺少标题 aws-amplify + angular 5.x

我正在使用angular 5.xaws-amplify构建一个项目。我成功地通过aws-cognito注册、确认和登录我的用户,现在,我想检索用户jwt并将其添加到请求标头以对我的dynamoDb集合执行 CRUD 操作。

不幸的是,当我尝试在发电机上执行此类操作时,我收到以下错误:

我使用以下Cognito.service获取用户的令牌:

该 get 由以下方式调用:

Dynamo.service如下

我的环境如下:

当然,在我的应用程序启动时,我正在配置放大,例如:

在我的api-gatway 上,我启用了标准CORSAuthorization必需和无Token验证。我觉得我做的一切都很好,我不明白我做错了什么。

编辑

Authorizationheader 在使用API.get(...)和传递一个 header 对象时得到正确设置,例如:

更多内容可以在以下链接aws.github.io/aws-amplify 阅读

有什么建议吗?

0 投票
1 回答
362 浏览

amazon-web-services - 无法在 AWS Mobile Hub 上切换用户池

我是 AWS 菜鸟,在开始使用我的应用程序进行用户身份验证时遇到了一些问题。我正在开发一个简单的网络应用程序,并开始使用 awsmobile cli 和 aws-amplify 工具。

我在移动集线器上创建了一个新项目,并且能够成功注册、验证和登录用户,但是移动集线器创建的默认用户池强制使用用户名。我的应用程序中的用户名没有真正的用处,最终我只想使用电子邮件地址、名字和姓氏作为创建帐户的必填字段。

我从 AWS 开发人员体验成员那里找到了答案,我按照推荐的步骤进行操作,但我现在在登录时遇到问题,因为在计算客户端密码的哈希时出现错误,请求被拒绝。

"Unable to verify secret hash for client ***********************6pl"

删除旧用户池后,我现在收到一个No userPool错误,这是有道理的,因为看起来新用户池尚未与身份池关联。

在移动集线器的用户资源视图中,我仍然可以看到旧用户池(即使我删除了它)。我已经更新了身份验证提供程序以匹配新用户池中的客户端 ID 和详细信息。

在我的客户端上,我手动修改了backend-details.json文件以匹配新用户池以及aws-exports.js文件。使用通过控制台推送更改awsmobile push似乎不起作用,因为它会从旧用户池中提取详细信息。

关于我做错了什么的任何想法?

0 投票
1 回答
665 浏览

amazon-web-services - AWS Amplify: How to setup { withConnector } component?

Following the Amplify Quick Start I set up an AWS Mobile App with the awsmobile-cli:

In my react App I configured Amplify like so (I also tried manual configuration):

This Code shows me the Cognito UI, but on any action, I take the following error appears:

No userPool

How do I properly connect the Amplify withConnector component with my App's userPool?


P.S. Yesterday evening my app was working flawlessly. Today I only performed some minor changes and cannot explain this behavior.

0 投票
1 回答
658 浏览

react-native - “无法读取 null 的属性 'accessKeyId'”错误。尝试使用“aws-Amplify”进行 API 调用时

在安装应用程序后第一次尝试使 API 请求获得“accessKeyId”为 null”错误时,一旦应用程序终止并重新启动,所有 API 请求都可以正常工作。

aws-amplify 配置如下。

AWS 身份验证配置如下

使用 "react-native-aws-cognito-js : 0.0.7" 进行身份验证,使用 "aws-amplify:^0.2.3" 进行 API 调用

这是使用 aws-amplify 发出 API 请求时第一次出现的错误

0 投票
2 回答
2057 浏览

amazon-web-services - 如何将图像从本地路径上传到 S3

我正在开发一个 React Native 应用程序并尝试将存储在设备上的图像上传到 S3。我知道图像的路径,但是当我尝试上传图像时,S3 返回不支持的文件错误或上传文件及其名称,但文件仅包含文件路径字符串。

我正在使用aws-amplify来建立这些连接。

这是我使用的代码块:

非常感谢

0 投票
0 回答
95 浏览

amazon-web-services - 如何将我的移动集线器与我现有的 cognito 用户池链接?(第2部分)

我很抱歉这样做,但我没有足够的声誉来评论这个问题:如何将我的移动集线器与我现有的 cognito 用户池链接?,并且提供的答案并没有完全解决我的问题。

为了更好地解释,我使用了适用于 AWS Mobile Hub 的 React Native 构建。我已“成功”通过身份验证,但Amplify继续使用预配置(自动集成)的用户池。这要求用户在注册过程中输入电话号码,但我们没有用于注册的字段。

我已将我的 Cognito 用户池链接到“身份验证提供程序”下的预配置(自动集成)身份池,如上述问题中所建议的 @andrew-c。如上述问题中所建议的,我编辑了“aws_user_pools_id”属性以指向我的自定义用户池。

当我console.log()将用户池属性传递给我的Amplify配置时,它给了我我的自定义用户池。

当我console.log()从身份验证成功响应时,我还会看到我的自定义用户池。phone_number但是用户不断被保存到预先配置的(自动集成的)用户池的模型(即,必需的)中并对其进行身份验证。即,这就是我的用户在注册后出现的地方。

有谁知道我错过了什么?

这是我在 中看到的console

自定义用户池

这就是我在运行这段代码时得到的:

以及相关的进口:

所以我只想说我真的不想在注册时要求电话号码,我认为这将是最简单的方法,但如果有人知道我错过了什么或有更好的途径让我下去,请让我知道。谢谢各位!

0 投票
2 回答
1409 浏览

amazon-web-services - aws amplify 是否与 NextJS 一起使用?

我只是想用 NextJS 和 aws-amplify 运行一个基本的 hello world,但似乎在我 npm install 这两个库的那一刻

aws-amplify & aws-amplify-react

我得到“缺少反应模块”并且没有定义窗口。