Kopieren, Verschieben und Umbenennen von Objekten - Amazon Simple Storage Service

Kopieren, Verschieben und Umbenennen von Objekten

Der Vorgang CopyObject erstellt eine Kopie eines Objekts, das bereits in Amazon S3 gespeichert ist.

Sie können eine Kopie eines Objekts mit einer Größe von bis zu 5 GB in einer einzigen atomaren Operation hochladen. Um jedoch ein Objekt zu kopieren, das größer als 5 GB ist, müssen Sie einen mehrteiligen Upload mit den SDKs AWS CLI oder AWS verwenden. Weitere Informationen finden Sie unter Kopieren eines Objekts mit Multipart-Upload.

Anmerkung

Um den Leistungsvorteil eines Objekts, das Sie mit dem mehrteiligen Upload hochgeladen haben, beizubehalten, müssen Sie das Objekt mit dem mehrteiligen Upload unter Verwendung des SDK AWS CLI oder AWS anstatt der S3-Konsole kopieren. Weitere Informationen finden Sie unter Kopieren eines Objekts mit Multipart-Upload.

Mit der CopyObject-Operation können Sie:

  • Zusätzliche Kopien von Objekten erstellen.

  • Objekte umbenennen, indem Sie sie kopieren und die Originalobjekte löschen

  • Objekte von einem Bucket in einen anderen kopieren oder verschieben, auch zwischen AWS-Regionen (z. B. von us-west-1 nach eu-west-2). Wenn Sie ein Objekt verschieben, kopiert Amazon S3 das Objekt an das angegebene Ziel und löscht dann das Quellobjekt.

    Anmerkung

    Beim Kopieren von Objekten über verschiedene AWS-Regionen hinweg fallen Bandbreitengebühren an. Weitere Informationen finden Sie unter Amazon S3 – Preise.

  • Ändern von Objektmetadaten. Jedes Amazon-S3-Objekt hat Metadaten. Diese Metadaten bestehen aus Name/Wert-Paaren. Sie können Objektmetadaten beim Hochladen eines Objekts festlegen. Nachdem Sie das Objekt hochgeladen haben, können Sie die Metadaten des Objekts nicht mehr ändern. Die einzige Methode, wie Sie Objekt-Metadaten ändern können, ist es, eine Kopie des Objekts anzulegen und die Metadaten festzulegen. Geben Sie dafür beim Kopiervorgang dasselbe Objekt als Quelle und Ziel an.

    Einige Objektmetadaten sind Systemmetadaten und andere sind benutzerdefiniert. Sie können einige der Systemmetadaten steuern. Sie können beispielsweise die Speicherklasse und die Art der serverseitigen Verschlüsselung steuern, die für das Objekt verwendet werden sollen. Wenn Sie ein Objekt kopieren, werden auch die Systemmetadaten und benutzerdefinierte Metadaten kopiert. Amazon S3 setzt die vom System gesteuerten Metadaten zurück. Wenn Sie beispielsweise ein Objekt kopieren, setzt Amazon S3 das Erstellungsdatum des kopierten Objekts zurück. Sie müssen keine dieser systemgesteuerten Metadatenwerte in Ihrer Kopieranfrage festlegen.

    Wenn Sie ein Objekt kopieren, wollen Sie möglicherweise einige der Metadatenwerte aktualisieren. Wenn Ihr Quellobjekt beispielsweise für die Verwendung des S3-Standardspeichers konfiguriert ist, könnten Sie entscheiden, für die Objektkopie S3 Intelligent Tiering zu verwenden. Außerdem könnten Sie entscheiden, einige der benutzerdefinierten Metadatenwerte für das Quellobjekt zu aktualisieren. Wenn Sie entschieden haben, beim Kopieren vom Benutzer des Objekts konfigurierbare Metadaten zu aktualisieren (System oder benutzerdefiniert), müssen Sie explizit alle vom Benutzer konfigurierbaren Metadaten angeben, die im Quellobjekt Ihrer Anforderung vorhanden sind, selbst wenn Sie nur einen der Metadatenwerte ändern.

    Anmerkung

    Wenn Sie ein Objekt mit der Amazon-S3-Konsole kopieren, wird möglicherweise die Fehlermeldung „Kopierte Metadaten können nicht verifiziert werden“ angezeigt. Die Konsole verwendet Header, um Metadaten für Ihr Objekt abzurufen und festzulegen. Wenn Ihre Netzwerk- oder Browserkonfiguration Ihre Netzwerkanfragen ändert, kann dieses Verhalten dazu führen, dass unbeabsichtigt Metadaten (z. B. geänderte Cache-Control Header) in Ihr kopiertes Objekt geschrieben werden. Amazon S3 kann diese unbeabsichtigten Metadaten nicht überprüfen.

    Um dieses Problem zu beheben, überprüfen Sie Ihre Netzwerk- und Browserkonfiguration, um sicherzustellen, dass keine Header geändert werden, wie Cache-Control. Weitere Informationen finden Sie unter Das Standard-Modell der geteilten Verantwortung.

    Weitere Informationen zu Objekt-Metadaten erhalten Sie unter Arbeiten mit Objekt-Metadaten.

