7

嗨,我有一个 sam 应用程序,它有一个 lambda 函数,可以从按预期工作的 rest 端点调用,但是当我尝试使用 sam local start-lambda 或 sam local start-api 或 sam local invoke 在本地测试 sam 应用程序时,我得到了错误为:

    self.connect()
  File "C:\Users\divyanayan.awasthi\AppData\Roaming\Python\Python37\site-packages\docker\transport\npipeconn.py", line 31, in connect
    sock.connect(self.npipe_path)
  File "C:\Users\divyanayan.awasthi\AppData\Roaming\Python\Python37\site-packages\docker\transport\npipesocket.py", line 22, in wrapped
    return f(self, *args, **kwargs)
  File "C:\Users\divyanayan.awasthi\AppData\Roaming\Python\Python37\site-packages\docker\transport\npipesocket.py", line 50, in connect
    win32pipe.WaitNamedPipe(address, self._timeout)
pywintypes.error: (2, 'WaitNamedPipe', 'The system cannot find the file specified.')

使用山姆版本

SAM CLI, version 0.7.0

这是因为我没有在我的本地运行 docker 还是需要一些其他配置。我有一个用于 SAM 应用程序的 .py 类和 template.yml 文件。

4

1 回答 1

3

是的,我们需要在本地安装 docker,然后 sam local 可以按预期工作。如果您在 Windows 上运行 sam local,那么安装 docker 安装程序可能会出现问题,因为它需要安装 Windows 10 Pro 或企业版。

如果您没有上述 Windows 配置,请安装 docker 工具箱

https://docs.docker.com/toolbox/toolbox_install_windows/

于 2018-12-05T11:50:28.780 回答