ভূমিকা
AWS Glue-এ তৈরি সব ওয়ার্কফ্লোর নাম তালিকা পাওয়ার জন্য list_workflows API ব্যবহার করা হয়। এটি কোনো প্যারামিটার নেয় না এবং পেজিনেটেড রেজাল্ট রিটার্ন করে (ডিফল্ট ১০০০ تا)।
সমস্যা বিবরণ
পাইথনে boto3 লাইব্রেরি ব্যবহার করে সব ওয়ার্কফ্লোর তালিকা পাওয়া।
অ্যালগরিদম / ধাপসমূহ
- boto3 এবং botocore.exceptions ইম্পোর্ট করুন।
- ফাংশনটি কোনো প্যারামিটার নেয় না।
- AWS সেশন এবং Glue ক্লায়েন্ট তৈরি করুন।
glue_client.list_workflows()কল করুন।- রেসপন্সে
Workflowsলিস্ট (নামের তালিকা) এবংResponseMetadataথাকবে। ওয়ার্কফ্লো না থাকলে খালি ডিকশনারি রিটার্ন হবে। - এক্সেপশন হ্যান্ডল করুন।
উদাহরণ কোড
import boto3
from botocore.exceptions import ClientError
def list_of_workflows():
session = boto3.session.Session()
glue_client = session.client('glue')
try:
triggers = glue_client.list_workflows()
return triggers
except ClientError as e:
raise Exception("boto3 client error in list_of_workflows: " + e.__str__())
except Exception as e:
raise Exception("Unexpected error in list_of_workflows: " + e.__str__())
print(list_of_workflows())
আউটপুট
{'Workflows': ['tick-data-etl', 'test-wf-daily-jobs'], 'ResponseMetadata': {'RequestId': '3824e47a-***************e6d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sat, 27 Mar 2021 09:47:38 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '64', 'connection': 'keep-alive', 'x-amzn-requestid': '3824e47a-********************e6d'}, 'RetryAttempts': 0}}
ব্যাখ্যা
Workflowsকীতে ওয়ার্কফ্লো নামের লিস্ট থাকে।বড় অ্যাকাউন্টে পেজিনেশন হ্যান্ডল করতে
NextTokenব্যবহার করতে হয় (এই উদাহরণে দেখানো হয়নি)।ভেরিয়েবল নাম
triggersভুলে রাখা হয়েছে (আসলে ওয়ার্কফ্লো লিস্ট), পঠনযোগ্যতার জন্যworkflowsনাম রাখা ভালো।