Tired of searching Slack, GitHub, and Google Drive separately? Do it all at once in SQL

স্ল্যাক, গিটহাব এবং গুগল ড্রাইভ অনুসন্ধান করতে করতে ক্লান্ত

আপনি ড্রিলটি জানেন: আপনি যে শব্দগুলি খুঁজছেন তা স্ল্যাক, বা গিটহাব, বা গুগল ড্রাইভ, বা গুগল শীট, বা জেনডেস্ক, বা … তালিকাটি চলতে পারে। এই সাইলো জুড়ে অনুসন্ধান করা একটি সাধারণ হতাশা। এটা ঘর্ষণহীন হওয়া উচিত, এবং এই Steampipe ড্যাশবোর্ড এটি তাই করে তোলে.

এটি আমার প্রথম রোডিও ছিল না। আমি 1996 সালে এই যাত্রা শুরু করেছি এবং পর্যায়ক্রমে ধারণাটি পুনর্বিবেচনা করেছি। 2018 সালে আমি এমন একটি সংস্করণ সম্পর্কে লিখেছিলাম যেটি ছিল The Simplest Thing That Could Posibly Work এর ক্লাসিক উদাহরণ: একটি ওয়েব পৃষ্ঠা যা বিভিন্ন পরিষেবার সার্চ ইউআরএলগুলিকে কোরাল করে এবং প্রতিটিকে নিজস্ব ট্যাবে ভিজিট করে৷ যতটা মূর্খ মনে হয়, এটি কিছুটা ব্যবহার করার জন্য যথেষ্ট সহায়ক ছিল, এবং শুধু আমার দ্বারা নয়।

অবশ্যই আমি অন্তর্নিহিত APIগুলি ব্যবহার করতে, ফলাফলগুলিকে স্বাভাবিক করতে এবং সেগুলিকে একটি সাধারণ ভিউতে মার্জ করতে চেয়েছিলাম। কিন্তু সমস্ত API গুলিকে বিভ্রান্ত করার জন্য প্রয়োজনীয় প্রচেষ্টা সেই প্রকল্পটিকে মূল্যের চেয়ে বেশি সমস্যা করে তুলেছে। আপনি যদি এই ধরণের কাজটি করে থাকেন তবে আপনি জানেন যে বেশিরভাগ পরিষেবাগুলি আপনার পছন্দের প্রোগ্রামিং ভাষার জন্য অ্যাডাপ্টারের সাথে অনুসন্ধান API সরবরাহ করে। তবে প্রতিটি পরিষেবার API কল করার, ফলাফলগুলি পেজিন করা এবং সেগুলি ফর্ম্যাট করার নিজস্ব উপায় থাকবে৷ এই পার্থক্যগুলি একটি সামঞ্জস্যপূর্ণ উপায়ে ফলাফলের সাথে কাজ করার জন্য আপনাকে কাটিয়ে উঠতে হবে এমন ঘর্ষণ তৈরি করে।

এপিআই র‍্যাংলিং যখন ঘর্ষণহীন হয়ে যায়, যদিও অনেক কিছুই সম্ভব হয়ে ওঠে। কার্যকরী মেটাসার্চ তাদের মধ্যে একটি। Steampipe আপনাকে API কল করার, ফলাফলের পৃষ্ঠা নির্ধারণ এবং JSON অবজেক্ট আনপ্যাক করার ব্যবসা থেকে বের করে দেয়। এটি আপনার জন্য API কল করে এবং ফলাফলগুলিকে ডাটাবেস টেবিলে স্ট্রিম করে যাতে আপনি ডেটা নিয়ে কাজ করার উপর সম্পূর্ণ মনোযোগ দিতে পারেন। এটি একটি মেটাসার্চ ড্যাশবোর্ড তৈরি করার সময় আপনার মুখোমুখি হওয়া সবচেয়ে বড় সমস্যার সমাধান করে।

একটি স্কিমা উপর রূপান্তর

পরবর্তী চ্যালেঞ্জ হল সার্চ ফলাফলকে একটি সাধারণ স্কিমার সাথে আবদ্ধ করা। এসকিউএল একটি দুর্দান্ত পরিবেশ যেখানে এটি করা যায়। যে ক্যোয়ারীটি স্ক্রিনকাস্টে দেখানো ড্যাশবোর্ডটিকে চালিত করে তাতে তিনটি স্তবক রয়েছে যা লিখতে আপনাকে SQL উইজার্ড হতে হবে না। তারা সবাই গিটহাব সমস্যাগুলি অনুসন্ধানের জন্য এইটির মতো একই প্যাটার্ন অনুসরণ করে।

select
   'github_issue' as type,
   repository_full_name || ' ' || title as source,
   to_char(created_at, 'YYYY-MM-DD') as date,
   html_url as link,
   substring(body from 1 for 200) || '...' as content
from
   github_search_issue
where
   $1 ~ 'github_issue'
   and query = 'in:body in:comments org:github ' || $2
   limit $3

নীল রঙের আইটেমগুলি একটি ডাটাবেস টেবিলের কলামের নাম – এই ক্ষেত্রে github_search_issue, Steampipe এর GitHub প্লাগইন দ্বারা তৈরি টেবিলগুলির মধ্যে একটি। Steampipe হাব টেবিলের কলামগুলির নাম এবং বিবরণ পরিদর্শন করা সহজ করে এবং টেবিলে তথ্যগুলি কীভাবে ব্যবহার করতে হয় তার উদাহরণগুলি দেখায়৷

কপিরাইট © 2022 IDG Communications, Inc.