پرش به مطلب اصلی

برچسب‌گذاری روی یک صندوقچه

با استفاده از این قابلیت شما می‌توانید روی صندوقچه‌ها برچسب‌گذاری کنید. برچسب‌ها این امکان را به شما می‌دهند تا روی صندوقچه‌هایی با برچسب مشترک عملیات گروهی انجام دهید.

مولفه‌ها

برچسب

هر برچسب از دو مولفه‌ی کلید و مقدار تشکیل شده است که به‌شکل زیر مورد استفاده قرار می‌گیرد:

{
tagList.Add(new Tag() { Key = "Key1", Value = "Value1" }); //REQUIRED
tagList.Add(new Tag() { Key = "Key2", Value = "Value2" }); //REQUIRED
}

توجه کنید با استفاده از این تابع،‌ برچسب‌های جدید جایگزین برچسب‌های قبلی خواهند شد. اگر می‌خواهید برچسب‌های جدید را به برچسب‌های قدیمی اضافه کنید،‌ ابتدا باید برچسب‌های قدیمی را با استفاده از تابع GetBucketTaggingAsync دریافت کنید و سپس مجموعه‌ی برچسب‌های جدید و قدیمی را به عنوان ورودی به این تابع پاس دهید.

محدودیت‌ها‌

  • بیشینه‌ی تعداد برچسب‌ها برای یک صندوقچه ۱۰ می‌باشد.
  • مقدار کلید (Key) برای برچسب‌های یک صندوقچه باید یکتا باشد.
  • مقدار Key و Value برای هر صندوقچه باید به‌شکل رشته باشد.
  • طول مقدار کلید Key می‌تواند تا ۱۲۸ کاراکتر Unicode باشد و هم‌چنین طول مقدار کلید Value می‌تواند تا ۲۵۶ کاراکتر Unicode باشد.
  • مقادیر دو کلید Key و Value حساس به حروف کوچک و بزرگ هستند.

نمونه کد برچسب گذاری روی یک صندوقچه

 using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Reflection;
using System.Collections;

namespace PutBucketTags
{
class PutBucketTags
{
private const string bucketName = "<BUCKET_NAME>";
private static IAmazonS3 _s3Client;
public static void Main()
{
var awsCredentials = new Amazon.Runtime.BasicAWSCredentials("<ACCESS-KEY>", "<SECRET-KEY>");
var config = new AmazonS3Config { ServiceURL = "<ENDPOINT>" };
_s3Client = new AmazonS3Client(awsCredentials, config);
PutBucketTagsAsync().Wait();
}

private static async Task PutBucketTagsAsync()
{
try
{
List<Tag> tagList = new List<Tag>();
// Add parts to the list.
tagList.Add(new Tag() { Key = "Key1", Value = "Value1" });
tagList.Add(new Tag() { Key = "Key2", Value = "Value2" });

PutBucketTaggingResponse response = await _s3Client.PutBucketTaggingAsync(bucketName, tagList);

foreach (PropertyInfo prop in response.GetType().GetProperties())
{
Console.WriteLine($"{prop.Name}: {prop.GetValue(response, null)}");
}

Console.WriteLine($"Tags added to {bucketName} bucket");
}
catch (AmazonS3Exception amazonS3Exception)
{
Console.WriteLine("An AmazonS3Exception was thrown. Exception: " + amazonS3Exception.ToString());
}
catch (Exception e)
{
Console.WriteLine("Exception: " + e.ToString());
}
}
}
}