Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengelola tag objek
Bagian ini menjelaskan bagaimana Anda dapat mengelola tag objek menggunakan AWS SDKs untuk Java dan. NETatau konsol Amazon S3.
Penandaan objek memberi Anda cara untuk mengategorikan penyimpanan. Setiap tag adalah pasangan nilai kunci yang mematuhi aturan berikut:
-
Anda dapat mengaitkan hingga 10 tag dengan objek. Tag yang terkait dengan sebuah objek harus memiliki kunci tag unik.
-
Kunci tag dapat memiliki panjang hingga 128 karakter Unicode, dan panjang nilai tag dapat mencapai 256 karakter Unicode. Tag objek Amazon S3 direpresentasikan secara internal dalam -16. UTF Perhatikan bahwa dalam UTF -16, karakter mengkonsumsi 1 atau 2 posisi karakter.
-
Kunci dan nilai peka terhadap huruf besar dan kecil.
Untuk informasi selengkapnya tentang tag objek, lihat Mengategorikan penyimpanan Anda menggunakan tag. Untuk informasi selengkapnya tentang pembatasan tag, lihat Pembatasan Tag yang Ditentukan Pengguna dalam AWS Billing and Cost Management Panduan Pengguna.
Untuk menambahkan tag ke objek
-
Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/
-
Di panel navigasi kiri, pilih Bucket, lalu pilih tab Bucket tujuan umum. Arahkan ke bucket Amazon S3 atau folder yang berisi objek yang ingin Anda ubah.
-
Pilih kotak centang di sebelah kiri nama objek yang ingin Anda ubah.
-
Di menu Tindakan, pilih Edit tag.
-
Tinjau objek yang tercantum, lalu pilih Tambahkan tag.
-
Setiap tag objek adalah pasangan nilai kunci. Masukkan Kunci dan Nilai. Untuk menambahkan tag lainnya, pilih Tambahkan tag.
Anda dapat memasukkan hingga 10 tag untuk objek.
-
Pilih Simpan perubahan.
Amazon S3 menambahkan tag ke objek tertentu.
Untuk informasi selengkapnya, lihat juga Melihat properti objek di konsol Amazon S3 dan Mengunggah Objek dalam panduan ini.
- Java
-
Contoh berikut menunjukkan bagaimana menggunakan untuk mengatur tag untuk objek baru dan mengambil atau mengganti tag untuk objek yang ada. AWS SDK for Java Untuk informasi selengkapnya tentang pemberian tag objek, lihat Mengategorikan penyimpanan Anda menggunakan tag. Untuk petunjuk cara membuat dan menguji sampel yang berfungsi, lihat Memulai di Panduan AWS SDK for Java Pengembang.
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
-
Contoh berikut menunjukkan bagaimana menggunakan AWS SDK for .NET untuk mengatur tag untuk objek baru dan mengambil atau mengganti tag untuk objek yang ada. Untuk informasi selengkapnya tentang pemberian tag objek, lihat Mengategorikan penyimpanan Anda menggunakan tag.
Untuk informasi tentang menyiapkan dan menjalankan contoh kode, lihat Memulai dengan AWS SDK for. NETdi AWS SDKuntuk. NETPanduan Pengembang.
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);
}
}
}
}