

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à.

# Creazione di un bucket di directory in una zona locale
<a name="create-directory-bucket-LZ"></a>

In Local Zones, puoi creare bucket di directory per archiviare e recuperare oggetti in un perimetro di dati specifico per soddisfare i casi d'uso della residenza dei dati. I bucket di directory S3 sono l'unico tipo di bucket supportato nelle Zone locali e contengono un tipo di posizione del bucket chiamato `LocalZone`. Il nome di un bucket di directory è composto da un nome di base fornito dall'utente e da un suffisso che contiene l'ID di zona della posizione del bucket e `--x-s3`. È possibile ottenere un elenco di zone IDs locali utilizzando l'operazione API. [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) Per ulteriori informazioni, consulta [Regole di denominazione dei bucket di directory](directory-bucket-naming-rules.md).

**Nota**  
Per tutti i servizi in AWS Dedicated Local Zones (Dedicated Local Zones), incluso S3, l'amministratore deve abilitare il tuo Account AWS prima di poter creare o accedere a qualsiasi risorsa nella Dedicated Local Zone. Per ulteriori informazioni, consulta [Abilitazione di account per le zone locali](opt-in-directory-bucket-lz.md).
Per i requisiti di residenza dei dati, si consiglia di abilitare l'accesso ai bucket solo dagli endpoint del gateway VPC. Per ulteriori informazioni, consulta [Connettività privata dalla VPC](connectivity-lz-directory-buckets.md).
Per limitare l'accesso solo ai gruppi di confine di rete della zona locale, è possibile utilizzare la chiave di condizione `s3express:AllAccessRestrictedToLocalZoneGroup` nelle policy IAM. Per ulteriori informazioni, consulta [Autenticazione e autorizzazione per i bucket di directory nelle Zone locali](iam-directory-bucket-LZ.md).

Di seguito vengono descritti i modi per creare un bucket di directory in una singola zona locale con Console di gestione AWS AWS CLI, e. AWS SDKs 

## Utilizzo della console S3
<a name="create-directory-bucket-lz-console"></a>

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nella barra di navigazione nella parte superiore della pagina, scegli il nome del file attualmente visualizzato Regione AWS. Quindi, scegli la Regione padre di una zona locale in cui desideri creare un bucket di directory. 
**Nota**  
Per ulteriori informazioni sulle Regioni padre, consulta [Concetti per i bucket di directory nelle Zone locali](s3-lzs-for-directory-buckets.md).

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Scegliere **Create bucket (Crea bucket)**.

   Viene visualizzata la pagina **Create bucket (Crea bucket)**.

1. In **Configurazione generale**, visualizza la Regione AWS in cui verrà creato il bucket. 

1.  In **Tipo di bucket**, scegli **Directory**.
**Nota**  
Se si è scelta una Regione che non supporta i bucket di directory, il tipo di bucket viene impostato su un bucket per uso generico. Per creare un bucket di directory, è necessario scegli una Regione supportata. Per un elenco delle Regioni che supportano i bucket di directory, consulta [Endpoint regionali e di zona per i bucket di directory](s3-express-Regions-and-Zones.md).
Dopo aver creato il bucket, non è possibile modificare il tipo di bucket.

1. In **Posizione bucket**, scegli la zona locale che desideri utilizzare. 
**Nota**  
La zona locale non può essere modificata dopo la creazione del bucket. 

1. In **Posizione del bucket**, seleziona la casella di controllo per accettare che, in caso di interruzione della zona locale, i dati potrebbero non essere disponibili o andare persi. 
**Importante**  
Sebbene i bucket di directory siano archiviati su più dispositivi all'interno di una singola zona locale, i bucket di directory non archiviano i dati in modo ridondante tra le Zone locali.

1. Per **Nome bucket**, immetti il nome del bucket di directory.

   Per ulteriori informazioni sulle regole di denominazione dei bucket di directory, consulta [Regole di denominazione dei bucket per uso generico](bucketnamingrules.md). Un suffisso viene aggiunto automaticamente al nome di base fornito quando si crea un bucket di directory tramite la console. Questo suffisso include l'ID di zona della zona locale scelta.

   Una volta creato il bucket, non è possibile modificarne il nome. 
**Importante**  
Non includete informazioni sensibili, come i numeri di conto, nel nome del bucket. Il nome del bucket è visibile in URLs quel punto agli oggetti nel bucket.

