Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden von Amazon-S3-Dual-Stack-Endpunkten
Amazon S3-Dual-Stack-Endpunkte unterstützen Anforderungen an S3-Buckets über IPv6 und IPv4. In diesem Abschnitt wird die Verwendung von Dual-Stack-Endpunkten beschrieben.
Themen
Amazon-S3-Dual-Stack-Endpunkte
Wenn Sie eine Anforderung an einen Dual-Stack-Endpunkt richten, wird die Bucket-URL in eine IPv6- oder eine IPv4-Adresse aufgelöst. Weitere Informationen zum Zugriff auf einen Bucket über IPv6 finden Sie unte Stellen von Anforderungen an Amazon S3 über IPv6.
Wenn Sie die REST-API verwenden, können Sie direkt auf einen Amazon-S3-Endpunkt zugreifen, indem Sie den Endpunktnamen (URI) verwenden. Über einen Dual-Stack-Endpunkt können Sie auf einen S3-Bucket zugreifen, indem Sie einen Virtual-Hosted-Style- oder Path-Style-Endpunktnamen verwenden. Amazon S3 unterstützt nur regionale Dual-Stack-Endpunktnamen, d. h. Sie müssen die Region als Teil des Namens angeben.
Verwenden Sie die folgenden Namenskonventionenfür Endpunktnamen im Virtual-Hosted-Style und im Path-Style:
-
Dual-Stack-Endpunkte im Virtual-Hosted–Style:
bucketname.s3. Dualstack.aws-region.amazonaws.com -
Path-style Dual-Stack-Endpunkt:
s3. Dualstack.
aws-region.amazonaws.com/bucketname
Weitere Informationen zum Namensstil für Endpunkte finden Sie unter Auf einen Amazon S3-Bucket zugreifen und ihn auflisten. Eine Liste der Amazon-S3-Endpunkte finden Sie unter Regionen und Endpunkte in der Allgemeine AWS-Referenz.
Wichtig
Für Dual-Stack-Endpunkte kann eine Transfer Acceleration verwendet werden. Weitere Informationen finden Sie unter Erste Schritte mit Amazon S3 Transfer Acceleration.
Anmerkung
Die beiden Arten von Virtual Private Cloud (VPC) -Endpunkten, die auf Amazon S3 zugreifen (Schnittstellen-VPC-Endpunkte und Gateway-VPC-Endpunkte), bieten jetzt Dual-Stack-Unterstützung. Weitere Informationen zu VPC-Endpunkten für Amazon S3 finden Sie unter für Amazon S3. AWS PrivateLink
Wenn Sie AWS Command Line Interface (AWS CLI) und AWS SDKs verwenden, können Sie einen Parameter oder ein Flag verwenden, um zu einem Dual-Stack-Endpunkt zu wechseln. Sie können den Dual-Stack-Endpunkt auch direkt als Override des Amazon-S3-Endpunkts in der Konfigurationsdatei angeben. In den folgenden Abschnitten wird beschrieben, wie Dual-Stack-Endpunkte aus den und den AWS CLI SDKs verwendet werden. AWS
Verwenden Sie Dual-Stack-Endpunkte von AWS CLI
Dieser Abschnitt enthält Beispiele für AWS CLI Befehle, mit denen Anfragen an einen Dual-Stack-Endpunkt gestellt werden. Anweisungen zur Einrichtung von finden Sie AWS CLI unterEntwickeln mit Amazon S3 unter Verwendung der AWS CLI.
Sie setzen den Konfigurationswert true in einem Profil in Ihrer AWS Config Datei use_dualstack_endpoint auf, um alle Amazon S3-Anfragen, die über die s3api AWS CLI Befehle s3 und gestellt werden, an den Dual-Stack-Endpunkt für die angegebene Region weiterzuleiten. Sie geben die Region in der Konfigurationsdatei oder in einem Befehl mit der Option --region an.
Wenn Sie Dual-Stack-Endpunkte mit dem verwenden AWS CLI, werden sowohl als auch die path virtual Adressierungsstile unterstützt. Der Adressierungsstil, der in der Konfigurationsdatei festgelegt wird, steuert, ob der Bucketname im Hostnamen enthalten oder Teil der URL ist. Standardmäßig versucht die CLI, den virtuellen Stil zu verwenden, wann immer das möglich ist, verwendet aber auch den Pfadstil, wenn das notwendig ist. Weitere Informationen finden Sie unter AWS CLI -Amazon-S3-Konfiguration.
Sie können auch Konfigurationsänderungen über einen Befehl vornehmen, wie im folgenden Beispiel gezeigt, das im Standardprofil use_dualstack_endpoint auf true und addressing_style auf virtual setzt.
$aws configure set default.s3.use_dualstack_endpoint true$aws configure set default.s3.addressing_style virtual
Wenn Sie einen Dual-Stack-Endpunkt nur für bestimmte AWS CLI Befehle (nicht für alle Befehle) verwenden möchten, können Sie eine der folgenden Methoden verwenden:
-
Sie können den Dual-Stack-Endpunkt pro Befehl verwenden, indem Sie den Parameter
--endpoint-urlaufhttps://s3.dualstack.oderaws-region.amazonaws.com.rproxy.goskope.comhttp://s3.dualstack.für jedenaws-region.amazonaws.com.rproxy.goskope.coms3- oders3api-Befehl setzen.$aws s3api list-objects --bucketbucketname--endpoint-url https://s3.dualstack.aws-region.amazonaws.com -
Sie können separate Profile in Ihrer AWS Config Datei einrichten. Legen Sie beispielsweise ein Profil an, das
use_dualstack_endpointauftruesetzt, und ein Profil, dasuse_dualstack_endpointnicht setzt. Wenn Sie einen Befehl ausführen, geben Sie an, welches Profil Sie verwenden wollen, abhängig davon, ob Sie den Dual-Stack-Endpunkt verwenden wollen oder nicht.
Anmerkung
Wenn AWS CLI Sie den verwenden, können Sie die Übertragungsbeschleunigung derzeit nicht mit Dual-Stack-Endpunkten verwenden. Die Unterstützung für das AWS CLI wird jedoch bald verfügbar sein. Weitere Informationen finden Sie unter S3 Transfer Acceleration aktivieren und verwenden.
Verwenden Sie Dual-Stack-Endpunkte von AWS SDKs
Dieser Abschnitt enthält Beispiele für den Zugriff auf einen Dual-Stack-Endpunkt mithilfe der SDKs. AWS
AWS SDK für Java Beispiel für Dual-Stack-Endpunkte
Das folgende Beispiel veranschaulicht, wie Sie beim Erstellen eines Amazon-S3-Clients mit dem AWS SDK für Java Dual-Stack-Endpunkte aktivieren.
Anweisungen zum Erstellen und Testen eines funktionierenden Java-Beispiels finden Sie unter Erste Schritte im AWS SDK für Java Entwicklerhandbuch.
import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; public class DualStackEndpoints { public static void main(String[] args) { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; try { // Create an Amazon S3 client with dual-stack endpoints enabled. AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .withDualstackEnabled(true) .build(); s3Client.listObjects(bucketName); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
Wenn Sie das AWS SDK für Java unter Windows verwenden, müssen Sie möglicherweise die folgende Eigenschaft der Java Virtual Machine (JVM) festlegen:
java.net.preferIPv6Addresses=true
AWS .NET SDK-Beispiel für einen Dual-Stack-Endpunkt
Wenn Sie das AWS SDK für.NET verwenden, verwenden Sie die AmazonS3Config Klasse, um die Verwendung eines Dual-Stack-Endpunkts zu aktivieren, wie im folgenden Beispiel gezeigt.
using Amazon; using Amazon.S3; using Amazon.S3.Model; using System; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class DualStackEndpointTest { private const string bucketName = "*** bucket name ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 client; public static void Main() { var config = new AmazonS3Config { UseDualstackEndpoint = true, RegionEndpoint = bucketRegion }; client = new AmazonS3Client(config); Console.WriteLine("Listing objects stored in a bucket"); ListingObjectsAsync().Wait(); } private static async Task ListingObjectsAsync() { try { var request = new ListObjectsV2Request { BucketName = bucketName, MaxKeys = 10 }; ListObjectsV2Response response; do { response = await client.ListObjectsV2Async(request); // Process the response. foreach (S3Object entry in response.S3Objects) { Console.WriteLine("key = {0} size = {1}", entry.Key, entry.Size); } Console.WriteLine("Next Continuation Token: {0}", response.NextContinuationToken); request.ContinuationToken = response.NextContinuationToken; } while (response.IsTruncated == true); } catch (AmazonS3Exception amazonS3Exception) { Console.WriteLine("An AmazonS3Exception was thrown. Exception: " + amazonS3Exception.ToString()); } catch (Exception e) { Console.WriteLine("Exception: " + e.ToString()); } } } }
Informationen zum Einrichten und Ausführen der Codebeispiele finden Sie unter Getting Started with the AWS SDK for .NET im AWS SDK for .NET Developer Guide.
Verwenden von Dual-Stack-Endpunkte von der REST-API
Weitere Informationen über Anfragen an Dual-Stack-Endpunkte über die REST-API finden Sie unter Senden von Anforderungen an Dual-Stack-Endpunkte unter Verwendung der REST-API.