使用 Typescript 导入 AWS X-ray

ver*_*tti 3 postgresql node.js typescript aws-sdk aws-xray

我目前在 lambda 中使用 postgresql-node

import { Client } from 'pg'
Run Code Online (Sandbox Code Playgroud)

我想使用 AWS X-ray 检测 Postgresql 库。Nodejs 示例有这一行:

var AWSXRay = require('aws-xray-sdk');
var pg = AWSXRay.capturePostgres(require('pg'));
Run Code Online (Sandbox Code Playgroud)

我如何将其中的第二行转换为正确的打字稿。我提出的所有变体都会产生一些错误或警告。例如,我猜这会起作用:

const pg = AWSXRay.capturePostgres(require('pg'))
Run Code Online (Sandbox Code Playgroud)

但不仅你会收到 ESlint 警告,因为在require没有使用 的情况下使用import,而且在之后pg.Client使用pg namespace not found.

ver*_*tti 6

嗯,它有点难看,但这似乎有效:

import * as pg from 'pg'
const patchedPg = AWSXRay.capturePostgres(pg)
Run Code Online (Sandbox Code Playgroud)