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
Una funzione URL è un endpoint HTTP (S) dedicato per la funzione Lambda. Puoi creare e configurare una funzione URL tramite la console Lambda o Lambda. API Quando crei una funzioneURL, Lambda genera automaticamente un URL endpoint unico per te. Una volta creata una funzioneURL, il suo URL endpoint non cambia mai. URLGli endpoint della funzione hanno il seguente formato:
https://
<url-id>
.lambda-url.<region>.on.aws
Nota
URLsLe funzioni non sono supportate nei seguenti paesi Regioni AWS: Asia Pacifico (Hyderabad) (ap-south-2
), Asia Pacifico (Melbourne) (ap-southeast-4
), Asia Pacifico (Malaysia) (ap-southeast-5
), Canada occidentale (Calgary) (), Europa (Spagnaca-west-1
) (), Europa (Zurigoeu-south-2
) () (), Israele (Tel Aviveu-central-2
) () e Medio Oriente (il-central-1
) (). UAE me-central-1
URLsLe funzioni sono abilitate al dual stack, supportano e. IPv4 IPv6 Dopo aver configurato una funzione URL per la tua funzione, puoi richiamarla tramite il suo endpoint HTTP (S) tramite un browser web, curl, Postman o qualsiasi client. HTTP
Nota
Puoi accedere alla tua funzione solo URL tramite Internet pubblico. Sebbene le funzioni Lambda supportino AWS PrivateLink, le funzioni noURLs.
La funzione Lambda URLs utilizza politiche basate sulle risorse per la sicurezza e il controllo degli accessi. La funzione supporta URLs anche le opzioni di configurazione di condivisione delle risorse () tra origini diverse. CORS
È possibile applicare la funzione URLs a qualsiasi alias di funzione o alla versione della funzione $LATEST
non pubblicata. Non è possibile aggiungere una funzione URL a nessun'altra versione della funzione.
La sezione seguente mostra come creare e gestire una funzione URL utilizzando la console Lambda e il AWS CLI modello AWS CloudFormation
Argomenti
- Creazione di una funzione URL (console)
- Creazione di una funzione URL (AWS CLI)
- Aggiungere una funzione URL a un CloudFormation modello
- Condivisione di risorse tra origini diverse () CORS
- Funzione di limitazione URLs
- Funzione di disattivazione URLs
- Funzione di eliminazione URLs
- Controlla l'accesso agli URL delle funzioni Lambda
- Invocare la funzione Lambda URLs
- Monitoraggio degli URL della funzione Lambda
- Tutorial: Creazione di una funzione Lambda con un URL della funzione
Creazione di una funzione URL (console)
Segui questi passaggi per creare una funzione URL utilizzando la console.
-
Aprire la pagina Funzioni
della console Lambda. -
Scegliete il nome della funzione per cui desiderate creare la funzioneURL.
-
Scegliete la scheda Configurazione, quindi scegliete Funzione URL.
-
Scegli Create functionURL (Crea funzione).
-
Per il tipo di autenticazione, scegli AWS_IAMo NONE. Per ulteriori informazioni sull'URLautenticazione delle funzioni, vedereControllo accessi.
-
(Facoltativo) Seleziona Configura la condivisione delle risorse tra le origini (CORS), quindi configura le CORS impostazioni per la tua funzioneURL. Per ulteriori informazioni suCORS, vedereCondivisione di risorse tra origini diverse () CORS.
-
Seleziona Salva.
Questo crea una funzione URL per la versione $LATEST
non pubblicata della funzione. La funzione URL viene visualizzata nella sezione Panoramica delle funzioni della console.
-
Aprire la pagina Funzioni
della console Lambda. -
Scegliete il nome della funzione con l'alias per cui desiderate creare la funzioneURL.
-
Scegliete la scheda Alias, quindi scegliete il nome dell'alias per cui desiderate creare la funzione. URL
-
Scegliete la scheda Configurazione, quindi scegliete Funzione. URL
-
Scegli Create functionURL (Crea funzione).
-
Per il tipo di autenticazione, scegli AWS_IAMo NONE. Per ulteriori informazioni sull'URLautenticazione delle funzioni, vedereControllo accessi.
-
(Facoltativo) Seleziona Configura la condivisione delle risorse tra le origini (CORS), quindi configura le CORS impostazioni per la tua funzioneURL. Per ulteriori informazioni suCORS, vedereCondivisione di risorse tra origini diverse () CORS.
-
Seleziona Salva.
Questo crea una funzione URL per l'alias della funzione. La funzione URL viene visualizzata nella sezione Panoramica delle funzioni della console relativa all'alias.
Per creare una nuova funzione con una funzione URL (console)
-
Aprire la pagina Funzioni
della console Lambda. -
Scegli Crea funzione.
-
In Basic information (Informazioni di base) eseguire queste operazioni:
-
In Function name (Nome funzione), inserisci un nome per la funzione, ad esempio
my-function
. -
Per Runtime, scegli il runtime del linguaggio desiderato, ad esempio Node.js 18.x.
-
Per Architecture (Architettura), scegli x86_64 o arm64.
-
Espandi Permissions (Autorizzazioni), quindi scegli se creare un nuovo ruolo di esecuzione o usarne uno esistente.
-
-
Espandi Impostazioni avanzate, quindi seleziona Funzione URL.
-
Per Tipo di autenticazione, scegli AWS_IAMo NONE. Per ulteriori informazioni sull'URLautenticazione delle funzioni, vedereControllo accessi.
-
(Facoltativo) Seleziona Configura la condivisione delle risorse tra le origini (CORS). Selezionando questa opzione durante la creazione della funzione, per impostazione predefinita la funzione URL consente le richieste da tutte le origini. È possibile modificare le CORS impostazioni della funzione URL dopo averla creata. Per ulteriori informazioni suCORS, vedereCondivisione di risorse tra origini diverse () CORS.
-
Scegli Crea funzione.
Questo crea una nuova funzione con una funzione URL per la versione $LATEST
non pubblicata della funzione. La funzione URL viene visualizzata nella sezione Panoramica delle funzioni della console.
Creazione di una funzione URL (AWS CLI)
Per creare una funzione URL 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
\ --qualifierprod
\ // optional --auth-typeAWS_IAM
--cors-config{AllowOrigins="https://example.com"}
// optional
Ciò aggiunge una funzione URL al prod
qualificatore della funzione. my-function
Per ulteriori informazioni su questi parametri di configurazione, vedere CreateFunctionUrlConfignel API riferimento.
Nota
Per creare una funzione URL tramite AWS CLI, la funzione deve già esistere.
Aggiungere una funzione URL a un CloudFormation modello
Per aggiungere una AWS::Lambda::Url
risorsa al AWS CloudFormation modello, utilizzate la seguente sintassi:
JSON
{ "Type" : "AWS::Lambda::Url", "Properties" : { "AuthType" : String, "Cors" : Cors, "Qualifier" : String, "TargetFunctionArn" : String } }
YAML
Type: AWS::Lambda::Url Properties: AuthType: String Cors: Cors Qualifier: String TargetFunctionArn: String
Parametri
(Obbligatorio)
AuthType
: definisce il tipo di autenticazione per la funzioneURL. I valori possibili sonoAWS_IAM
oNONE
. Per limitare l'accesso solo agli utenti autenticati, imposta suAWS_IAM
. Per aggirare IAM l'autenticazione e consentire a qualsiasi utente di effettuare richieste alla funzione, imposta su.NONE
-
(Facoltativo)
Cors
: definisce le CORSimpostazioni per la funzioneURL. Per aggiungereCors
allaAWS::Lambda::Url
risorsa in CloudFormation, utilizzate la seguente sintassi.Esempio AWS: :Lambda: :Url.Cors () JSON
{ "AllowCredentials" : Boolean, "AllowHeaders" : [ String, ... ], "AllowMethods" : [ String, ... ], "AllowOrigins" : [ String, ... ], "ExposeHeaders" : [ String, ... ], "MaxAge" : Integer }
Esempio 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 Amazon Resource Name (ARN) della funzione Lambda. I formati dei nomi validi includono quanto segue:Nome funzione –
my-function
Funzione ARN:
arn:aws:lambda:us-west-2:123456789012:function:my-function
Parziale ARN —
123456789012:function:my-function
Condivisione di risorse tra origini diverse () CORS
Per definire in che modo origini diverse possono accedere alla tua funzioneURL, usa la condivisione di risorse tra origini diverse () CORS
CORSintestazione | CORSproprietà di configurazione | Valori di esempio |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Quando si configura CORS una funzione URL utilizzando la console Lambda o il, AWS CLI Lambda aggiunge automaticamente le CORS intestazioni a tutte le risposte tramite la funzione. URL In alternativa, puoi aggiungere manualmente le CORS intestazioni alla risposta della funzione. Se ci sono intestazioni in conflitto, il comportamento previsto dipende dal tipo di richiesta:
-
Per le richieste di preflight, come OPTIONS le richieste, le CORS intestazioni configurate sulla funzione hanno la precedenza. URL Lambda restituisce solo queste CORS intestazioni nella risposta.
-
Per le richieste non preflight come le POST richieste GET or, Lambda restituisce sia le CORS intestazioni configurate sulla funzioneURL, sia le CORS intestazioni restituite dalla funzione. Ciò può causare intestazioni CORS duplicate nella risposta. Potresti visualizzare 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 CORS impostazioni sulla funzioneURL, piuttosto che inviare manualmente le CORS intestazioni nella risposta della funzione.
Funzione di limitazione URLs
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.
Puoi limitare la frequenza delle richieste che la tua funzione Lambda elabora tramite una funzione configurando la concorrenza riservataURL. La simultaneità riservata limita il numero massimo di richiami simultanei della funzione. La frequenza massima di richieste al secondo della funzione (RPS) è equivalente a 10 volte la concorrenza riservata configurata. Ad esempio, se configuri la funzione con una concorrenza riservata di 100, il massimo RPS è 1.000.
Ogni volta che la concorrenza della funzione supera la concorrenza riservata, la funzione URL restituisce un codice di stato. HTTP 429
Se la funzione riceve una richiesta che supera il RPS massimo di 10 volte in base alla concorrenza riservata configurata, viene visualizzato anche un errore. HTTP 429
Per ulteriori informazioni sulla simultaneità riservata, consulta Configurazione della concorrenza riservata per una funzione.
Funzione di disattivazione URLs
In caso di emergenza, potresti voler rifiutare tutto il traffico verso la tua sede. URL Per disattivare la funzioneURL, imposta la concorrenza riservata su zero. Ciò limita tutte le richieste alla funzioneURL, con conseguenti risposte di stato. HTTP 429
Per riattivare la funzioneURL, elimina la configurazione di concorrenza riservata o imposta la configurazione su un importo maggiore di zero.
Funzione di eliminazione URLs
Quando si elimina una funzioneURL, non è possibile ripristinarla. La creazione di una nuova funzione URL comporterà un URL indirizzo diverso.
Nota
Se elimini una funzione URL con tipo di autenticazioneNONE
, Lambda non elimina automaticamente la politica basata sulle risorse associata. Se desideri eliminare questa policy, dovrai farlo manualmente.
-
Aprire la pagina Funzioni
della console Lambda. -
Scegliere il nome della funzione.
-
Scegli la scheda Configurazione, quindi scegli Funzione. URL
-
Scegli Elimina.
-
Inserisci la parola delete (elimina) nel campo per confermare l'eliminazione.
-
Scegli Elimina.
Nota
Quando elimini una funzione che ha una funzioneURL, Lambda elimina la funzione in modo asincrono. URL Se crei immediatamente una nuova funzione con lo stesso nome nello stesso account, è possibile che la funzione originale URL venga mappata alla nuova funzione anziché eliminata.