View a markdown version of this page

Utilizzo degli endpoint dual-stack Amazon S3 - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo degli endpoint dual-stack Amazon S3

Gli endpoint dual-stack Amazon S3; supportano le richieste ai bucket S3 su IPv6 e IPv4. In questa sezione viene descritto come utilizzare gli endpoint dual-stack.

Endpoint dual-stack Amazon S3

Quando effettui una richiesta a un endpoint dual-stack, l'URL del bucket restituisce un indirizzo IPv6 o IPv4. Per ulteriori informazioni sull'accesso a un bucket su IPv6, consulta Esecuzione di richieste ad Amazon S3 su IPv6.

Quando si utilizza l'API REST, è possibile accedere direttamente a un endpoint Amazon S3 utilizzando il nome dell'endpoint (URI). È possibile accedere a un bucket S3 tramite un endpoint dual-stack utilizzando un nome di endpoint in stile hosting virtuale o in stile percorso. Amazon S3 supporta solo i nomi di endpoint dual-stack regionali, il che significa che è necessario specificare la regione come parte del nome.

Utilizzare le convenzioni di denominazione seguenti per i nomi di endpoint dual-stack in stile hosting virtuale e in stile percorso.

  • Endpoint dual-stack in stile hosting virtuale:

    bucketname.s3.dualstack. aws-region.amazonaws.com

     

  • Path-style endpoint dual-stack:

    s3.dualstack. aws-region.amazonaws.com/ bucketname

Per ulteriori informazioni sullo stile dei nomi degli endpoint, consulta Accedere ed elencare un bucket Amazon S3. Per un elenco di endpoint di Amazon S3, consultare la sezione relativa a regioni ed endpoint nella Riferimenti generali di AWS.

Importante

È possibile utilizzare Transfer Acceleration con gli endpoint dual-stack. Per ulteriori informazioni, consulta Guida introduttiva ad Amazon S3 Transfer Acceleration.

Nota

I due tipi di endpoint Virtual Private Cloud (VPC) che accedono ad Amazon S3 (endpoint Interface VPC ed endpoint Gateway VPC) ora dispongono del supporto dual-stack. Per ulteriori informazioni sugli endpoint VPC per Amazon S3, consulta Amazon S3. AWS PrivateLink

Quando usi AWS Command Line Interface (AWS CLI) e AWS SDK, puoi utilizzare un parametro o un flag per passare a un endpoint dual-stack. È inoltre possibile specificare l'endpoint dual-stack direttamente come sostituzione dell'endpoint Amazon S3 nel file di configurazione. Le sezioni seguenti descrivono come utilizzare gli endpoint dual-stack degli SDK e degli SDK. AWS CLI AWS

Utilizzo degli endpoint dual-stack di AWS CLI

Questa sezione fornisce esempi di AWS CLI comandi utilizzati per effettuare richieste a un endpoint dual-stack. Per istruzioni sulla configurazione di, vedere. AWS CLISviluppo con Amazon S3 utilizzando AWS CLI

Imposta il valore use_dualstack_endpoint di configurazione su true in un profilo nel tuo AWS Config file per indirizzare tutte le richieste Amazon S3 effettuate dai s3api AWS CLI comandi s3 and all'endpoint dual-stack per la regione specificata. La regione va specificata nel file di configurazione o in un comando tramite l'opzione --region.

Quando si utilizzano endpoint dual-stack con, sono supportati sia gli stili di indirizzamento che AWS CLI quelli. path virtual Lo stile di indirizzamento, impostato nel file di configurazione, controlla se il nome del bucket si trova nel nome host o fa parte dell'URL. Per default, l'interfaccia a riga di comando (CLI) tenta di utilizzare lo stile virtuale, se possibile, tornando allo stile percorso, se necessario. Per ulteriori informazioni, consulta Configurazione di Amazon S3 per AWS CLI.

È anche possibile apportare modifiche alla configurazione tramite un comando, come mostrato nell'esempio seguente, dove use_dualstack_endpoint viene impostato su true e addressing_style viene impostato su virtual nel profilo di default.

$ aws configure set default.s3.use_dualstack_endpoint true $ aws configure set default.s3.addressing_style virtual

Se desideri utilizzare un endpoint dual-stack solo per AWS CLI comandi specifici (non per tutti i comandi), puoi utilizzare uno dei seguenti metodi:

  • È possibile utilizzare l'endpoint dual-stack per comando, impostando il parametro --endpoint-url su https://s3.dualstack.aws-region.amazonaws.com o http://s3.dualstack.aws-region.amazonaws.com per un comando s3 o s3api.

    $ aws s3api list-objects --bucket bucketname --endpoint-url https://s3.dualstack.aws-region.amazonaws.com
  • Puoi impostare profili separati nel tuo file. AWS Config Ad esempio, si può creare un profilo che imposta use_dualstack_endpoint su true e un profilo che non imposta use_dualstack_endpoint. Quando si esegue un comando, specificare il profilo da usare, a seconda se si desidera o meno utilizzare l'endpoint dual-stack.

Nota

Quando si utilizza il attualmente non AWS CLI è possibile utilizzare l'accelerazione di trasferimento con endpoint dual-stack. Tuttavia, il supporto per il sarà presto disponibile. AWS CLI Per ulteriori informazioni, consulta Abilitazione e utilizzo di S3 Transfer Acceleration.

Utilizzo degli endpoint dual-stack di AWS SDK

Questa sezione fornisce esempi di come accedere a un endpoint dual-stack utilizzando gli SDK. AWS

AWS SDK per Java esempio di endpoint dual-stack

Nell'esempio seguente viene mostrato come abilitare endpoint dual-stack durante la creazione di un client Amazon S3 utilizzando la AWS SDK per Java.

Per istruzioni su come creare e testare un esempio Java funzionante, vedi Guida introduttiva nella Developer Guide. AWS SDK per Java

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(); } } }

Se si utilizza Windows, potrebbe essere necessario impostare la seguente proprietà della macchina virtuale Java (JVM): AWS SDK per Java

java.net.preferIPv6Addresses=true

AWS Esempio di endpoint dual-stack .NET SDK

Quando si utilizza l' AWS SDK per .NET, si utilizza la AmazonS3Config classe per abilitare l'uso di un endpoint dual-stack, come mostrato nell'esempio seguente.

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()); } } } }

Per informazioni sulla configurazione e l'esecuzione degli esempi di codice, consulta Getting Started with the AWS SDK for .NET nella SDK for .NET AWS Developer Guide.

Utilizzo degli endpoint dual-stack dall'API REST

Per informazioni su come eseguire richieste su endpoint dual-stack tramite l'API REST, consulta Esecuzione di richieste a endpoint Dual-Stack utilizzando l'API REST.