কম্পিউটার টিউটোরিয়াল

Boto3 ব্যবহার করে AWS Glue রিসোর্সে ট্যাগ যোগ করা


ভূমিকা

AWS Glue রিসোর্সগুলোকে সংগঠিত এবং ম্যানেজ করার জন্য ট্যাগিং অত্যন্ত গুরুত্বপূর্ণ। এই নিবন্ধে Boto3-এর tag_resource API ব্যবহার করে Glue রিসোর্সে নতুন ট্যাগ যোগ করার পদ্ধতি বর্ণনা করা হয়েছে।

সমস্যা বিবরণ

Boto3 লাইব্রেরি ব্যবহার করে AWS Glue রিসোর্সে ট্যাগ যোগ করা (উদাহরণ: "glue-db: tests")।

রিসোর্স ARN ফরম্যাট

(পূর্বের নিবন্ধের মতোই)।

ট্যাগ ডিকশনারি ফরম্যাট

tags_dict হবে একটি ডিকশনারি: {"key": "value", ...}।

অ্যালগরিদম / ধাপসমূহ

  1. boto3 এবং botocore.exceptions ইম্পোর্ট করুন।
  2. ফাংশনটি দুটি বাধ্যতামূলক প্যারামিটার নেবে: resource_arn এবং tags_dict।
  3. AWS সেশন এবং Glue ক্লায়েন্ট তৈরি করুন।
  4. glue_client.tag_resource() কল করুন প্যারামিটার: ResourceArn=resource_arn, TagsToAdd=tags_dict।
  5. রেসপন্স মেটাডেটা রিটার্ন করবে।
  6. এক্সেপশন হ্যান্ডল করুন।

উদাহরণ কোড

import boto3
from botocore.exceptions import ClientError

def add_tags_in_resource(resource_arn, tags_dict):
    session = boto3.session.Session()
    glue_client = session.client('glue')
    try:
        response = glue_client.tag_resource(
            ResourceArn=resource_arn,
            TagsToAdd=tags_dict
        )
        return response
    except ClientError as e:
        raise Exception("boto3 client error in add_tags_in_resource: " + e.__str__())
    except Exception as e:
        raise Exception("Unexpected error in add_tags_in_resource: " + e.__str__())

# উদাহরণ: ডেটাবেসে "glue-db": "test" ট্যাগ যোগ করা
tags_dict = {"glue-db": "test"}
print(add_tags_in_resource("arn:aws:glue:us-east-1:1122225*****88:database/test-db", tags_dict))

আউটপুট

{'ResponseMetadata': {'RequestId': 'c9f418b0-***************-fb96', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Fri, 02 Apr 2021 08:04:54 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '27', 'connection': 'keep-alive', 'x-amzn-requestid': 'c9f418b0-******************-fb96'}, 'RetryAttempts': 0}}

ব্যাখ্যা

  • tag_resource API কল করলে নির্দিষ্ট ট্যাগ কী-ভ্যালু জোড়া রিসোর্সে যোগ হয়। যদি কীটি আগে থাকে, তবে ভ্যালু আপডেট হয় (upsert behavior)।

  • একই সাথে একাধিক ট্যাগ যোগ করতে ডিকশনারিতে একাধিক কী-ভ্যালু দিতে পারেন।

  • আউটপুটে শুধু ResponseMetadata রিটার্ন হয়।

সর্বোত্তম অনুশীলন

রিসোর্স তৈরির সময়ই ট্যাগ যোগ করতে CreateDatabase, CreateTable, CreateJob ইত্যাদি API-তে Tags প্যারামিটার ব্যবহার করুন, যা আরও কার্যকর।


  1. Boto3 ব্যবহার করে AWS Glue ডেটা ক্যাটালগে ট্রিগার বন্ধ করা

  2. Boto3 ব্যবহার করে AWS Glue ডেটা ক্যাটালগে ট্রিগার শুরু করা

  3. Boto3 ব্যবহার করে AWS Glue ডেটা ক্যাটালগে ক্রলার শুরু করা

  4. Boto3 ব্যবহার করে AWS Glue থেকে একটি Glue Job ডিলিট করা