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

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


ভূমিকা

AWS Glue রিসোর্সগুলোর সাথে যুক্ত ট্যাগগুলো পুনরুদ্ধার করা অনেক সময় ضرুরী হয়, যাতে রিসোর্স ফিল্টার করা, কাস্ট ট্র্যাক করা, বা অটোমেশন করা যায়। এই নিবন্ধে Boto3-এর get_tags API ব্যবহার করে একটি রিসোর্সের সব ট্যাগ পাওয়ার পদ্ধতি দেখানো হয়েছে।

সমস্যা বিবরণ

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

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

(পূর্বের নিবন্ধের মতোই, টেবিলটি এখানে পুনরাবৃত্তি করা হয়নি সংক্ষিপ্ততার জন্য।)

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

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

উদাহরণ কোড

import boto3
from botocore.exceptions import ClientError

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

# উদাহরণ কল (নোট: উদাহরণে ফাংশন নাম ভুলে add_tags_in_resource লিখে দেওয়া হয়েছে, সঠিক ফাংশন হলো get_tags_from_resource)
print(get_tags_from_resource("arn:aws:glue:us-east-1:1122225*****88:database/test-db"))

আউটপুট

{'Tags': {'glue-job': 'test'}, 'ResponseMetadata': {'RequestId': 'c9f418b0-8d02-4a26-*************', '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-8d02-4a26-**************'}, 'RetryAttempts': 0}}

ব্যাখ্যা

  • রেসপন্সের Tags ফিল্ডে একটি ডিকশনারি রিটার্ন হয় যেখানে কী-ভ্যালু জোড়া থাকে।

  • উদাহরণে {'glue-job': 'test'} দেখাচ্ছে যে এই রিসোর্সে "glue-job" নামক ট্যাগ আছে যার ভ্যালু "test"।

  • কোডের উদাহরণ কলের সময় ফাংশন নাম ভুল দেওয়া হয়েছে (add_tags_in_resource), সঠিক ফাংশন নাম get_tags_from_resource ব্যবহার করুন।


  1. Boto3 ব্যবহার করে AWS Glue Data Catalog থেকে একটি টেবিলের নির্দিষ্ট ভার্সন ডিলিট করা

  2. Boto3 ব্যবহার করে AWS Glue Data Catalog থেকে একটি টেবিল ডিলিট করা

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

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