1. In **Object Ownership**, l'impostazione **imposta dal proprietario del Bucket** viene abilitata automaticamente e tutte le liste di controllo degli accessi () ACLs sono disabilitate. Per quanto riguarda i bucket di directory, ACLs sono disabilitati e non possono essere abilitati.

   Con l'impostazione **forzata del proprietario del bucket** abilitata, il proprietario del bucket possiede automaticamente e ha il pieno controllo su ogni oggetto nel bucket. ACLs non influiscono più sulle autorizzazioni di accesso ai dati nel bucket S3. Il bucket utilizza esclusivamente le policy per definire il controllo degli accessi. La maggior parte dei casi d'uso moderni in Amazon S3 non richiede più l'uso di. ACLs Per ulteriori informazioni, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

1. In **Impostazioni di blocco dell'accesso pubblico per questo bucket**, tutte le impostazioni di blocco dell'accesso pubblico per il bucket di directory sono automaticamente attivate. Queste impostazioni non possono essere modificate per i bucket di directory. Per ulteriori informazioni sul blocco dell'accesso pubblico, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md).

1. In **Crittografia predefinita**, i bucket di directory utilizzano la **Crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)** per crittografare i dati per impostazione predefinita. Hai anche la possibilità di crittografare i dati nei bucket di directory con **crittografia lato server con chiavi (SSE-KMS**). AWS Key Management Service 

1. Seleziona **Crea bucket**.

   Dopo aver creato il bucket, puoi aggiungere file e cartelle al bucket. Per ulteriori informazioni, consulta [Utilizzo di oggetti in un bucket di directory](directory-buckets-objects.md).

## Usando il AWS CLI
<a name="create-directory-bucket-lz-cli"></a>

Questo esempio mostra come creare un bucket di directory in una zona locale usando AWS CLI. Per utilizzare il comando, sostituisci {{user input placeholders}} con le informazioni appropriate.

Quando si crea un bucket di directory, è necessario fornire i dettagli di configurazione e utilizzare la seguente convenzione di denominazione: `{{bucket-base-name}}--{{zone-id}}--x-s3`.

```
aws s3api create-bucket
--bucket {{bucket-base-name}}--{{zone-id}}--x-s3
--create-bucket-configuration 'Location={Type=LocalZone,Name={{local-zone-id}}},Bucket={DataRedundancy=SingleLocalZone,Type=Directory}'
--region {{parent-region-code}}
```

Per ulteriori informazioni sull'ID zona locale e sul codice della Regione padre, consulta [Concetti per i bucket di directory nelle Zone locali](s3-lzs-for-directory-buckets.md). Per ulteriori informazioni sul comando AWS CLI , consulta [create-bucket](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/create-bucket.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

## Usando il AWS SDKs
<a name="create-directory-bucket-lz-sdks"></a>

------
#### [ SDK for Go ]

Questo esempio mostra come creare un bucket di directory in una zona locale usando AWS SDK per Go. 

**Example**  

```
var bucket = "{{bucket-base-name}}--{{zone-id}}--x-s3" // The full directory bucket name

func runCreateBucket(c *s3.Client) {
    resp, err := c.CreateBucket(context.Background(), &s3.CreateBucketInput{
        Bucket: &bucket,
        CreateBucketConfiguration: &types.CreateBucketConfiguration{
            Location: &types.LocationInfo{
                Name: aws.String("{{local-zone-id}}"),
                Type: types.LocationTypeLocalZone,
            },  
            Bucket: &types.BucketInfo{
                DataRedundancy: types.DataRedundancySingleLocalZone,
                Type:           types.BucketTypeDirectory,
            },  
        },  
    })  
    var terr *types.BucketAlreadyOwnedByYou
    if errors.As(err, &terr) {
        fmt.Printf("BucketAlreadyOwnedByYou: %s\n", aws.ToString(terr.Message))
        fmt.Printf("noop...\n") // No operation performed, just printing a message
        return
    }   
    if err != nil {
        log.Fatal(err)
    }   

    fmt.Printf("bucket created at %s\n", aws.ToString(resp.Location))
}
```

------
#### [ SDK for Java 2.x ]

Questo esempio mostra come creare un bucket di directory in una zona locale usando AWS SDK for Java 2.x. 

**Example**  

```
public static void createBucket(S3Client s3Client, String bucketName) {

    //Bucket name format is {base-bucket-name}--{local-zone-id}--x-s3
    //example: {{doc-example-bucket}}--{{local-zone-id}}--x-s3 is a valid name for a directory bucket created in a Local Zone.

    CreateBucketConfiguration bucketConfiguration = CreateBucketConfiguration.builder()
             .location(LocationInfo.builder()
                     .type(LocationType.LOCAL_ZONE)
                     .name("{{local-zone-id}}").build()) //this must match the Local Zone ID in your bucket name
             .bucket(BucketInfo.builder()
                    .type(BucketType.DIRECTORY)
                    .dataRedundancy(DataRedundancy.SINGLE_LOCAL_ZONE)
                    .build()).build();
    try {
    
             CreateBucketRequest bucketRequest = CreateBucketRequest.builder().bucket(bucketName).createBucketConfiguration(bucketConfiguration).build();
             CreateBucketResponse response = s3Client.createBucket(bucketRequest);
             System.out.println(response);
    } 
    
    catch (S3Exception e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
         }
    }
```

