Verwalten von Objekt-Markierungen - Amazon Simple Storage Service

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.

Verwalten von Objekt-Markierungen

In diesem Abschnitt wird erklärt, wie Sie Objekt-Tags mithilfe der AWS SDKs für Java und.NET oder der Amazon S3 S3-Konsole verwalten können.

Das Markieren von Objekten ermöglicht Ihnen, Speicher zu kategorisieren. Jedes Tag ist ein Schlüssel-Wert-Paar, für das folgende Regeln gelten:

  • Sie können einem Objekt bis zu 10 Markierungen zuordnen. Einem Objekt zugeordnete Markierungen müssen eindeutige Tag-Schlüssel haben.

  • Ein Tag-Schlüssel kann maximal 128 Unicode-Zeichen lang sein, und die Tag-Werte können bis zu 256 Unicode-Zeichen lang sein. Amazon-S3-Objekt-Tags werden intern in UTF-16 dargestellt. Beachten Sie, dass Zeichen in UTF-16 entweder 1 oder 2 Zeichenpositionen einnehmen.

  • Bei Schlüsseln und Werten wird die Groß-/Kleinschreibung berücksichtigt.

Weitere Informationen über Objekt-Markierungen finden Sie unter Kategorisieren des Speichers mithilfe von Markierungen. Weitere Informationen zu Tag-Einschränkungen finden Sie unter Einschränkungen benutzerdefinierter Markierungen im AWS Billing and Cost Management Benutzerhandbuch.

Hinzufügen von Markern zu einem Objekt
  1. Melden Sie sich bei der Amazon S3 S3-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie in der Liste Buckets den Namen des Buckets aus, der die Objekte enthält, denen Sie Markierungen hinzufügen möchten.

    Sie können auch optional zu einem Ordner navigieren.

  3. Aktivieren Sie in der Liste Objekte das Kontrollkästchen neben den Namen der Objekte, denen Sie Markierungen hinzufügen möchten.

  4. Wählen Sie im Menü Aktionen die Option Markierungen bearbeiten.

  5. Überprüfen Sie die aufgelisteten Objekte und wählen Sie Markierungen hinzufügen.

  6. Jedes Objekt-Tag ist ein Schlüssel-Wert-Paar. Geben Sie einen Key (Schlüssel) und einen Value (Wert) ein. Um ein weiteres Tag hinzuzufügen, wählen Sie Add Tag (Tag hinzufügen).

    Sie können bis zu 10 Marker für ein Objekt eingeben.

  7. Wählen Sie Save Changes (Änderungen speichern).

    Amazon S3 fügt die Markierungen zu den angegebenen Objekten hinzu.

Weitere Informationen finden Sie auch unter Anzeigen von Objekteigenschaften in der Amazon-S3-Konsole und Objekte hochladen in diesem Handbuch.

Java

Das folgende Beispiel zeigt, wie Sie mithilfe von Tags für ein neues Objekt festlegen und Tags für ein vorhandenes Objekt abrufen oder ersetzen können. AWS SDK for Java Weitere Informationen über das Markieren von Objekten finden Sie unter Kategorisieren des Speichers mithilfe von Markierungen. Anweisungen zum Erstellen und Testen eines Arbeitsbeispiels finden Sie unter Erste Schritte im AWS SDK for Java Entwicklerhandbuch.

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.*; import java.io.File; import java.util.ArrayList; import java.util.List; public class ManagingObjectTags { public static void main(String[] args) { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; String keyName = "*** Object key ***"; String filePath = "*** File path ***"; try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build(); // Create an object, add two new tags, and upload the object to Amazon S3. PutObjectRequest putRequest = new PutObjectRequest(bucketName, keyName, new File(filePath)); List<Tag> tags = new ArrayList<Tag>(); tags.add(new Tag("Tag 1", "This is tag 1")); tags.add(new Tag("Tag 2", "This is tag 2")); putRequest.setTagging(new ObjectTagging(tags)); PutObjectResult putResult = s3Client.putObject(putRequest); // Retrieve the object's tags. GetObjectTaggingRequest getTaggingRequest = new GetObjectTaggingRequest(bucketName, keyName); GetObjectTaggingResult getTagsResult = s3Client.getObjectTagging(getTaggingRequest); // Replace the object's tags with two new tags. List<Tag> newTags = new ArrayList<Tag>(); newTags.add(new Tag("Tag 3", "This is tag 3")); newTags.add(new Tag("Tag 4", "This is tag 4")); s3Client.setObjectTagging(new SetObjectTaggingRequest(bucketName, keyName, new ObjectTagging(newTags))); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
.NET

Das folgende Beispiel zeigt, wie Sie mithilfe von AWS SDK for .NET die Tags für ein neues Objekt festlegen und die Tags für ein vorhandenes Objekt abrufen oder ersetzen können. Weitere Informationen über das Markieren von Objekten finden Sie unter Kategorisieren des Speichers mithilfe von Markierungen.

Informationen zum Einrichten und Ausführen der Codebeispiele finden Sie unter Getting Started with the AWS SDK for .NET im AWS SDK for .NET Developer Guide.

using Amazon; using Amazon.S3; using Amazon.S3.Model; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { public class ObjectTagsTest { private const string bucketName = "*** bucket name ***"; private const string keyName = "*** key name for the new object ***"; private const string filePath = @"*** file path ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 client; public static void Main() { client = new AmazonS3Client(bucketRegion); PutObjectWithTagsTestAsync().Wait(); } static async Task PutObjectWithTagsTestAsync() { try { // 1. Put an object with tags. var putRequest = new PutObjectRequest { BucketName = bucketName, Key = keyName, FilePath = filePath, TagSet = new List<Tag>{ new Tag { Key = "Keyx1", Value = "Value1"}, new Tag { Key = "Keyx2", Value = "Value2" } } }; PutObjectResponse response = await client.PutObjectAsync(putRequest); // 2. Retrieve the object's tags. GetObjectTaggingRequest getTagsRequest = new GetObjectTaggingRequest { BucketName = bucketName, Key = keyName }; GetObjectTaggingResponse objectTags = await client.GetObjectTaggingAsync(getTagsRequest); for (int i = 0; i < objectTags.Tagging.Count; i++) Console.WriteLine("Key: {0}, Value: {1}", objectTags.Tagging[i].Key, objectTags.Tagging[i].Value); // 3. Replace the tagset. Tagging newTagSet = new Tagging(); newTagSet.TagSet = new List<Tag>{ new Tag { Key = "Key3", Value = "Value3"}, new Tag { Key = "Key4", Value = "Value4" } }; PutObjectTaggingRequest putObjTagsRequest = new PutObjectTaggingRequest() { BucketName = bucketName, Key = keyName, Tagging = newTagSet }; PutObjectTaggingResponse response2 = await client.PutObjectTaggingAsync(putObjTagsRequest); // 4. Retrieve the object's tags. GetObjectTaggingRequest getTagsRequest2 = new GetObjectTaggingRequest(); getTagsRequest2.BucketName = bucketName; getTagsRequest2.Key = keyName; GetObjectTaggingResponse objectTags2 = await client.GetObjectTaggingAsync(getTagsRequest2); for (int i = 0; i < objectTags2.Tagging.Count; i++) Console.WriteLine("Key: {0}, Value: {1}", objectTags2.Tagging[i].Key, objectTags2.Tagging[i].Value); } catch (AmazonS3Exception e) { Console.WriteLine( "Error encountered ***. Message:'{0}' when writing an object" , e.Message); } catch (Exception e) { Console.WriteLine( "Encountered an error. Message:'{0}' when writing an object" , e.Message); } } } }