Weitere AWS SDK-Beispiele sind im GitHub Repo AWS Doc SDK Examples
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwendung PutBucketReplication mit einem AWS SDK oder CLI
Die folgenden Code-Beispiele zeigen, wie PutBucketReplication verwendet wird.
- CLI
-
- AWS CLI
-
So konfigurieren Sie die Replikation für einen S3-Bucket
Im folgenden Beispiel für
put-bucket-replicationwird eine Replikationskonfiguration auf den angegebenen S3-Bucket angewendet.aws s3api put-bucket-replication \ --bucketamzn-s3-demo-bucket1\ --replication-configurationfile://replication.jsonInhalt von
replication.json:{ "Role": "arn:aws:iam::123456789012:role/s3-replication-role", "Rules": [ { "Status": "Enabled", "Priority": 1, "DeleteMarkerReplication": { "Status": "Disabled" }, "Filter" : { "Prefix": ""}, "Destination": { "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket2" } } ] }Für den Ziel-Bucket muss die Versionsverwaltung aktiviert sein. Die angegebene Rolle muss über Schreibberechtigungen für den Ziel-Bucket verfügen und eine Vertrauensbeziehung besitzen, die es Amazon S3 ermöglicht, die Rolle zu übernehmen.
Beispiel einer Rollenberechtigungsrichtlinie:
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ] }, { "Effect": "Allow", "Action": [ "s3:GetObjectVersion", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*" ] }, { "Effect": "Allow", "Action": [ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket2/*" } ] }Beispiel einer Vertrauensstellungsrichtlinie:
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }Mit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Titel des Themas im Benutzerhandbuch für Amazon Simple Storage Service Console.
-
Einzelheiten zur API finden Sie PutBucketReplication
in der AWS CLI Befehlsreferenz.
-
- Java
-
- SDK für Java 2.x
-
Anmerkung
Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS -Code-Beispiel-
einrichten und ausführen. /** * Sets the replication configuration for an Amazon S3 bucket. * * @param s3Client the S3Client instance to use for the operation * @param sourceBucketName the name of the source bucket * @param destBucketName the name of the destination bucket * @param destinationBucketARN the Amazon Resource Name (ARN) of the destination bucket * @param roleARN the ARN of the IAM role to use for the replication configuration */ public static void setReplication(S3Client s3Client, String sourceBucketName, String destBucketName, String destinationBucketARN, String roleARN) { try { Destination destination = Destination.builder() .bucket(destinationBucketARN) .storageClass(StorageClass.STANDARD) .build(); // Define a prefix filter for replication. ReplicationRuleFilter ruleFilter = ReplicationRuleFilter.builder() .prefix("documents/") .build(); // Define delete marker replication setting. DeleteMarkerReplication deleteMarkerReplication = DeleteMarkerReplication.builder() .status(DeleteMarkerReplicationStatus.DISABLED) .build(); // Create the replication rule. ReplicationRule replicationRule = ReplicationRule.builder() .priority(1) .filter(ruleFilter) .status(ReplicationRuleStatus.ENABLED) .deleteMarkerReplication(deleteMarkerReplication) .destination(destination) .build(); List<ReplicationRule> replicationRuleList = new ArrayList<>(); replicationRuleList.add(replicationRule); // Define the replication configuration with IAM role. ReplicationConfiguration configuration = ReplicationConfiguration.builder() .role(roleARN) .rules(replicationRuleList) .build(); // Apply the replication configuration to the source bucket. PutBucketReplicationRequest replicationRequest = PutBucketReplicationRequest.builder() .bucket(sourceBucketName) .replicationConfiguration(configuration) .build(); s3Client.putBucketReplication(replicationRequest); System.out.println("Replication configuration set successfully."); } catch (IllegalArgumentException e) { System.err.println("Configuration error: " + e.getMessage()); } catch (S3Exception e) { System.err.println("S3 Exception: " + e.awsErrorDetails().errorMessage()); System.err.println("Status Code: " + e.statusCode()); System.err.println("Error Code: " + e.awsErrorDetails().errorCode()); } catch (SdkException e) { System.err.println("SDK Exception: " + e.getMessage()); } }-
Einzelheiten zur API finden Sie PutBucketReplicationin der AWS SDK for Java 2.x API-Referenz.
-
- PowerShell
-
- Tools für PowerShell V4
-
Beispiel 1: Dieses Beispiel legt eine Replikationskonfiguration mit einer einzigen Regel fest, die die Replikation aller neuen Objekte, die mit dem Schlüsselnamenpräfix "" im Bucket 'amzn-s3-demo-bucket' erstellt wurden, im Bucket 'amzn-s3-demo-bucket' ermöglicht. TaxDocs
$rule1 = New-Object Amazon.S3.Model.ReplicationRule $rule1.ID = "Rule-1" $rule1.Status = "Enabled" $rule1.Prefix = "TaxDocs" $rule1.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" } $params = @{ BucketName = "amzn-s3-demo-bucket" Configuration_Role = "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3" Configuration_Rule = $rule1 } Write-S3BucketReplication @paramsBeispiel 2: Dieses Beispiel legt eine Replikationskonfiguration mit mehreren Regeln fest, die die Replikation aller neuen Objekte, die entweder mit dem Schlüsselnamenpräfix "" oder "TaxDocs" erstellt wurden, in den Bucket 'amzn-s3-demo-bucket' ermöglichen. OtherDocs Die Schlüsselpräfixe dürfen sich nicht überschneiden.
$rule1 = New-Object Amazon.S3.Model.ReplicationRule $rule1.ID = "Rule-1" $rule1.Status = "Enabled" $rule1.Prefix = "TaxDocs" $rule1.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" } $rule2 = New-Object Amazon.S3.Model.ReplicationRule $rule2.ID = "Rule-2" $rule2.Status = "Enabled" $rule2.Prefix = "OtherDocs" $rule2.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" } $params = @{ BucketName = "amzn-s3-demo-bucket" Configuration_Role = "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3" Configuration_Rule = $rule1,$rule2 } Write-S3BucketReplication @paramsBeispiel 3: In diesem Beispiel wird die Replikationskonfiguration für den angegebenen Bucket aktualisiert, um die Regel zu deaktivieren, die die Replikation von Objekten mit dem Schlüsselnamenpräfix "" in den Bucket 'amzn-s3-demo-bucket' steuert. TaxDocs
$rule1 = New-Object Amazon.S3.Model.ReplicationRule $rule1.ID = "Rule-1" $rule1.Status = "Disabled" $rule1.Prefix = "TaxDocs" $rule1.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" } $params = @{ BucketName = "amzn-s3-demo-bucket" Configuration_Role = "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3" Configuration_Rule = $rule1 } Write-S3BucketReplication @params-
Einzelheiten zur API finden Sie unter Cmdlet-Referenz (V4). PutBucketReplicationAWS -Tools für PowerShell
-
- Tools für V5 PowerShell
-
Beispiel 1: Dieses Beispiel legt eine Replikationskonfiguration mit einer einzigen Regel fest, die die Replikation aller neuen Objekte, die mit dem Schlüsselnamenpräfix "" im Bucket 'amzn-s3-demo-bucket' erstellt wurden, im Bucket 'amzn-s3-demo-bucket' ermöglicht. TaxDocs
$rule1 = New-Object Amazon.S3.Model.ReplicationRule $rule1.ID = "Rule-1" $rule1.Status = "Enabled" $rule1.Prefix = "TaxDocs" $rule1.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" } $params = @{ BucketName = "amzn-s3-demo-bucket" Configuration_Role = "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3" Configuration_Rule = $rule1 } Write-S3BucketReplication @paramsBeispiel 2: Dieses Beispiel legt eine Replikationskonfiguration mit mehreren Regeln fest, die die Replikation aller neuen Objekte, die entweder mit dem Schlüsselnamenpräfix "" oder "TaxDocs" erstellt wurden, in den Bucket 'amzn-s3-demo-bucket' ermöglichen. OtherDocs Die Schlüsselpräfixe dürfen sich nicht überschneiden.
$rule1 = New-Object Amazon.S3.Model.ReplicationRule $rule1.ID = "Rule-1" $rule1.Status = "Enabled" $rule1.Prefix = "TaxDocs" $rule1.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" } $rule2 = New-Object Amazon.S3.Model.ReplicationRule $rule2.ID = "Rule-2" $rule2.Status = "Enabled" $rule2.Prefix = "OtherDocs" $rule2.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" } $params = @{ BucketName = "amzn-s3-demo-bucket" Configuration_Role = "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3" Configuration_Rule = $rule1,$rule2 } Write-S3BucketReplication @paramsBeispiel 3: In diesem Beispiel wird die Replikationskonfiguration für den angegebenen Bucket aktualisiert, um die Regel zu deaktivieren, die die Replikation von Objekten mit dem Schlüsselnamenpräfix "" in den Bucket 'amzn-s3-demo-bucket' steuert. TaxDocs
$rule1 = New-Object Amazon.S3.Model.ReplicationRule $rule1.ID = "Rule-1" $rule1.Status = "Disabled" $rule1.Prefix = "TaxDocs" $rule1.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" } $params = @{ BucketName = "amzn-s3-demo-bucket" Configuration_Role = "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3" Configuration_Rule = $rule1 } Write-S3BucketReplication @params-
Einzelheiten zur API finden Sie unter Cmdlet-Referenz (V5). PutBucketReplicationAWS -Tools für PowerShell
-