

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

# Utilizzo di un bucket di Amazon S3 come host Web statico
<a name="s3-example-static-web-host"></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 un bucket Amazon S3 come host web statico.

## Lo scenario
<a name="s3-example-static-web-host-scenario"></a>

In questo esempio, una serie di moduli di Node.js viene utilizzata per configurare tutti i bucket per espletare funzioni di host Web statico. 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#getBucketWebsite-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getBucketWebsite-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putBucketWebsite-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putBucketWebsite-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#deleteBucketWebsite-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#deleteBucketWebsite-property)

Per ulteriori informazioni sull'utilizzo di un bucket Amazon S3 come host Web statico, consulta [Hosting a Static Website on Amazon S3 nella Amazon Simple](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html) *Storage Service User Guide*.

## Attività prerequisite
<a name="s3-example-static-web-host-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-static-web-host-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'});
```

## Recupero dell'attuale configurazione del sito Web di un bucket
<a name="s3-example-static-web-host-get-website"></a>

Crea un modulo Node.js con il nome del file `s3_getbucketwebsite.js`. Il modulo richiede un singolo argomento della riga di comando per specificare il bucket di cui desideri la configurazione del sito Web. Configura l'SDK come mostrato in precedenza.

Crea un oggetto di servizio`AWS.S3`. Crea una funzione che recupera l'attuale configurazione del sito Web di un bucket per il bucket selezionato nell'elenco dei bucket. L'unico parametro che deve essere passato è il nome del bucket selezionato quando si chiama il metodo `getBucketWebsite`. Se il bucket ha attualmente una configurazione del sito Web, tale configurazione viene restituita da Amazon S3 nel `data` parametro passato alla funzione di callback.

Se il bucket selezionato non dispone di alcuna configurazione del sito Web, tali informazioni vengono restituite alla funzione di callback nel parametro `err`.

```
// 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" });

var bucketParams = { Bucket: process.argv[2] };

// call S3 to retrieve the website configuration for selected bucket
s3.getBucketWebsite(bucketParams, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else if (data) {
    console.log("Success", data);
  }
});
```

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

```
node s3_getbucketwebsite.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_getbucketwebsite.js)

## Impostazione della configurazione del sito Web di un bucket
<a name="s3-example-static-web-host-set-website"></a>

Crea un modulo Node.js con il nome del file `s3_setbucketwebsite.js`. Assicurati di configurare l'SDK come mostrato in precedenza. Crea un oggetto di servizio`AWS.S3`. 

Crea una funzione che applica una configurazione del sito Web di un bucket. La configurazione consente al bucket selezionato di fungere da host Web statico. Le configurazioni dei siti Web sono specificate in formato JSON. In primo luogo, crea un oggetto JSON che contenga tutti i valori per specificare la configurazione del sito Web, salvo per il valore `Key` che identifica il documento di errore e il valore `Suffix` che identifica il documento di indice.

Inserisci i valori degli elementi di input di testo nell'oggetto JSON. Prepara i parametri per il metodo `putBucketWebsite`, tra cui il nome del bucket e la configurazione del sito Web JSON.

```
// 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 JSON for putBucketWebsite parameters
var staticHostParams = {
  Bucket: "",
  WebsiteConfiguration: {
    ErrorDocument: {
      Key: "",
    },
    IndexDocument: {
      Suffix: "",
    },
  },
};

// Insert specified bucket name and index and error documents into params JSON
// from command line arguments
staticHostParams.Bucket = process.argv[2];
staticHostParams.WebsiteConfiguration.IndexDocument.Suffix = process.argv[3];
staticHostParams.WebsiteConfiguration.ErrorDocument.Key = process.argv[4];

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

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

```
node s3_setbucketwebsite.js {{BUCKET_NAME}} {{INDEX_PAGE}} {{ERROR_PAGE}}
```

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_setbucketwebsite.js).

## Eliminazione della configurazione del sito Web di un bucket
<a name="s3-example-static-web-host-delete-website"></a>

Crea un modulo Node.js con il nome del file `s3_deletebucketwebsite.js`. Assicurati di configurare l'SDK come mostrato in precedenza. Crea un oggetto di servizio`AWS.S3`. 

Crea una funzione che elimina la configurazione del sito Web per il bucket selezionato. L'unico parametro che deve essere passato quando si chiama il metodo `deleteBucketWebsite` è il nome del bucket selezionato.

```
// 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" });

var bucketParams = { Bucket: process.argv[2] };

// call S3 to delete website configuration for selected bucket
s3.deleteBucketWebsite(bucketParams, function (error, data) {
  if (error) {
    console.log("Error", err);
  } else if (data) {
    console.log("Success", data);
  }
});
```

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

```
node s3_deletebucketwebsite.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_deletebucketwebsite.js).