

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 e gestione della funzione Lambda URLs
<a name="urls-configuration"></a>

Un URL della funzione è un endpoint HTTP(S) dedicato alla funzione Lambda. È possibile creare e configurare un URL della funzione tramite la console Lambda o l'API Lambda.

**Suggerimento**  
Lambda offre due modi per richiamare una funzione tramite un endpoint HTTP: funzione e Amazon API URLs Gateway. In caso di dubbi su quale sia il metodo migliore per il tuo caso d'uso, consulta [Selezionare un metodo per richiamare la funzione Lambda tramite una richiesta HTTP](furls-http-invoke-decision.md).

Quando si crea un URL della funzione, Lambda genera automaticamente un endpoint URL univoco. Dopo aver creato un URL della funzione, il suo endpoint URL non cambia mai. Gli endpoint URL della funzione hanno il formato seguente:

```
https://<url-id>.lambda-url.<region>.on.aws
```

**Nota**  
 URLs Le funzioni non sono supportate nei seguenti paesi Regioni AWS: Asia Pacifico (Hyderabad) (`ap-south-2`), Asia Pacifico (Melbourne) (`ap-southeast-4`), Asia Pacifico (Malesia) (), Asia Pacifico (Nuova Zelanda`ap-southeast-5`) (), Asia Pacifico (Tailandia`ap-southeast-6`) () (), Asia Pacifico (Taipei`ap-southeast-7`) (), Canada occidentale (Calgary) (`ap-east-2`), Europa (Spagna) () `ca-west-1` (), Europa (Zurigo) (`eu-south-2`), Israele (Tel Aviv) `eu-central-2` (), e Medio Oriente (Emirati Arabi Uniti) (`il-central-1`). `me-central-1`

 URLs Le funzioni sono abilitate al dual stack, supportano IPv4 e IPv6. Dopo aver configurato un URL della funzione per la funzione utilizzata, è possibile richiamare la funzione attraverso il relativo endpoint HTTP(S) tramite un browser Web, curl, Postman o un client HTTP.

**Nota**  
Puoi accedere all'URL della funzione solo tramite Internet pubblico. Sebbene le funzioni Lambda supportino AWS PrivateLink, le funzioni no URLs .

La funzione Lambda URLs utilizza [politiche basate sulle risorse per la sicurezza e il controllo degli accessi](access-control-resource-based.md). La funzione supporta URLs anche le opzioni di configurazione CORS (Cross-Origin Resource Sharing).

È possibile applicare la funzione URLs a qualsiasi alias di funzione o alla versione della funzione `$LATEST` non pubblicata. Non è possibile aggiungere un URL della funzione a nessun'altra versione della funzione.

La sezione seguente mostra come creare e gestire l'URL di una funzione utilizzando la console Lambda e il AWS CLI modello CloudFormation 

