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 di Cloud Storage, come un bucket o un oggetto, vengono applicati addebiti associati all'esecuzione e l'esecuzione della richiesta. Tali costi includono:
Costi per il trattamento dei dati per operazioni, replica e recupero dei dati.
Costi di utilizzo della rete per la lettura dei dati.
Normalmente, questi addebiti vengono addebitati al proprietario del progetto della risorsa; tuttavia, se il richiedente fornisce un progetto di fatturazione con la sua richiesta, viene addebitato il progetto del richiedente. Con i pagamenti a carico del richiedente abilitati nel tuo bucket, puoi require ai richiedenti di includere un progetto di fatturazione nelle proprie richieste, fatturando 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 costi per il loro accesso a quei dati.
Addebiti non coperti
I costi di archiviazione dei dati, inclusi gli costi di eliminazione anticipata, vengono sempre applicati al progetto che contiene il bucket, anche se i pagamenti a carico del richiedente è abilitato.
Limitazioni
Quando si utilizzano i pagamenti a carico del richiedente si applicano le seguenti limitazioni:
- Non puoi utilizzare un bucket in cui sono abilitati i pagamenti a carico del 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, abilita il flag dei metadati nel bucket. Una volta abilitato, solo i seguenti utenti potranno accedere al bucket o ai suoi contenuti:
Richiedenti che includono un progetto di fatturazione nella loro richiesta. Il progetto utilizzato nella richiesta deve essere in regola e l'utente deve avere un ruolo nel progetto contenente l'autorizzazione
serviceusage.services.use
. Il ruolo Consumatore di utilizzo dei servizi contiene l'autorizzazione richiesta.Richiedenti che non includono un progetto di fatturazione, ma che dispongono dell'autorizzazione
resourcemanager.projects.createBillingAssignment
per il progetto che contiene il bucket. Il ruolo Gestore progetto di fatturazione contiene l'autorizzazione richiesta. Gli addebiti per l'accesso associati a queste richieste vengono fatturati al progetto che contiene il bucket.
Tutte le altre richieste al bucket non vanno a buon fine con un errore 400 UserProjectMissing
.
Oltre a questi requisiti, il richiedente deve avere un'autorizzazione sufficiente per eseguire l'azione richiesta. Ad esempio, un utente che fornisce un progetto di fatturazione valido nella sua richiesta non può caricare oggetti nel bucket a meno che non disponga anche dell'autorizzazione esplicita a farlo, ad esempio disponendo dell'autorizzazione storage.objects.create
per il bucket o il progetto che lo contiene.
Quando disattivi i pagamenti a carico del richiedente, devi includere un progetto di fatturazione nella richiesta o disporre dell'autorizzazione resourcemanager.projects.createBillingAssignment
.
Operazioni fatturate dall'origine
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 mediante le API JSON e XML, devi includere un progetto di fatturazione solo se nel bucket source sono abilitati i pagamenti a carico del richiedente.
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 ai bucket di origine e di destinazione nel corso dell'azione.
Operazioni di richiesta multipla
Per le operazioni che richiedono il completamento di più richieste, 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 e il problema 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 che paghi a carico del richiedente e utilizzi il progetto my-project
come progetto per fatturare la richiesta. Se my-project
contiene anche un bucket da cui esegui dei download, nella fattura verranno indicati solo gli addebiti totali per i download combinati. Non fa distinzione tra i download del tuo bucket e quelli del bucket Pagamenti a carico del richiedente.
Per distinguere gli addebiti dalle tue risorse Cloud Storage e gli addebiti dall'inclusione di progetti di fatturazione nelle tue richieste, devi creare un progetto che non contenga risorse Cloud Storage: questo progetto è quindi dedicato a effettuare richieste a risorse in altri progetti, ad esempio i bucket Pagamenti a carico del richiedente.
Passaggi successivi
- Scopri come utilizzare i pagamenti a carico del richiedente.
- Rendi i dati disponibili pubblicamente.