使用 Typescript 导入 AWS X 射线
Posted
技术标签:
【中文标题】使用 Typescript 导入 AWS X 射线【英文标题】:AWS X-ray import with Typescript 【发布时间】:2020-03-21 15:41:21 【问题描述】:我目前在我的 lambda 中使用 postgresql-node
import Client from 'pg'
我想使用 AWS X-ray 检测 Postgresql 库。 Nodejs 示例有这一行:
var AWSXRay = require('aws-xray-sdk');
var pg = AWSXRay.capturePostgres(require('pg'));
我如何将其中的第二行转换为正确的 Typescript。我提出的所有变体都会产生一些错误或警告。例如,我猜这会起作用:
const pg = AWSXRay.capturePostgres(require('pg'))
但不仅你会收到 ESlint 警告,因为 require
在没有 import
的情况下被使用,但之后 pg.Client
会说 pg namespace not found
。
【问题讨论】:
【参考方案1】:嗯,它有点难看,但这似乎有效:
import * as pg from 'pg'
const patchedPg = AWSXRay.capturePostgres(pg)
【讨论】:
我只见过这种方法。 这个答案中的 sn-p 是正确的。这是定义capturePostgres
的 TS definition - 它使用通配符导入来定义 pg
。我会更新该文档。以上是关于使用 Typescript 导入 AWS X 射线的主要内容,如果未能解决你的问题,请参考以下文章
如何将生命周期策略添加到 AWS CDK Typescript 中的现有 S3 存储桶
错误:“无法从上下文中获取当前子/段”在 Lambda 中使用 AWS X-ray 和 node.js
【无机纳米材料科研制图——OriginLab 0206】Origin绘制X射线衍射XRD堆叠图