------
#### [ AWS SDK per JavaScript ]

Questo esempio mostra come creare un bucket di directory in una zona locale usando AWS SDK per JavaScript. 

**Example**  

```
// file.mjs, run with Node.js v16 or higher
// To use with the preview build, place this in a folder 
// inside the preview build directory, such as /aws-sdk-js-v3/workspace/

import { S3 } from "@aws-sdk/client-s3";

const region = "{{parent-region-code}}";
const zone = "{{local-zone-id}}";
const suffix = `${zone}--x-s3`;

const s3 = new S3({ region });

const bucketName = `{{bucket-base-name}}--${suffix}`; // Full directory bucket name

const createResponse = await s3.createBucket( 
    { Bucket: bucketName, 
      CreateBucketConfiguration: {Location: {Type: "LocalZone", Name: "{{local-zone-id}}"},
      Bucket: { Type: "Directory", DataRedundancy: "SingleLocalZone" }}
    } 
   );
```

------
#### [ SDK per .NET ]

Questo esempio mostra come creare un bucket di directory in una zona locale usando SDK per .NET. 

**Example**  

```
using (var amazonS3Client = new AmazonS3Client())
{
    var putBucketResponse = await amazonS3Client.PutBucketAsync(new PutBucketRequest
    {

       BucketName = "{{bucket-base-name}}--{{local-zone-id}}--x-s3",
       PutBucketConfiguration = new PutBucketConfiguration
       {
         BucketInfo = new BucketInfo { DataRedundancy = DataRedundancy.SingleLocalZone, Type = BucketType.Directory },
         Location = new LocationInfo { Name = "{{local-zone-id}}", Type = LocationType.LocalZone }
       }
     }).ConfigureAwait(false);
}
```

------
#### [ SDK for PHP ]

Questo esempio mostra come creare un bucket di directory in una zona locale usando AWS SDK for PHP. 

**Example**  

```
require 'vendor/autoload.php';

$s3Client = new S3Client([

    'region'      => '{{parent-region-code}}',
]);


$result = $s3Client->createBucket([
    'Bucket' => '{{bucket-base-name}}--{{local-zone-id}}--x-s3',
    'CreateBucketConfiguration' => [
        'Location' => ['Name'=> '{{local-zone-id}}', 'Type'=> 'LocalZone'],
        'Bucket' => ["DataRedundancy" => "SingleLocalZone" ,"Type" => "Directory"]   ],
]);
```

------
#### [ SDK for Python ]

Questo esempio mostra come creare un bucket di directory in una zona locale usando AWS SDK per Python (Boto3). 

**Example**  

```
import logging
import boto3
from botocore.exceptions import ClientError

def create_bucket(s3_client, bucket_name, local_zone):
    '''
    Create a directory bucket in a specified Local Zone

    :param s3_client: boto3 S3 client
    :param bucket_name: Bucket to create; for example, '{{bucket-base-name}}--{{local-zone-id}}--x-s3'
    :param local_zone: String; Local Zone ID to create the bucket in
    :return: True if bucket is created, else False
    '''

    try:
        bucket_config = {
                'Location': {
                    'Type': 'LocalZone',
                    'Name': local_zone
                },
                'Bucket': {
                    'Type': 'Directory', 
                    'DataRedundancy': 'SingleLocalZone'
                }
            }
        s3_client.create_bucket(
            Bucket = bucket_name,
            CreateBucketConfiguration = bucket_config
        )
    except ClientError as e:
        logging.error(e)
        return False
    return True


if __name__ == '__main__':
    bucket_name = '{{BUCKET_NAME}}'
    region = '{{parent-region-code}}'
    local_zone = '{{local-zone-id}}'
    s3_client = boto3.client('s3', region_name = region)
    create_bucket(s3_client, bucket_name, local_zone)
```

------
#### [ SDK for Ruby ]

Questo esempio mostra come creare un bucket di directory in una zona locale usando il comando AWS SDK per Ruby. 

**Example**  

```
s3 = Aws::S3::Client.new(region:'{{parent-region-code}}')
s3.create_bucket(
  bucket: "{{bucket-base-name}}--{{local-zone-id}}--x-s3",
  create_bucket_configuration: {
    location: { name: '{{local-zone-id}}', type: 'LocalZone' },
    bucket: { data_redundancy: 'SingleLocalZone', type: 'Directory' }
  }
)
```

------