无法使用AWS Eclipse工具包调试AWS SAM项目

时间:2018-07-30 15:31:56

标签: amazon-web-services docker aws-sam-cli aws-sam

我正在尝试使用步骤here来调试aws-sam应用程序。但是,我无法使Eclipse工具箱进入调试模式。在调试模式下运行的第一步似乎可以正常工作,即项目成功构建并运行测试,如下面的输出所示

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building A sample Java Spring web service created with AWS CodeStar. 1.0
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ HelloWorld ---
...
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.aws.codestar.projecttemplates.handler.HelloWorldHandlerTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.036 s - in com.aws.codestar.projecttemplates.handler.HelloWorldHandlerTest
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[INFO] 
[INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ HelloWorld ---
[INFO] Building jar: C:\Users\MyUser\git\AwsJavaSpring\target\HelloWorld-1.0.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10.085 s
[INFO] Finished at: 2018-07-30T11:09:32-04:00
[INFO] Final Memory: 30M/423M
[INFO] ------------------------------------------------------------------------

此后的下一步失败,我无法解释它打印出的错误消息。

[AWS Toolkit] Running command: C:\Users\MyUser\AppData\Roaming\Python\Scripts\sam.exe local invoke GetHelloWorld --debug-port 5858 --event C:\Users\MyUser\git\AwsJavaSpring\sample-s3-event --profile personal --template C:\Users\MyUser\git\AwsJavaSpring\.serverless.template
[AWS Toolkit] Waiting for SAM Local to attach the port 5858
Traceback (most recent call last):
  File "C:\Users\MyUser\AppData\Roaming\Python\Scripts\sam-script.py", line 11, in <module>
    load_entry_point('aws-sam-cli==0.4.0', 'console_scripts', 'sam')()
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\click\core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\click\core.py", line 697, in main
    rv = self.invoke(ctx)
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\click\core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\click\core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\click\core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\click\core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\click\decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args[1:], **kwargs)
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\click\core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\samcli\commands\local\invoke\cli.py", line 44, in cli
    docker_network, log_file, skip_pull_image, profile)  # pragma: no cover
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\samcli\commands\local\invoke\cli.py", line 70, in do_cli
    aws_profile=profile) as context:
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\samcli\commands\local\cli_common\invoke_context.py", line 93, in __enter__
    self._check_docker_connectivity()
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\samcli\commands\local\cli_common\invoke_context.py", line 287, in _check_docker_connectivity
    docker_client.ping()
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\docker\client.py", line 187, in ping
    return self.api.ping(*args, **kwargs)
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\docker\api\daemon.py", line 166, in ping
    return self._result(self._get(self._url('/_ping'))) == 'OK'
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\docker\utils\decorators.py", line 46, in inner
    return f(self, *args, **kwargs)
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\docker\api\client.py", line 198, in _get
    return self.get(url, **self._set_request_timeout(kwargs))
  File "c:\python27\lib\site-packages\requests\sessions.py", line 521, in get
    return self.request('GET', url, **kwargs)
  File "c:\python27\lib\site-packages\requests\sessions.py", line 508, in request
    resp = self.send(prep, **send_kwargs)
  File "c:\python27\lib\site-packages\requests\sessions.py", line 618, in send
    r = adapter.send(request, **kwargs)
  File "c:\python27\lib\site-packages\requests\adapters.py", line 440, in send
    timeout=timeout
  File "c:\python27\lib\site-packages\urllib3\connectionpool.py", line 601, in urlopen
    chunked=chunked)
  File "c:\python27\lib\site-packages\urllib3\connectionpool.py", line 357, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "c:\python27\lib\httplib.py", line 1042, in request
    self._send_request(method, url, body, headers)
  File "c:\python27\lib\httplib.py", line 1082, in _send_request
    self.endheaders(body)
  File "c:\python27\lib\httplib.py", line 1038, in endheaders
    self._send_output(message_body)
  File "c:\python27\lib\httplib.py", line 882, in _send_output
    self.send(msg)
  File "c:\python27\lib\httplib.py", line 844, in send
    self.connect()
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\docker\transport\npipeconn.py", line 31, in connect
    sock.connect(self.npipe_path)
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\site-packages\docker\transport\npipesocket.py", line 22, in wrapped
    return f(self, *args, **kwargs)
  File "C:\Users\MyUser\AppData\Roaming\Python\Python27\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.')
[AWS Toolkit] SAM Local invocation done.

由于上面的消息不清楚,我不确定找不到哪个“指定文件”。我已经使用docker run hello-world命令测试了docker安装,并且按预期运行。

在使基本示例生效时,我在这里缺少什么?这是Windows上的docker问题还是aws eclipse工具包问题?

1 个答案:

答案 0 :(得分:0)

事实证明,上述问题是由于没有以管理员身份运行eclipse,例如right-click -> Run as Administrator

但是,现在我遇到了描述为here

的另一个问题