

La AWS SDK per JavaScript v2 è arrivata. end-of-support [Ti consigliamo di migrare alla AWS SDK per JavaScript v3.](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/) [Per ulteriori dettagli e informazioni su come effettuare la migrazione, consulta questo annuncio.](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)

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

# Configurazione dei bucket di Amazon S3
<a name="s3-example-configuring-buckets"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/it_it/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**Questo esempio di codice di Node.js illustra:**
+ Come configurare le autorizzazioni della condivisione delle risorse multiorigine (CORS) per un bucket.

## Lo scenario
<a name="s3-example-configuring-buckets-scenario"></a>

In questo esempio, una serie di moduli di Node.js vengono utilizzati per elencare i bucket Amazon S3 e configurare CORS e la registrazione dei bucket. I moduli Node.js utilizzano l'SDK JavaScript per configurare un bucket Amazon S3 selezionato utilizzando questi metodi della classe client Amazon S3:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getBucketCors-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getBucketCors-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putBucketCors-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putBucketCors-property)

Per ulteriori informazioni sull'utilizzo della configurazione CORS con un bucket Amazon S3, [consulta Cross-Origin Resource Sharing (CORS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html)) nella Guida per l'utente di *Amazon Simple Storage Service*.

## Attività prerequisite
<a name="s3-example-configuring-buckets-prerequisites"></a>

Per configurare ed eseguire questo esempio, è necessario completare queste attività:
+ Installa Node.js. Per ulteriori informazioni sull'installazione di Node.js, consulta il [sito Web Node.js](https://nodejs.org).
+ Creazione di un file di configurazione condiviso con le credenziali utente. Per ulteriori informazioni sulla fornitura di un file delle credenziali condiviso, consulta [Caricamento delle credenziali su Node.js dal file delle credenziali condiviso](loading-node-credentials-shared.md).

## Configurazione dell'SDK
<a name="s3-example-configuring-buckets-configure-sdk"></a>

Configura l'SDK per JavaScript creando un oggetto di configurazione globale, quindi impostando la regione per il codice. Nell'esempio, la regione è impostata su `us-west-2`.

```
// Load the SDK for JavaScript
var AWS = require('aws-sdk');
// Set the Region 
AWS.config.update({region: 'us-west-2'});
```

## Recuperare una configurazione CORS del bucket
<a name="s3-example-configuring-buckets-get-cors"></a>

Crea un modulo Node.js con il nome del file `s3_getcors.js`. Il modulo richiede un singolo argomento della riga di comando per specificare il bucket di cui desideri la configurazione CORS. Assicurati di configurare l'SDK come mostrato in precedenza. Crea un oggetto di servizio`AWS.S3`. 

L'unico parametro che deve essere passato è il nome del bucket selezionato quando si chiama il metodo `getBucketCors`. Se il bucket ha attualmente una configurazione CORS, tale configurazione viene restituita da Amazon S3 come proprietà `CORSRules` del parametro passato `data` alla funzione di callback.

Se il bucket selezionato non dispone di alcuna configurazione CORS, tali informazioni vengono restituite alla funzione di callback nel parametro `error`.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });

// Set the parameters for S3.getBucketCors
var bucketParams = { Bucket: process.argv[2] };

// call S3 to retrieve CORS configuration for selected bucket
s3.getBucketCors(bucketParams, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else if (data) {
    console.log("Success", JSON.stringify(data.CORSRules));
  }
});
```

Digita la seguente riga di comando per eseguire l'esempio.

```
node s3_getcors.js BUCKET_NAME
```

[Questo codice di esempio può essere trovato qui su. GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_getcors.js)

## Impostazione di una configurazione CORS del bucket
<a name="s3-example-configuring-buckets-put-cors"></a>

Crea un modulo Node.js con il nome del file `s3_setcors.js`. Il modulo richiede più argomenti della riga di comando, il primo dei quali specifica il bucket di cui desideri impostare la configurazione CORS. Altri argomenti enumerano i metodi HTTP (POST, GET, PUT, PATCH, DELETE, POST) che desideri consentire per il bucket. Configura l'SDK come mostrato in precedenza.

 Crea un oggetto di servizio`AWS.S3`. Successivamente crea un oggetto JSON per conservare i valori della configurazione CORS, secondo quanto richiesto dal metodo `putBucketCors` dell'oggetto di servizio `AWS.S3`. Specifica `"Authorization"` per il valore `AllowedHeaders` e `"*"` per il valore `AllowedOrigins`. Inizialmente imposta il valore di `AllowedMethods` come matrice vuota.

Specifica i metodi consentiti come parametri della riga di comando per il modulo di Node.js, aggiungendo ciascuno dei metodi che corrispondono a uno dei parametri. Aggiungi la configurazione CORS risultante alla gamma di configurazioni contenute nel parametro `CORSRules`. Specifica il bucket da configurare per CORS nel parametro `Bucket`.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });

// Create initial parameters JSON for putBucketCors
var thisConfig = {
  AllowedHeaders: ["Authorization"],
  AllowedMethods: [],
  AllowedOrigins: ["*"],
  ExposeHeaders: [],
  MaxAgeSeconds: 3000,
};

// Assemble the list of allowed methods based on command line parameters
var allowedMethods = [];
process.argv.forEach(function (val, index, array) {
  if (val.toUpperCase() === "POST") {
    allowedMethods.push("POST");
  }
  if (val.toUpperCase() === "GET") {
    allowedMethods.push("GET");
  }
  if (val.toUpperCase() === "PUT") {
    allowedMethods.push("PUT");
  }
  if (val.toUpperCase() === "PATCH") {
    allowedMethods.push("PATCH");
  }
  if (val.toUpperCase() === "DELETE") {
    allowedMethods.push("DELETE");
  }
  if (val.toUpperCase() === "HEAD") {
    allowedMethods.push("HEAD");
  }
});

// Copy the array of allowed methods into the config object
thisConfig.AllowedMethods = allowedMethods;
// Create array of configs then add the config object to it
var corsRules = new Array(thisConfig);

// Create CORS params
var corsParams = {
  Bucket: process.argv[2],
  CORSConfiguration: { CORSRules: corsRules },
};

// set the new CORS configuration on the selected bucket
s3.putBucketCors(corsParams, function (err, data) {
  if (err) {
    // display error message
    console.log("Error", err);
  } else {
    // update the displayed CORS config for the selected bucket
    console.log("Success", data);
  }
});
```

Per eseguire l'esempio, digita la seguente stringa nella riga di comando, tra cui uno o più metodi HTTP come mostrato.

```
node s3_setcors.js BUCKET_NAME get put
```

Questo codice di esempio può essere trovato [qui su GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_setcors.js).