Kopieren archivierter und wiederhergestellter Objekte

Wenn das Quellobjekt in S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive archiviert ist, müssen Sie zuerst eine temporäre Kopie wiederherstellen, bevor Sie das Objekt in einen anderen Bucket kopieren können. Weitere Informationen über das Archivieren von Objekten finden Sie unter Arbeiten mit archivierten Objekten.

Die Vorgang Kopieren für wiederhergestellte Objekte wird in der Amazon-S3-Konsole für Objekte in der Speicherklasse S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive nicht unterstützt. Um diese wiederhergestellten Objekte zu kopieren, verwenden Sie die AWS Command Line Interface (AWS CLI), die AWS-SDKs oder die Amazon-S3-REST-API.

Kopieren verschlüsselter Objekte

Amazon S3 verschlüsselt alle neuen Objekte, die in einen S3-Bucket kopiert werden, automatisch. Wenn Sie in Ihrer Kopieranforderung keine Verschlüsselungsinformationen angeben, wird die Verschlüsselungseinstellung des Zielobjekts auf die Standardverschlüsselungskonfiguration des Ziel-Buckets festgelegt. Standardmäßig verfügen alle Buckets über eine Grundebene der Verschlüsselungskonfiguration, die eine serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) verwendet. Wenn der Ziel-Bucket über eine Standardverschlüsselungskonfiguration verfügt, die serverseitige Verschlüsselung mit einem AWS Key Management Service (AWS KMS)-Schlüssel (SSE-KMS) oder einem vom Kunden bereitgestellten Verschlüsselungsschlüssel (SSE-C) verwendet, verschlüsselt Amazon S3 die Zielobjektkopie mit dem entsprechenden KMS-Schlüssel oder einem vom Kunden bereitgestellten Schlüssel.

Wenn Sie beim Kopieren eines Objekts eine andere Verschlüsselungseinstellung für das Zielobjekt verwenden möchten, können Sie festlegen, dass Amazon S3 das Zielobjekt mit einem KMS-Schlüssel, einem von Amazon S3 verwalteten Schlüssel oder einem vom Kunden bereitgestellten Schlüssel verschlüsseln soll. Wenn sich die Verschlüsselungseinstellung in Ihrer Anforderung von der Standardverschlüsselungskonfiguration des Ziel-Buckets unterscheidet, hat die Verschlüsselungseinstellung in Ihrer Anfrage Vorrang. Wenn das Quellobjekt für den Kopiervorgang mithilfe von SSE-C verschlüsselt ist, müssen Sie die erforderlichen Verschlüsselungsinformationen in Ihrer Anforderung angeben, damit Amazon S3 das Objekt zum Kopieren entschlüsseln kann. Weitere Informationen finden Sie unter Datenschutz durch Verschlüsselung.

Verwenden von Prüfsummen beim Kopieren von Objekten

Beim Kopieren von Objekten können Sie einen anderen Prüfsummenalgorithmus für das Objekt verwenden. Unabhängig davon, ob Sie denselben oder einen neuen Algorithmus verwenden, berechnet Amazon S3 einen neuen Prüfsummenwert, nachdem das Objekt kopiert wurde. Amazon S3 kopiert den Wert der Prüfsumme nicht direkt. Alle kopierten Objekte ohne Prüfsummen und mit angegebenen Ziel-Prüfsummenalgorithmen erhalten automatisch einen CRC-64NVME-Prüfsummenalgorithmus. Weitere Informationen zum Berechnen der Prüfsumme finden Sie unter Hochladen und Kopieren von Objekten mit mehrteiligen Uploads in Amazon S3.

Kopieren mehrerer Objekte in einer einzelnen Anforderung

Um mehr als ein Amazon-S3-Objekt mit einer einzigen Anforderung zu kopieren, können Sie auch S3 Batch Operations verwenden. Sie stellen S3 Batch Operations eine Liste von Objekten zur Verfügung, für die Vorgänge ausgeführt werden sollen. S3-Batchoperationen rufen die entsprechende API-Operation auf, um die angegebene Operation auszuführen. Ein einzelner Batch-Operations-Auftrag kann die angegebene Operation für Milliarden von Objekten ausführen, die Exabytes von Daten enthalten.

Die Funktion „S3-Batchoperationen“ verfolgt den Fortschritt, versendet Benachrichtigungen und speichert einen detaillierten Abschlussbericht zu allen Aktionen. Sie profitieren von einer vollständig verwalteten, prüfbaren und serverlosen Umgebung. Sie können S3-Batchoperationen über die Amazon S3-Konsole, AWS CLI, die AWS-SDKs oder REST-API verwenden. Weitere Informationen finden Sie unter Grundlagen von S3-BatchVorgänge.

Kopieren von Objekten in Verzeichnis-Buckets

Informationen zum Kopieren eines Objekts in einen Verzeichnis-Bucket finden Sie unter Kopieren von Objekten von oder zu einem Verzeichnis-Bucket. Informationen zur Verwendung der Speicherklasse Amazon S3 Express One Zone mit Verzeichnis-Buckets finden Sie unter S3 Express One Zone und Arbeiten mit Verzeichnis-Buckets.

Ein Objekt kopieren

Verwenden Sie die folgenden Methoden, um ein Objekt zu kopieren.

Anmerkung

Beim Kopieren eines Objekts mit der Konsole gelten folgende Einschränkungen:

  • Sie können ein Objekt kopieren, wenn es kleiner als 5 GB ist. Wenn Ihr Objekt größer als 5 GB ist, müssen Sie die AWS CLI oder AWS-SDKs verwenden, um ein Objekt zu kopieren.

  • Eine Liste mit zusätzlichen Berechtigungen, die für das Kopieren von Objekten erforderlich sind, finden Sie unter Erforderliche Berechtigungen für Amazon-S3-API-Operationen. Beispielrichtlinien, die diese Berechtigungen erteilen, finden Sie unter Beispiele für identitätsbasierte Richtlinien für Amazon S3.

  • Die Copy-Aktion gilt für alle Objekte in den angegebenen Ordnern (Präfixe). Objekte, die während der laufenden Aktion in diese Ordner hinzugefügt werden, könnten betroffen sein.

  • Regionsübergreifendes Kopieren von mit SSE-KMS verschlüsselten Objekten wird von der Amazon-S3-Konsole nicht unterstützt. Um mit SSE-KMS verschlüsselte Objekte regionsübergreifend zu kopieren, verwenden Sie die AWS CLI, das AWS-SDK oder die Amazon-S3-REST-API.

  • Objekte, die mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln (SSE-C) verschlüsselt wurden, können nicht mit der S3-Konsole kopiert werden. Um mit SSE-C verschlüsselte Objekte zu kopieren, verwenden Sie die AWS CLI, das AWS-SDK oder die Amazon-S3-REST-API.

  • Bei kopierten Objekten werden die Object-Lock-Einstellungen der Originalobjekte nicht beibehalten.

  • Wenn der Bucket, aus dem Sie Objekte kopieren, die Einstellung „Bucket-Eigentümer erzwungen“ für S3 Object Ownership verwendet, werden Objekt-ACLs nicht in das angegebene Ziel kopiert.

  • Wenn Sie Objekte in einen Bucket kopieren möchten, der die Einstellung „Bucket-Eigentümer erzwungen“ für S3 Object Ownership verwendet, stellen Sie sicher, dass der Quell-Bucket auch die erzwungene Einstellung des Bucket-Eigentümers verwendet, oder entfernen Sie alle Objekt-ACL-Zuweisungen zu anderen AWS-Konten und -Gruppen.

Ein Objekt kopieren
  1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie im linken Navigationsbereich Allzweck-Buckets oder Verzeichnis-Buckets aus.

  3. Wählen Sie in der Liste Buckets den Namen des Buckets aus, der die Objekte enthält, die Sie kopieren möchten.

  4. Markieren Sie das Kontrollkästchen links neben den Namen der Objekte, die Sie kopieren möchten.

  5. Wählen Sie im Menü Aktionen aus der angezeigten Liste der Optionen Kopieren aus.

  6. Wählen Sie den Zieltyp und das Zielkonto aus. Um den Zielpfad anzugeben, wählen Sie Browse S3 (S3 durchsuchen), navigieren Sie zum Ziel und markieren Sie das Kontrollkästchen links von dem Ziel. Wählen Sie unten rechts Choose destination (Ziel auswählen) aus.

    Geben Sie alternativ den Zielpfad ein.

  7. Wenn Sie die Bucket-Versionsverwaltung nicht aktiviert haben, wird eine Warnung angezeigt, in der empfohlen wird, die Bucket-Versionsverwaltung zu aktivieren, um Objekte vor unbeabsichtigtem Überschreiben oder Löschen zu schützen. Wenn Sie alle Versionen von Objekten in diesem Bucket behalten möchten, wählen Sie Enable Bucket Versioning (Bucket-Versionierung aktivieren). Sie können auch die Eigenschaften der Standardverschlüsselung und S3-Objektsperre unter Zielinformationen aktualisieren.

  8. Wählen Sie unter Zusätzliche Kopiereinstellungen aus, ob Sie Quelleinstellungen kopieren, Keine Einstellungen angeben oder Einstellungen angeben möchten. Quelleinstellungen kopieren ist die Standardoption. Wenn Sie das Objekt nur ohne die Quelleinstellungsattribute kopieren möchten, wählen Sie Keine Einstellungen angeben aus. Wählen Sie Einstellungen angeben aus, um Einstellungen für die Speicherklasse, ACLs, Objekt-Tags, Metadaten, serverseitige Verschlüsselung und zusätzliche Prüfsummen anzugeben.

  9. Wählen Sie unten rechts Copy (Kopieren) aus. Amazon S3 kopiert Ihre Objekte in den Zielordner.

Die Beispiele in diesem Abschnitt zeigen, wie Objekte mit bis zu 5 GB in einer einzigen Operation kopiert werden können. Wenn Sie Objekte kopieren möchten, die größer als 5 GB sind, müssen Sie einen mehrteiligen Upload verwenden. Weitere Informationen finden Sie unter Kopieren eines Objekts mit Multipart-Upload.

Java

Beispiele für das Kopieren von Objekten mit dem AWS SDK für Java finden Sie unter Kopieren eines Objekts von einem Bucket in einen anderen in der Amazon S3 API Reference.

.NET

Das folgende C#-Beispiel verwendet High-Level-SDK für .NET, um Objekte bis zu einer Größe von 5 GB in einer einzigen Operation zu kopieren. Für Objekte mit mehr als 5 GB müssen Sie das in beschriebene Kopierbeispiel für mehrteilige Uploads verwende Kopieren eines Objekts mit Multipart-Upload.

In diesem Beispiel wird eine Kopie eines Objekts bis zu einer Größe von 5 GB erstellt. Informationen zum Einrichten und Ausführen der Codebeispiele finden Sie unter Erste Schritte mit dem AWS SDK für .NET im Entwicklerbuch für AWS SDK für .NET.

using Amazon; using Amazon.S3; using Amazon.S3.Model; using System; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class CopyObjectTest { private const string sourceBucket = "*** provide the name of the bucket with source object ***"; private const string destinationBucket = "*** provide the name of the bucket to copy the object to ***"; private const string objectKey = "*** provide the name of object to copy ***"; private const string destObjectKey = "*** provide the destination object key name ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 s3Client; public static void Main() { s3Client = new AmazonS3Client(bucketRegion); Console.WriteLine("Copying an object"); CopyingObjectAsync().Wait(); } private static async Task CopyingObjectAsync() { try { CopyObjectRequest request = new CopyObjectRequest { SourceBucket = sourceBucket, SourceKey = objectKey, DestinationBucket = destinationBucket, DestinationKey = destObjectKey }; CopyObjectResponse response = await s3Client.CopyObjectAsync(request); } catch (AmazonS3Exception e) { Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message); } catch (Exception e) { Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message); } } } }
PHP

Dieses Thema führt Sie durch die Verwendung von Klassen aus Version 3 von AWS SDK für PHP für das Kopieren eines einzelnen Objekts sowie mehrerer Objekte in Amazon S3 aus einem Bucket in einen anderen oder innerhalb desselben Buckets.

Weitere Informationen zur AWS-SDK für Ruby API finden Sie unter AWS-SDK für Ruby – Version 2.

Das folgende PHP-Beispiel zeigt, wie die copyObject() -Methode zum Kopieren eines einzelnen Objekts in Amazon S3 verwendet wird. Es zeigt auch, wie Sie mehrere Kopien eines Objekts erstellen, indem Sie eine Reihe von CopyObject-Aufrufen mit der getcommand()-Methode verwenden.

Objekte kopieren

1

Erstellen Sie mit dem Klassenkonstruktor Aws\S3\S3Client eine Instance eines Amazon-S3-Clients.

2

Um mehrere Kopien eines Objekts zu erstellen, führen Sie eine Reihe von Aufrufen für die Methode getCommand() des Amazon-S3-Clients aus, die von der Klasse Aws\CommandInterface geerbt wird. Sie stellen den CopyObject-Befehl als erstes Argument, sowie ein Array mit dem Quell-Bucket, dem Quellschlüsselnamen, dem Ziel-Bucket und dem Zielschlüsselnamen als zweites Argument bereit.

require 'vendor/autoload.php'; use Aws\CommandPool; use Aws\Exception\AwsException; use Aws\ResultInterface; use Aws\S3\S3Client; $sourceBucket = '*** Your Source Bucket Name ***'; $sourceKeyname = '*** Your Source Object Key ***'; $targetBucket = '*** Your Target Bucket Name ***'; $s3 = new S3Client([ 'version' => 'latest', 'region' => 'us-east-1' ]); // Copy an object. $s3->copyObject([ 'Bucket' => $targetBucket, 'Key' => "$sourceKeyname-copy", 'CopySource' => "$sourceBucket/$sourceKeyname", ]); // Perform a batch of CopyObject operations. $batch = array(); for ($i = 1; $i <= 3; $i++) { $batch[] = $s3->getCommand('CopyObject', [ 'Bucket' => $targetBucket, 'Key' => "{targetKeyname}-$i", 'CopySource' => "$sourceBucket/$sourceKeyname", ]); } try { $results = CommandPool::batch($s3, $batch); foreach ($results as $result) { if ($result instanceof ResultInterface) { // Result handling here } if ($result instanceof AwsException) { // AwsException handling here } } } catch (Exception $e) { // General error handling here }
Python
class ObjectWrapper: """Encapsulates S3 object actions.""" def __init__(self, s3_object): """ :param s3_object: A Boto3 Object resource. This is a high-level resource in Boto3 that wraps object actions in a class-like structure. """ self.object = s3_object self.key = self.object.key
def copy(self, dest_object): """ Copies the object to another bucket. :param dest_object: The destination object initialized with a bucket and key. This is a Boto3 Object resource. """ try: dest_object.copy_from( CopySource={"Bucket": self.object.bucket_name, "Key": self.object.key} ) dest_object.wait_until_exists() logger.info( "Copied object from %s:%s to %s:%s.", self.object.bucket_name, self.object.key, dest_object.bucket_name, dest_object.key, ) except ClientError: logger.exception( "Couldn't copy object from %s/%s to %s/%s.", self.object.bucket_name, self.object.key, dest_object.bucket_name, dest_object.key, ) raise
Ruby

Die folgenden Aufgaben führen Sie durch die Verwendung der Ruby-Klassen für das Kopieren eines Objekts in Amazon S3 aus einem Bucket in einen anderen oder innerhalb desselben Buckets.

Objekte kopieren

1

Verwenden Sie das modularisierte Amazon-S3-Gem für Version 3 des AWS SDK für Ruby, fordern Sie aws-sdk-s3 an und geben Sie Ihre AWS-Anmeldeinformationen an. Weitere Informationen zur Angabe Ihrer Anmeldeinformationen finden Sie unter Senden von Anforderungen mit den Anmeldeinformationen des AWS-Kontos oder IAM-Benutzers in der Amazon-S3-API-Referenz.

2

Stellen Sie die Anforderungsinformationen bereit, wie beispielsweise den Bucket-Namen, den Quellschlüsselnamen, den Ziel-Bucket-Namen und den Zielschlüssel.

Das folgende Ruby-Codebeispiel demonstriert die oben beschriebenen Aufgaben unter Verwendung der #copy_object-Methode zum Kopieren eines Objekts aus einem Bucket in einen anderen.

require 'aws-sdk-s3' # Wraps Amazon S3 object actions. class ObjectCopyWrapper attr_reader :source_object # @param source_object [Aws::S3::Object] An existing Amazon S3 object. This is used as the source object for # copy actions. def initialize(source_object) @source_object = source_object end # Copy the source object to the specified target bucket and rename it with the target key. # # @param target_bucket [Aws::S3::Bucket] An existing Amazon S3 bucket where the object is copied. # @param target_object_key [String] The key to give the copy of the object. # @return [Aws::S3::Object, nil] The copied object when successful; otherwise, nil. def copy_object(target_bucket, target_object_key) @source_object.copy_to(bucket: target_bucket.name, key: target_object_key) target_bucket.object(target_object_key) rescue Aws::Errors::ServiceError => e puts "Couldn't copy #{@source_object.key} to #{target_object_key}. Here's why: #{e.message}" end end # Example usage: def run_demo source_bucket_name = "amzn-s3-demo-bucket1" source_key = "my-source-file.txt" target_bucket_name = "amzn-s3-demo-bucket2" target_key = "my-target-file.txt" source_bucket = Aws::S3::Bucket.new(source_bucket_name) wrapper = ObjectCopyWrapper.new(source_bucket.object(source_key)) target_bucket = Aws::S3::Bucket.new(target_bucket_name) target_object = wrapper.copy_object(target_bucket, target_key) return unless target_object puts "Copied #{source_key} from #{source_bucket_name} to #{target_object.bucket_name}:#{target_object.key}." end run_demo if $PROGRAM_NAME == __FILE__

Dieses Beispiel beschreibt, wie ein Objekt mithilfe der Amazon-S3-REST-API kopiert wird. Weitere Informationen zur REST-API finden Sie unter CopyObject.

Dieses Beispiel kopiert das flotsam-Objekt aus dem amzn-s3-demo-bucket1-Bucket in das jetsam-Objekt des amzn-s3-demo-bucket2-Buckets, wobei seine Metadaten beibehalten werden.

PUT /jetsam HTTP/1.1 Host: amzn-s3-demo-bucket2.s3.amazonaws.com x-amz-copy-source: /amzn-s3-demo-bucket1/flotsam Authorization: AWS AKIAIOSFODNN7EXAMPLE:ENoSbxYByFA0UGLZUqJN5EUnLDg= Date: Wed, 20 Feb 2008 22:12:21 +0000

Die Signatur wurde aus den folgenden Informationen generiert.

PUT\r\n \r\n \r\n Wed, 20 Feb 2008 22:12:21 +0000\r\n x-amz-copy-source:/amzn-s3-demo-bucket1/flotsam\r\n /amzn-s3-demo-bucket2/jetsam

Amazon S3 gibt die folgende Antwort zurück, die das ETag des Objekts angibt, und wann es zuletzt geändert wurde.

HTTP/1.1 200 OK x-amz-id-2: Vyaxt7qEbzv34BnSu5hctyyNSlHTYZFMWK4FtzO+iX8JQNyaLdTshL0KxatbaOZt x-amz-request-id: 6B13C3C5B34AF333 Date: Wed, 20 Feb 2008 22:13:01 +0000 Content-Type: application/xml Transfer-Encoding: chunked Connection: close Server: AmazonS3 <?xml version="1.0" encoding="UTF-8"?> <CopyObjectResult> <LastModified>2008-02-20T22:13:01</LastModified> <ETag>"7e9c608af58950deeb370c98608ed097"</ETag> </CopyObjectResult>

Sie können auch die AWS Command Line Interface (AWS CLI) verwenden, um ein S3-Objekt zu kopieren. Weitere Informationen finden Sie unter copy-object in der Referenz zum AWS CLI-Befehl.

Weitere Informationen zu AWS CLI, finden Sie unter Was ist AWS Command Line Interface? im AWS Command Line Interface-Benutzerhandbuch.

So verschieben Sie ein Objekt

Verwenden Sie die folgenden Methoden, um ein Objekt zu verschieben.

Anmerkung
  • Sie können ein Objekt verschieben, wenn es kleiner als 5 GB ist. Wenn Ihr Objekt größer als 5 GB ist, müssen Sie die AWS CLI oder AWS-SDKs verwenden, um ein Objekt zu verschieben.

  • Eine Liste mit zusätzlichen Berechtigungen, die für das Verschieben von Objekten erforderlich sind, finden Sie unter Erforderliche Berechtigungen für Amazon-S3-API-Operationen. Beispielrichtlinien, die diese Berechtigungen erteilen, finden Sie unter Beispiele für identitätsbasierte Richtlinien für Amazon S3.

  • Objekte, die mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln (SSE-C) verschlüsselt sind, können nicht über die Amazon-S3-Konsole verschoben werden. Um mit SSE-C verschlüsselte Objekte zu kopieren oder zu verschieben, verwenden Sie die AWS CLI, die AWS-SDKs oder die Amazon-S3-REST-API.

  • Warten Sie beim Verschieben von Ordnern bis die Operation Verschieben abgeschlossen ist, bevor Sie weitere Änderungen an den Ordnern durchführen.

  • Sie können S3-Zugangspunkt-Aliasse nicht als Quelle oder Ziel für Verschieben-Operationen in der Amazon-S3-Konsole verwenden.

So verschieben Sie ein Objekt
  1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie im linken Navigationsbereich Buckets aus. Navigieren Sie zum Amazon-S3-Bucket oder -Ordner, der die Objekte enthält, die Sie verschieben möchten.

  3. Aktivieren Sie das Kontrollkästchen für die Objekte, die Sie verschieben möchten.

  4. Wählen Sie im Menü Aktionen die Option Verschieben aus.

  5. Um den Zielpfad anzugeben, wählen Sie S3 durchsuchen aus, navigieren Sie zum Ziel und markieren Sie das Kontrollkästchen des Ziels. Wählen Sie Choose destination (Ziel wählen).

    Geben Sie alternativ den Zielpfad ein.

  6. Wenn Sie die Bucket-Versionsverwaltung nicht aktiviert haben, wird eine Warnung angezeigt, in der empfohlen wird, die Bucket-Versionsverwaltung zu aktivieren, um Objekte vor unbeabsichtigtem Überschreiben oder Löschen zu schützen. Wenn Sie alle Versionen von Objekten in diesem Bucket behalten möchten, wählen Sie Enable Bucket Versioning (Bucket-Versionierung aktivieren). Sie können auch die Eigenschaften der Standard-Verschlüsselung und der Objektsperre unter Zielinformationen ansehen.

  7. Wählen Sie unter Zusätzliche Kopiereinstellungen aus, ob Sie Quelleinstellungen kopieren, Keine Einstellungen angeben oder Einstellungen angeben möchten. Quelleinstellungen kopieren ist die Standardoption. Wenn Sie das Objekt nur ohne die Quelleinstellungsattribute kopieren möchten, wählen Sie Keine Einstellungen angeben aus. Wählen Sie Einstellungen angeben aus, um Einstellungen für die Speicherklasse, ACLs, Objekt-Tags, Metadaten, serverseitige Verschlüsselung und zusätzliche Prüfsummen anzugeben.

  8. Wählen Sie unten rechts Move (Verschieben) aus. Amazon S3 verschiebt Ihre Objekte in den Zielordner.

Sie können auch die AWS Command Line Interface (AWS CLI) verwenden, um ein S3-Objekt zu verschieben. Weitere Informationen finden Sie unter mv in der Referenz zum AWS CLI-Befehl.

Weitere Informationen zu AWS CLI, finden Sie unter Was ist AWS Command Line Interface? im AWS Command Line Interface-Benutzerhandbuch.

So benennen Sie ein Objekt um

Gehen Sie wie folgt vor, um ein Objekt umzubenennen.

Anmerkung
  • Sie können ein Objekt umbenennen, wenn es kleiner als 5 GB ist. Um Objekte umzubenennen, die größer als 5 GB sind, müssen Sie das Objekt mithilfe der AWS CLI oder AWS-SDKs oder mit einem neuen Namen kopieren und anschließend das ursprüngliche Objekt löschen.

  • Eine Liste mit zusätzlichen Berechtigungen, die für das Kopieren von Objekten erforderlich sind, finden Sie unter Erforderliche Berechtigungen für Amazon-S3-API-Operationen. Beispielrichtlinien, die diese Berechtigungen erteilen, finden Sie unter Beispiele für identitätsbasierte Richtlinien für Amazon S3.

  • Beim Umbenennen eines Objekts wird eine Kopie des Objekts mit einem neuen Datum der letzten Änderung erstellt und dem ursprünglichen Objekt wird eine Löschmarkierung hinzugefügt.

  • Bucket-Einstellungen für die Standardverschlüsselung werden automatisch auf alle angegebenen unverschlüsselten Objekte angewendet.

  • Sie können die Amazon-S3-Konsole nicht verwenden, um Objekte mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln (SSE-C) umzubenennen. Um mit SSE-C verschlüsselte Objekte umzubenennen, verwenden Sie die AWS CLI, die AWS-SDKs oder die Amazon-S3-REST-API, um diese Objekte mit neuen Namen zu kopieren.

  • Wenn dieser Bucket die erzwungene Einstellung für den Bucket-Eigentümer für S3 Object Ownership verwendet, werden Zugriffssteuerungslisten (ACL) für Objekte nicht kopiert.

So benennen Sie ein Objekt um
  1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie im Navigationsbereich Buckets und dann die Registerkarte Allzweck-Buckets aus. Navigieren Sie zum Amazon-S3-Bucket oder -Ordner, der das Objekt enthält, das Sie kopieren möchten.

  3. Aktivieren Sie das Kontrollkästchen für das Objekt, das Sie umbenennen möchten.

  4. Wählen Sie im Menü Aktionen die Option Objekt umbenennen aus.

  5. Geben Sie im Feld Neuer Objektname den neuen Namen für das Objekt ein.

  6. Wählen Sie unter Zusätzliche Kopiereinstellungen aus, ob Sie Quelleinstellungen kopieren, Keine Einstellungen angeben oder Einstellungen angeben möchten. Quelleinstellungen kopieren ist die Standardoption. Wenn Sie das Objekt nur ohne die Quelleinstellungsattribute kopieren möchten, wählen Sie Keine Einstellungen angeben aus. Wählen Sie Einstellungen angeben aus, um Einstellungen für die Speicherklasse, ACLs, Objekt-Tags, Metadaten, serverseitige Verschlüsselung und zusätzliche Prüfsummen anzugeben.

  7. Wählen Sie Save Changes (Änderungen speichern). Amazon S3 benennt Ihr Objekt um.