

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

# Guida introduttiva con Amazon Transcribe
<a name="getting-started"></a>

Prima di poter creare trascrizioni, sono necessari alcuni prerequisiti:
+ [Registrati per creare un Account AWS](#getting-started-sign-up)
+ [Installa AWS CLI e SDKs](#getting-started-api) (se lo usi Console di gestione AWS per le tue trascrizioni, puoi saltare questo passaggio)
+ [Configura le credenziali IAM](#getting-started-iam)
+ [Configura un bucket Amazon S3](#getting-started-s3)
+ [Crea una policy IAM](#getting-started-policy)

Dopo aver completato questi prerequisiti, si è pronti per la trascrizione. Seleziona il metodo di trascrizione preferito dall'elenco seguente per iniziare.
+ [AWS CLI](getting-started-cli.md)
+ [Console di gestione AWS](getting-started-console.md)
+ [AWS SDK](getting-started-sdk.md)
+ [HTTP](getting-started-http-websocket.md)
+ [WebSockets](getting-started-http-websocket.md)

**Suggerimento**  
Se non conosci Amazon Transcribe o desideri esplorare le nostre funzionalità, ti consigliamo di utilizzare il [Console di gestione AWS](https://console.aws.amazon.com/transcribe). Questa è anche l'opzione più semplice se desideri avviare uno flusso utilizzando il microfono del tuo computer.

Poiché lo streaming utilizza HTTP/2 WebSockets è più complicato rispetto agli altri metodi di trascrizione, consigliamo di rivedere la [Impostazione di una trascrizione in streaming](streaming-setting-up.md) sezione prima di iniziare con questi metodi. **Tieni presente che consigliamo vivamente di utilizzare un SDK per le trascrizioni in streaming.**

## Iscriversi a un Account AWS
<a name="getting-started-sign-up"></a>

Puoi creare un account di [livello gratuito](https://aws.amazon.com/free/) o un [account a pagamento](https://portal.aws.amazon.com/gp/aws/developer/registration/index.html). Entrambe le opzioni ti danno accesso a tutti Servizi AWS. Il piano gratuito prevede un periodo di prova durante il quale puoi esplorare Servizi AWS e stimare il tuo utilizzo. Una volta scaduto il periodo di prova, puoi passare a un account a pagamento. Le tariffe vengono maturate su pay-as-you-use base individuale; per maggiori dettagli, consulta la sezione [Amazon Transcribe Prezzi](https://aws.amazon.com/transcribe/pricing/).

**Suggerimento**  
Quando configuri il tuo account, prendi nota del tuo Account AWS ID perché ti serve per creare IAM entità.

## Installazione di AWS CLI e SDKs
<a name="getting-started-api"></a>

Per utilizzare l' Amazon Transcribe API, devi prima installare il AWS CLI. La versione corrente dell’ AWS CLI è la 2. Puoi trovare le istruzioni di installazione per [Linux](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html), [Mac](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-mac.html), [Windows](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-windows.html) e [Docker](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-docker.html) nella [https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html). 

Una volta AWS CLI installata, è necessario [configurarla](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) per le credenziali di sicurezza e Regione AWS.

Se desideri utilizzarlo Amazon Transcribe con un SDK, seleziona la lingua preferita per le istruzioni di installazione:
+ [.NET](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/quick-start.html)
+ [C\$1\$1](https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/getting-started.html)
+ [Go](https://aws.github.io/aws-sdk-go-v2/docs/)
+ [Java V2](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/setup.html)
+ [JavaScript](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/getting-started.html)
+ [PHP V3](https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/getting-started_installation.html)
+ [AWS SDK per Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) (trascrizioni in batch)
+ [Python](https://github.com/awslabs/amazon-transcribe-streaming-sdk) (trascrizioni in streaming)
+ [Ruby V3](https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/setup-install.html)
+ [Rust](https://crates.io/crates/aws-sdk-transcribe) (trascrizioni in batch)
+ [Rust](https://crates.io/crates/aws-sdk-transcribestreaming) (trascrizioni in streaming)

## Configura le credenziali IAM
<a name="getting-started-iam"></a>

Quando ne crei una Account AWS, inizi con un'unica identità di accesso che ha accesso completo a tutti i AWS servizi e le risorse del tuo account. Questa identità si chiama utente Account AWS root ed è accessibile effettuando l'accesso con l'indirizzo e-mail e la password utilizzati per creare l'account.

È vivamente consigliato di non utilizzare l'utente root per le attività quotidiane. Conserva le credenziali dell'utente root e utilizzale per eseguire le operazioni che solo l'utente root può eseguire.

Come procedura consigliata, richiedi agli utenti, compresi quelli che richiedono l'accesso come amministratore, di utilizzare la federazione con un provider di identità per accedere ai AWS servizi utilizzando credenziali temporanee.

Un'identità federata è qualsiasi utente che accede ai AWS servizi utilizzando le credenziali fornite tramite una fonte di identità. Quando le identità federate accedono a Account AWS, assumono ruoli e i ruoli forniscono credenziali temporanee.

Per la gestione centralizzata degli accessi, consigliamo di utilizzare [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html). Puoi creare utenti e gruppi in IAM Identity Center. Oppure puoi connetterti e sincronizzarti con un set di utenti e gruppi nella tua fonte di identità per utilizzarli su tutte le tue applicazioni. Account AWS Per ulteriori informazioni, consulta [Identity and Access Management per Amazon Transcribe](security-iam.md).

Per ulteriori informazioni sulle IAM best practice, consulta la sezione [Best practice di sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html).

## Creare un Amazon S3 bucket
<a name="getting-started-s3"></a>

Amazon S3 è un servizio di archiviazione di oggetti sicuro. Amazon S3 archivia i file (chiamati *oggetti*) in contenitori (chiamati *bucket*).

Per eseguire una trascrizione in batch, devi prima caricare i file multimediali in un bucket. Amazon S3 Se non specificate un Amazon S3 bucket per l'output della trascrizione, Amazon Transcribe inserisce la trascrizione in un bucket gestito temporaneamente. AWS Amazon S3 L'output di trascrizione nei bucket AWS-managed viene eliminato automaticamente dopo 90 giorni.

Scopri come [creare il tuo primo bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html) e [caricare un oggetto nel tuo bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-an-object-bucket.html).

## IAM Creazione di una politica
<a name="getting-started-policy"></a>

Per gestire l'accesso in AWS, è necessario creare policy e associarle a IAM identità (utenti, gruppi o ruoli) o AWS risorse. Una policy definisce le autorizzazioni dell'entità a cui è associata. Ad esempio, un ruolo può accedere a un file multimediale che si trova nel tuo Amazon S3 bucket solo se a quel ruolo hai associato una policy che gli concede l'accesso. Se desideri limitare ulteriormente quel ruolo, puoi invece limitarne l'accesso a un file specifico all'interno di un bucket. Amazon S3 

Per ulteriori informazioni sull'utilizzo delle AWS politiche, consulta:
+ [Politiche e autorizzazioni in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)
+ [Creazione di policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)
+ [Come Amazon Transcribe funziona con IAM](security_iam_service-with-iam.md)

Ad esempio, le politiche con cui è possibile utilizzarle Amazon Transcribe, vedi[Amazon Transcribe esempi di politiche basate sull'identità](security_iam_id-based-policy-examples.md). Se desideri generare politiche personalizzate, prendi in considerazione l'utilizzo del [Generatore di policy AWS](https://awspolicygen.s3.amazonaws.com/policygen.html).

Puoi aggiungere una politica utilizzando Console di gestione AWS AWS CLI, o AWS SDK. Per istruzioni, consulta [Aggiungere e rimuovere le autorizzazioni di IAM identità](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policy-api).

Le policy hanno il formato:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "my-policy-name",
            "Effect": "Allow",
            "Action": [
                "service:action"
            ],
            "Resource": [
                "amazon-resource-name"
            ]
        }
    ]
}
```

------

Amazon Resource Names (ARNs) identifica in modo univoco tutte AWS le risorse, ad esempio un Amazon S3 bucket. Puoi utilizzare ARNs la tua policy per concedere autorizzazioni per azioni specifiche e utilizzare risorse specifiche. Ad esempio, se desideri concedere l'accesso in lettura a un Amazon S3 bucket e alle sue sottocartelle, puoi aggiungere il seguente codice alla sezione della tua politica di fiducia: `Statement`

```
{
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:ListBucket"
        ],
        "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket",
            "arn:aws:s3:::amzn-s3-demo-bucket/*"
        ]
}
```

Ecco un esempio di policy che concede autorizzazioni di Amazon Transcribe lettura (`GetObject`,`ListBucket`) e scrittura (`PutObject`) a un Amazon S3 bucket e alle relative sottocartelle: `amzn-s3-demo-bucket`

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        },
        {
             "Effect": "Allow",
             "Action": [
                 "s3:PutObject"
             ],
             "Resource": [
                 "arn:aws:s3:::amzn-s3-demo-bucket",
                 "arn:aws:s3:::amzn-s3-demo-bucket/*"
             ]
        }
  ]
}
```

------

# Trascrizione con Console di gestione AWS
<a name="getting-started-console"></a>

È possibile utilizzare la AWS console per trascrizioni in batch e in streaming. Se stai trascrivendo un file multimediale che si trova in un Amazon S3 bucket, stai eseguendo una trascrizione in batch. Se stai trascrivendo un flusso audio in tempo reale, stai eseguendo una trascrizione in streaming.

Prima di iniziare una trascrizione in batch, devi prima caricare il file multimediale in un bucket. Amazon S3 Per eseguire trascrizioni in streaming utilizzando il Console di gestione AWS, è necessario utilizzare il microfono del computer.

Per visualizzare i formati multimediali supportati e altri requisiti e vincoli multimediali, consulta [Input e output di dati](how-input.md).

Espandi le seguenti sezioni per brevi spiegazioni passo passo su ciascun metodo di trascrizione.

# Trascrizioni in batch
<a name="getting-started-console-batch"></a>

Per prima cosa assicurati di aver caricato il file multimediale che desideri trascrivere in un bucket Amazon S3 . Se non sei sicuro di come eseguire questa operazione, consulta la *Guida per l'Amazon S3 utente*: [Carica un oggetto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-an-object-bucket.html) nel tuo bucket.

1. Nel riquadro di navigazione a sinistra della [Console di gestione AWS](https://console.aws.amazon.com/transcribe), seleziona **Processi di trascrizione**. In questo modo verrà visualizzato un elenco dei processi di trascrizione eseguiti.  
![\[Amazon Transcribe schermata della console: la pagina dei «lavori di trascrizione».\]](http://docs.aws.amazon.com/it_it/transcribe/latest/dg/images/console-batch-1.png)

   Seleziona **Crea processo**.

1. Compila i campi nella pagina **Specifica i dettagli del processo**.  
![\[Amazon Transcribe schermata della console: la pagina «specifica i dettagli del lavoro».\]](http://docs.aws.amazon.com/it_it/transcribe/latest/dg/images/console-batch-job-details-1.png)

   La posizione di input *deve* essere un oggetto all'interno di un bucket. Amazon S3 Per la posizione di output, puoi scegliere un bucket sicuro Amazon S3 gestito dal servizio oppure puoi specificare il tuo bucket. Amazon S3 

   Se scegli un bucket gestito dal servizio, puoi visualizzare un'anteprima della trascrizione nella Console di gestione AWS e puoi scaricarla dalla pagina dei dettagli del processo (vedi sotto).

   Se scegli il tuo Amazon S3 bucket, non puoi vedere l'anteprima nel bucket Console di gestione AWS e devi andare al Amazon S3 bucket per scaricare la trascrizione.  
![\[Amazon Transcribe screenshot della console: i riquadri dei dati di input e output per una trascrizione in batch.\]](http://docs.aws.amazon.com/it_it/transcribe/latest/dg/images/console-batch-job-details-2.png)

   Seleziona **Avanti**.

1. Seleziona le opzioni desiderate nella pagina **Configura processo**. Se desideri utilizzare [Vocabolari personalizzati](custom-vocabulary.md) o [Modelli linguistici personalizzati](custom-language-models.md) con la tua trascrizione, devi crearli prima di iniziare il processo di trascrizione.  
![\[Amazon Transcribe schermata della console: la pagina «configura lavoro».\]](http://docs.aws.amazon.com/it_it/transcribe/latest/dg/images/console-batch-configure-job.png)

   Seleziona **Crea processo**.

1. Ora ti trovi nella pagina dei **Processi di trascrizione**. Qui puoi vedere lo stato del processo di trascrizione. Una volta completato, seleziona la tua trascrizione.  
![\[Amazon Transcribe schermata della console: la pagina di riepilogo dei lavori di trascrizione.\]](http://docs.aws.amazon.com/it_it/transcribe/latest/dg/images/console-batch-transcription-jobs.png)

1. Stai visualizzando la pagina dei **dettagli del processo** per la tua trascrizione. Qui puoi visualizzare tutte le opzioni che hai specificato durante la configurazione del tuo processo di trascrizione.

   Per visualizzare la trascrizione, seleziona il percorso del file collegato nella colonna di destra in **Posizione dei dati di output**. Questo ti porta alla cartella di Amazon S3 output che hai specificato. Seleziona il tuo file di output, che ora ha un'estensione .json.  
![\[Amazon Transcribe schermata della console: pagina di riepilogo per la trascrizione completata.\]](http://docs.aws.amazon.com/it_it/transcribe/latest/dg/images/console-batch-complete.png)

1. Il modo in cui scarichi la trascrizione dipende dal fatto che tu abbia scelto un bucket gestito dal servizio o un bucket personale Amazon S3 . Amazon S3 

   1. Se hai scelto un bucket gestito dal servizio, puoi visualizzare un riquadro di **Anteprima della trascrizione** nella pagina delle informazioni del processo di trascrizione, insieme al pulsante **Scarica**.  
![\[Amazon Transcribe schermata della console: pagina di riepilogo per la trascrizione in un bucket gestito dal servizio.\]](http://docs.aws.amazon.com/it_it/transcribe/latest/dg/images/console-batch-output-service-s3.png)

      Seleziona **Scarica** e scegli **Scarica trascrizione**.

   1. Se hai scelto il tuo Amazon S3 bucket, non vedrai alcun testo nel riquadro di **anteprima della trascrizione nella pagina delle informazioni del processo di trascrizione**. Invece, viene visualizzata una casella informativa blu con un link al bucket che hai scelto. Amazon S3   
![\[Amazon Transcribe schermata della console: pagina di riepilogo per la trascrizione in un bucket autogestito.\]](http://docs.aws.amazon.com/it_it/transcribe/latest/dg/images/console-batch-output-own-s3.png)

      **Per accedere alla trascrizione, vai al Amazon S3 bucket specificato utilizzando il link in **Posizione dei dati di output** nel riquadro dei **dettagli del lavoro** o il link **S3 Bucket** nella casella delle informazioni blu nel riquadro di anteprima della trascrizione.**

# Trascrizioni in streaming
<a name="getting-started-console-stream"></a>

1. Nel riquadro di navigazione a sinistra della [Console di gestione AWS](https://console.aws.amazon.com/transcribe), seleziona **Trascrizione in tempo reale**. Verrà visualizzata la pagina principale di streaming dove puoi selezionare le opzioni prima di iniziare lo streaming.  
![\[Amazon Transcribe schermata della console: la pagina della «trascrizione in tempo reale».\]](http://docs.aws.amazon.com/it_it/transcribe/latest/dg/images/console-stream-1.png)

1. Sotto la casella di **Output della trascrizione**, hai la possibilità di selezionare varie impostazioni linguistiche e audio.  
![\[Amazon Transcribe schermata della console: un elenco delle impostazioni di trascrizione disponibili.\]](http://docs.aws.amazon.com/it_it/transcribe/latest/dg/images/console-stream-settings.png)

1. Dopo aver selezionato le impostazioni appropriate, scorri fino alla parte superiore della pagina e scegli **Avvia streaming**, quindi inizia a parlare nel microfono del tuo computer. Puoi vedere il tuo discorso trascritto in tempo reale.  
![\[Amazon Transcribe schermata della console: il pannello «trascrizione» nella pagina «trascrizione in tempo reale».\]](http://docs.aws.amazon.com/it_it/transcribe/latest/dg/images/console-stream-start.png)

1. Quando hai terminato, seleziona **Interrompi streaming**.  
![\[Amazon Transcribe schermata della console: esempio di anteprima per una trascrizione in tempo reale.\]](http://docs.aws.amazon.com/it_it/transcribe/latest/dg/images/console-stream-stop.png)

   Ora puoi scaricare la trascrizione selezionando **Scarica trascrizione completa**.

# Trascrizione con AWS CLI
<a name="getting-started-cli"></a>

Quando si utilizza AWS CLI per avviare una trascrizione, è possibile eseguire tutti i comandi a livello di CLI. Oppure puoi eseguire il comando che desideri utilizzare, seguito dall’ Regione AWS e dalla posizione di un file JSON che contiene il corpo della richiesta. Gli esempi di questa guida mostrano entrambi i metodi; tuttavia, questa sezione si concentra sul metodo precedente.

Non AWS CLI supporta le trascrizioni in streaming.

Prima di continuare, assicurati che:
+ Hai caricato il tuo file multimediale in un Amazon S3 bucket. Se non sei sicuro di come creare un Amazon S3 bucket o caricare il tuo file, consulta [Creare il tuo primo Amazon S3 bucket e [Caricare un oggetto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-an-object-bucket.html) nel tuo bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html).
+ [AWS CLI](getting-started.md#getting-started-api) installato.

[Puoi trovare tutti i AWS CLI comandi per Amazon Transcribe nel Command Reference.AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/index.html#cli-aws-transcribe)

## Avvio di un nuovo processo di trascrizione
<a name="getting-started-cli-start-job"></a>

Per iniziare una nuova trascrizione, utilizza il comando `start-transcription-job`.

1. In una finestra del terminale, scrivi quanto riportato qui sotto:

   ```
   aws transcribe start-transcription-job \
   ```

   Nella riga successiva comparirà un “`>`” e ora puoi continuare ad aggiungere i parametri richiesti, come descritto nel passaggio successivo.

   Puoi anche omettere “`\`” e aggiungere tutti i parametri, separandoli con uno spazio.

1. Con il comando `start-transcription-job`, è necessario includere`region`, `transcription-job-name` `media`, e `language-code` oppure `identify-language`.

   Se desideri specificare una posizione di output, includi `output-bucket-name` nella richiesta; se desideri specificare una sottocartella del bucket di output specificato, includi anche `output-key`.

   ```
   aws transcribe start-transcription-job \
    --region us-west-2 \
    --transcription-job-name my-first-transcription-job \
    --media MediaFileUri=s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac \
    --language-code en-US
   ```

   Se si aggiungono tutti i parametri, questa richiesta ha il seguente aspetto:

   ```
   aws transcribe start-transcription-job --region us-west-2 --transcription-job-name my-first-transcription-job --media MediaFileUri=s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac --language-code en-US
   ```

   Se scegli di non specificare un bucket di output utilizzando `output-bucket-name`, Amazon Transcribe inserirà l'output della trascrizione in un bucket gestito dal servizio. Le trascrizioni archiviate in un bucket gestito dal servizio scadono dopo 90 giorni.

   Amazon Transcribe risponde con:

   ```
   {
       "TranscriptionJob": {
           "TranscriptionJobName": "my-first-transcription-job",
           "TranscriptionJobStatus": "IN_PROGRESS",
           "LanguageCode": "en-US",
           "Media": {
               "MediaFileUri": "s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac"
           },
           "StartTime": "2022-03-07T15:03:44.246000-08:00",
           "CreationTime": "2022-03-07T15:03:44.229000-08:00"
       }
   }
   ```

Il tuo processo di trascrizione ha esito positivo se lo [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_TranscriptionJob.html#transcribe-Type-TranscriptionJob-TranscriptionJobStatus](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_TranscriptionJob.html#transcribe-Type-TranscriptionJob-TranscriptionJobStatus) passa da `IN_PROGRESS` a `COMPLETED`. Per visualizzare lo [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_TranscriptionJob.html#transcribe-Type-TranscriptionJob-TranscriptionJobStatus](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_TranscriptionJob.html#transcribe-Type-TranscriptionJob-TranscriptionJobStatus) aggiornato, utilizza il comando `get-transcription-job` o `list-transcription-job`, come illustrato nella sezione seguente.

## Ottenere lo stato di un processo di trascrizione
<a name="getting-started-cli-get-job"></a>

Come ottenere informazioni sul processo di trascrizione utilizzando il comando`get-transcription-job`.

Gli unici parametri richiesti per questo comando sono la Regione AWS posizione del processo e il nome del processo.

```
aws transcribe get-transcription-job \
 --region us-west-2 \
 --transcription-job-name my-first-transcription-job
```

Amazon Transcribe risponde con:

```
{
    "TranscriptionJob": {
        "TranscriptionJobName": "my-first-transcription-job",
        "TranscriptionJobStatus": "COMPLETED",
        "LanguageCode": "en-US",
        "MediaSampleRateHertz": 48000,
        "MediaFormat": "flac",
        "Media": {
            "MediaFileUri": "s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac"
        },
        "Transcript": {
            "TranscriptFileUri": "https://s3.the-URI-where-your-job-is-located.json"
        },
        "StartTime": "2022-03-07T15:03:44.246000-08:00",
        "CreationTime": "2022-03-07T15:03:44.229000-08:00",
        "CompletionTime": "2022-03-07T15:04:01.158000-08:00",
        "Settings": {
            "ChannelIdentification": false,
            "ShowAlternatives": false
        }
    }
}
```

Se hai selezionato il tuo Amazon S3 bucket per l'output della trascrizione, questo bucket è elencato con. `TranscriptFileUri` Se hai selezionato un bucket gestito dal servizio, verrà fornito un URI temporaneo; usa questo URI per scaricare la trascrizione.

**Nota**  
I Amazon S3 bucket temporanei URIs per la gestione del servizio sono validi solo per 15 minuti. Se ricevi un errore di `AccesDenied` durante l'utilizzo dell'URI, esegui nuovamente la richiesta `get-transcription-job` per ottenere un nuovo URI temporaneo.

## Elenco dei tuoi processi di trascrizione
<a name="getting-started-cli-list-jobs"></a>

Per elencare tutti i tuoi lavori di trascrizione in un determinato periodo Regione AWS, usa il comando. `list-transcription-jobs`

L'unico parametro richiesto per questo comando è il luogo Regione AWS in cui si trovano i lavori di trascrizione.

```
aws transcribe list-transcription-jobs \
 --region us-west-2
```

Amazon Transcribe risponde con:

```
{
    "NextToken": "A-very-long-string",
    "TranscriptionJobSummaries": [
        {
            "TranscriptionJobName": "my-first-transcription-job",
            "CreationTime": "2022-03-07T15:03:44.229000-08:00",
            "StartTime": "2022-03-07T15:03:44.246000-08:00",
            "CompletionTime": "2022-03-07T15:04:01.158000-08:00",
            "LanguageCode": "en-US",
            "TranscriptionJobStatus": "COMPLETED",
            "OutputLocationType": "SERVICE_BUCKET"
        }        
    ]
}
```

## Elenco del tuo processo di trascrizione
<a name="getting-started-cli-delete-job"></a>

Per eliminare il processo di trascrizione, utilizzare il comando `delete-transcription-job`.

Gli unici parametri richiesti per questo comando sono la Regione AWS posizione del processo e il nome del lavoro.

```
aws transcribe delete-transcription-job \
 --region us-west-2 \
 --transcription-job-name my-first-transcription-job
```

Per confermare che la richiesta di eliminazione sia andata a buon fine, puoi eseguire il comando `list-transcription-jobs`. Il processo non dovrebbe più comparire nell'elenco.

# Trascrizione con AWS SDKs
<a name="getting-started-sdk"></a>

Puoi utilizzarlo sia SDKs per le trascrizioni in batch che per quelle in streaming. Se stai trascrivendo un file multimediale che si trova in un Amazon S3 bucket, stai eseguendo una trascrizione in batch. Se stai trascrivendo un flusso audio in tempo reale, stai eseguendo una trascrizione in streaming.

Per un elenco dei linguaggi di programmazione utilizzabili, consulta. Amazon Transcribe[Linguaggi di programmazione compatibili](supported-languages.md#supported-sdks) Tieni presente che le trascrizioni in streaming non sono supportate da tutti. AWS SDKs Per visualizzare i formati multimediali supportati e altri requisiti e vincoli multimediali, consulta [Input e output di dati](how-input.md).

Per ulteriori informazioni su tutti gli strumenti disponibili AWS SDKs e su quelli di creazione, consulta [Tools to](https://aws.amazon.com/developer/tools) Build on. AWS

**Suggerimento**  
Per ulteriori esempi di utilizzo di AWS SDKs, inclusi esempi di scenari e interservizi, inclusi esempi relativi a specifiche funzionalità, consulta il capitolo. [Esempi di codice per l'utilizzo di Amazon Transcribe AWS SDKs](service_code_examples.md)  
Puoi anche trovare esempi di codice SDK in questi repository: GitHub   
[AWS Codici di esempio](https://github.com/aws-samples)
[Amazon Transcribe Examples](https://github.com/aws-samples/amazon-transcribe-examples) (Esempi)

# Trascrizioni in batch
<a name="getting-started-sdk-batch"></a>

È possibile creare trascrizioni in batch utilizzando l'URI di un file multimediale contenuto in un bucket Amazon S3 . Se non sei sicuro di come creare un Amazon S3 bucket o caricare il tuo file, consulta [Creare il tuo primo bucket S3 e [Caricare](https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-an-object-bucket.html) un oggetto nel tuo bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html).

------
#### [ Java ]

```
import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider;
import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.transcribe.TranscribeClient;
import software.amazon.awssdk.services.transcribe.model.*;
import software.amazon.awssdk.services.transcribestreaming.model.LanguageCode;

public class TranscribeDemoApp {
    private static final Region REGION = Region.US_WEST_2;
    private static TranscribeClient client;

    public static void main(String args[]) {

        client = TranscribeClient.builder()
                .credentialsProvider(getCredentials())
                .region(REGION)
                .build();

        String transcriptionJobName = "my-first-transcription-job";
        String mediaType = "flac"; // can be other types
        Media myMedia = Media.builder()
                .mediaFileUri("s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac")
                .build();

        String outputS3BucketName = "s3://amzn-s3-demo-bucket";
        // Create the transcription job request
        StartTranscriptionJobRequest request = StartTranscriptionJobRequest.builder()
                .transcriptionJobName(transcriptionJobName)
                .languageCode(LanguageCode.EN_US.toString())
                .mediaSampleRateHertz(16000)
                .mediaFormat(mediaType)
                .media(myMedia)
                .outputBucketName(outputS3BucketName)
                .build();

        // send the request to start the transcription job
        StartTranscriptionJobResponse startJobResponse = client.startTranscriptionJob(request);

        System.out.println("Created the transcription job");
        System.out.println(startJobResponse.transcriptionJob());

        // Create the get job request
        GetTranscriptionJobRequest getJobRequest = GetTranscriptionJobRequest.builder()
                .transcriptionJobName(transcriptionJobName)
                .build();

        // send the request to get the transcription job including the job status
        GetTranscriptionJobResponse getJobResponse = client.getTranscriptionJob(getJobRequest);

        System.out.println("Get the transcription job request");
        System.out.println(getJobResponse.transcriptionJob());
    }

    private static AwsCredentialsProvider getCredentials() {
        return DefaultCredentialsProvider.create();
    }

}
```

------
#### [ JavaScript ]

```
const { TranscribeClient, StartTranscriptionJobCommand } = require("@aws-sdk/client-transcribe"); // CommonJS import

const region = "us-west-2";
const credentials = {
  "accessKeyId": "",
  "secretAccessKey": "",
};

const input = {
  TranscriptionJobName: "my-first-transcription-job",
  LanguageCode: "en-US",
  Media: {
    MediaFileUri: "s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac"
  },
  OutputBucketName: "amzn-s3-demo-bucket",
};

async function startTranscriptionRequest() {
  const transcribeConfig = {
    region,
    credentials
  };
  const transcribeClient = new TranscribeClient(transcribeConfig);
  const transcribeCommand = new StartTranscriptionJobCommand(input);
  try {
    const transcribeResponse = await transcribeClient.send(transcribeCommand);
    console.log("Transcription job created, the details:");
    console.log(transcribeResponse.TranscriptionJob);
  } catch(err) {
    console.log(err);
  }
}

startTranscriptionRequest();
```

------
#### [ Python ]

```
import time
import boto3

def transcribe_file(job_name, file_uri, transcribe_client):
    transcribe_client.start_transcription_job(
        TranscriptionJobName = job_name,
        Media = {
            'MediaFileUri': file_uri
        },
        MediaFormat = 'flac',
        LanguageCode = 'en-US'
    )

    max_tries = 60
    while max_tries > 0:
        max_tries -= 1
        job = transcribe_client.get_transcription_job(TranscriptionJobName = job_name)
        job_status = job['TranscriptionJob']['TranscriptionJobStatus']
        if job_status in ['COMPLETED', 'FAILED']:
            print(f"Job {job_name} is {job_status}.")
            if job_status == 'COMPLETED':
                print(
                    f"Download the transcript from\n"
                    f"\t{job['TranscriptionJob']['Transcript']['TranscriptFileUri']}.")
            break
        else:
            print(f"Waiting for {job_name}. Current status is {job_status}.")
        time.sleep(10)


def main():
    transcribe_client = boto3.client('transcribe', region_name = 'us-west-2')
    file_uri = 's3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac'
    transcribe_file('Example-job', file_uri, transcribe_client)


if __name__ == '__main__':
    main()
```

------

# Trascrizioni in streaming
<a name="getting-started-sdk-streaming"></a>

Puoi creare trascrizioni in streaming utilizzando un file multimediale in streaming o un flusso multimediale in diretta.

Tieni presente che lo standard non AWS SDK per Python (Boto3) è supportato per lo streaming. Amazon Transcribe [Per avviare una trascrizione in streaming usando Python, usa questo SDK Python asincrono per. Amazon Transcribe](https://github.com/awslabs/amazon-transcribe-streaming-sdk)

------
#### [ Java ]

L'esempio seguente è un programma Java che trascrive l'audio in streaming.

Per eseguire questo esempio, tieni presente quanto segue:
+  È necessario utilizzare [SDK AWS per Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html).
+ I client devono utilizzare Java 1.8 per essere compatibili con [SDK AWS per Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html).
+ La frequenza di campionamento specificata deve corrispondere alla frequenza di campionamento effettiva del flusso audio.

Vedi anche: [Riprova](https://github.com/awsdocs/aws-doc-sdk-examples/tree/b320aeae1a3e650bffc23f9584a26a7ca177cbb2/javav2/example_code/transcribe/src/main/java/com/amazonaws/transcribestreaming) il client per lo streaming (Java SDK). Amazon Transcribe Questo codice gestisce la connessione ad Amazon Transcribe e i nuovi tentativi di invio di dati quando si verificano errori di connessione. Ad esempio, se si verifica un errore temporaneo sulla rete, questo client invia di nuovo la richiesta non riuscita.

```
public class TranscribeStreamingDemoApp {
    private static final Region REGION = Region.US_WEST_2;
    private static TranscribeStreamingAsyncClient client;

    public static void main(String args[]) throws URISyntaxException, ExecutionException, InterruptedException, LineUnavailableException {

        client = TranscribeStreamingAsyncClient.builder()
                .credentialsProvider(getCredentials())
                .region(REGION)
                .build();

        CompletableFuture<Void> result = client.startStreamTranscription(getRequest(16_000),
                new AudioStreamPublisher(getStreamFromMic()),
                getResponseHandler());

        result.get();
        client.close();
    }

    private static InputStream getStreamFromMic() throws LineUnavailableException {

        // Signed PCM AudioFormat with 16,000 Hz, 16 bit sample size, mono
        int sampleRate = 16000;
        AudioFormat format = new AudioFormat(sampleRate, 16, 1, true, false);
        DataLine.Info info = new DataLine.Info(TargetDataLine.class, format);

        if (!AudioSystem.isLineSupported(info)) {
            System.out.println("Line not supported");
            System.exit(0);
        }

        TargetDataLine line = (TargetDataLine) AudioSystem.getLine(info);
        line.open(format);
        line.start();

        InputStream audioStream = new AudioInputStream(line);
        return audioStream;
    }

    private static AwsCredentialsProvider getCredentials() {
        return DefaultCredentialsProvider.create();
    }

    private static StartStreamTranscriptionRequest getRequest(Integer mediaSampleRateHertz) {
        return StartStreamTranscriptionRequest.builder()
                .languageCode(LanguageCode.EN_US.toString())
                .mediaEncoding(MediaEncoding.PCM)
                .mediaSampleRateHertz(mediaSampleRateHertz)
                .build();
    }

    private static StartStreamTranscriptionResponseHandler getResponseHandler() {
        return StartStreamTranscriptionResponseHandler.builder()
                .onResponse(r -> {
                    System.out.println("Received Initial response");
                })
                .onError(e -> {
                    System.out.println(e.getMessage());
                    StringWriter sw = new StringWriter();
                    e.printStackTrace(new PrintWriter(sw));
                    System.out.println("Error Occurred: " + sw.toString());
                })
                .onComplete(() -> {
                    System.out.println("=== All records stream successfully ===");
                })
                .subscriber(event -> {
                    List<Result> results = ((TranscriptEvent) event).transcript().results();
                    if (results.size() > 0) {
                        if (!results.get(0).alternatives().get(0).transcript().isEmpty()) {
                            System.out.println(results.get(0).alternatives().get(0).transcript());
                        }
                    }
                })
                .build();
    }

    private InputStream getStreamFromFile(String myMediaFileName) {
        try {
            File inputFile = new File(getClass().getClassLoader().getResource(myMediaFileName).getFile());
            InputStream audioStream = new FileInputStream(inputFile);
            return audioStream;
        } catch (FileNotFoundException e) {
            throw new RuntimeException(e);
        }
    }

    private static class AudioStreamPublisher implements Publisher<AudioStream> {
        private final InputStream inputStream;
        private static Subscription currentSubscription;


        private AudioStreamPublisher(InputStream inputStream) {
            this.inputStream = inputStream;
        }

        @Override
        public void subscribe(Subscriber<? super AudioStream> s) {

            if (this.currentSubscription == null) {
                this.currentSubscription = new SubscriptionImpl(s, inputStream);
            } else {
                this.currentSubscription.cancel();
                this.currentSubscription = new SubscriptionImpl(s, inputStream);
            }
            s.onSubscribe(currentSubscription);
        }
    }

    public static class SubscriptionImpl implements Subscription {
        private static final int CHUNK_SIZE_IN_BYTES = 1024 * 1;
        private final Subscriber<? super AudioStream> subscriber;
        private final InputStream inputStream;
        private ExecutorService executor = Executors.newFixedThreadPool(1);
        private AtomicLong demand = new AtomicLong(0);

        SubscriptionImpl(Subscriber<? super AudioStream> s, InputStream inputStream) {
            this.subscriber = s;
            this.inputStream = inputStream;
        }

        @Override
        public void request(long n) {
            if (n <= 0) {
                subscriber.onError(new IllegalArgumentException("Demand must be positive"));
            }

            demand.getAndAdd(n);

            executor.submit(() -> {
                try {
                    do {
                        ByteBuffer audioBuffer = getNextEvent();
                        if (audioBuffer.remaining() > 0) {
                            AudioEvent audioEvent = audioEventFromBuffer(audioBuffer);
                            subscriber.onNext(audioEvent);
                        } else {
                            subscriber.onComplete();
                            break;
                        }
                    } while (demand.decrementAndGet() > 0);
                } catch (Exception e) {
                    subscriber.onError(e);
                }
            });
        }

        @Override
        public void cancel() {
            executor.shutdown();
        }

        private ByteBuffer getNextEvent() {
            ByteBuffer audioBuffer = null;
            byte[] audioBytes = new byte[CHUNK_SIZE_IN_BYTES];

            int len = 0;
            try {
                len = inputStream.read(audioBytes);

                if (len <= 0) {
                    audioBuffer = ByteBuffer.allocate(0);
                } else {
                    audioBuffer = ByteBuffer.wrap(audioBytes, 0, len);
                }
            } catch (IOException e) {
                throw new UncheckedIOException(e);
            }

            return audioBuffer;
        }

        private AudioEvent audioEventFromBuffer(ByteBuffer bb) {
            return AudioEvent.builder()
                    .audioChunk(SdkBytes.fromByteBuffer(bb))
                    .build();
        }
    }
}
```

------
#### [ JavaScript ]

```
const {
  TranscribeStreamingClient,
  StartStreamTranscriptionCommand,
} = require("@aws-sdk/client-transcribe-streaming");
const { createReadStream } = require("fs");
const { join } = require("path");

const audio = createReadStream(join(__dirname, "my-media-file.flac"), { highWaterMark: 1024 * 16});

const LanguageCode = "en-US";
const MediaEncoding = "pcm";
const MediaSampleRateHertz = "16000";
const credentials = {
  "accessKeyId": "",
  "secretAccessKey": "",
};
async function startRequest() {
  const client = new TranscribeStreamingClient({
    region: "us-west-2",
    credentials
  });

  const params = {
    LanguageCode,
    MediaEncoding,
    MediaSampleRateHertz,
    AudioStream: (async function* () {
      for await (const chunk of audio) {
        yield {AudioEvent: {AudioChunk: chunk}};
      }
    })(),
  };
  const command = new StartStreamTranscriptionCommand(params);
  // Send transcription request
  const response = await client.send(command);
  // Start to print response
  try {
    for await (const event of response.TranscriptResultStream) {
      console.log(JSON.stringify(event));
    }
  } catch(err) {
    console.log("error")
    console.log(err)
  }
}
startRequest();
```

------
#### [ Python ]

L'esempio seguente è un programma Python che trascrive l'audio in streaming.

Per eseguire questo esempio, tieni presente quanto segue:
+ È necessario utilizzare questo [SDK per Python](https://github.com/awslabs/amazon-transcribe-streaming-sdk).
+ La frequenza di campionamento specificata deve corrispondere alla frequenza di campionamento effettiva del flusso audio.

```
import asyncio
# This example uses aiofile for asynchronous file reads.
# It's not a dependency of the project but can be installed
# with `pip install aiofile`.
import aiofile

from amazon_transcribe.client import TranscribeStreamingClient
from amazon_transcribe.handlers import TranscriptResultStreamHandler
from amazon_transcribe.model import TranscriptEvent

"""
Here's an example of a custom event handler you can extend to
process the returned transcription results as needed. This
handler will simply print the text out to your interpreter.
"""
class MyEventHandler(TranscriptResultStreamHandler):
    async def handle_transcript_event(self, transcript_event: TranscriptEvent):
        # This handler can be implemented to handle transcriptions as needed.
        # Here's an example to get started.
        results = transcript_event.transcript.results
        for result in results:
            for alt in result.alternatives:
                print(alt.transcript)


async def basic_transcribe():
    # Set up our client with your chosen Region
    client = TranscribeStreamingClient(region = "us-west-2")

    # Start transcription to generate async stream
    stream = await client.start_stream_transcription(
        language_code = "en-US",
        media_sample_rate_hz = 16000,
        media_encoding = "pcm",
    )

    async def write_chunks():
        # NOTE: For pre-recorded files longer than 5 minutes, the sent audio
        # chunks should be rate limited to match the real-time bitrate of the
        # audio stream to avoid signing issues.
        async with aiofile.AIOFile('filepath/my-media-file.flac', 'rb') as afp:
            reader = aiofile.Reader(afp, chunk_size = 1024 * 16)
            async for chunk in reader:
                await stream.input_stream.send_audio_event(audio_chunk = chunk)
        await stream.input_stream.end_stream()

    # Instantiate our handler and start processing events
    handler = MyEventHandler(stream.output_stream)
    await asyncio.gather(write_chunks(), handler.handle_events())

loop = asyncio.get_event_loop()
loop.run_until_complete(basic_transcribe())
loop.close()
```

------
#### [ C\$1\$1 ]

Fai riferimento al capitolo sugli esempi di codice per l'[esempio di streaming in C\$1\$1 SDK](https://docs.aws.amazon.com/code-library/latest/ug/cpp_1_transcribe-streaming_code_examples.html).

------

## Utilizzo di questo servizio con un SDK AWS
<a name="sdk-general-information-section"></a>

AWS i kit di sviluppo software (SDKs) sono disponibili per molti linguaggi di programmazione più diffusi. Ogni SDK fornisce un'API, esempi di codice, e documentazione che facilitano agli sviluppatori la creazione di applicazioni nel loro linguaggio preferito.


| Documentazione sugli SDK | Esempi di codice | 
| --- | --- | 
| [AWS SDK per C\$1\$1](https://docs.aws.amazon.com/sdk-for-cpp) | [AWS SDK per C\$1\$1 esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp) | 
| [AWS CLI](https://docs.aws.amazon.com/cli) | [AWS CLI esempi di codice](https://docs.aws.amazon.com/code-library/latest/ug/cli_2_code_examples.html) | 
| [AWS SDK per Go](https://docs.aws.amazon.com/sdk-for-go) | [AWS SDK per Go esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/gov2) | 
| [AWS SDK per Java](https://docs.aws.amazon.com/sdk-for-java) | [AWS SDK per Java esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2) | 
| [AWS SDK per JavaScript](https://docs.aws.amazon.com/sdk-for-javascript) | [AWS SDK per JavaScript esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3) | 
| [AWS SDK per Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin) | [AWS SDK per Kotlin esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/kotlin) | 
| [AWS SDK per .NET](https://docs.aws.amazon.com/sdk-for-net) | [AWS SDK per .NET esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3) | 
| [AWS SDK per PHP](https://docs.aws.amazon.com/sdk-for-php) | [AWS SDK per PHP esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php) | 
| [AWS Strumenti per PowerShell](https://docs.aws.amazon.com/powershell) | [AWS Strumenti per PowerShell esempi di codice](https://docs.aws.amazon.com/code-library/latest/ug/powershell_5_code_examples.html) | 
| [AWS SDK per Python (Boto3)](https://docs.aws.amazon.com/pythonsdk) | [AWS SDK per Python (Boto3) esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python) | 
| [AWS SDK per Ruby](https://docs.aws.amazon.com/sdk-for-ruby) | [AWS SDK per Ruby esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby) | 
| [AWS SDK per Rust](https://docs.aws.amazon.com/sdk-for-rust) | [AWS SDK per Rust esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1) | 
| [AWS SDK per SAP ABAP](https://docs.aws.amazon.com/sdk-for-sapabap) | [AWS SDK per SAP ABAP esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap) | 
| [AWS SDK per Swift](https://docs.aws.amazon.com/sdk-for-swift) | [AWS SDK per Swift esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/swift) | 

Per esempi specifici del servizio, consulta [Esempi di codice per l'utilizzo di Amazon Transcribe AWS SDKs](service_code_examples.md).

**Esempio di disponibilità**  
Non riesci a trovare quello che ti serve? Richiedi un esempio di codice utilizzando il link **Provide feedback** (Fornisci un feedback) nella parte inferiore di questa pagina.

# Trascrizione con HTTP o WebSockets
<a name="getting-started-http-websocket"></a>

Amazon Transcribe supporta HTTP sia per le trascrizioni in batch (HTTP/1.1) che in streaming (HTTP/2). WebSockets sono supportati per le trascrizioni in streaming.

Se stai trascrivendo un file multimediale che si trova in un Amazon S3 bucket, stai eseguendo una trascrizione in batch. Se stai trascrivendo un flusso audio in tempo reale, stai eseguendo una trascrizione in streaming.

Sia HTTP che WebSockets richiedono l'autenticazione della richiesta utilizzando le intestazioni Signature Version 4. AWS Per ulteriori informazioni, consulta la [sezione Richieste AWS API di firma](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html).

## Trascrizioni in batch
<a name="getting-started-http-batch"></a>

È possibile effettuare una richiesta HTTP in batch utilizzando le seguenti intestazioni:
+ host
+ x-amz-target
+ content-type
+ x-amz-content-sha256
+ x-amz-date
+ authorization

Ecco un esempio di richiesta `StartTranscriptionJob`:

```
POST /transcribe HTTP/1.1 
host: transcribe.us-west-2.amazonaws.com
x-amz-target: com.amazonaws.transcribe.Transcribe.StartTranscriptionJob 
content-type: application/x-amz-json-1.1
x-amz-content-sha256: string
x-amz-date: YYYYMMDDTHHMMSSZ
authorization: AWS4-HMAC-SHA256 Credential=access-key/YYYYMMSS/us-west-2/transcribe/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target;x-amz-security-token, Signature=string

{
    "TranscriptionJobName": "my-first-transcription-job",
    "LanguageCode": "en-US",
    "Media": {
        "MediaFileUri": "s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac"
    },
    "OutputBucketName": "amzn-s3-demo-bucket",
    "OutputKey": "my-output-files/" 
}
```

Le operazioni e i parametri aggiuntivi sono elencati nell'[API Reference](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Reference.html); i parametri comuni a tutte le operazioni AWS API sono elencati nella sezione [Parametri comuni](https://docs.aws.amazon.com/transcribe/latest/APIReference/CommonParameters.html). Gli altri elementi della firma sono descritti in dettaglio in [Elementi di una richiesta di AWS firma versione 4](https://docs.aws.amazon.com/general/latest/gr/sigv4_elements.html).

## Trascrizioni in streaming
<a name="getting-started-http-streaming"></a>

Le trascrizioni in streaming utilizzano HTTP/2 e WebSockets sono più complicate rispetto all'utilizzo. SDKs Ti consigliamo di rivedere la sezione [Impostazione di una trascrizione in streaming](streaming-setting-up.md) prima di configurare il tuo primo flusso.

Per ulteriori informazioni su questi metodi, consulta [Impostazione di un flusso HTTP/2](streaming-setting-up.md#streaming-http2) o [Configurazione di uno WebSocket stream](streaming-setting-up.md#streaming-websocket).

**Nota**  
Consigliamo vivamente di utilizzare un SDK per lo streaming delle trascrizioni. Per un elenco di quelle supportate SDKs, fare riferimento a. [Linguaggi di programmazione compatibili](supported-languages.md#supported-sdks)