Amazon Simple Storage Service
Entwicklerhandbuch (API-Version 2006-03-01)

Arbeiten mit Amazon S3-Buckets

Zum Hochladen Ihrer Daten (Fotos, Videos, Dokumente usw.) auf Amazon S3 erstellen Sie zunächst einen S3-Bucket in einer AWS-Region. Anschließend können Sie beliebig viele Objekte in den Bucket hochladen.

Im Hinblick auf die Implementierung sind Buckets und Objekte Ressourcen, und Amazon S3 stellt die APIs für ihre Verwaltung bereit. Beispielsweise können Sie mit dem Amazon S3 API einen Bucket erstellen und Objekte hochladen. Sie können diese Operationen auch in der Amazon S3-Konsole durchführen. Die Konsole verwendet die Amazon S3-APIs, um Anforderungen an Amazon S3 zu senden.

In diesem Abschnitt wird beschrieben, wie Sie mit Buckets arbeiten. Weitere Informationen zur Arbeit mit Objekten finden Sie unter Arbeiten mit Amazon S3-Objekten.

Der Name eines Amazon S3-Buckets ist global eindeutig, und der Namespace wird von allen AWS-Konten verwendet. Dies bedeutet, dass der Name eines Buckets nach seiner Erstellung nicht von einem anderen AWS-Konto in irgendeiner AWS-Region verwendet werden kann, bis der Bucket gelöscht wird. Verlassen Sie sich nicht auf eine spezifische Benennungskonvention für Buckets für Verfügbarkeits- oder Sicherheitsprüfungszwecke. Namensrichtlinien für Buckets finden Sie unter Beschränkungen und Einschränkungen von Buckets.

Amazon S3 erstellt Buckets in der von Ihnen angegebenen Region. Um die Latenz zu optimieren, Kosten zu minimieren und gesetzliche Anforderungen zu berücksichtigen, können Sie eine beliebige AWS-Region in der Nähe wählen. Wenn Sie beispielsweise in Europa ansässig sind, könnte es vorteilhaft sein, Buckets in der Region EU (Irland) oder EU (Frankfurt) zu erstellen. Eine Liste der Amazon S3-Regionen finden Sie unter Regionen und Endpunkte in der Allgemeinen AWS-Referenz.

Anmerkung

Objekte, die zu einem Bucket gehören, den Sie in einer spezifischen AWS-Region erstellt haben, verbleiben so lange in der Region, bis sie explizit in eine andere Region verschoben werden. Beispielsweise verlassen in der Region EU (Irland) gespeicherte Objekte diese Region nie.

Erstellen eines Buckets

Amazon S3 stellt APIs bereit, mit denen Sie Buckets erstellen und verwalten können. In der Standardeinstellung können Sie bis zu 100 Buckets in jedem Ihrer AWS-Konten erstellen. Wenn Sie weitere Buckets benötigen, können Sie das Konto-Bucket-Limit auf maximal 1 000 Buckets erhöhen, indem Sie eine Service Limit-Erhöhung senden. Weitere Informationen über das Senden einer Bucket-Limit-Erhöhung finden Sie unter Limits für AWS-Services in der Allgemeinen AWS-Referenz.

Wenn Sie ein Bucket erstellen, geben Sie einen Namen und die AWS-Region an, in der der Bucket erstellt werden soll. Weitere Informationen zur Benennung von Buckets finden Sie unter Regeln für die Bucket-Benennung.

Sie können in einem Bucket beliebig viele Objekte speichern.

