【问题标题】:AWS SAM - get error message : pywintypes.error: (5, 'CreateFile', 'Access is denied.')AWS SAM - 获取错误消息:pywintypes.error: (5, 'CreateFile', 'Access is denied.')
【发布时间】:2023-03-28 07:28:01
【问题描述】:

当我运行以下命令时:

sam 本地调用 HelloWorldFunction --event ./events/event.json

我收到以下消息:

pywintypes.error: (5, 'CreateFile', 'Access is denied.')

我试图在本地运行 lambda\python 但我收到上述错误消息

【问题讨论】:

  • 您有没有为此找到解决方案?我也有同样的问题
  • 抱歉,我没有解决这个问题。我决定使用无服务器框架来运行本地 lambdas

标签: python aws-sam-cli


【解决方案1】:

这里的问题在于 docker 要求您在执行 SAM Local 发送给它的命令时具有管理员权限。通常,您可以通过以管理员身份启动 powershell 来解决此问题。你应该可以在这种模式下运行sam local start-api --debug

但是,您通常想要的是能够将它与 vscode 一起使用,为了做到这一点,您必须做一个解决方法,包括以下内容:

  • 在没有 TLS 的情况下在 tcp://localhost:2375 上公开守护进程
  • 创建一个名为DOCKER_HOST=tcp://localhost:2375的环境变量
  • 如果您使用公司代理,还需要设置环境变量NO_PROXY=localhost,这样您的代理就不会中断
  • (我不知道这是否必要):我还将 Sam Local 安装在与默认 C:/Program Files 不同的文件夹中,以避免将安装的软件放在受管理员保护的文件夹中。

另一个可能的选项(我自己没有检查过)是将您的用户添加到 docker-user 组。由于我对这个选项了解不多,所以我将这里的提示保持原样。

无论如何,您都可以通过在您的 sam 项目文件夹中运行 sam local start-api --debug 来检查它是否有效。您现在应该也可以从 vscode 运行本地调试工具了:

我知道这并不能完全回答您的问题,但我希望这可以帮助任何来自谷歌的类似问题的人!

【讨论】:

    猜你喜欢
    • 2019-05-04
    • 2020-10-30
    • 2021-01-10
    • 1970-01-01
    • 2011-03-30
    • 2019-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多