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, vengono addebitati costi associati alla creazione e all'esecuzione della richiesta.
Normalmente, al proprietario del progetto della risorsa vengono addebitati questi costi; tuttavia, se il richiedente fornisce un progetto di fatturazione con la sua richiesta, viene addebitato il progetto del richiedente. Con la funzionalità Pagamenti a carico del richiedente abilitata nel bucket, puoi richiedere ai richiedenti di includere un progetto di fatturazione nelle loro richieste, fatturando così il progetto del richiedente. L'attivazione di Richiedente paga è utile, ad esempio, se hai molti dati che vuoi rendere disponibili agli utenti, ma non vuoi che ti venga addebitato l'accesso a questi dati.
Limitazioni
Quando utilizzi la funzionalità Richiedente paga, si applicano le seguenti limitazioni:
- Non puoi utilizzare un bucket con la funzionalità Richiedente paga abilitata 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 attivare i pagamenti a carico del richiedente in un bucket, attiva il flag dei metadati nel bucket. Una volta attivato, solo i seguenti utenti possono accedere al bucket o ai relativi contenuti:
I 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 Consumer utilizzo servizi contiene l'autorizzazione richiesta.I richiedenti che non includono un progetto di fatturazione, ma dispongono dell'autorizzazione
resourcemanager.projects.createBillingAssignmentper il progetto che contiene il bucket. Il ruolo Responsabile 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 restituiscono un errore 400 UserProjectMissing.
Oltre a questi requisiti, il richiedente deve disporre di 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 per farlo, ad esempio se dispone dell'autorizzazione
storage.objects.create per il bucket o per il progetto che
lo contiene.
Quando disattivi la funzionalità Richiedente paga, devi includere un progetto di fatturazione nella tua
richiesta o disporre dell'autorizzazione resourcemanager.projects.createBillingAssignment.
Operazioni con fatturazione all'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 le chiamate dirette tramite le API JSON e XML, devi includere un progetto di fatturazione solo se nel bucket source è abilitata l'opzione Richiedente paga.
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 di destinazione (o entrambi) hanno abilitato i pagamenti a carico del richiedente. Questo perché tali operazioni effettuano
chiamate ai bucket di origine e di destinazione durante l'esecuzione
dell'azione.
Operazioni di richieste multiple
Per le operazioni che richiedono più richieste per essere completate, l'utilizzo di progetti di fatturazione nelle richieste ha 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.