Sie können einen Bucket unter Verwendung einer der folgenden Methoden erstellen:

  • Verwenden der Konsole

  • Programmgesteuert mit den AWS-SDKs

    Anmerkung

    Falls nötig, können Sie auch die Amazon S3-REST-API-Aufrufe direkt im Code ausführen. Allerdings kann dies aufwändig sein, weil Sie Code zur Authentifizierung Ihrer Anforderungen schreiben müssen. Weitere Informationen finden Sie unter PUT Bucket im Amazon Simple Storage Service API Reference.

    Wenn Sie die AWS-SDKs verwenden, erstellen Sie zuerst einen Client und senden mit dem Client dann eine Anforderung zum Erstellen eines Buckets.  Wenn Sie den Client erstellen, können Sie eine AWS-Region angeben. USA Ost (Nord-Virginia) ist die Standard-Region. Beachten Sie Folgendes:

    • Wenn Sie einen Client mit Angabe der Region USA Ost (Nord-Virginia) erstellen, verwendet er den folgenden Endpunkt für die Kommunikation mit Amazon S3:

      s3.amazonaws.com

      Anmerkung

      • Sie können diesen Client verwenden, um einen Bucket in einer beliebigen AWS-Region zu erstellen, die bis zum 20. März 2019 gestartet wurde. Zum Erstellen eines Buckets in Regionen, die nach dem 20. März 2019 gestartet wurden, müssen Sie einen spezifischen Client für die Region erstellen, in dem der Bucket erstellt werden soll. Weitere Informationen zum Aktivieren oder Deaktivieren einer AWS-Region siehe AWS-Regionen und -Endpunkte im AWS General Reference.

      • Buckets, die nach dem 30. September 2020 erstellt werden, unterstützen nur virtuelle Hosted-Style-Anfragen. Path-Style-Anfragen werden weiterhin für Buckets unterstützt, die an oder vor diesem Datum erstellt wurden. Weitere Informationen finden Sie unter Amazon S3 Path Deprecation Plan – The Rest of the Story.

      In Ihrer Anforderung zum Erstellen eines Buckets:

      • Wenn Sie keine Region angeben, erstellt Amazon S3 den Bucket in der Region USA Ost (Nord-Virginia).

      • Wenn Sie eine AWS-Region angeben, erstellt Amazon S3 den Bucket in der angegebenen Region.

    • Wenn Sie einen Client mit Angabe einer anderen AWS-Region erstellen, wird jede dieser Regionen auf den regionsspezifischen Endpunkt abgebildet:

      s3.<region>.amazonaws.com

      Wenn Sie beispielsweise einen Client unter Angabe der Region eu-west-1 erstellen, wird sie dem folgenden regionsspezifischen Endpunkt zugeordnet:

      s3.eu-west-1.amazonaws.com

      In diesem Fall können Sie den Client verwenden, um einen Bucket nur in der Region eu-west-1 zu erstellen. Amazon S3 gibt einen Fehler zurück, wenn Sie in Ihrer Anforderung zum Erstellen eines Buckets eine andere Region angeben.

    • Wenn Sie einen Client erstellen, um auf einen Dual-Stack-Endpunkt zuzugreifen, müssen Sie eine AWS-Region angeben. Weitere Informationen finden Sie unter -Dual-Stack-Endpunkte.

    Eine Liste der verfügbaren AWS-Regionen finden Sie unter Regionen und Endpunkte im AWS General Reference.

Beispiele finden Sie unter Beispiel zum Erstellen eines Buckets.

Berechtigungen

Sie können die Root-Anmeldeinformationen Ihres AWS-Kontos verwenden, um einen Bucket zu erstellen und andere Amazon S3-Operationen auszuführen. AWS rät davon ab, die Root-Anmeldeinformationen Ihres AWS-Kontos für Anforderungen zu nutzen, wie etwa zum Erstellen eines Buckets. Erstellen Sie stattdessen einen IAM-Benutzer, dem Sie vollständigen Zugriff gewähren (Benutzer haben standardmäßig keine Berechtigung). Wir bezeichnen diese Benutzer als Administratorbenutzer. Anstelle der Root-Anmeldeinformationen Ihres Kontos können Sie die des Administratorbenutzers für Aufgaben in AWS verwenden, z. B. um einen Bucket und Benutzer zu erstellen sowie Benutzern Berechtigungen zu gewähren.

Weitere Informationen finden Sie unter Root-Kontoanmeldeinformationen vs. IAM-Benutzerberechtigungen in der Allgemeinen AWS-Referenz sowie unter Bewährte Methoden für IAM im IAM-Benutzerhandbuch.

