Skip to content

Lightweight vendor packages (AWS) - #1388

Draft
fudiwei wants to merge 1 commit into
certimate-go:mainfrom
fudiwei:refactor/aws
Draft

Lightweight vendor packages (AWS)#1388
fudiwei wants to merge 1 commit into
certimate-go:mainfrom
fudiwei:refactor/aws

Conversation

@fudiwei

@fudiwei fudiwei commented Jul 23, 2026

Copy link
Copy Markdown
Member

该 PR 包含以下内容变更:


AWS SDK 大量使用了代码生成器生成序列化相关代码、且客户端存在大量 API 方法,编译时无法正常触发 DCE(上游相关 Issue: aws/aws-sdk-go-v2#2930 ),使得二进制体积急遽膨胀。

本次提交使用了自定义客户端+反射重新实现 HTTP 请求部分,但仍然复用官方 SDK 中的模型定义。

没有采用与 #1035 类似的裁剪方案,在于官方 SDK 实现较为复杂,无法简单化、易维护化地裁剪。

module size
github.com/aws/aws-sdk-go-v2/service/acm -1154.41 KB
github.com/aws/aws-sdk-go-v2/service/amplify -1017.96 KB
github.com/aws/aws-sdk-go-v2/service/apigatewayv2 -2595.07 KB
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing -1133.48 KB
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 -22250.3 KB
github.com/aws/aws-sdk-go-v2/service/iam -4880.78 KB
github.com/aws/aws-sdk-go-v2/service/lightsail -4069.13 KB
<binary> old (v0.4.28): 109.84 MB
new: 91.90 MB
diff: -16.33%

注:仍有 github.com/aws/aws-sdk-go-v2/service/route53github.com/aws/aws-sdk-go-v2/service/cloudfront 两个模块没有替换,因为它们的官方 SDK 模型定义与 XML Schema 差异过大,无法直接复用。

@fudiwei

fudiwei commented Jul 23, 2026

Copy link
Copy Markdown
Member Author

@KukiSa @catchx17 能否协助回归一下 AWS Lightsail、ALB(含 ACM+IAM)的功能?十分感谢 ❤️

如果没有 golang 环境的话,下面是打包好的可执行文件:

(因 GitHub 上传限制,请在下载后将文件后缀名修改为 .7z 再解压)

@fudiwei
fudiwei force-pushed the main branch 2 times, most recently from 773173e to f94fa07 Compare August 6, 2026 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant