local start-api unable to parse RouteKey of Websocket function
See original GitHub issueDescription:
sam local start-api throws a ValueError since it tries to parse its RouteKey as regular http api as far as I can understand.
Steps to reproduce:
Add a websocket api to template.yaml
Observed result:
Traceback (most recent call last): File “/usr/local/bin/sam”, line 33, in <module> sys.exit(load_entry_point(‘aws-sam-cli==1.17.0’, ‘console_scripts’, ‘sam’)()) File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/click/core.py”, line 829, in call return self.main(*args, **kwargs) File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/click/core.py”, line 782, in main rv = self.invoke(ctx) File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/click/core.py”, line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/click/core.py”, line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/click/core.py”, line 1066, in invoke return ctx.invoke(self.callback, **ctx.params) File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/click/core.py”, line 610, in invoke return callback(*args, **kwargs) File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/click/decorators.py”, line 73, in new_func return ctx.invoke(f, obj, *args, **kwargs) File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/click/core.py”, line 610, in invoke return callback(*args, **kwargs) File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/samcli/lib/telemetry/metric.py”, line 152, in wrapped raise exception # pylint: disable=raising-bad-type File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/samcli/lib/telemetry/metric.py”, line 121, in wrapped return_value = func(*args, **kwargs) File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/samcli/lib/utils/version_checker.py”, line 42, in wrapped actual_result = func(*args, **kwargs) File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/samcli/commands/local/start_api/cli.py”, line 86, in cli do_cli( File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/samcli/commands/local/start_api/cli.py”, line 173, in do_cli service = LocalApiService(lambda_invoke_context=invoke_context, port=port, host=host, static_dir=static_dir) File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/samcli/commands/local/lib/local_api_service.py”, line 37, in init self.api_provider = ApiProvider( File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/samcli/lib/providers/api_provider.py”, line 41, in init self.api = self._extract_api(self.resources) File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/samcli/lib/providers/api_provider.py”, line 70, in _extract_api provider.extract_resources(resources, collector, cwd=self.cwd) File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/samcli/lib/providers/cfn_api_provider.py”, line 69, in extract_resources self._extract_cfn_gateway_v2_route(resources, logical_id, resource, collector) File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/samcli/lib/providers/cfn_api_provider.py”, line 263, in _extract_cfn_gateway_v2_route method, path = self._parse_route_key(route_key) File “/usr/local/Cellar/aws-sam-cli/1.17.0/libexec/lib/python3.8/site-packages/samcli/lib/providers/cfn_api_provider.py”, line 422, in _parse_route_key [method, path] = route_key.split() ValueError: not enough values to unpack (expected 2, got 1)
Expected result:
Start the local api.
Additional environment details (Ex: Windows, Mac, Amazon Linux etc)
- OS: MacOS Catalina
sam --version
: SAM CLI, version 1.17.0- AWS region: eu-west-1
Add --debug flag to command you are running
Issue Analytics
- State:
- Created 3 years ago
- Comments:8 (3 by maintainers)
I have the same exact issue too.
@sriram-mv can we remove blocked tag from this?