Bei dem AWS-Konto, das die Ressource erstellt, handelt es sich um den Ressourceneigentümer. Wenn Sie beispielsweise einen IAM-Benutzer in Ihrem AWS-Konto erstellen und diesem Berechtigungen zum Erstellen eines Buckets erteilen, kann der Benutzer einen Bucket erstellen. Dem Benutzer gehört jedoch der Bucket nicht. Der Bucket gehört dem AWS-Konto, zu dem der Benutzer gehört. Der Benutzer braucht eine zusätzliche Berechtigung vom Bucket-Eigentümer, um andere Bucket-Operation ausführen zu dürfen. Weitere Informationen zum Verwalten von Berechtigungen für Ihre Amazon S3-Ressourcen finden Sie unter Identitäts- und Zugriffsverwaltung in Amazon S3.

Verwalten des öffentlichen Zugriffs auf Buckets

Öffentlicher Zugriff auf Buckets und Objekte wird über Zugriffskontrolllisten (ACLs), Bucket-Richtlinien oder beides gewährt. Um Sie bei der Verwaltung des öffentlichen Zugriffs auf Amazon S3-Ressourcen zu unterstützen, stellt Amazon S3 Einstellungen zum Blockieren des öffentlichen Zugriffs zur Verfügung. Amazon S3-Einstellungen zum Blockieren des öffentlichen Zugriffs können ACLs und Bucket-Richtlinien außer Kraft setzen, sodass Sie den öffentlichen Zugriff auf diese Ressourcen einheitlich beschränken können. Sie können Einstellungen zum Blockieren des öffentlichen Zugriffs auf einzelne Buckets oder auf alle Buckets in Ihrem Konto anwenden.

Um zu gewährleisten, dass bei allen Ihren Amazon S3-Buckets und -Objekten der öffentliche Zugriff blockiert ist, empfehlen wird, alle vier Einstellungen zur Blockierung des öffentlichen Zugriffs für Ihr Konto zu aktivieren. Diese Einstellungen blockieren den öffentlichen Zugriff für alle aktuellen und zukünftigen Buckets.

Bevor Sie diese Einstellungen anwenden, verifizieren Sie, dass Ihre Anwendungen ohne öffentlichen Zugriff korrekt funktionieren. Wenn ein bestimmter Umfang an öffentlichem Zugriff auf Ihre Buckets oder Objekte nötig ist, z. B. zum Hosten einer statischen Website, wie unter Hosten einer statischen Website auf Amazon S3 beschrieben, können Sie die einzelnen Einstellungen an Ihre Speicheranwendungsfälle anpassen. Weitere Informationen finden Sie unter Verwenden von Amazon S3 Block Public Access.

Zugriff auf einen Bucket

Sie können auf Ihren Bucket mithilfe der Amazon S3-Konsole zugreifen. Mit der Benutzeroberfläche der Konsole können Sie fast alle Bucket-Operationen ausführen, ohne Code schreiben zu müssen.

Wenn Sie programmgesteuert auf einen Bucket zugreifen, achten Sie darauf, dass Amazon S3 die RESTful-Architektur unterstützt, wobei Ihre Buckets und Objekte Ressourcen sind, die alle eine Ressourcen-URI besitzen, die die Ressource eindeutig identifizieren.

