我对AWS和lambda函数完全陌生。目前,我尝试使用IntelliJ和Java启动我的第一个"Hello“程序。我用AWS在Java中编写了Lambda函数。我想在本地使用Maven容器中的启动它(因为我没有Docker)。
在解决了其他一些错误之后,我在点击start之后得到了这个错误
SAM Build finished exceptionally: Command did not exist successfully, exit code: 1早些时候,我收到了一个警告,UTF8有问题,所以代码在某种程度上依赖于平台,但老实说,我有0条线索。
Java版本 15.0.2
SAM版本 1.18.1
Apache版本 3.6.3
下面是对整个过程的追溯:
Traceback (most recent call last):
File "runpy.py", line 194, in _run_module_as_main
File "runpy.py", line 87, in _run_code
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\__main__.py", line 12, in <module>
cli(prog_name="sam")
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 782, in main
rv = self.invoke(ctx)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 610, in invoke
return callback(*args, **kwargs)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\decorators.py", line 73, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\click\core.py", line 610, in invoke
return callback(*args, **kwargs)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\telemetry\metric.py", line 152, in wrapped
raise exception # pylint: disable=raising-bad-type
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\telemetry\metric.py", line 121, in wrapped
return_value = func(*args, **kwargs)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\utils\version_checker.py", line 42, in wrapped
actual_result = func(*args, **kwargs)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\commands\build\command.py", line 160, in cli
do_cli(
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\commands\build\command.py", line 250, in do_cli
artifacts = builder.build()
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\build\app_builder.py", line 160, in build
return build_strategy.build()
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\build\build_strategy.py", line 41, in build
result.update(self._build_functions(self._build_graph))
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\build\build_strategy.py", line 52, in _build_functions
function_build_results.update(self.build_single_function_definition(build_definition))
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\build\build_strategy.py", line 116, in build_single_function_definition
result = self._build_function(
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\build\app_builder.py", line 437, in _build_function
return build_method(config, code_dir, artifacts_dir, scratch_dir, manifest_path, runtime, options)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\samcli\lib\build\app_builder.py", line 486, in _build_function_in_process
builder.build(
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\aws_lambda_builders\builder.py", line 125, in build
return workflow.run()
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\aws_lambda_builders\workflow.py", line 58, in wrapper
valid_path = binary_checker.validator.validate(executable_path)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\aws_lambda_builders\workflows\java_maven\maven_validator.py", line 33, in validate
jvm_mv = self._get_major_version(maven_path)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\aws_lambda_builders\workflows\java_maven\maven_validator.py", line 51, in _get_major_version
vs = self._get_jvm_string(maven_path)
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\lib\site-packages\aws_lambda_builders\workflows\java_maven\maven_validator.py", line 69, in _get_jvm_string
l_dec = l.decode()
**UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfc in position 25: invalid start byte
SAM Build finished exceptionally: Command did not exist successfully, exit code: 1**发布于 2021-02-16 14:58:07
您可以使用和IntelliJ编写Lambda函数。您可以使用Lambda控制台构建JAR文件并部署Lambda函数。一旦部署了Lambda函数,就可以从Lambda控制台测试它。
您可以将消息记录到云监视日志。使用IntelliJ IDE中的Lambda运行时API,您将避免这些异常。您将编码您的逻辑并部署JAR文件,它可以工作。
此外,您可以很容易地使用额外的AWS从Lambda函数调用AWS服务。
要查看使用Lambda运行时API一步一步创建Lambda函数的AWS文章,请参见:
https://stackoverflow.com/questions/66225796
复制相似问题