Diese Seite bietet einen Überblick über die Funktion "Anforderer bezahlt" für Cloud Storage.
Einführung
Wenn ein Nutzer auf eine Cloud Storage-Ressource wie einen Bucket oder ein Objekt zugreift, fallen die folgenden Gebühren für die Erstellung und Ausführung der Anfrage an:
Datenverarbeitungsgebühren für Vorgänge, Replikation und Datenabruf.
Netzwerknutzungsgebühren für das Lesen der Daten
Normalerweise werden diese Gebühren dem Projektinhaber der Ressource in Rechnung gestellt. Wenn der Sender jedoch ein Abrechnungsprojekt mit seiner Anfrage einreicht, wird stattdessen das Projekt des Senders in Rechnung gestellt. Wenn die Funktion "Anfragesteller bezahlt" in Ihrem Bucket aktiviert ist, können Sie Anfragesteller dazu verpflichten, ihren Anfragen ein Abrechnungsprojekt hinzuzufügen. Die Kosten werden dann für das Projekt des Anfragestellers in Rechnung gestellt. Die Aktivierung der Funktion "Anforderer bezahlt" ist beispielsweise nützlich, wenn Sie Nutzern viele Daten zur Verfügung stellen möchten, ohne für deren Zugriff auf diese Daten bezahlen zu müssen.
Nicht enthaltene Kosten
Gebühren für Datenspeicher, einschließlich Gebühren für vorzeitiges Löschen, werden immer für das Projekt berechnet, das den Bucket enthält. , auch wenn die Funktion „Sender bezahlt“ aktiviert ist.
Beschränkungen
Die Verwendung von "Anforderer bezahlt" unterliegt den folgenden Beschränkungen:
- Sie können einen Bucket mit der Funktion "Anforderer bezahlt" nicht für Export- und Importvorgänge in Cloud SQL verwenden.
- Sie können einen Bucket mit aktivierter Funktion „Anforderer bezahlt“ nicht für Exporte aus Pub/Sub verwenden.
Anforderungen für Zugriff und Verwendung
Wenn Sie die Funktion „Anfragender bezahlt“ für einen Bucket aktivieren möchten, aktivieren Sie das Metadaten-Flag für den Bucket. Nach der Aktivierung können nur die folgenden Nutzer auf den Bucket oder dessen Inhalt zugreifen:
Anfragesteller, die ihrer Anfrage ein Abrechnungsprojekt hinzufügen. Das in der Anfrage verwendete Projekt muss einwandfrei sein. Außerdem muss der Nutzer im Projekt eine Rolle mit der Berechtigung
serviceusage.services.use
haben. Die Rolle Dienstnutzungsnutzer enthält die erforderliche Berechtigung.Anfragesteller, die kein Abrechnungsprojekt hinzufügen, jedoch die Berechtigung
resourcemanager.projects.createBillingAssignment
für das Projekt haben, das den Bucket enthält. Die Rolle Projektabrechnungs-Manager enthält die erforderliche Berechtigung. Zugriffsgebühren für solche Anfragen werden dem Projekt in Rechnung gestellt, das den Bucket enthält.
Alle anderen Anfragen an den Bucket schlagen mit einem 400 UserProjectMissing
-Fehler fehl.
Zusätzlich zu diesen Anforderungen muss der Anforderer über ausreichende Berechtigungen verfügen, um die angeforderte Aktion auszuführen. Ein Nutzer, der seiner Anfrage ein gültiges Abrechnungsprojekt hinzufügt, kann beispielsweise nur Objekte in den Bucket hochladen, wenn er ausdrücklich dazu berechtigt ist, z. B. wenn er die Berechtigung storage.objects.create
für diesen Bucket oder das darin enthaltene Projekt besitzt.
Wenn Sie „Anfragesteller bezahlt“ deaktivieren, müssen Sie Ihrer Anfrage ein Abrechnungsprojekt hinzufügen oder die Berechtigung resourcemanager.projects.createBillingAssignment
haben.
Quellbezogene Abrechnungsvorgänge
Vorgänge, die sowohl einen Quell-Bucket als auch einen Ziel-Bucket enthalten, z. B. eine Kopie oder einen wiederholten Schreibvorgang, werden für das Projekt mit dem Quell-Bucket berechnet. In den meisten Fällen, z. B. bei Direktaufrufen mithilfe der JSON und XML APIs, müssen Sie nur dann ein Abrechnungsprojekt hinzufügen, wenn für den Quell-Bucket die Option "Sender bezahlt" aktiviert ist.
In einigen Fällen, z. B. bei gcloud storage cp
mit dem Flag --no-clobber
, müssen Sie ein Abrechnungsprojekt hinzufügen, wenn für den Quell- oder Ziel-Bucket (oder beides) die Option "Anforderer bezahlt" aktiviert ist. Dies liegt daran, dass während eines solchen Vorgangs Aufrufe sowohl an die Quell- als auch an die Ziel-Buckets erfolgen.
Vorgänge mit mehreren Anfragen
Für Vorgänge, bei denen mehrere Anfragen abgeschlossen werden müssen, unterliegt die Verwendung von Abrechnungsprojekten in Ihren Anfragen den folgenden Verhaltensweisen:
Bei fortsetzbaren Uploads muss nur die erste Anfrage ein Abrechnungsprojekt enthalten und gilt für den gesamten Upload. Abrechnungsprojekte, die in nachfolgenden Anfragen angegeben werden, werden ignoriert.
Bei Umschreibungen mit der JSON API und mehrteiligen XML API-Uploads kann jede Anfrage ein anderes Abrechnungsprojekt und ein Abrechnungsprojekt verwenden, das in einer früheren Anfrage angegeben wurde. gilt nicht für nachfolgende Anfragen.
Abrechnung
Die Kosten für das Hinzufügen eines Abrechnungsprojekts zu Ihrer Anfrage werden nicht separat in Ihrer Rechnung aufgeführt. Angenommen, Sie führen mehrere Downloads über einen "Anfragesteller bezahlt"-Bucket aus, und Sie verwenden das Projekt my-project
als Abrechnungsprojekt für die Anfrage. Wenn my-project
auch einen Bucket enthält, über den Sie Downloads durchführen, werden in der Rechnung nur die Gesamtkosten für Ihre kombinierten Downloads aufgeführt. Es wird nicht zwischen den Downloads aus Ihrem eigenen Bucket und denen aus dem "Sender bezahlt"-Bucket unterschieden.
Wenn Sie zwischen Gebühren für Ihre eigenen Cloud Storage-Ressourcen und Gebühren unterscheiden möchten, die mit der Hinzufügung von Abrechnungsprojekten zu Ihren Anfragen verbunden sind, müssen Sie ein Projekt erstellen, das keine Cloud Storage-Ressourcen enthält. Dieses Projekt wird dann für Anfragen bezüglich Ressourcen in anderen Projekten verwendet, wie z. B. "Sender bezahlt"-Buckets.