Amazon S3 unterstützt URLs im Stil von virtuellem Hosting und im Path-Stil für den Zugriff auf einen Bucket.

  • In einer URL mit virtuellem Hosting ist der Bucket-Name Teil des Domänennamens in der URL. Beispiel:  

    • http://bucket.s3-aws-region.amazonaws.com

    • http://bucket.s3.amazonaws.com

      Anmerkung

      Buckets in Regionen, die nach dem 20. März 2019 erstellt wurden, sind über das Namensschema https://bucket.s3.amazonaws.com nicht erreichbar.

    In einer URL im Stil von virtuellem Hosting können Sie jeden dieser Endpunkte verwenden. Wenn Sie eine Anforderung an den http://bucket.s3.amazonaws.com Endpunkt stellen, besitzt das DNS ausreichend viele Informationen, um Ihre Anforderung direkt in die Region weiterzuleiten, in der sich Ihr Bucket befindet.

    Weitere Informationen finden Sie unter Virtuelles Hosting bei Buckets.

     

  • In einer URL im Pfadstil ist der Name des Buckets nicht Teil der Domäne. zum Beispiel:

    • Regionsspezifischer Endpunkt, http://s3-aws-region.amazonaws.com/bucket

    • Endpunkt der Region USA Ost (Nord-Virginia), http://s3.amazonaws.com/bucket

    Bei einer URL im PathStyle muss der Endpunkt, den Sie verwenden, mit der Region übereinstimmen, in der sich Bucket befindet. Befindet sich Ihr Bucket beispielsweise in der Region Südamerika (São Paulo), müssen Sie den Endpunkt http://s3.sa-east-1.amazonaws.com/bucket verwenden. Befindet sich Ihr Bucket in der Region USA Ost (Nord-Virginia), müssen Sie den Endpunkt http://s3.amazonaws.com/bucket verwenden.

Wichtig

Da der Zugriff auf Buckets über URLs im Pfadstil und im Stil des virtuellen Hostings möglich ist, empfehlen wir Ihnen, Buckets mit DNS-konformen Bucket-Namen zu erstellen. Weitere Informationen finden Sie unter Beschränkungen und Einschränkungen von Buckets.

Zugriff auf einen S3-Bucket über IPv6

Amazon S3 verfügt über mehrere Dual-Stack-Endpunkte, die Anforderungen an S3-Buckets über Internetprotokollversion 6 (IPv6) und IPv4 unterstützen. Weitere Informationen finden Sie unter Senden von Anfragen über IPv6.

Optionen für die Bucket-Konfiguration

Amazon S3 unterstützt verschiedene Optionen für die Konfiguration Ihres Buckets. Sie können beispielsweise Ihren Bucket für ein Website-Hosting konfigurieren, eine Konfiguration zur Verwaltung des Lebenszyklus von Objekten im Bucket hinzufügen und den Bucket so konfigurieren, dass er den gesamten Zugriff auf den Bucket protokolliert. Amazon S3 unterstützt Subressourcen, um die Bucket-Konfigurationsinformationen zu speichern und zu verwalten. Das bedeutet, Sie können mit der Amazon S3 API diese Subressourcen erstellen und verwalten. Sie können auch die Konsole oder die AWS SDKs verwenden.

Anmerkung

Außerdem gibt es Konfigurationen auf Objektebene. Beispielsweise können Sie Berechtigungen auf Objektebene konfigurieren, indem Sie eine für dieses Objekt spezifische Zugriffskontrollliste (ACL) konfigurieren.

Man bezeichnet sie als Subressourcen, weil sie im Kontext eines spezifischen Buckets oder Objekts existieren. Die folgende Tabelle listet Subressourcen auf, die ihnen ermöglichen, für den Bucket spezifische Konfigurationen zu verwalten.

Subressource Beschreibung

cors (ursprungsübergreifende gemeinsame Nutzung von Ressourcen)

Sie können Ihren Bucket so konfigurieren, dass er ursprungsübergreifende Anforderungen zulässt.

Weitere Informationen finden Sie unter Aktivieren von Cross-Origin Resource Sharing (CORS).

event notification

Sie können Ihrem Bucket gestatten, Benachrichtigungen über bestimmte Bucket-Ereignisse zu senden.

Weitere Informationen finden Sie unter Konfigurieren von Amazon S3-Ereignisbenachrichtigungen.

Lebenszyklus

Sie können Lebenszyklusregeln für Objekte in Ihrem Bucket mit definiertem Lebenszyklus definieren. Sie können z. B. eine Regel so festlegen, dass Objekte ein Jahr nach dem Erstellungsdatum archiviert werden, oder dass ein Objekt 10 Jahre nach dem Erstellen gelöscht wird.

Weitere Informationen hierzu finden Sie im Abschnitt Objektlebenszyklusverwaltung.

location

Wenn Sie einen Bucket erstellen, geben Sie die AWS-Region an, in der Amazon S3 den Bucket erstellen soll. Amazon S3 speichert diese Informationen am Ort der Subressource und stellt Ihnen eine API bereit, mit der Sie diese Informationen abrufen können.

