【发布时间】:2020-09-22 19:39:07
【问题描述】:
我目前正在使用“在 64 位 Amazon Linux 2/3.0.2 上运行的 Ruby 2.6”映像,并通过查看 EC2 实例内部的 /var/logs/eb-engine.log(“eb 日志”命令不会显示这个),有一个重复出现的错误:
[错误] 解析 JSON 文件失败 /opt/elasticbeanstalk/deployment/app_version_manifest.json 有错误: json:无法将字符串解组到 Go 结构字段中 uint64 类型的 AppVersionManifest.Serial
当我检查该文件时,我不知道它有什么问题,或者是什么阻止了该文件被解析,如果这确实是问题:
{ "RuntimeSources":{"my_api":{"my_api-source_alfa0.2":"s3url":""}}},"DeploymentId":9,"Serial":"23","VersionLabel":"my_api-source_alfa0.2"}
序列“23”对我来说似乎很容易解析。请帮忙!
【问题讨论】:
-
您是否尝试过使用
23作为数字而不是"23"的字符串? -
实际上,我没有创建该文件:AWS EB 创建了它,并且每次自动重新部署实例时都会再次创建它。
-
我目前正在观看这个最近的线程报告相同的forums.aws.amazon.com/thread.jspa?threadID=206033
-
也许你仍然可以改变它?该错误表示需要一个整数,但该数字实际上是文件中的一个字符串。
-
如果您查看日志,您会看到 EB 正在从 S3 下载该文件 (2020/07/14 22:58:41.937541 [INFO] Downloading: bucket: elasticbeanstalk-us-east- 1-603873217483,对象:/resources/environments/e-k9bptzbdbu/_runtime/versions/manifest_1594766763384),其中 Serial 是一个字符串。将其更改为 Int ,它可以工作。显然这不是一个长期的解决方案,但请留意上面提到的 aws 线程,因为它绝对是一个 AWS 错误
标签: amazon-web-services amazon-elastic-beanstalk