我正在研究我的项目的 Lambda,我看到其中一个是空闲的。在仪表板页面的顶部,我看到带有文本的块:
函数 __ 空闲。要重新激活您的功能,请选择“恢复”。
我对此有点困惑,因为此功能与其他未标记为空闲但也已几个月未启动的功能非常相似。由于我没有在 AWS 文档中找到答案,我很感激有人向我解释处于空闲状态和非空闲状态的函数之间有什么区别,以及函数如何/为什么变为空闲?
我正在尝试pg_trgm在用 TypeScript 和 TypeOrm 编写的项目上使用 PostgreSQL 中的模块实现搜索。对我有用的 SQL 如下所示:
SELECT t, similarity(t, 'word') AS sml
FROM test_trgm
WHERE t % 'word'
ORDER BY sml DESC, t;
Run Code Online (Sandbox Code Playgroud)
但是当我开始将它集成到我的构建器中时,我意识到我无法保护 select 语句免受 SQL 注入,因为 TypeOrm 不提供在任何选择方法(例如SelectQueryBuilder::addSelect, SelectQueryBuilder::select)中绑定参数。
我的易受攻击方法的示例:
...
applySearch(builder: SelectQueryBuilder<any>, needle: string) {
if (needle) {
builder.addSelect(`similarity(title, ${needle})`);
builder.andWhere('title % :needle', { needle });
}
}
...
Run Code Online (Sandbox Code Playgroud)
也许有人知道在我的技术堆栈中实现这种搜索的更好方法?