问题描述
是否可以使用DAX客户端打印低级api? 当我使用常规DynamoDB客户端时,它可以正常工作,但在使用DAX客户端时,它无法正常工作。
DynamoDB低级API: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html
用于打印低级api的示例代码:
const request = this.getDocumentClient().get(getRequest);
request.on("httpDone",(response) => {
const debugInfo = {
retryCount: response.retryCount,redirectCount: response.redirectCount,headers: response.httpResponse.headers,};
request.send((err: AWSError,data: DocumentClient.GetItemOutput) => {
if (err) {
reject(err);
}
else {
resolve(data.Item as T);
}
});
解决方法
找到了解决此问题的方法,DAX Client正在使用另一个事件侦听器来捕获http调用。 而不是使用“ httpDone”应该是“ complete” 代码解决方案:
const request = this.getDocumentClient().get(getRequest);
request.on("complete",(response) => {
const debugInfo = {
retryCount: response.retryCount,redirectCount: response.redirectCount,headers: response.httpResponse.headers,};
request.send((err: AWSError,data: DocumentClient.GetItemOutput) => {
if (err) {
reject(err);
}
else {
resolve(data.Item as T);
}
});