AWS SAM-获取错误消息:pywintypes.error:(5,“ CreateFile”,“访问被拒绝。”)

时间:2019-09-04 09:40:25

标签: python aws-sam-cli

当我运行以下命令时:

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

我收到以下消息:

pywintypes.error:(5,“ CreateFile”,“访问被拒绝。”)

我试图在本地运行lambda \ python,但出现上述错误消息

1 个答案:

答案 0 :(得分:2)

这里的问题在于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运行本地调试工具:

enter image description here

我知道这不能完全回答您的问题,但是希望对任何有类似问题的人都有用!