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

如何通过AWS CDK部署Lambda时上传指定文件?

如何在CDK部署Lambda时包含query.sql文件

当然可以指定部署Lambda时上传的额外文件,以下是两种实用方案:

  • 直接将sql文件放入现有代码目录
    你当前的Lambda代码是从../handler目录打包上传的(lambda.Code.fromAsset(path.join(__dirname, '../handler'))),只要把query.sql放到这个handler目录下,CDK在打包时会自动将整个目录的内容(包括sql文件)一起上传到Lambda。
    之后在Python Lambda代码里,就能直接读取这个文件,示例代码:

    import os
    
    def handler(event, context):
        # 获取sql文件的绝对路径
        sql_file_path = os.path.join(os.path.dirname(__file__), "query.sql")
        with open(sql_file_path, "r") as f:
            query_content = f.read()
        # 后续执行查询逻辑
    
  • 精细控制打包文件(可选)
    如果需要排除目录里的其他无关文件,只保留必要的代码和sql文件,可以给fromAsset添加exclude参数来过滤文件:

    const Lambda = new lambda.Function(this, 'My_Function', {
          runtime: lambda.Runtime.PYTHON_3_9,
          handler: 'lambda.handler',
          code: lambda.Code.fromAsset(path.join(__dirname, '../handler'), {
            // 排除不需要的文件,比如临时文件、日志等
            exclude: ['*.log', 'tmp/*']
          }),
          architecture: lambda.Architecture.ARM_64,
          layers: [myLambda_layer]
    });
    

    这样既保留了query.sql和代码文件,又不会上传冗余内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 01:25:17