无法从R在S3存储桶中写入CSV文件

我正在尝试使用以下代码将csv文件写入Amazon S3存储桶

s3write_using(gene_read_counts,FUN = write.csv,object = "gene_read_counts_test.csv",bucket = "test-bioinformatics-dev-bkt/research/bioinformatics/colo_final/data/processed/colorectal",row.names=FALSE)

我遇到以下错误

  

文件大小为71619789。考虑设置“ multipart = TRUE”。   parse_aws_s3_response(r,Sig,verbose = verbose)中的错误:禁止(HTTP 403)。

lwtdxy 回答:无法从R在S3存储桶中写入CSV文件

查看错误时可能有2个方面。

  1. 似乎出现错误,提示在上传大文件时使用AWS-S3分段上传。分段上传可更快,更灵活地上传到Amazon S3。可以通过

    • 将对象/文件分成小块。
    • 使用S3 API的CreateMultipartUpload上传初始化。
    • 使用分段上传来上传部分对象。使用S3 API的UploadPartCopy操作
    • 完成分段上传。使用S3 API的CompleteMultipartUpload操作。
    • 如果上传的任何部分失败,则必须同时实施AbortMultipartUpload。使用AbortMultipartUpload,将释放任何先前上载的部分占用的存储空间。

    请参阅下面的AWS文档。 https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html

  2. 禁止(HTTP 403)错误提示权限被拒绝。在这种情况下,如果用户有权访问S3对象,请检查IAM角色。

由于您正在使用“ R”语言在S3中写入文件。我建议使用Put_Object函数,并在函数中设置multipart = TRUE以部分上传文件。

您可以使用以下代码

   put_object(filename,object,bucketname,multipart = TRUE,acl = c("private","public-read","public-read-write","aws-exec-read","authenticated-read","bucket-owner-read","bucket-owner-full-control"),headers = list(),...)

在上述函数中说multipart = TRUE时,它将创建所提供对象的部分或块并将其部分上传到S3中。

本文链接:https://www.f2er.com/3117558.html

大家都在问