¿Cómo generar una URL de Amazon S3 pretratada para un dominio de vanidad, usando Amazon SDK?

Tengo un cubo s3 llamado foo.example.com, que es todo CNAMEd correctamente.

Estoy cambiando a la última AWS .NET SDK.

Deseo generar url pre firmado como:

http://foo.example.com/myfile.txt?s3_params_here

Tenga en cuenta la vanidad cname allí.

Yo tengo:

string bucketName = "foo.example.com"; AmazonS3Client s3Client = new AmazonS3Client("bar", "xxx", new AmazonS3Config { ServiceURL = bucketName, CommunicationProtocol = Protocol.HTTP }); string key = "myfile.txt"; GetPreSignedUrlRequest request = new GetPreSignedUrlRequest() .WithBucketName(bucketName) .WithKey(key) .WithExpires(DateTime.Now.AddMinutes(5)) .WithProtocol(Protocol.HTTP); string url = s3Client.GetPreSignedURL(request); 

la url que obtengo es algo como:

http://foo.example.com.foo.example.com/myfile.txt?AWSAccessKeyId=bar&Expires=1331069777&Signature=234KoUUvfE1nCcs2vLj9RQUhqF8%3D

Lo que está claramente mal.

He probado un montón de variaciones diferentes con ServiceURL, nombre de cubo, etc., pero nada parece funcionar.

No puedo encontrar ninguna buena documentación. ¿Cuál es la forma correcta de hacer esto?

Gracias.