如何使用 AWS golang v2 SDK 配置 S3ForcePathStyle?
How do I configure S3ForcePathStyle with AWS golang v2 SDK?
我正在使用 AWS golang v2 SDK 将文件放入和读取到 S3。在本地,我正在使用本地堆栈,因此需要设置参数 S3ForcePathStyle
。但是,我找不到在配置中设置此参数的位置。
这是我的配置:
conf, err = config.LoadDefaultConfig(
context.TODO(),
config.WithRegion("us-east-1"),
config.WithEndpointResolver(
aws.EndpointResolverFunc(func(service, region string) (aws.Endpoint, error) {
return aws.Endpoint{
PartitionID: "aws",
URL: "http://localstack:4566",
SigningRegion: "us-east-1",
}, nil
}),
),
)
我可以在哪里传入S3ForcePathStyle = true
?
看来我找错地方了。文档 here 解释说,在 aws-sdk-go-v2 中,他们将特定于服务的配置标志移至各个服务客户端选项类型。具有讽刺意味的是提高了可发现性。
我应该这样设置 UsePathStyle
:
client := s3.NewFromConfig(conf, func(o *s3.Options) {
o.UsePathStyle = true
})
我正在使用 AWS golang v2 SDK 将文件放入和读取到 S3。在本地,我正在使用本地堆栈,因此需要设置参数 S3ForcePathStyle
。但是,我找不到在配置中设置此参数的位置。
这是我的配置:
conf, err = config.LoadDefaultConfig(
context.TODO(),
config.WithRegion("us-east-1"),
config.WithEndpointResolver(
aws.EndpointResolverFunc(func(service, region string) (aws.Endpoint, error) {
return aws.Endpoint{
PartitionID: "aws",
URL: "http://localstack:4566",
SigningRegion: "us-east-1",
}, nil
}),
),
)
我可以在哪里传入S3ForcePathStyle = true
?
看来我找错地方了。文档 here 解释说,在 aws-sdk-go-v2 中,他们将特定于服务的配置标志移至各个服务客户端选项类型。具有讽刺意味的是提高了可发现性。
我应该这样设置 UsePathStyle
:
client := s3.NewFromConfig(conf, func(o *s3.Options) {
o.UsePathStyle = true
})