Questa pagina fornisce una panoramica della funzionalità Pagamenti a carico del richiedente per Cloud Storage.
Introduzione
Ogni volta che un utente accede a una risorsa Cloud Storage, ad esempio un bucket o oggetto, vengono addebitati costi associati alla creazione ed esecuzione della richiesta. Questi costi includono:
Costi di elaborazione dei dati per operazioni, replica e recupero dei dati.
Costi di utilizzo della rete per la lettura dei dati.
In genere, questi costi vengono addebitati al proprietario del progetto della risorsa. Tuttavia, se il richiedente fornisce un progetto di fatturazione con la richiesta, viene addebitato il progetto del richiedente. Con i pagamenti a carico del richiedente abilitati nel bucket, puoi richiedere ai richiedenti di includere un progetto di fatturazione nelle loro richieste, addebitando così il progetto del richiedente. L'abilitazione dei pagamenti a carico del richiedente è utile, ad esempio, se hai molti dati che vuoi rendere disponibili agli utenti, ma non vuoi che ti vengano addebitati i costi per il loro accesso a questi dati.
Costi non coperti
I costi di archiviazione dei dati, inclusi i costi di eliminazione anticipata, vengono sempre applicati al progetto che contiene il bucket, anche se i pagamenti a carico del richiedente sono abilitati.
Limitazioni
Quando utilizzi i pagamenti a carico del richiedente, si applicano le seguenti limitazioni:
- Non puoi utilizzare un bucket con i pagamenti a carico del richiedente abilitati per le importazioni e le esportazioni da Cloud SQL.
- Non puoi utilizzare un bucket con i pagamenti a carico del richiedente abilitati per le esportazioni da Pub/Sub.
Requisiti di utilizzo e accesso
Per abilitare i pagamenti a carico del richiedente in un bucket, abilita il flag dei metadati nel bucket. Una volta abilitati, solo i seguenti utenti possono accedere al bucket o ai suoi contenuti:
Richiedenti che includono un progetto di fatturazione nella richiesta. Il progetto utilizzato nella richiesta deve essere in regola e l'utente deve avere un ruolo nel progetto che contiene l'
serviceusage.services.useautorizzazione. Il ruolo Service Usage Consumer contiene l'autorizzazione richiesta.Richiedenti che non includono un progetto di fatturazione, ma hanno l'autorizzazione
resourcemanager.projects.createBillingAssignmentper il progetto che contiene il bucket. Il ruolo Amministratore progetto di fatturazione contiene l'autorizzazione richiesta. I costi di accesso associati a queste richieste vengono addebitati al progetto che contiene il bucket.
Tutte le altre richieste al bucket non vanno a buon fine e viene restituito un errore 400 UserProjectMissing.
Oltre a questi requisiti, il richiedente deve disporre di autorizzazioni sufficienti
per eseguire l'azione richiesta. Ad esempio, un utente che fornisce un progetto di fatturazione valido nella richiesta non può caricare oggetti nel bucket a meno che non disponga anche dell'autorizzazione esplicita per farlo, ad esempio l'autorizzazione storage.objects.create per il bucket o il progetto che lo contiene.
Quando disabiliti i pagamenti a carico del richiedente, devi includere un progetto di fatturazione nella richiesta o disporre dell'autorizzazione resourcemanager.projects.createBillingAssignment.
Operazioni addebitate all'origine
Le operazioni che hanno sia un bucket di origine sia un bucket di destinazione, come una copia o una riscrittura, vengono addebitate al progetto che contiene il bucket di origine. Nella maggior parte dei casi, ad esempio le chiamate dirette tramite le API JSON e XML, devi includere un progetto di fatturazione solo se il bucket di origine ha i pagamenti a carico del richiedente abilitati.
In alcuni casi, ad esempio gcloud storage cp con un flag --no-clobber, devi includere un progetto di fatturazione se il bucket di origine o il bucket di destinazione (o entrambi) hanno i pagamenti a carico del richiedente abilitati. Questo perché queste operazioni effettuano chiamate sia al bucket di origine sia al bucket di destinazione durante l'esecuzione dell'azione.
Operazioni con più richieste
Per le operazioni che richiedono più richieste per essere completate, l'utilizzo dei progetti di fatturazione nelle richieste ha i seguenti comportamenti:
Per i caricamenti ripristinabili, solo la prima richiesta deve includere un progetto di fatturazione, che si applica all'intero caricamento. I progetti di fatturazione specificati nelle richieste successive vengono ignorati.
Per le riscritture con le API JSON e i caricamenti in più parti delle API XML, ogni richiesta può utilizzare un progetto di fatturazione diverso e un progetto di fatturazione specificato in una richiesta precedente non si applica alle richieste successive.
Fatturazione
I costi associati all'inclusione di un progetto di fatturazione nella richiesta non vengono visualizzati separatamente nella fatturazione. Ad esempio, supponiamo che tu esegua diversi download da un bucket con i pagamenti a carico del richiedente e che utilizzi il progetto my-project come progetto da fatturare per la richiesta. Se my-project contiene anche un bucket da cui esegui i download, la fattura mostra solo i costi totali per i download combinati. Non distingue tra i download dal tuo bucket e quelli dal bucket con i pagamenti a carico del richiedente.
Se vuoi distinguere tra i costi delle tue risorse Cloud Storage e i costi dell'inclusione dei progetti di fatturazione nelle richieste, devi creare un progetto che non contenga risorse Cloud Storage: questo progetto è quindi dedicato all'invio di richieste a risorse in altri progetti, come i bucket con i pagamenti a carico del richiedente.
Passaggi successivi
- Scopri come utilizzare i pagamenti a carico del richiedente.
- Rendi i dati disponibili pubblicamente.