۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

کار با سازنده API Data Azure

API های REST و GraphQL را با ابزار دات نت CLI به هر پایگاه داده اضافه کنید.

API های REST و GraphQL را با ابزار دات نت CLI به هر پایگاه داده اضافه کنید.

رویکرد مبتنی بر پلتفرم مایکروسافت برای توسعه ابری به آن اجازه می‌دهد تا نسخه‌های مدیریت شده بسیاری از عناصر آشنای پشته فناوری، به‌ویژه در پلتفرم داده خود را ارائه دهد. علاوه بر سرور SQL خود (به عنوان Azure SQL) و No-SQL Cosmos DB، نسخه‌های پایگاه داده منبع باز آشنا، از جمله PostgreSQL و MySQL را مدیریت کرده است.

استفاده از این پایگاه‌های داده آشنا و APIها، انتقال داده‌ها از محل به Azure یا ساخت برنامه‌های کاربردی جدید ابری بدون منحنی یادگیری شدید را آسان می‌کند. هنگامی که داده‌های شما در Azure ذخیره می‌شوند، می‌توانید از ابزارها و تکنیک‌های آشنا برای استفاده از کد خود استفاده کنید، به خصوص اگر با دات‌نت و جاوا کار می‌کنید که دارای SDK داده‌های رسمی و غیر رسمی زیادی هستند. اما اگر از مدل‌های توسعه جدیدتر مانند Jamstack استفاده می‌کنید و از ابزارهایی مانند Azure Static Web Apps برای اضافه کردن صفحات وب مبتنی بر API به برنامه‌های خود استفاده می‌کنید، چه؟

اگرچه می‌توانید از ابزارهایی مانند Azure Functions یا App Service برای ایجاد لایه API داده خود استفاده کنید، اما ناکارآمدی‌ها را اضافه می‌کند و نیازهای تعمیر و نگهداری و آزمایش شما را افزایش می‌دهد. در عوض، اکنون می‌توانید از ابزار سازنده Data API خود مایکروسافت استفاده کنید. پیکربندی آن ساده است و به یک پایگاه داده نقطه پایانی REST یا GraphQL می دهد که می تواند به سرعت توسط جاوا اسکریپت یا هر زبان دیگری با REST مصرف شود. همچنین احتمالاً سریعترین راه برای شروع تبدیل پایگاه داده های میزبان Azure به برنامه.

معرفی سازنده Data API

طراحی شده برای اجرا در محل، لبه و در فضای ابری، سازنده Data API یک منبع باز است ابزاری که پنج پایگاه داده مختلف را هدف قرار می دهد: Azure SQL، SQL Server، PostgreSQL، MySQL، و Cosmos DB. می‌توانید با نصب‌های خود و همچنین با سرویس‌های مدیریت شده خود مایکروسافت کار کنید، بنابراین می‌توانید در مرکز داده خود توسعه داده و اجرا کنید و در صورت نیاز کد را به ابر منتقل کنید.

اگر از Data API builder به عنوان بخشی از کد خود استفاده می‌کنید، این یک ابزار NET است که به‌عنوان بسته Nuget در دسترس است. برای اجرای آن به دات نت ۶ یا ۷ نیاز دارید و روی هر سیستم سازگار با دات نت از جمله لینوکس اجرا می شود. پس از نصب، می‌توانید از CLI آن برای ساختن نقاط پایانی مناسب برای پایگاه‌های داده خود استفاده کنید و برای استفاده در برنامه‌های خود آماده شوید. از طرف دیگر، می توانید از یک تصویر کانتینر آماده اجرا از رجیستری کانتینر مایکروسافت استفاده کنید. اگر محیط‌های ظروف لبه‌ای را هدف قرار می‌دهید، مانند سرویس جدید Azure Kubernetes (AKS) Edge Essentials، که یک پلتفرم مدیریت محدود Kubernetes را در اختیار شما قرار می‌دهد، به خوبی کار می‌کند.

نحوه کار با توابع Azure در سی شارپ

نصب سریع است و می توانید از ابزار با دستور dab از هر خط فرمانی استفاده کنید. راهنما نسبتاً ابتدایی است، اما از آنجایی که این ابزار بسیار متمرکز است، استفاده از آن برای شما سخت نیست. ابزارهای خط فرمان تک منظوره مانند این بخش مهمی از اکوسیستم دات نت هستند و ارزش آشنایی با آنها را دارد زیرا می توانند در کار و زمان زیادی صرفه جویی کنند.

ساخت API در خط فرمان

آشنایی با ADO.NET برای استفاده از Data API builder ایده خوبی است. این تعجب آور نیست؛ این روش استاندارد دسترسی به سرویس‌های داده در NET است و در اصل، این یک ابزار NET است، حتی اگر از آن برای ساخت برنامه‌های وب استفاده می‌کنید.

برای ایجاد یک اتصال، باید ساختار پایگاه داده خود و عناصری را که می خواهید در معرض نمایش قرار دهید، بدانید. در همان زمان، شما همچنین به هر رشته اتصال ADO نیاز دارید تا بتوانید اتصال اولیه را به پایگاه داده خود انجام دهید. برای منابع Azure، اینها را می توان در پورتال Azure به عنوان بخشی از ویژگی های منابع شما یافت. شما نیازی به ذخیره داده های اتصال به صورت شفاف ندارید. شما می توانید از متغیرهای محیطی برای نگهداری داده ها خارج از کد خود در زمان اجرا استفاده کنید، بنابراین می توانید از ابزارهایی مانند Azure Key Vault برای ایمن نگه داشتن هر گونه راز استفاده کنید.

