使用Lambda从base64上传s3

时间:2018-05-17 02:14:32

标签: python amazon-s3 aws-lambda

我有以下代码:

[{\"nombre\":\"(label)\",\"valor\":\"telefono\"},{\"nombre\":\"(label)\",\"valor\":\"\"},{\"nombre\":\"(label)\",\

它将文件保存为jpg,我可以打开它。

如何将其上传到s3存储桶或任何其他服务,并返回URL安全性不是问题。

我试过

{"dataCampos": [{"nombre"=>"(label)", "valor"=>"", "editable"=>false, "soltoTecla"=>false}, {"nombre"=>"eee", "valor"=>"", "editable"=>false, "soltoTecla"=>true}]}

1 个答案:

答案 0 :(得分:0)

所以,我不确定我是否理解您的问题。

我使用下面的代码进行上传,并且可以正常工作。

            # Filename
            new_name = '{}_{}_{}_{}_{}_{}x{}.{}'.format(cid, uid, id_service_order, id_question, uuid.uuid4(), 0, 0,
                                                        fileExtension)  # type: str
            key = "{}".format(new_name)
            # Let's use Amazon S3
            s3 = boto3.client("s3",
                              aws_access_key_id=aws_config.aws_access_key_id,
                              aws_secret_access_key=aws_config.aws_secret_access_key,
                              region_name=aws_config.aws_s3_region,
                              config=Config(signature_version='s3v4'))

            dec = base64.b64decode(img_base64)
            rs = s3.put_object(
                Bucket=aws_config.aws_s3_bucket,
                Key=key,
                ContentType=fileType,
                Body=dec,
                ACL='public-read'
            )
            print(rs)
            print(new_name)

这对您有帮助吗?