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 erläutert, wie Sie Objekt-Markierungen mithilfe der AWS-SDKs für Java und .NET oder der Amazon-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 AWS Management Console an und öffnen Sie die Amazon-S3-Konsole 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 veranschaulicht, wie Sie mit dem AWS SDK for Java Markierungen für ein neues Objekt festlegen und Markierungen für ein vorhandenes Objekt abrufen oder ersetzen. Weitere Informationen über das Markieren von Objekten finden Sie unter Kategorisieren des Speichers mithilfe von Markierungen. Anweisungen zum Erstellen und Testen eines funktionierenden Beispiels finden Sie unter Testen der Java-Codebeispiele für Amazon S3.

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 veranschaulicht, wie Sie mit dem AWS SDK for .NET die Markierungen für ein neues Objekt festlegen und die Markierungen für ein vorhandenes Objekt abrufen oder ersetzen. Weitere Informationen über das Markieren von Objekten finden Sie unter Kategorisieren des Speichers mithilfe von Markierungen.

Anweisungen zum Erstellen und Testen eines funktionierenden Beispiels finden Sie unter Ausführen der .NET-Codebeispiele für Amazon S3.

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); } } } }