Trigger di Cloud Storage (1ª gen.)
Nelle funzioni Cloud Run, un attivatore Cloud Storage consente di chiamare una funzione in risposta alle modifiche in Cloud Storage. Quando specifichi un trigger Cloud Storage per una funzione, scegli un tipo di evento e specifichi un bucket Cloud Storage. La funzione verrà chiamata ogni volta che si verifica una modifica in un oggetto (file) all'interno del bucket specificato.
Sono supportati i seguenti tipi di eventi Cloud Storage:
Evento | Tipo di evento | Descrizione |
---|---|---|
Oggetto completato |
|
Si verifica quando viene creato un nuovo oggetto o quando un oggetto esistente sovrascritto e ne viene creata una nuova generazione. |
Oggetto eliminato |
|
Si verifica quando un oggetto viene eliminato definitivamente. |
Oggetto archiviato |
|
Si verifica quando una versione attiva di un oggetto diventa una versione non corrente. Per ulteriori informazioni, consulta Controllo delle versioni degli oggetti. |
Metadati dell'oggetto aggiornati |
|
Si verifica quando i metadati di un oggetto esistente cambiano. |
Affinché una funzione possa utilizzare un trigger Cloud Storage, deve essere implementata come funzione basata su eventi:
Se utilizzi un Funzione CloudEvent, vengono passati i dati degli eventi Cloud Storage alla tua funzione nel il formato CloudEvents e i dati di CloudEvent il payload è di tipo
StorageObjectData
.Se utilizzi una funzione in background, il payload dei dati sugli eventi di Cloud Storage viene passato direttamente alla funzione nel formato
StorageObjectData
.
Il repository Google Events contiene risorse aggiuntive per lavorare con i dati sugli eventi.
Deployment
Puoi specificare un trigger Cloud Storage quando esegui il deployment di una funzione. Consulta Eseguire il deployment di una funzione Cloud Run per istruzioni generali su come eseguire il deployment di una funzione e consulta quanto segue per informazioni aggiuntive specifiche sulla configurazione degli attivatori Cloud Storage durante il deployment.
gcloud
Se con gcloud CLI, puoi utilizzare il tipo di evento Oggetto finalizzato di Cloud Storage con i seguenti flag:
gcloud functions deploy YOUR_FUNCTION_NAME \ --no-gen2 \ --trigger-bucket=YOUR_STORAGE_BUCKET \ [--retry] \ ...
- La
--trigger-bucket
specifica il bucket Cloud Storage che il trigger monitoraggio. Gli eventi Object finalized all'interno di questo bucket attiveranno le chiamate alla funzione. - Il
--retry
flag controlla se le chiamate alle funzioni non riuscite vengono tentate automaticamente di nuovo. Per ulteriori informazioni, consulta Riprovare le funzioni basate su eventi.
Per utilizzare tipi di eventi diversi da Oggetto finalizzato, usa i seguenti flag:
gcloud functions deploy YOUR_FUNCTION_NAME
--no-gen2
--trigger-event=EVENT_TYPE
--trigger-resource=YOUR_STORAGE_BUCKET
...
Eventi legacy di Cloud Storage
Le funzioni precedenti nelle funzioni Cloud Run (1ª gen.) utilizzano le notifiche di modifica degli oggetti precedenti per gli attivatori Cloud Storage:
gcloud functions deploy YOUR_FUNCTION_NAME \ --no-gen2 \ --trigger-event=providers/cloud.storage/eventTypes/object.change \ --trigger-resource=YOUR_STORAGE_BUCKET \ ...
Questo tipo di evento è supportato per le funzioni precedenti che già utilizzano questi eventi. Tuttavia, ti sconsigliamo di utilizzare questo tipo di evento perché potrebbe essere rimosso in una data futura.
Console
Se esegui il deployment utilizzando la console Google Cloud, puoi configurare un attivatore Cloud Storage nella sezione Attivati:
- Nel campo Tipo di trigger, seleziona Cloud Storage.
- Nel campo Tipo di evento, seleziona un tipo di evento.
- Nel campo Bucket, fai clic su Sfoglia per selezionare un bucket Cloud Storage da monitorare dall'attivatore. Modifiche a all'interno di questo bucket attiveranno le chiamate alla tua funzione.
- Seleziona o deseleziona la casella di controllo Riprova in caso di errore per controllare se le chiamate di funzione non riuscite vengono tentate automaticamente di nuovo. Consulta: Ripetere le funzioni basate su eventi per ulteriori informazioni.
Consegna di eventi
I trigger di Cloud Storage sono implementati Notifiche Pub/Sub per Cloud Storage. Gli eventi sono soggetti a Garanzie di consegna delle notifiche Pub/Sub.
Un bucket Cloud Storage può avere fino a 10 configurazioni di notifica impostate per attivare un evento specifico. Il superamento dei limiti di notifiche del bucket fará in modo che gli ulteriori implementazioni delle funzioni non vadano a buon fine con un errore simile al seguente:
Cloud Storage bucket ...: Pub/Sub notification limit reached
Per saperne di più, consulta Quote e limiti di Cloud Storage.
Passaggi successivi
- Scopri come scrivere funzioni basate su eventi.
- Scopri come eseguire il deployment di una funzione Cloud Run.
- Guarda il tutorial sulla funzione Cloud Storage per vedere un esempio di scrittura, deployment e chiamata a una funzione con un del trigger di Cloud Storage.