

 La [AWS SDK per JavaScript V3 API Reference Guide](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/) descrive in dettaglio tutte le operazioni API per la AWS SDK per JavaScript versione 3 (V3). 

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

# Esempi di Amazon Polly
<a name="polly-examples"></a>

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

**Questo esempio di codice di Node.js illustra:**
+ Caricare l'audio registrato con Amazon Polly su Amazon S3

## Lo scenario
<a name="polly-example-synthesize-to-s3-scenario"></a>

In questo esempio, una serie di moduli Node.js viene utilizzata per caricare automaticamente l'audio registrato utilizzando Amazon Polly su Amazon S3 utilizzando questi metodi della classe client Amazon S3:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-polly/Class/StartSpeechSynthesisTaskCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-polly/Class/StartSpeechSynthesisTaskCommand/)

## Attività prerequisite
<a name="polly-example-synthesize-to-s3-prerequisites"></a>

Per configurare ed eseguire questo esempio, è necessario completare queste attività:
+ Configura un ambiente di progetto per eseguire JavaScript esempi di Node seguendo le istruzioni su [ GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascriptv3/example_code/s3/README.md).
+ Creazione di un file di configurazione condiviso con le credenziali utente. Per ulteriori informazioni sulla fornitura di un file di credenziali condiviso, consulta File di [configurazione e credenziali condivisi nella AWS SDKs and](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) *Tools* Reference Guide.
+ Crea un ruolo utente Amazon Cognito AWS Identity and Access Management (IAM) non autenticato pollySynthesizeSpeech : permessi e un pool di identità Amazon Cognito a cui è associato il ruolo IAM. La [Crea le risorse utilizzando il AWS CloudFormation](#polly-example-synthesize-to-s3-create-resources) sezione seguente descrive come creare queste risorse.

**Nota**  
Questo esempio utilizza Amazon Cognito, ma se non utilizzi Amazon Cognito, l'utente deve avere AWS la seguente politica di autorizzazione IAM  

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "mobileanalytics:PutEvents",
        "cognito-sync:*"
      ],
      "Resource": "*",
      "Effect": "Allow"
    },
    {
      "Action": "polly:SynthesizeSpeech",
      "Resource": "*",
      "Effect": "Allow"
    }
  ]
}
```

## Crea le risorse utilizzando il AWS CloudFormation
<a name="polly-example-synthesize-to-s3-create-resources"></a>

CloudFormation consente di creare e fornire implementazioni di AWS infrastrutture in modo prevedibile e ripetuto. [Per ulteriori informazioni in merito CloudFormation, consulta la Guida per l'utente.AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/)

Per creare lo CloudFormation stack:

1. Installa e configura le AWS CLI seguenti istruzioni contenute nella [Guida per l'AWS CLI utente](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html).

1. [Create un file denominato `setup.yaml` nella directory principale della cartella del progetto e copiatene il contenuto. GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/polly/general-examples/src/setup.yaml) 
**Nota**  
Il CloudFormation modello è stato generato utilizzando quello AWS CDK [disponibile qui GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/resources/cdk/javascript_example_code_polly_aws_service/). Per ulteriori informazioni su AWS CDK, consulta la [Guida per AWS Cloud Development Kit (AWS CDK) gli sviluppatori](https://docs.aws.amazon.com/cdk/latest/guide/).

1. Esegui il comando seguente dalla riga di comando, sostituendolo *STACK\$1NAME* con un nome univoco per lo stack.
**Importante**  
Il nome dello stack deve essere univoco all'interno di una AWS regione e AWS di un account. È possibile specificare fino a 128 caratteri e sono consentiti numeri e trattini.

   ```
   aws cloudformation create-stack --stack-name STACK_NAME --template-body file://setup.yaml --capabilities CAPABILITY_IAM
   ```

   Per ulteriori informazioni sui parametri dei `create-stack` comandi, consultate la guida di [riferimento ai AWS CLI comandi e la Guida](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html) per l'[CloudFormation utente](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-cli-creating-stack.html).

1. Accedi alla console di CloudFormation gestione, scegli **Stack**, scegli il nome dello stack e scegli la scheda **Risorse** per visualizzare un elenco delle risorse create.  
![\[CloudFormation risorse\]](http://docs.aws.amazon.com/it_it/sdk-for-javascript/v3/developer-guide/images/cfn_polly.png)

## Caricare l'audio registrato con Amazon Polly su Amazon S3
<a name="polly-example-synthesize-to-s3-example"></a>

Crea un modulo Node.js con il nome del file `polly_synthesize_to_s3.js`. Assicurati di configurare l'SDK come mostrato in precedenza, inclusa l'installazione dei client e dei pacchetti richiesti. Nel codice, inserisci il*REGION*, e il*BUCKET\$1NAME*. Per accedere ad Amazon Polly, crea un oggetto di servizio `Polly` client. Sostituisci *"IDENTITY\$1POOL\$1ID"* con la `IdentityPoolId` **pagina Sample** del pool di identità Amazon Cognito che hai creato per questo esempio. Questo viene passato anche a ciascun oggetto client.

Chiama il `StartSpeechSynthesisCommand` metodo dell'oggetto del servizio client Amazon Polly, sintetizza il messaggio vocale e caricalo nel bucket Amazon S3. 

```
import { StartSpeechSynthesisTaskCommand } from "@aws-sdk/client-polly";
import { pollyClient } from "./libs/pollyClient.js";

// Create the parameters
const params = {
  OutputFormat: "mp3",
  OutputS3BucketName: "videoanalyzerbucket",
  Text: "Hello David, How are you?",
  TextType: "text",
  VoiceId: "Joanna",
  SampleRate: "22050",
};

const run = async () => {
  try {
    await pollyClient.send(new StartSpeechSynthesisTaskCommand(params));
    console.log(`Success, audio file added to ${params.OutputS3BucketName}`);
  } catch (err) {
    console.log("Error putting object", err);
  }
};
run();
```

[Questo codice di esempio può essere trovato qui su. GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascriptv3/example_code/polly/general-examples/src/polly_synthesize_to_s3.js)