简体   繁体   中英

Unable to debug aws-sam project using aws eclipse toolkit

I am trying to debug aws-sam application using the steps here . However, I am not able to get eclipse toolkit to enter debug mode. The first steps in running in debug mode appear to work ie the project builds and runs tests successfully as can be seen in the output below

[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] ------------------------------------------------------------------------

The next step after this fails and I am unable to interpret the error message it prints out.

[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.

I am not sure what "specified file" it is unable to find as it is not clear from the message above. I have tested my docker installation using the docker run hello-world command and it is working as expected.

What am I missing here in getting the basic example to work? Is this a problem with docker on Windows or a problem with aws eclipse toolkit?

Turns out that the problem described above was due to not running eclipse as an Administrator ie by right-click -> Run as Administrator .

However, now I have run into a different problem described here

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM