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

Arbeiten mit Amazon S3-Buckets

Bei Amazon S3 handelt es sich um Cloud-Speicher für das Internet. Zum Hochladen Ihrer Daten (Fotos, Videos, Dokumente usw.) erstellen Sie zunächst einen 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 Anfragen 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.

Ein Amazon S3-Bucket-Namen ist global eindeutig, unabhängig von der AWS-Region, in der Sie den Bucket erstellen. Sie geben den Namen an, wenn Sie den Bucket erstellen. 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 reduzieren und auf gesetzliche Anforderungen eingehen zu können, können Sie eine beliebige AWS-Region wählen. Wenn Sie beispielsweise in Europa ansässig sind, könnte es vorteilhaft sein, Buckets in den Regionen EU (Irland) oder EU (Frankfurt). 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. In der Region EU (Irland) gespeicherte Objekte verlassen diese Region nicht.

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 Ihr Bucket-Limit 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:

  • Mit der Konsole.

  • Programmgesteuert mit den AWS-SDKs.

    Anmerkung

    Falls nötig, können Sie auch die REST API-Aufrufe in Amazon S3 direkt von Ihrem Code aus durchführen. Allerdings kann dies aufwändig sein, weil Sie Code zur Authentifizierung Ihrer Anfragen 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 Anfrage zum Erstellen eines Buckets. Sie können beim Erstellen des Clients eine AWS-Region angeben. USA Ost (Nord-Virginia) ist die Standardregion. 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

      Sie können diesen Client verwenden, um einen Bucket in einer beliebigen AWS-Region zu erstellen. In Ihrer Anfrage 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 mit Angabe der Region eu-west-1 region erstellen, wird sie auf den folgenden regionsspezifischen Endpunkt abgebildet:

      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 Anfrage 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 in 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 Anfragen 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 auf der Webseite zu Root-Kontoanmeldeinformationen im Vergleich zu IAM-Benutzeranmeldeinformationen in der allgemeinen AWS-Referenz und 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 Übersicht über die Verwaltung von Zugriffsberechtigungen für Ihre Amazon S3-Ressourcen.

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 PathStyle für den Zugriff auf einen Bucket.

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

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

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

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

    Weitere Informationen finden Sie unter Virtuelles Hosting bei Buckets.

     

  • Bei einer URL im PathStyle ist der Bucket-Name nicht Teil der Domäne (es sei denn, Sie verwenden einen regionsspezifischen Endpunkt). Beispiel:

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

    • Regionsspezifischer Endpunkt, http://s3-aws-region.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

Der Zugriff auf Buckets ist mit URLs im PathStyle und im Stil eines virtuellen Hostings möglich, deshalb 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 Anfragen an S3-Buckets über Internetprotokollversion 6 (IPv6) und IPv4 unterstützen. Weitere Informationen finden Sie unter Anfragen über IPv6 senden.

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

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 in der Subressource location und stellt Ihnen eine API bereit, mit der Sie diese Informationen abrufen können.

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 Übersicht über die Verwaltung von Zugriffsberechtigungen für Ihre Amazon S3-Ressourcen.

cors (ursprungsübergreifende gemeinsame Nutzung von Ressourcen)

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

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

Website

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

Weitere Informationen finden Sie unter Hosting a Static Website on Amazon S3.

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.

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.

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.

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.

Regionenübergreifende Replikation

Die regionsübergreifende Replikation ist ein automatisches, asynchrones Kopieren von Objekten in den Buckets verschiedener AWS-Regionen. Weitere Informationen finden Sie unter Regionsübergreifende Replikation (CRR).

Markieren

Sie können Ihrem Bucket Kostenzuordnungs-Tags zur Kategorisierung und Nachverfolgung der AWS-Kosten hinzufügen. Amazon S3 unterstützt die tagging-Subressource, um Tags für einen Bucket zu speichern und zu verwalten. 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.

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 Requester Pays Buckets.

transfer acceleration

Transfer Acceleration ermöglicht die schnelle, einfache und sichere Übertragung von Dateien über größere Entfernungen zwischen Ihrem Client und einem S3-Bucket. Transfer Acceleration nutzt die weltweit verteilten Edge-Standorte von Amazon CloudFront.

Weitere Informationen finden Sie unter Amazon S3 Transfer Acceleration.