**Topics**
+ [Creazione di un URL della funzione (console)](#create-url-console)
+ [Creazione di un URL di funzione (AWS CLI)](#create-url-cli)
+ [Aggiungere l'URL di una funzione a un CloudFormation modello](#urls-cfn)
+ [Cross-Origin Resource Sharing (CORS)](#urls-cors)
+ [Funzione di limitazione URLs](#urls-throttling)
+ [Funzione di disattivazione URLs](#urls-deactivating)
+ [Funzione di cancellazione URLs](#w2aac39c81c53)
+ [Controlla l'accesso alla funzione Lambda URLs](urls-auth.md)
+ [Richiamo di URL di funzioni Lambda](urls-invocation.md)
+ [Monitoraggio degli URL della funzione Lambda](urls-monitoring.md)
+ [Selezionare un metodo per richiamare la funzione Lambda tramite una richiesta HTTP](furls-http-invoke-decision.md)
+ [Tutorial: creazione di un endpoint webhook utilizzando l'URL di una funzione Lambda](urls-webhook-tutorial.md)

## Creazione di un URL della funzione (console)
<a name="create-url-console"></a>

Segui queste fasi per creare un URL della funzione usando la console.

### Per creare un URL di funzione per una funzione esistente
<a name="create-url-existing-function"></a>

1. Aprire la pagina [Funzioni](https://console.aws.amazon.com/lambda/home#/functions) della console Lambda.

1. Scegli il nome della funzione per la quale desideri creare l'URL della funzione.

1. Scegli la scheda **Configurazione**, quindi scegli **URL della funzione**.

1. Scegli **Crea URL della funzione**.

1. Per il **tipo di autenticazione**, scegliete **AWS\$1IAM**o **NONE**. Per ulteriori informazioni sull'autenticazione dell'URL della funzione, consulta [Controllo accessi](urls-auth.md).

1. (Opzionale) Seleziona **Configura CORS** e quindi configura le impostazioni CORS per l'URL della funzione. Per ulteriori informazioni sulla funzionalità CORS, consulta [Cross-Origin Resource Sharing (CORS)](#urls-cors).

1. Scegli **Save** (Salva).

In questo modo viene creato un URL di funzione per la versione non pubblicata di `$LATEST` della funzione. L'URL della funzione viene visualizzato nella sezione **Panoramica della funzione** della console.

### Per creare l'URL di una funzione per un alias esistente
<a name="create-url-existing-alias"></a>

1. Aprire la pagina [Funzioni](https://console.aws.amazon.com/lambda/home#/functions) della console Lambda.

1. Scegli il nome della funzione con l'alias per cui desideri creare l'URL della funzione.

1. Seleziona la scheda **Aliases** (Alias) e quindi scegli il nome dell'alias per cui desideri creare l'URL della funzione.

1. Scegli la scheda **Configuration** (Configurazione), quindi scegli **Function URL** (URL della funzione).

1. Scegli **Crea URL della funzione**.

1. **Per il **tipo di autenticazione**, scegli **AWS\$1IAM**o NONE.** Per ulteriori informazioni sull'autenticazione dell'URL della funzione, consulta [Controllo accessi](urls-auth.md).

1. (Opzionale) Seleziona **Configura CORS** e quindi configura le impostazioni CORS per l'URL della funzione. Per ulteriori informazioni sulla funzionalità CORS, consulta [Cross-Origin Resource Sharing (CORS)](#urls-cors).

1. Scegli **Save** (Salva).

In questo modo viene creato un URL della funzione per l'alias della funzione. L'URL della funzione viene visualizzato nella sezione **Panoramica della funzione** della console per l'alias.

### Per creare una nuova funzione con l'URL di una funzione
<a name="create-url-new-function"></a>

**Creazione di una nuova funzione con un URL della funzione (console)**

1. Aprire la pagina [Funzioni](https://console.aws.amazon.com/lambda/home#/functions) della console Lambda.

1. Scegli **Crea funzione**.

1. In **Basic information (Informazioni di base)** eseguire queste operazioni:

   1. In **Function name** (Nome funzione), inserisci un nome per la funzione, ad esempio **my-function**.

   1. Per **Runtime**, scegliete il linguaggio di runtime che preferite, ad esempio **Node.js 24**.

   1. Per **Architecture** (Architettura), scegli **x86\$164** o **arm64**.

   1. Espandi **Permissions** (Autorizzazioni), quindi scegli se creare un nuovo ruolo di esecuzione o usarne uno esistente.

1. Espandi **Advanced settings** (Impostazioni avanzate) e quindi seleziona **Function URL** (URL della funzione).

1. Per il **tipo di autenticazione**, scegliete **AWS\$1IAM**o **NONE**. Per ulteriori informazioni sull'autenticazione dell'URL della funzione, consulta [Controllo accessi](urls-auth.md).

1. (Opzionale) Seleziona **Configure cross-origin resource sharing (CORS)** (Configura CORS). Selezionando questa opzione durante la creazione della funzione, l'URL della funzione consente le richieste da tutte le origini per impostazione predefinita. È possibile modificare le impostazioni CORS per l'URL della funzione dopo aver creato la funzione. Per ulteriori informazioni sulla funzionalità CORS, consulta [Cross-Origin Resource Sharing (CORS)](#urls-cors).

1. Scegli **Crea funzione**.

In questo modo viene creata una nuova funzione con un URL della funzione per la versione non pubblicata di `$LATEST` della funzione. L'URL della funzione viene visualizzato nella sezione **Function overview** (Panoramica della funzione) della console.

## Creazione di un URL di funzione (AWS CLI)
<a name="create-url-cli"></a>

Per creare un URL di funzione per una funzione Lambda esistente utilizzando AWS Command Line Interface (AWS CLI), esegui il comando seguente:

```
aws lambda create-function-url-config \
    --function-name my-function \
    --qualifier prod \ // optional
    --auth-type AWS_IAM
    --cors-config {AllowOrigins="https://example.com"} // optional
```

Un URL di funzione viene aggiunto al qualificatore **prod** per la funzione **my-function**. Per ulteriori informazioni su questi parametri di configurazione, consulta [CreateFunctionUrlConfig](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunctionUrlConfig.html) nella documentazione di riferimento delle API.

**Nota**  
Per creare l'URL di una funzione tramite AWS CLI, la funzione deve già esistere.

## Aggiungere l'URL di una funzione a un CloudFormation modello
<a name="urls-cfn"></a>

Per aggiungere una `AWS::Lambda::Url` risorsa al CloudFormation modello, utilizzate la seguente sintassi:

### JSON
<a name="urls-cfn-json"></a>

```
{
  "Type" : "AWS::Lambda::Url",
  "Properties" : {
      "AuthType" : String,
      "Cors" : Cors,
      "Qualifier" : String,
      "TargetFunctionArn" : String
    }
}
```

### YAML
<a name="urls-cfn-yaml"></a>

```
Type: AWS::Lambda::Url
Properties: 
  AuthType: String
  Cors: 
    Cors
  Qualifier: String
  TargetFunctionArn: String
```

### Parameters
<a name="urls-cfn-params"></a>
+ (Obbligatorio)`AuthType`: definisce il tipo di autenticazione per l'URL della funzione. I valori possibili sono `AWS_IAM` o `NONE`. Per limitare l'accesso solo agli utenti autenticati, imposta su `AWS_IAM`. Per ignorare l'autenticazione IAM e consentire a qualsiasi utente di effettuare richieste alla propria funzione, imposta su `NONE`.
+ (Opzionale)`Cors`: definisce le [impostazioni CORS](#urls-cors) per l'URL della funzione. Per aggiungere `Cors` alla `AWS::Lambda::Url` risorsa in CloudFormation, utilizzate la seguente sintassi.

    
**Example AWS::Lambda::Url.Cors (JSON)**  

  ```
  {
    "AllowCredentials" : Boolean,
    "AllowHeaders" : [ String, ... ],
    "AllowMethods" : [ String, ... ],
    "AllowOrigins" : [ String, ... ],
    "ExposeHeaders" : [ String, ... ],
    "MaxAge" : Integer
  }
  ```  
**Example AWS::Lambda::Url.Cors (YAML)**  

  ```
    AllowCredentials: Boolean
    AllowHeaders: 
      - String
    AllowMethods: 
      - String
    AllowOrigins: 
      - String
    ExposeHeaders: 
      - String
    MaxAge: Integer
  ```
+ (Opzionale) `Qualifier`: il nome dell'alias.
+ (Obbligatorio)`TargetFunctionArn`: il nome o l'Amazon Resource Name (ARN) della funzione Lambda. I formati dei nomi validi includono quanto segue:
  + **Nome funzione** – `my-function`
  + **ARN funzione** – `arn:aws:lambda:us-west-2:123456789012:function:my-function`
  + **ARN parziale** – `123456789012:function:my-function`.

## Cross-Origin Resource Sharing (CORS)
<a name="urls-cors"></a>

Per definire in che modo le diverse origini possono accedere all'URL della funzione, utilizza [cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS). Si consiglia di configurare CORS se si intende chiamare l'URL della funzione da un dominio diverso. Lambda supporta le seguenti intestazioni CORS per la funzione. URLs


| Intestazioni CORS | Proprietà di configurazione CORS | Valori di esempio | 
| --- | --- | --- | 
|  [ Access-Control-Allow-Origin](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin)  |  `AllowOrigins`  |  `*` (consente tutte le origini) `https://www.example.com` `http://localhost:60905`  | 
|  [ Access-Control-Allow-Methods](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods)  |  `AllowMethods`  |  `GET`, `POST`, `DELETE`, `*`  | 
|  [ Access-Control-Allow-Headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers)  |  `AllowHeaders`  |  `Date`, `Keep-Alive`, `X-Custom-Header`  | 
|  [ Access-Control-Expose-Headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers)  |  `ExposeHeaders`  |  `Date`, `Keep-Alive`, `X-Custom-Header`  | 
|  [ Access-Control-Allow-Credentials](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials)  |  `AllowCredentials`  |  `TRUE`  | 
|  [ Access-Control-Max-Age](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age)  |  `MaxAge`  |  `5` (default), `300`  | 

Quando configuri CORS per l'URL di una funzione utilizzando la console Lambda o il AWS CLI, Lambda aggiunge automaticamente le intestazioni CORS a tutte le risposte tramite l'URL della funzione. In alternativa, è possibile aggiungere manualmente le intestazioni CORS alla risposta della funzione. Se ci sono intestazioni in conflitto, il comportamento previsto dipende dal tipo di richiesta:
+ Per le richieste di preflight come le richieste OPTIONS, le intestazioni CORS configurate nella funzione URL hanno la precedenza. Lambda restituisce solo queste intestazioni CORS nella risposta.
+ Per le richieste non preflight come le richieste GET o POST, Lambda restituisce sia le intestazioni CORS configurate nella funzione URL, sia le intestazioni CORS restituite dalla funzione. Ciò può comportare intestazioni CORS duplicate nella risposta. È possibile che venga visualizzato un errore simile al seguente: `The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed`.

In generale, consigliamo di configurare tutte le impostazioni CORS nella funzione URL anziché inviare manualmente le intestazioni CORS nella risposta della funzione.

## Funzione di limitazione URLs
<a name="urls-throttling"></a>

Il throttling limita la frequenza con cui la funzione elabora le richieste. Ciò è utile in molte situazioni, ad esempio per impedire alla funzione di sovraccaricare le risorse a valle o per gestire un improvviso aumento delle richieste.

È possibile limitare la frequenza delle richieste elaborate dalla funzione Lambda tramite un URL di funzione configurando la simultaneità riservata. La simultaneità riservata limita il numero massimo di richiami simultanei della funzione. La frequenza massima di richieste al secondo (RPS) della funzione equivale a 10 volte la simultaneità riservata configurata. Ad esempio, se si configura la funzione con una simultaneità riservata di 100, l'RPS massimo è 1.000.

Ogni volta che la simultaneità della funzione supera la simultaneità riservata, l'URL della funzione restituisce un codice di stato HTTP `429`. Se la funzione riceve una richiesta che supera 10 volte l'RPS massimo in base alla simultaneità riservata configurata, viene ricevuto anche un errore HTTP `429`. Per ulteriori informazioni sulla simultaneità riservata, consulta [Configurazione della simultaneità riservata per una funzione](configuration-concurrency.md).

## Funzione di disattivazione URLs
<a name="urls-deactivating"></a>

In caso di emergenza, potresti voler rifiutare tutto il traffico verso l'URL della funzione. Per disattivare l'URL della funzione, imposta la simultaneità riservata su zero. In questo modo vengono limitate tutte le richieste all'URL della funzione, con conseguenti risposte di stato HTTP `429`. Per riattivare l'URL della funzione, elimina la configurazione di simultaneità riservata o imposta la configurazione su una quantità maggiore di zero.

## Funzione di cancellazione URLs
<a name="w2aac39c81c53"></a>

Quando si elimina un URL di funzione, non è possibile ripristinarlo. La creazione di un nuovo URL di funzione determinerà un indirizzo URL diverso.

**Nota**  
Se elimini l'URL della funzione con il tipo di autenticazione `NONE`, Lambda non elimina automaticamente la policy basata sulle risorse associata. Se desideri eliminare questa policy, dovrai farlo manualmente.

1. Aprire la pagina [Funzioni](https://console.aws.amazon.com/lambda/home#/functions) della console Lambda.

1. Scegliere il nome della funzione.

1. Scegli la scheda **Configurazione**, quindi scegli **URL della funzione**.

1. Scegli **Elimina**.

1. Inserisci la parola *delete* (elimina) nel campo per confermare l'eliminazione.

1. Scegli **Elimina**.

**Nota**  
Quando si elimina una funzione con una funzione URL, Lambda elimina in modo asincrono la funzione URL. Se crei immediatamente una nuova funzione con lo stesso nome nello stesso account, è possibile che la funzione URL originale venga mappata alla nuova funzione anziché eliminata.