我创建了一个AWS Lambda函数来测试新Cognito用户池帐户的创建,但在用户池中没有创建帐户,控制台日志中也没有显示错误。我检查了AWS Cloud Watch,但Cloud Watch中也没有报告任何错误。
START RequestId: ..... Version: $LATEST
END RequestId: .....
REPORT RequestId: ..... Duration: 80.12 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 84 MB
我将Lambda函数改为更简单的函数;描述用户池。仍然没有抛出错误,控制台中也没有打印用户池信息。我加了一个控制台。在describeUserPool回调函数中进行日志打印,但未打印。
lambda函数是使用AWS控制台lambda内联编辑器创建的。Lambda函数附加了AmazonSCognitoAccess策略(此策略具有对Cognito用户池的列表/读/写访问级别)。
谁能解释一下我做错了什么?非常感谢你提前。
var aws = require('aws-sdk');
aws.config.update({
accessKeyId: 'access_key_id',
secretAccessKey: 'secret_access_key',
region: 'us-east-1',
apiVersion: '2016-04-18'
});
var cognito = new aws.CognitoIdentityServiceProvider();
var params = {
UserPoolId: 'us-region-user-pool-id'
};
exports.handler = async (event) => {
cognito.describeUserPool(params, function(err, data) {
console.log('hello from inside function');
if (err) {
console.log(err);
} else {
console.log(data);
}
});
};
如果我在AdminCreateUser中包含不正确的参数,它会报告错误
var aws = require('aws-sdk');
aws.config.update({
accessKeyId: 'access_key_id',
secretAccessKey: 'secret_access_key',
region: 'us-east-1',
apiVersion: '2016-04-18'
});
var cognito = new aws.CognitoIdentityServiceProvider();
var params = {
UserPoolId: 'us-region-user-pool-id'
Username: 'someone',
TemporaryPassword: '11223344',
DesiredDeliveryMediums: 'EMAIL',
MessageAction: 'SUPPRESS',
UserAttributes: [
{
Name: 'Email',
Value: 'someone@example.com'
},
{
Name: 'Family_Name',
Value: 'One'
},
{
Name: 'Given_Name',
Value: 'Some'
},
{
Name: 'Phone_Number_verified',
Value: 'True'
},
{
Name: 'Email_verified',
Value: 'True'
}
],
};
exports.handler = async (event) => {
cognito.adminCreateUser(params, function(err, data) {
console.log('hello from inside function');
if (err) {
console.log(err);
} else {
console.log(data);
}
});
};
我在Lambda内联编辑器控制台中收到以下错误消息:
Response:
null
Request ID:
"6e50fdb4-e437-4b84-be7b-3caaeb5b0a98"
Function Logs:
ncCredentials (/var/runtime/node_modules/aws-sdk/lib/config.js:391:24)
at Config.getCredentials (/var/runtime/node_modules/aws-sdk/lib/config.js:411:9) {
code: 'MultipleValidationErrors',
errors: [
InvalidParameterType: Expected params.DesiredDeliveryMediums to be an Array
at ParamValidator.fail (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:50:37)
at ParamValidator.validateType (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:232:10)
at ParamValidator.validateList (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:99:14)
at ParamValidator.validateMember (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:90:21)
at ParamValidator.validateStructure (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:75:14)
at ParamValidator.validateMember (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:88:21)
at ParamValidator.validate (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:34:10)
at Request.VALIDATE_PARAMETERS (/var/runtime/node_modules/aws-sdk/lib/event_listeners.js:126:42)
at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
at callNextListener (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:96:12) {
code: 'InvalidParameterType',
time: 2020-05-31T21:59:35.116Z
},
InvalidParameterType: Expected params.UserAttributes[3].Value to be a string
at ParamValidator.fail (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:50:37)
at ParamValidator.validateType (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:232:10)
at ParamValidator.validateString (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:154:32)
at ParamValidator.validateScalar (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:130:21)
at ParamValidator.validateMember (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:94:21)
at ParamValidator.validateStructure (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:75:14)
at ParamValidator.validateMember (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:88:21)
at ParamValidator.validateList (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:103:14)
at ParamValidator.validateMember (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:90:21)
at ParamValidator.validateStructure (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:75:14) {
code: 'InvalidParameterType',
time: 2020-05-31T21:59:35.116Z
},
InvalidParameterType: Expected params.UserAttributes[4].Value to be a string
at ParamValidator.fail (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:50:37)
at ParamValidator.validateType (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:232:10)
at ParamValidator.validateString (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:154:32)
at ParamValidator.validateScalar (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:130:21)
at ParamValidator.validateMember (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:94:21)
at ParamValidator.validateStructure (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:75:14)
at ParamValidator.validateMember (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:88:21)
at ParamValidator.validateList (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:103:14)
at ParamValidator.validateMember (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:90:21)
at ParamValidator.validateStructure (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:75:14) {
code: 'InvalidParameterType',
time: 2020-05-31T21:59:35.116Z
}
],
time: 2020-05-31T21:59:35.173Z
}
END RequestId: 6e50fdb4-e437-4b84-be7b-3caaeb5b0a98
REPORT RequestId: 6e50fdb4-e437-4b84-be7b-3caaeb5b0a98 Duration: 122.82 ms Billed Duration: 200 ms Memory Size: 128 MB Max Memory Used: 80 MB Init Duration: 356.12 ms
发现这篇文章认知管理员不给错误。@thopaw的建议解决了我的问题。
通过将其更改为promise()base,它可以按预期工作。谢谢你们抽出时间。
如果有人遇到这个,下面是更新的代码。
exports.handler = async (event, context) => {
console.log('starts');
var data;
try {
const data = await cognito.adminCreateUser(params).promise();
} catch (error) {
console.log(error);
}
};
问题内容: 我正在尝试将.csv文件中的大量数据转储到SQL Server 2012数据库中。我没有进行数千次INSERT的工作,而是在进行调查。 编辑: 这是一个自动化的过程,而不是一次性的。我也没有此数据库的权限。 当我尝试将数据复制到数据库中时,不会返回任何错误,但实际上也不会复制任何内容-它只会返回。我已将其缩减为无法正常工作的最小情况。 首先,创建一个包含两列的简单表: 然后,使用来从中
我在Grafana中有一个图形,使用Prometheus数据源显示API中的错误率。这可以很好地处理此查询: 我从我的API中获得非200响应代码的速率,然后将这些速率相加,因为我有3个运行API的实例。然后,我将这些分组为(用户请求的实际路径)和,后者是返回的确切的HTTP状态代码。 虽然这是一个有点有用的原始数字,但没有那么大的帮助。每秒100个请求中有100个错误是非常糟糕的,1000000
我试图插入一个记录到DynamoDB调用"预注册"触发器的Cognito用户池。 Lambda函数对于测试来说非常简单,但在AWSCognito上的客户端应用程序中总是存在错误。CognitoIdentityServiceProvider。CognitoUserPool。注册电话 用例1 Lambda主体: 结果: 用例2 Lambda主体: 结果: 用例3 Lambda主体: 结果: 那么,有什
将异常获取为 :lambda表达式中的返回类型错误:
以下代码在IntelliJ和Eclipse中编译得很好,但JDK编译器1.8.0\u 25对此表示不满。首先,代码。 javac 1.8.0\u 25的输出为: 当我更换时?超级E只需使用E,JDK就能成功编译。 当我将替换为,JDK编译成功。 由于它适用于JDK 1.8.0_60,我怀疑它是编译器错误。 有没有详细说明是什么原因造成的以及何时修复的?
我正在尝试使用以下cmdlet测试Powershell中是否存在DNS区域: 这很好,但我现在需要做的是根据是否有错误或是否有数据返回,将它转换为真/假评估。 例如,这是一个真实的场景: 而这是一个错误的场景: 我正在纠结的是如何对此进行评估?通俗地说,我需要检查是否有实际数据。 非常感谢!