2016-08-22 5 views
0

Ich versuche, die Basis-URL des AWS SDK für Java zu ändern. Es ist möglich, mit dem SDK für PHP wie folgt aus:AWS-Basis-URL im SDK für Java manipulieren

require 'vendor/autoload.php'; 

use Aws\DynamoDb\DynamoDbClient; 

// Create a client that that contacts a completely customized base URL 
$client = DynamoDbClient::factory(array(
'endpoint' => 'http://my-custom-url', 
'region' => 'my-region-1', 
'credentials' => array(
    'key'  => 'abc', 
    'secret' => '123' 
) 
)); 

Es ist auch möglich, dies für s3cmd in .s3conf einzurichten:

host_base = s3.mylocalaws.com 
host_bucket = %(bucket)s.s3.mylocalaws.com 

Ich kann nicht herausfinden, wie dies für das Werk Java SDK.

Ich habe dies versucht, aber das Ergebnis ist nicht https://s3.mylocalaws.com/bucketName/key wie ich aber https://bucketName.s3.mylocalaws.com

AmazonS3 s3Client = new AmazonS3Client(new AWSTestCredentialsImpl()); 
s3Client.setEndpoint("https://s3.mylocalaws.com"); 
S3Object resource = s3Client.getObject(
      new GetObjectRequest(bucketName, key)); 
bei Choosing a Specific Endpoint in der Dokumentation
+0

Auf welche Art von Service weist dieser benutzerdefinierte Endpunkt hin? Führen Sie einen lokalen S3-kompatiblen Dienst aus? –

Antwort

1

Blick erwartet.

AmazonEC2 ec2 = new AmazonEC2(myCredentials); 
ec2.setEndpoint("https://ec2.eu-west-1.amazonaws.com"); 
+0

Das ist verwirrend ... Ich habe das mit S3 versucht. Zuerst hat es auf ein Objekt wie https://s3.eu-west-1.amazonaws.com/bucketname/key zugegriffen. Mit dieser einen Zeile, die Sie geschrieben haben, versucht es, dieses Objekt von einer subdomained Adresse wie "Bucketname.s3.eu-west-1.amazonaws.com" zu bekommen. Wie der Bucket wurde für das statische Seiten-Hosting konfiguriert und es schlägt fehl. –

+0

Zeigen Sie Ihren Code. –

+0

Ich habe die Frage aktualisiert ich hoffe, das wird helfen :-D –