سازنده API داده از یک فایل پیکربندی JSON برای ذخیره جزئیات هر APIهایی که می‌سازید استفاده می‌کند. این را با تعریف نوع پایگاه داده به همراه یک رشته اتصال ایجاد کنید. حتما از یک حساب کاربری با مجوزهای مناسب برای برنامه خود استفاده کنید. فایل پیکربندی انواع API های پشتیبانی شده را با جزئیات مشخص می کند، بنابراین می توانید REST، GraphQL یا هر دو را فعال کنید. بخش‌های دیگر فایل پیکربندی حالت، مجاز بودن اسکریپت‌نویسی متقابل و نوع احراز هویت مورد استفاده برای اتصال را مشخص می‌کند. در حالی که ابزار CLI داده‌های پیکربندی را ایجاد و به‌روزرسانی می‌کند، می‌توانید خودتان آنها را ویرایش کنید با استفاده از اسناد میزبانی شده توسط GitHub.

چرا ارائه دهندگان ابر یکپارچه نمی شوند؟

پس از تعریف اتصال، می‌توانید APIها را برای داده‌های خود تنظیم کنید. با استفاده از موجودیت های پایگاه داده آشنا، یک نام به API بدهید و آن را به منبعی مانند جدول یا پرس و جو گره بزنید و مجوزهای مرتبط با کاربران و عملیات پایگاه داده را به آن بدهید. این نام برای ساخت مسیر API برای REST و GraphQL استفاده می‌شود.

با یک اتصال تعریف شده و موجودیت هایی که به فایل پیکربندی اضافه شده اند، اکنون آماده ساخت و سرویس API هستید. سازنده Data API شاید بهتر باشد به عنوان یک کارگزار ساده در نظر گرفته شود که اتصالات REST و GraphQL را می گیرد، آنها را به عبارات ADO از پیش ساخته شده ترسیم می کند و قبل از بازگرداندن نتایج و نگاشت مجدد آنها در قالب مناسب، آنها را روی منبع اجرا می کند. REST API از افعال رایجی پشتیبانی می کند که به عملیات استاندارد CRUD (ایجاد، خواندن، به روز رسانی، حذف) نگاشت می شوند. برای مثال، GET داده ها را بازیابی می کند و POST آن ها را می نویسد.

هر فعل REST دارای پارامترهای جستجوی اضافی برای کمک به مدیریت داده های شما است. می‌توانید داده‌ها را فیلتر کنید، آن‌ها را سفارش دهید و عبارات انتخابی را اعمال کنید. متأسفانه، حتی اگر می‌توانید اولین موارد را برای نمایش انتخاب کنید، اما در حال حاضر راهی برای صفحه‌بندی داده‌ها وجود ندارد. امیدواریم این مورد در نسخه بعدی اضافه شود زیرا ساخت محتوای وب از داده‌های پرس و جو را ساده می‌کند.

استفاده از GraphQL با سازنده Data API

اگر قصد دارید از GraphQL استفاده کنید، ارزش استفاده از ابزاری مانند Postman را برای کمک به ساخت و آزمایش درخواست‌ها دارد. GraphQL می تواند خیلی بیشتر از یک پرس و جو اولیه REST انجام دهد، اما ساخت پرس و جو به صورت دستی می تواند دشوار باشد. داشتن ابزاری برای بررسی API و پرس و جوهای آزمایشی می تواند در زمان زیادی صرفه جویی کند. برای پرس و جوهای پیچیده تر GraphQL، باید روابطی را در پیکربندی خود ایجاد کنید. در اینجا کمک می کند که یک نمودار موجودیت از منبع داده خود با روابط تعریف شده داشته باشید که می توانید آن را بر اساس نوع رابطه، موجودیت هدف برای پرس و جو، و نحوه ذخیره رابطه در پایگاه داده شما توصیف کنید.

6 بهترین روش برای تحت کنترل نگه داشتن هزینه های Kubernetes

فرآیند ساخت API برای همه پایگاه‌های داده پشتیبانی‌شده یکسان است، با یک تفاوت برای Cosmos DB. از آنجایی که از قبل یک REST API دارد، نیازی به تولید دیگری نیست. با این حال، همچنان می توانید از آن برای ایجاد یک GraphQL API استفاده کنید.

اگر از این روش با Azure Static استفاده می‌کنید برنامه های وب، ابتدا از پورتال Azure برای افزودن پایگاه داده منبع خود به پیکربندی سایت خود استفاده کنید. سپس باید یک فایل پیکربندی سازنده Data API موجود را وارد کنید. می‌توانید از سازنده API پایگاه داده و CLI برنامه‌های وب استاتیک Azure برای ایجاد فایل‌های مورد نیاز استفاده کنید. Static Web Apps CLI یک فایل خرد برای پیکربندی ایجاد می‌کند که می‌توانید آن را با دست ویرایش کنید یا در محتوای فایل سازنده API پایگاه داده جای‌گذاری کنید.

امکان افزودن پشتیبانی GraphQL به هر پایگاه داده مهم است. این روش بسیار کارآمدتر برای جستجوی داده ها نسبت به API های سنتی است و پرس و جوهای پیچیده را ساده می کند. با پشتیبانی از هر دو APIهای REST و GraphQL، سازنده Data API می تواند به مهاجرت بین انواع API کمک کند و به شما امکان می دهد همزمان با یادگیری نحوه ساختار GraphQL به استفاده از پرس و جوهای آشنا ادامه دهید. به عنوان یک امتیاز اضافه، اگرچه این ابزاری است که برای هر چارچوب برنامه کاربردی کار می‌کند، اما ارزش استفاده از آن با برنامه‌های وب استاتیک Azure برای ساخت برنامه‌های Jamstack متصل به داده را دارد.