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 un oggetto, sono associati addebiti per l'invio ed esecuzione della richiesta. Questi addebiti 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 addebiti vengono fatturati al proprietario del progetto della risorsa. Tuttavia, se il richiedente fornisce un progetto di fatturazione con la richiesta, viene addebitato al progetto del richiedente. Con la funzionalità Pagamenti a carico del richiedente abilitata nel tuo bucket, puoi richiedere ai richiedenti di includere un progetto di fatturazione nelle loro richieste, in modo da fatturare il progetto del richiedente. L'attivazione di Chiedi al richiedente di pagare è utile, ad esempio, se hai molti dati che vuoi rendere disponibili agli utenti, ma non vuoi che ti venga addebitato il loro accesso a questi dati.
Addebiti non coperti
Gli addebiti per l'archiviazione dei dati, inclusi gli addebiti per l'eliminazione anticipata, vengono sempre applicati al progetto che contiene il bucket, anche se è attivata l'opzione Chiedi al richiedente di pagare.
Limitazioni
Quando utilizzi la modalità Chi paga, si applicano le seguenti limitazioni:
- Non puoi utilizzare un bucket in cui è attivata la funzionalità Chi paga è il richiedente per le importazioni e le esportazioni da Cloud SQL.
- Non puoi utilizzare un bucket in cui sono abilitati i pagamenti a carico del richiedente per le esportazioni da Pub/Sub.
Requisiti di utilizzo e accesso
Per abilitare i pagamenti a carico del richiedente su un bucket, attiva il flag dei metadati sul bucket. Una volta attivata, solo i seguenti utenti possono accedere al bucket o ai relativi 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'autorizzazione
serviceusage.services.use
. Il ruolo Consumatore di utilizzo del servizio contiene l'autorizzazione richiesta.Richiedenti che non includono un progetto di fatturazione, ma dispongono dell'autorizzazione
resourcemanager.projects.createBillingAssignment
per il progetto che contiene il bucket. Il ruolo Project Manager fatturazione contiene l'autorizzazione richiesta. Gli addebiti di accesso associati a queste richieste vengono fatturati al progetto che contiene il bucket.
Tutte le altre richieste al bucket non vanno a buon fine e generano un errore 400 UserProjectMissing
.
Oltre a questi requisiti, l'autore della richiesta deve disporre di un'autorizzazione sufficiente 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 disponendo dell'autorizzazione storage.objects.create
per il bucket o per il progetto che lo contiene.
Quando disattivi la funzionalità Pagamenti a carico del richiedente, devi includere un progetto di fatturazione nella richiesta o disporre dell'autorizzazione resourcemanager.projects.createBillingAssignment
.
Operazioni con fatturazione a carico dell'editore
Le operazioni che hanno sia un bucket di origine sia un bucket di destinazione, ad esempio una copia o una riscrittura, vengono addebitate al progetto che contiene il bucket di origine. Nella maggior parte dei casi, ad esempio per le chiamate dirette che utilizzano le API JSON e XML, devi includere un progetto di fatturazione solo se il bucket source ha l'opzione Chiedi al richiedente di pagare abilitata.
In alcuni casi, ad esempio gcloud storage cp
con un flag --no-clobber
, devi includere un progetto di fatturazione se nel bucket di origine o nel bucket di destinazione (o in entrambi) sono abilitati i pagamenti a carico del richiedente. Questo perché queste operazioni fanno chiamate sia ai bucket di origine che a quelli 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 presenta i seguenti comportamenti:
Per i caricamenti ripristinabili, solo la prima richiesta deve includere un progetto di fatturazione e si applica all'intero caricamento. I progetti di fatturazione specificati nelle richieste successive vengono ignorati.
Per le riscritture con l'API JSON e i caricamenti multiparte dell'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
Gli addebiti associati all'inclusione di un progetto di fatturazione nella richiesta non vengono visualizzati separatamente nella fatturazione. Ad esempio, supponiamo che tu effettui diversi download da un bucket con pagamenti a carico del richiedente e utilizzi il progetto my-project
come progetto da fatturare per la richiesta. Se my-project
contiene anche un bucket da cui esegui i download, nella fattura vengono mostrati solo gli addebiti totali per i download combinati. Non distingue tra i download
dal tuo bucket e quelli dal bucket Chi paga.
Se vuoi distinguere tra gli addebiti delle tue risorse Cloud Storage e quelli dovuti all'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 alle risorse di altri progetti, come i bucket Chi paga l'utente.
Passaggi successivi
- Scopri come utilizzare la funzionalità Pagamenti a carico del richiedente.
- Rendi i dati disponibili pubblicamente.