#amazon-dynamodb #amazon-dynamodb-dax
#amazon-dynamodb #amazon-dynamodb-dax
Вопрос:
Возможно ли распечатать низкоуровневый API с помощью DAX-клиента? Когда я использую обычный клиент DynamoDB, он работает нормально, но он не работает, когда я использую DAX-клиент.
Низкоуровневый API DynamoDB: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);
}
});
Ответ №1:
Найдено решение этой проблемы, клиент DAX использует другие прослушиватели событий для захвата http-вызовов. Вместо использования «httpDone» должно быть «полное» кодовое решение:
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);
}
});