Пытаюсь подключиться к S3 на Timeweb из Golang через библиотеку для AWS, но сталкиваюсь со странной ошибкой. Вот нерабочая часть кода:
customResolver := aws.EndpointResolverWithOptionsFunc(func(service, region string, options ...interface{}) (aws.Endpoint, error) {
if service == s3.ServiceID && region == conf.Region {
return aws.Endpoint{
URL: conf.URL,
SigningRegion: conf.Region,
}, nil
}
return aws.Endpoint{}, fmt.Errorf("unknown endpoint requested, service: %v but wanted %v, region: %v but wanted %v, endpoint: %v", s3.ServiceID, service, conf.Region, region, conf.URL)
})
Проблема в том, что переменная region, принимаемая в анонимную функцию, остается пустой и я получаю следующий лог:
operation error S3: ListObjectsV2, failed to resolve service endpoint, unknown endpoint requested, service: S3 but wanted S3, region: ru-1 but wanted , endpoint: https://s3.timeweb.co
что странно, потому что аналогичный код пол года назад работал безотказно.
Ниже прилагаю файл .aws/config
[default]
region=ru-1
я так понимаю, что переменная region должна заполняться именно из него.