首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS-goSDKv2是否与本地MinIO服务器集成?

AWS-goSDKv2是否与本地MinIO服务器集成?
EN

Stack Overflow用户
提问于 2021-05-17 19:06:39
回答 3查看 1.3K关注 0票数 4

如何将本地minIO存储与aws-sdk-go-v2连接起来?在go SDK的上一个版本中,我可以找到关于如何做到这一点的清晰文档,而不是使用V2。我阅读了版本2的源代码,似乎aws-sdk-go-v2删除了禁用SSL的选项,并指定了本地S3端点(服务S3必须采用amazon )。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-06-23 00:35:53

您可以通过以下方法很容易地做到这一点:

代码语言:javascript
复制
const defaultRegion = "us-east-1"
staticResolver := aws.EndpointResolverFunc(func(service, region string) (aws.Endpoint, error) {
    return aws.Endpoint{
        PartitionID:       "aws",
        URL:               "http://localhost:9123", // or where ever you ran minio
        SigningRegion:     defaultRegion,
        HostnameImmutable: true,
    }, nil
})

cfg = aws.Config{
    Region:           defaultRegion,
    Credentials:      credentials.NewStaticCredentialsProvider("minioadmin", "minioadmin", ""),
    EndpointResolver: staticResolver,
}

s3Client := s3.NewFromConfig(cfg)
票数 10
EN

Stack Overflow用户

发布于 2022-10-07 08:44:44

到今天为止,aws.EndpointResolverFunc已经不再受欢迎了--这就是对我起作用的原因:

代码语言:javascript
复制
const defaultRegion = "us-east-1"
hostAddress := "http://localhost:9000"

resolver := aws.EndpointResolverWithOptionsFunc(func(service, region string, options ...any) (aws.Endpoint, error) {
    return aws.Endpoint{
        PartitionID:       "aws",
        URL:               hostAddress,
        SigningRegion:     defaultRegion,
        HostnameImmutable: true,
    }, nil
})

cfg, err = config.LoadDefaultConfig(context.Background(),
    config.WithRegion(defaultRegion),
    config.WithEndpointResolverWithOptions(resolver),
    config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider("minioadmin", "minioadmin", "")),
)
s3Client := s3.NewFromConfig(cfg)
票数 1
EN

Stack Overflow用户

发布于 2022-10-20 21:21:28

aws-sdk-go-v2的派生版本

代码语言:javascript
复制
const defaultRegion = "us-east-1"
hostAddress := "http://localhost:9000"

resolver := aws.EndpointResolverWithOptionsFunc(func(service, region string, options ...any) (aws.Endpoint, error) {
    return aws.Endpoint{
        PartitionID:       "aws",
        SigningRegion:     defaultRegion,
        URL:               hostAddress,
        HostnameImmutable: true,
    }, nil
})

cfg := aws.Config{
    Region:      defaultRegion,
    EndpointResolverWithOptions: resolver
    Credentials: credentials.NewStaticCredentialsProvider("minioadmin", "minioadmin", ""),
}

return s3.NewFromConfig(cfg)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67575681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档