小编Kha*_*led的帖子

如何使用 Node.js 检索 DynamoDB 表中的所有项目?

我有以下 Node js 代码,应列出 DynamoDB 表中的所有项目,

import * as dynamoDbLib from "../../libs/dynamodb-lib";
import { success, failure } from "../../libs/response-lib";

export async function main(event, context) {
  const params = {
    TableName: "brands",

    KeyConditionExpression: "brandId = :brandId",
    ExpressionAttributeValues: {
      ":brandId": ''
    }
  };

  try {
    const result = await dynamoDbLib.call("query", params);
    return success(result.Items);
  } catch (e) {
     console.log(e);
     return failure({ status: false });
  }
}
Run Code Online (Sandbox Code Playgroud)

id 采用 uuid 格式,当从我的节点 js 插入时,使用以下命令导入:

import uuid from "uuid";
Run Code Online (Sandbox Code Playgroud)

然后插入到表中,如下所示:

brandId: uuid.v1()
Run Code Online (Sandbox Code Playgroud)

现在,当我查询表中的项目时,当且仅当我在表达式属性值中硬编码记录的 uuid(必须指定 KeyConditions 或 …

node.js amazon-dynamodb

6
推荐指数
1
解决办法
4736
查看次数

AWS Cognito NEW_PASSWORD_REQUIRED 挑战需要地址,但它似乎不接受任何形式的地址类型

我正在尝试为 Cognito 实现一个 Spring Boot 后端,我设法创建一个并执行登录,登录后我需要输入新密码才能更改默认密码,所以我已经提交了我的请求,但出现了异常说:

Invalid attributes given, address is missing.
Run Code Online (Sandbox Code Playgroud)

我尝试将地址作为字符串和 json 对象发送,但发生了相同的异常。

我已经检查了我的认知池中的读写权限,它们必须是可写的!

那么关于这个问题有什么建议吗?

AWS cognito 池地址属性无法作为请求中的对象或字符串发送,它始终返回以下异常:

Invalid attributes given, address is missing (Service: AWSCognitoIdentityProvider; Status Code: 400; Error Code: InvalidParameterException; Request ID: 638dd0e5-2d76-11e9-839d-2b2efb147c0b)
Run Code Online (Sandbox Code Playgroud)

第一次尝试是发送与地址无关的请求,它返回相同的异常,然后我再次将其添加为字符串和相同的异常,然后我尝试将其作为对象发送,并且相同发生了。

关于如何发送属性有什么建议吗?

这是我的实现方式:

Map<String, String> challengeResponses = new HashMap<String, String>();
challengeResponses.put(USERNAME, passwordRequest.getUserName());
challengeResponses.put(PASSWORD, passwordRequest.getOldPassword());
challengeResponses.put(NEW_PASSWORD, passwordRequest.getNewPassword());
challengeResponses.put("ADDRESS", "test");
AdminRespondToAuthChallengeRequest changeRequest = new AdminRespondToAuthChallengeRequest()
.withChallengeName(ChallengeNameType.NEW_PASSWORD_REQUIRED).withChallengeResponses(challengeResponses).withClientId(clientID).withUserPoolId(poolID)
                .withSession(sessionString);

System.out.println(changeRequest.toString());
AdminRespondToAuthChallengeResult challengeResponse = mIdentityProvider.adminRespondToAuthChallenge(changeRequest);
Run Code Online (Sandbox Code Playgroud)

这是我要发送的请求:

{UserPoolId: eu-central-1_RZxg4jT2t,ClientId: 2cdjo5ljk130db1mltjnmv128p,ChallengeName: NEW_PASSWORD_REQUIRED,ChallengeResponses: {address=test, PASSWORD=test!, NEW_PASSWORD=test, USERNAME=test},Session: 144WvRkekrIojcPQGDBBu3XsadMBauwQcAJ3M3JVMxD-CY0rCizK1g4RnNuaNN4b1EJMUlrvSnyd21pAP3zFkIlEFXse1MlOLWaGUQIaIygTzX33Y2no0cmfK2-h88yjiKN5-MQZaK6tmvszCuATmOQCR_OK1qLIDYlp1kKGPM_EpBT-br-e5DL9SEF8XIY5wLWGHYWxo4BUuJAIZpTJ8PpD3ROa46ac5w79lhHIK1QZj13f4G84eVz4X8nwiHgLEGgbUOOpoDBC85KSQan8lb-vfPsHEvpoStFy7_0zgRmJ910DubJXJaiS2IjutBr5txDDaSnTl9Zt4G-_NP6_8E0c5JnXIXZymR9nSSYNP7seHXC7HLtFX6Tbu8XWJlLCtKVc8gXN6j0XTzB3hfu-0zGFc3tJ1sQ6iQtLFupuD9C8HYWP6KH_9v2PlUrGc01uU_OOQx5lLaHbNrOvb4evlx9fovM0B6FuPLfUgNmc8aKGZ0Rw55t-aExpJJ_AY2E42C_RWXVX5YUFZTaRi8OvskQLLlyVt0uWV8w1HRc0uGJc5drTK4c7U7TDCaD2-tMiA5TwlpsdCAxv-kRKfMpXN2D6rzzB9An6tis3n9olV5W0yK-KKB1ietx5C-l-HewPBVz9_g-1ggBvwh3qVYjKe1UHcpd5c8SM8kjcwjwy_8fGphYHR4sZBa5zftyT7dYktKzpJsH8HzbZ4Q8WZOKcGqtyeCzkqZuO0LanSL-6yKlGWPEA4tGUhjvT-mWyPEMg576UMPAcWiO6fV-yUVBG5V3OSRpR00NasyFpmTy8U29XI7bfXUMmgY3-6h4nPgaObi25jnmyhDcp2N4MQQl45d0PvmvxIx7huPIzbVC5NNq7tPg6V4H_88cIb81p4gJZ_FITeeSgVWIYRFSoY7vR4DLL9qS3Ea_pAxaENA,}
Run Code Online (Sandbox Code Playgroud)

rest json web spring-boot amazon-cognito

3
推荐指数
1
解决办法
5462
查看次数