gpt4 book ai didi

amazon-web-services - 如何将 S3 数据加载到本地内存,而不是保存到文件

转载 作者:数据小太阳 更新时间:2023-10-29 03:10:55 26 4
gpt4 key购买 nike

<分区>

这是我当前的代码:

import (
"time"
"reflect"
"io/ioutil"
"fmt"
"os"
"github.com/golang/protobuf/proto"
"github.com/aws/aws-sdk-go/service/s3"
"github.com/aws/aws-sdk-go/service/s3/s3manager"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/aws/credentials"
)

f, err := os.Create(filename)
if err != nil {
panic(fmt.Errorf("failed to create file %q, %v", filename, err))
}
_, err = db.Downloader.Download(f, &s3.GetObjectInput{
Bucket: aws.String("bucketName"),
Key: aws.String("myKeyThatMightExist"),
})
if err != nil { // key doesn't exist
os.Remove(filename)
return nil
} else {
file, err = ioutil.ReadFile(filename)
}

我需要 file 是从 S3 中提取的字符串。我存储的本地文件是 S3 上内容的缓存。

这意味着当我尝试提取数据时,我需要为该数据创建一个文件。由于我正在使用的数据库,我实际上不知道我正在访问的 key 是否存在。我想知道这些解决方案中的任何一个是否可行:1)创建某种类型的缓冲区对象,将整个文件加载到 RAM 中,而不实际保存它。 2) 检查文件是否存在于 S3 上,而不创建本地文件。如果文件存在,这将使我可以拉下该文件,而如果我在 S3 上不存在,则不会创建一个空文件。

抱歉,我无法创建 playground 链接,因为 go playground 没有我需要的库。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com