Ошибка при создании клиента документов DynamodB aws без сервера с использованием aws -xray-sdk, - PullRequest
5 голосов
/ 13 февраля 2020

Я создаю функцию, которая должна записывать в DynamodB, и я хочу сгенерировать трассировку, используя aws -xray-sdk.

Моя функция

    private readonly docClient: DocumentClient = AWS.DynamoDB.DocumentClient()

    async createTodo(todoItem: TodoItem): Promise<TodoItem> {
        await this.docClient.put({
            TableName: this.todosTable,
            Item: todoItem
        }).promise()

        return todoItem
    }

Это работает очень хорошо, когда я использую только клиент документа из aws sdk, как указано выше, но потому, что мне нужна трассировка, когда я передаю aws -sdk через aws -xray-sdk и хочу использовать sdk, который он выдает ошибка. Вот как я это создаю.

import * as AWS from 'aws-sdk'
import * as AWSXRay from 'aws-xray-sdk'

const XAWS = AWSXRay.captureAWS(AWS)

тогда, когда я делаю

private readonly docClient: DocumentClient = XAWS.DynamoDB.DocumentClient() я получаю ошибку

      TS2339: Property 'DocumentClient' does not exist on type 
'PatchedAWSClientConstructor<ClientConfiguration, typeof DynamoDB>'.

Как я могу сделать, чтобы устранить эту ошибку или, возможно, получите клиент документа, который можно использовать для трассировки с aws -xray.

Зависимости. "aws -xray-sdk": "^ 2.2.0", "aws -sdk": "^ 2.433.0",

...