我们正在尝试编写一个powershell脚本,可以从Aurora PostgreSQL集群读取数据。我们希望在Lambda dotnetcore3.1环境中完成此操作。我在google空间中没有看到任何文档给出任何关于可以使用什么程序/cmdlet/模块的指示。在Windows中,我们可以使用ODBC驱动程序和/或psql。然而,这两种情况似乎都不存在于Lambda生态系统中。
有没有人使用powershell在Lambda中成功连接到PostgreSQL?如果是的话,你是用什么做的?
我们正在尝试编写一个powershell脚本,可以从Aurora PostgreSQL集群读取数据。我们希望在Lambda dotnetcore3.1环境中完成此操作。我在google空间中没有看到任何文档给出任何关于可以使用什么程序/cmdlet/模块的指示。在Windows中,我们可以使用ODBC驱动程序和/或psql。然而,这两种情况似乎都不存在于Lambda生态系统中。
有没有人使用powershell在Lambda中成功连接到PostgreSQL?如果是的话,你是用什么做的?
2条答案
按热度按时间bxjv4tth1#
我认为核心问题是如何让你的Lambda函数访问RDS PostgreSQL示例,我可以想到两种方法:
1.使用AWS Secretes Manager安全地管理数据库用户名和密码,并在Lambda执行期间通过AWS SDK检索它们:https://aws.amazon.com/blogs/security/how-to-securely-provide-database-credentials-to-lambda-functions-by-using-aws-secrets-manager/
1.使用RDS IAM身份验证向RDS授予Lambda函数访问权限:https://aws.amazon.com/blogs/database/iam-role-based-authentication-to-amazon-aurora-from-serverless-applications/
就我个人而言,我推荐方法#2,尽管在过去我只使用方法#1。
vlju58qv2#
我在windows上运行powershell时找到了答案。这需要一段时间的整理,但以下是步骤:从npgsql home page开始。从那里,有一个link to the NuGet package。在NuGet页面上,使用下载链接获取软件包(例如:npgsql.7.0.4.nupkg)。一旦你下载了这个包,用.zip扩展名重命名它,打开它并导航到正确的lib子文件夹(例如:将npgsql.dll文件复制到您记得并可以访问的位置(例如:c:\temp)。
类似地,找到Microsoft.Extensions.Logging.Abstractions nuget package。下载软件包并复制相应的.dll文件。
在powershell中,添加-键入两个.dll文件。例如
这些文件足以使本示例运行。其他nuget包可能必须解包才能使所有类型都工作。