当我运行以下命令时:
sam本地调用HelloWorldFunction --event ./events/event.json
我收到以下消息:
pywintypes.error:(5,“ CreateFile”,“访问被拒绝。”)
我试图在本地运行lambda \ python,但出现上述错误消息
答案 0 :(得分:2)
这里的问题在于docker要求您在执行SAM Local发送给它的命令时具有管理员权限。通常,您可以通过以管理员身份启动Powershell来解决此问题。您应该可以在此模式下运行sam local start-api --debug
。
但是,您通常希望能够将其与vscode一起使用,并且为此,您必须采取一种变通方法,包括以下内容:
DOCKER_HOST=tcp://localhost:2375
的环境变量NO_PROXY=localhost
,以使代理不会中断C:/Program Files
不同的文件夹中,以避免将已安装的软件放在受管理员保护的文件夹中。另一个可能的选项(我自己还没有检查过)是将您的用户添加到docker-user组。由于我对该选项的了解不多,因此我将在此处保留此提示。
您可以通过在sam项目文件夹中运行sam local start-api --debug
来检查此方法是否有效。现在,您还应该能够从vscode运行本地调试工具:
我知道这不能完全回答您的问题,但是希望对任何有类似问题的人都有用!