当前位置: 首页 > 面试题库 >

AWS Lambda函数写入S3

鲜于雨石
2023-03-14
问题内容

我在AWS中有一个Node 4.3
Lambda函数。我希望能够将文本文件写入S3,并阅读了许多有关如何与S3集成的教程。但是,所有这些都涉及在写入S3之后如何调用Lambda函数。

如何使用节点从Lambda在S3中创建文本文件?这可能吗?亚马逊的文件似乎没有涵盖它。


问题答案:

是的,绝对有可能!

var AWS = require('aws-sdk');
function putObjectToS3(bucket, key, data){
    var s3 = new AWS.S3();
        var params = {
            Bucket : bucket,
            Key : key,
            Body : data
        }
        s3.putObject(params, function(err, data) {
          if (err) console.log(err, err.stack); // an error occurred
          else     console.log(data);           // successful response
        });
}

通过选择或更新执行lambda的IAM角色,确保为Lambda函数提供对目标s3存储桶/密钥路径的必需写权限。

添加的IAM声明:

{
    "Sid": "Stmt1468366974000",
    "Effect": "Allow",
    "Action": "s3:*",
    "Resource": [
        "arn:aws:s3:::my-bucket-name-goes-here/optional-path-before-allow/*"
    ]
}

进一步阅读:

  • AWS JavaScript SDK
  • 具体的“ 放置对象 ”详细信息


 类似资料:
  • 函数名称:保存字符串到文件 函数功能: 将字符串 string 内容存入文件 函数方法 str = file.writeString (path,str,encode) 参数 类型 必填 说明 path string 是 需要写入的文件路径 str string 是 需要写入的文件内容 encode string 否 编码格式,不写默认为 utf-8 函数用例 path1 = "/sdcard/L

  • 我希望从ParDo函数中调用操作,为中的每个键生成单独的BigQuery表(我使用的是python SDK)。这里有两个类似的线程,不幸的是没有帮助: 1)https://stackoverflow.com/questions/31156774/about-key-grouping-with-groupbykey 当我执行以下代码时,第一个键的行被插入到BigQuery,然后管道失败,出现以下错误

  • 函数名称:写入剪贴板 函数功能:对系统剪贴板进行写入操作 函数方法 device.writePasteboard(str); 参数 类型 必填 说明 str string 是 写入剪贴板字符串 函数用例 str1 = "测试写入剪贴板" device.writePasteboard(str1) --写入剪贴板后推荐加延时后再读取剪贴板,否则可能会出现读取错误的问题 mSleep(1000) --读

  • 函数名称:写入到文件 函数功能:写入到文件 函数方法 io.write(str) 参数 类型 必填 说明 str string/number 是 需要写入的内容 函数用例 file,msg = io.open("/mnt/sdcard/888.txt","r+") if file then file:write("1") mSleep(2000) dialog(file:r

  • 我想创建一个表,然后使用云函数写入bigquery,但是我不想复制表中的数据,所以我先删除表,然后在每次调用函数时创建表。 所以错误是当我首先删除表时,当它被重新创建以写入时,插入所有无法找到表我得到了这个错误:表abc.abc_names找不到

  • 关于rust导入函数的问题,我的工程格式如下: src/main.rs src/api/api.rs api.rs 里有一个函数: pub async fn root() {} 问题是:我该如何在main.rs下调用这个root,我试过各种文档上的方法都不行。求助各位 知道怎么导入