小编har*_*isu的帖子

使用 aws-xray-sdk 创建 dynamodb 文档客户端 aws serverless 时出错,

我正在创建一个应该写入 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
    }
Run Code Online (Sandbox Code Playgroud)

当我如上所述仅使用来自 aws sdk 的文档客户端时,这非常有效,但是因为当我通过 aws-xray-sdk 传递 aws-sdk 并想要使用 sdk 时需要跟踪,它会引发错误。这就是我构建它的方式。

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

const XAWS = AWSXRay.captureAWS(AWS)
Run Code Online (Sandbox Code Playgroud)

然后当我做

private readonly docClient: DocumentClient = XAWS.DynamoDB.DocumentClient() 我收到错误

      TS2339: Property 'DocumentClient' does not exist on type 
'PatchedAWSClientConstructor<ClientConfiguration, typeof DynamoDB>'.
Run Code Online (Sandbox Code Playgroud)

我该如何消除此错误或可能获得可用于使用 aws-xray 进行跟踪的文档客户端。

依赖性。"aws-xray-sdk": "^2.2.0", "aws-sdk": "^2.433.0",

node.js amazon-dynamodb typescript serverless-framework aws-xray

7
推荐指数
1
解决办法
735
查看次数