logging

Protokollierung ermöglicht Ihnen, Zugriffsanforderungen für Ihren Bucket nachzuverfolgen. Jeder Zugriffsprotokolldatensatz enthält Details über eine Zugriffsanforderung, z. B. Auftraggeber, Bucket-Name, Anforderungszeit, Anforderungsaktion, Antwortstatus und Fehlercode, falls vorhanden. Die Zugriffsprotokollinformationen können für Sicherheits- und Zugriffsüberprüfungen nützlich sein. Außerdem erfahren Sie damit mehr über Ihren Kundenstamm und verstehen Ihre Amazon S3-Rechnung.  

Weitere Informationen finden Sie unter Amazon S3 Server-Zugriffsprotokollierung.

Objektsperre

Zur Verwendung einer Amazon S3-Objektsperre muss dies für einen Bucket aktiviert werden. Sie können optional auch einen Standardaufbewahrungsmodus und -zeitraum konfigurieren, der für neue Objekte gilt, die in den Bucket platziert werden.

Weitere Informationen finden Sie unter Bucket-Konfiguration.

policy und ACL (Access Control List, Zugriffskontrollliste)

Standardmäßig sind alle Ihre Ressourcen (wie Buckets und Objekte) privat. Amazon S3 unterstützt die Optionen Bucket-Richtlinie und Zugriffskontrollliste (ACL) für Sie, um Berechtigungen auf Bucket-Ebene zu erteilen und zu verwalten. Amazon S3 speichert die Berechtigungsinformationen in den Subressourcen policy und acl.

Weitere Informationen finden Sie unter Identitäts- und Zugriffsverwaltung in Amazon S3.

Replikation

Die Replikation ist ein automatisches, asynchrones Kopieren von Objekten über Buckets hinweg in derselben oder in verschiedenen AWS-Regionen. Weitere Informationen finden Sie unter Replikation.

requestPayment

Standardmäßig zahlt das AWS-Konto, das den Bucket erstellt (der Bucket-Eigentümer) für die Downloads aus dem Bucket. Mit dieser Subressource kann der Bucket-Eigentümer angeben, dass die Person, die den Download anfordert, die Gebühren für den Download trägt. Amazon S3 stellt eine API für Sie bereit, mit der Sie diese Subressource verwalten können.

Weitere Informationen finden Sie unter Buckets mit Zahlung durch Auftraggeber.

Markieren

Sie können Ihrem Bucket Kostenzuordnungs-Tags zur Kategorisierung und Nachverfolgung der AWS-Kosten hinzufügen. Amazon S3 stellt die Subressource tagging zum Speichern und Verwalten von Tags auf einem Bucket bereit. Mit Hilfe von Tags, die Sie auf Ihren Bucket anwenden, erzeugt AWS einen Kostenzuordnungsbericht mit Nutzungs- und Kostendaten, aggregiert nach Ihren Tags.

Weitere Informationen finden Sie unter Fakturierungs- und Nutzungsberichte für S3-Buckets.

transfer acceleration

Transfer Acceleration unterstützt schnelle, einfache und sichere Übertragungen von Dateien zwischen Ihrem Client und einem S3-Bucket über große Entfernungen. Transfer Acceleration nutzt die global verteilten Edge-Standorte von Amazon CloudFront.

Weitere Informationen finden Sie unter Amazon S3 Transfer Acceleration.

Versioning

Versioning hilft Ihnen bei einer Wiederherstellung nach einem versehentlichen Überschreiben und Löschen.

Wir empfehlen das Versioning als bewährte Methode, um zu verhindern, dass Objekte versehentlich gelöscht oder überschrieben werden.

Weitere Informationen finden Sie unter Verwenden von Versioning.

Website

Sie können Ihren Bucket für ein Hosting statischer Websites konfigurieren. Amazon S3 speichert diese Konfiguration, indem es eine Website-Subressource erstellt.

Weitere Informationen finden Sie unter Hosting einer statischen Website auf Amazon S3.