

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
<a name="dual-stack-endpoints"></a>

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.

**Topics**
+ [Endpoint dual-stack Amazon S3](#dual-stack-endpoints-description)
+ [Utilizzo degli endpoint dual-stack di AWS CLI](#dual-stack-endpoints-cli)
+ [Utilizzo degli endpoint dual-stack di AWS SDK](#dual-stack-endpoints-sdks)
+ [Utilizzo degli endpoint dual-stack dall'API REST](#dual-stack-endpoints-examples-rest-api)

## Endpoint dual-stack Amazon S3
<a name="dual-stack-endpoints-description"></a>

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](ipv6-access.md).

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. ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-bucket-intro.html) Per un elenco di endpoint di Amazon S3, consultare la sezione relativa a [regioni ed endpoint](https://docs.aws.amazon.com/general/latest/gr/s3.html) 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. ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration-getting-started.html)

**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 ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html)

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
<a name="dual-stack-endpoints-cli"></a>

Questa sezione fornisce esempi di AWS CLI comandi utilizzati per effettuare richieste a un endpoint dual-stack. Per istruzioni sulla configurazione di, vedere. AWS CLI[Sviluppo con Amazon S3 utilizzando AWS CLI](setup-aws-cli.md) 

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](https://docs.aws.amazon.com/cli/latest/topic/s3-config.html). 

È 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 ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration.html#transfer-acceleration-requirements) Acceleration. 

## Utilizzo degli endpoint dual-stack di AWS SDK
<a name="dual-stack-endpoints-sdks"></a>

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
<a name="dual-stack-endpoints-examples-java"></a>

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 ](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/getting-started.html) 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
<a name="dual-stack-endpoints-examples-dotnet"></a>

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 ](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-setup.html) nella SDK for .NET *AWS Developer Guide. * 

## Utilizzo degli endpoint dual-stack dall'API REST
<a name="dual-stack-endpoints-examples-rest-api"></a>

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](RESTAPI.md#rest-api-dual-stack).