如何查看Serverless部署至AWS时所使用的S3存储桶名称?
别担心,这个问题很常见——Serverless Framework自动创建的部署S3桶确实不会出现在你服务的CloudFormation栈资源里,因为它是框架本身管理的独立资源。下面有几种简单的方法可以找到它:
用Serverless CLI直接查询
这是最直接的方式,在你的项目根目录下运行:sls info输出结果里会有一行类似
Deployment Bucket: serverlessdeploymentbucketxxxxxx的内容,后面的就是你要找的桶名称。查看本地状态文件
Serverless会在项目的.serverless目录下生成一个serverless-state.json文件,里面记录了所有部署相关的元数据。你可以直接打开这个文件,搜索deploymentBucket字段,对应的name值就是目标桶的名称。通过AWS CLI筛选查找
如果你熟悉AWS CLI,可以列出所有S3桶并筛选关键词:aws s3 ls | grep serverlessdeploymentbucketServerless默认创建的桶名称通常以
serverlessdeploymentbucket开头,后面跟着随机字符串,用这个命令很快就能定位到。如果你的AWS账号下有多个这样的桶,还可以结合服务部署的区域进一步筛选,比如加上区域相关的关键词。在AWS控制台手动查找
登录AWS S3控制台,浏览所有存储桶,找那些名称以serverlessdeploymentbucket开头的桶。如果你的项目部署过多次,可能需要结合部署时间或者桶里的内容(比如包含你服务名称的构件包)来确认哪个是当前服务的部署桶。
另外,如果你想自定义这个存储桶的名称,可以在serverless.yml里添加deploymentBucket配置,指定你想要的桶名,这样后续部署就会使用你指定的桶了。
内容的提问来源于stack exchange,提问作者Joey Yi Zhao

