Thrift IDL ব্যবহার করে Enum এবং Exception তৈরি করা
Apache Thrift-এ Enum এবং Exception ডেটা টাইপ ব্যবহার করে আপনার API-তে নির্দিষ্ট মান এবং ত্রুটির অবস্থান সংজ্ঞায়িত করতে পারবেন। এই দুইটি ফিচার ডিস্ট্রিবিউটেড সিস্টেমে কোডের নিরাপত্তা এবং পরিষ্কারতার জন্য খুবই গুরুত্বপূর্ণ। নিচে Enum এবং Exception তৈরি করার প্রক্রিয়া এবং উদাহরণ আলোচনা করা হলো।
Enum তৈরি করা
Enum হল একটি ডেটা টাইপ যা একটি সীমাবদ্ধ সেটের মধ্যে প্রিসেট মানগুলি ধারণ করে। এটি একটি পরিবর্তনশীলের জন্য একটি নির্দিষ্ট গুণ বা অবস্থান নির্দেশ করতে সহায়ক।
Enum এর গঠন
enum EnumName {
VALUE1 = 1,
VALUE2 = 2,
VALUE3 = 3
}
উদাহরণ: UserType Enum
enum UserType {
ADMIN = 1,
MEMBER = 2,
GUEST = 3
}
Exception তৈরি করা
Exception হল একটি বিশেষ ধরনের Struct যা ত্রুটি বা ব্যতিক্রম ঘটলে ব্যবহার করা হয়। Exception ব্যবহার করে আপনি সার্ভিসের ত্রুটি পরিচালনা করতে পারেন।
Exception এর গঠন
exception ExceptionName {
1: string message, // Exception message
2: i32 code // Error code
}
উদাহরণ: UserNotFoundException
exception UserNotFoundException {
1: string message,
2: i32 userId
}
Thrift IDL ফাইলের উদাহরণ
নিচে একটি সম্পূর্ণ Thrift IDL ফাইলের উদাহরণ দেওয়া হলো যেখানে UserType Enum এবং UserNotFoundException Exception সংজ্ঞায়িত করা হয়েছে:
namespace py example // Python namespace
// Enum definition
enum UserType {
ADMIN = 1,
MEMBER = 2,
GUEST = 3
}
// Exception definition
exception UserNotFoundException {
1: string message,
2: i32 userId
}
// User struct definition
struct User {
1: i32 id,
2: string name,
3: UserType userType
}
// Service definition
service UserService {
User getUser(1: i32 userId) throws (1: UserNotFoundException),
void createUser(1: User user) throws (1: UserNotFoundException)
}
কোড জেনারেশন এবং বাস্তবায়ন
Thrift Compiler চালান:
- উপরের
example.thriftফাইল থেকে কোড জেনারেট করতে নিম্নলিখিত কমান্ডটি চালান:
সার্ভার এবং ক্লায়েন্ট তৈরি করুন:
UserServiceসার্ভিসের জন্য একটি সার্ভার এবং ক্লায়েন্ট বাস্তবায়ন করুন, যেখানেUserNotFoundExceptionত্রুটি পরিচালনা করা হবে।
সারসংক্ষেপ
Thrift IDL ব্যবহার করে Enum এবং Exception তৈরি করা খুবই সহজ এবং কার্যকর। Enum বিভিন্ন স্থির মানের জন্য এবং Exception ত্রুটির অবস্থার জন্য সংজ্ঞায়িত করা হয়। এগুলি আপনার API কে আরও কার্যকরী এবং নিরাপদ করে তোলে। Enum এবং Exception ব্যবহার করে আপনি আপনার সার্ভিসের ত্রুটি এবং বিশেষ অবস্থা পরিচালনার জন্য পরিষ্কার ও বোঝা সহজ করে তুলতে পারেন।
Read more