You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何访问弗吉尼亚区域S3 Bucket并将Jar包上传至俄亥俄区域Lambda函数

跨区域访问S3桶并上传Jar包到Lambda的方案

前提:配置必要的IAM权限

Lambda的执行角色(或你用来操作的IAM用户/角色)必须拥有访问弗吉尼亚(us-east-1)S3桶的权限,至少需要s3:GetObject操作权限。示例政策如下:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::your-virginia-bucket-name/*"
        }
    ]
}

方法1:通过AWS控制台操作

  1. 登录AWS控制台,切换到俄亥俄(us-east-2)区域的Lambda服务页面。
  2. 点击“创建函数”,选择合适的函数创建方式(比如“从头开始创作”)。
  3. 在“函数代码”部分,选择“从S3上传”,输入弗吉尼亚S3桶中Jar包的完整路径,格式为:s3://your-virginia-bucket-name/path/to/your-function.jar。
  4. 完成其他配置(运行时、角色等)后,点击“创建函数”即可——Lambda会自动跨区域从指定S3桶拉取Jar包完成部署。

方法2:使用AWS CLI命令

创建新函数

运行以下命令,替换占位符为你的实际信息:

aws lambda create-function \
  --function-name your-function-name \
  --runtime java17 \ # 根据你的Jar包运行时调整,比如java8、java11等
  --role arn:aws:iam::your-account-id:role/your-lambda-execution-role \
  --handler com.example.YourHandlerClass::handleRequest \
  --code S3Bucket=your-virginia-bucket-name,S3Key=path/to/your-function.jar,S3Region=us-east-1 \
  --region us-east-2

更新现有函数代码

如果是给已有的俄亥俄Lambda函数更新代码,用这条命令:

aws lambda update-function-code \
  --function-name your-function-name \
  --s3-bucket your-virginia-bucket-name \
  --s3-key path/to/your-function.jar \
  --s3-region us-east-1 \
  --region us-east-2

可选优化:复制Jar包到俄亥俄本地S3桶

如果Jar包体积较大,跨区域拉取可能耗时较长,建议先把Jar包复制到俄亥俄区域的S3桶,再从本地桶上传到Lambda:

aws s3 cp \
  s3://your-virginia-bucket-name/path/to/your-function.jar \
  s3://your-ohio-bucket-name/path/to/your-function.jar \
  --source-region us-east-1 \
  --region us-east-2

之后再通过控制台或CLI从俄亥俄的S3桶上传代码,能提升部署速度。

内容的提问来源于stack exchange,提问作者Dharmarao Katkuri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 14:22:38