【发布时间】:2018-10-30 14:04:54
【问题描述】:
我有以下代码:
var AWSXRay = require('aws-xray-sdk');
var AWS = AWSXRay.captureAWS(require('aws-sdk'));
const client = AWSXRay.captureAWSClient(new AWS.DynamoDB.DocumentClient({region : 'eu-west-1'}));
exports.handler = function(event, context, callback) {
AWSXRay.captureFunc('annotations', function(subsegment){
subsegment.addAnnotation('User', **);
subsegment.addAnnotation('Name', **);
});
var params = {
TableName: "****",
** all params **
};
client.query(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else{
callback(null,data);
}
});
}
执行上述代码时,抛出如下错误:
Response:
{
"errorMessage": "service.customizeRequests is not a function",
"errorType": "TypeError",
"stackTrace": [
"Object.<anonymous> (/var/task/index.js:5:24)",
"Module._compile (module.js:570:32)",
"Object.Module._extensions..js (module.js:579:10)",
"Module.load (module.js:487:32)",
"tryModuleLoad (module.js:446:12)",
"Function.Module._load (module.js:438:3)",
"Module.require (module.js:497:17)",
"require (internal/module.js:20:19)"
]
}
以下是函数的日志:
Function Logs:
START RequestId: Version: $LATEST
module initialization error: TypeError
at Object.captureAWSClient (/var/task/node_modules/aws-xray-sdk-core/lib/patchers/aws_p.js:55:11)
at Object.<anonymous> (/var/task/index.js:5:24)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
END
我应该如何解决这个问题?
【问题讨论】:
-
这可能是由 DynamoDB 文档客户端如何实例化真正的低级客户端引起的问题。如果您将客户端更改为 S3 或 EC2 等其他服务,您是否会看到相同的错误?如果没有,有一种解决方法可能对您有用,但如果没有,请告诉我:forums.aws.amazon.com/thread.jspa?messageID=821510󈤆
-
是的,谢谢这对我有用....谢谢....@haotian465
标签: amazon-web-services aws-lambda aws-xray