اتصال آن چه کمکی به شما میکند
اتصال حساب Azure Static Web Apps متعلق به خودتان به شما امکان میدهد تا از داشبورد Zinn® خود، یک سایت استاتیک را در حساب Azure Static Web Apps خودتان منتشر کنید. مالکیت پروژه و پرداخت صورتحساب با شماست؛ ما فرایند استقرار (deploy)، دامنه اختصاصی و رکوردهای DNS را مدیریت میکنیم.
پیش از شروع
یک اشتراک Azure، یک گروه منابع (resource group) برای سایتها، و یک حساب متصلشدهٔ GitHub، GitLab یا Bitbucket شامل کدها — زیرا Azure Static Web Apps فرآیند ساخت را از یک مخزن (repository) انجام میدهد. پلن رایگان Azure اجازه استفاده تجاری و دو دامنه اختصاصی برای هر برنامه را میدهد.
۱. ایجاد کلید در Azure Static Web Apps
Azure به این مورد یک service principal میگوید. در مرکز مدیریت Microsoft Entra به مسیر Entra ID ← App registrations ← New registration بروید، یک نام برای آن تعیین کرده و آن را Register کنید. در صفحه نمای کلی (overview) برنامه، Application (client) ID و Directory (tenant) ID را کپی کنید. سپس مسیر Certificates & secrets ← Client secrets ← New client secret را باز کنید، مدتزمانی را انتخاب کرده و آن را Add نمایید — مقدار سکرت (secret) را فوراً کپی کنید، زیرا Azure فقط یک بار آن را نمایش میدهد.
در پورتال Azure، گروه منابعی را که میخواهید ما استفاده کنیم باز کرده، سپس به مسیر Access control (IAM) ← Add ← Add role assignment بروید. نقش Contributor را انتخاب کنید، آن را به User, group, or service principal اختصاص دهید، برنامه را بر اساس نام جستجو کرده و گزینه Review + assign را بزنید. نام گروه منابع و Subscription ID مربوط به آن را یادداشت کنید (کلمه Subscriptions را در پورتال جستجو کنید).
۲. اتصال آن در اینجا
بخش Integrations را در داشبورد خود باز کرده و Connect an account را انتخاب کنید. گزینه Static hosting (Netlify, Vercel) را به عنوان گروه و Azure Static Web Apps را به عنوان حساب انتخاب کنید، سپس فیلدهای Client ID، Client secret، Tenant ID، Subscription ID و Resource group را پر کرده و Connect account را بزنید.
ما آنچه را جایگذاری میکنید، پیش از ذخیره شدن هر چیزی آزمایش میکنیم. کلیدی که کار نکند هرگز ذخیره نمیشود و پیام پاسخ دلیل اشکال آن را اعلام میکند. کلیدی که کار کند، بهصورت رمزگذاریشده در مخزن سکرتهای ما نگهداری میشود — هرگز در پایگاه داده ما ذخیره نمیشود — و هرگز دوباره نشان داده نخواهد شد، حتی به شما.
در ادامه چه اتفاقی میافتد
- هنگامی که یک سایت استاتیک ایجاد کرده یا انتقال میدهید، این حساب به عنوان یک مقصد استقرار (deploy) نمایش داده میشود.
Azure Static Web Apps فرآیند ساخت را از یک مخزن انجام میدهد — این سرویس هیچ راهی برای پذیرش یک بیلد آپلودشده ندارد — بنابراین کد سایت باید از یک مخزن متصلشدهٔ GitHub، GitLab یا Bitbucket تأمین شود. اگر قبلاً این کار را نکردهاید، ابتدا یکی را متصل کنید.
- ما سرویس را روی حساب شما ایجاد میکنیم، آن را به مخزن هدایت میکنیم، دامنه اختصاصی شما را پیوست کرده و استقرارها را فعال میسازیم. صفحه دامنه هرگونه رکورد DNS را که Azure Static Web Apps نیاز داشته باشد نمایش میدهد.
- میزان مصرف و صورتحساب در حساب خود شما و در داشبورد اختصاصیتان نزد ارائهدهنده قابل مشاهده است.
- دامنه اصلی (apex domain) توسط یک رکورد TXT و زیردامنه توسط CNAME آن تأیید میشود؛ صفحه دامنه نشان میدهد که دامنه شما به کدامیک نیاز دارد.
اگر متصل نشد
Azure سرویس پرینسیپال (service principal) را رد کرد. یا client secret منقضی شده است — آنها همیشه طبق مدتزمانی که انتخاب کردهاید منقضی میشوند — یا اینکه برنامه دیگر دسترسی Contributor را در گروه منابع ندارد. این دو پیام مشابه یکدیگر به نظر میرسند، بنابراین پیش از ایجاد سکرت جدید، تخصیص نقش (role assignment) را بررسی کنید.
چیزی یافت نشد. بررسی کنید که Subscription ID و Resource group همان مواردی باشند که نقش را به آنها اختصاص دادهاید، و Tenant ID همان دایرکتوری باشد که برنامه در آن ثبت شده است.
پیام میدهد که کلید رد شده است. تقریباً همیشه ناشی از یکی از این سه مورد است: یک فاصله یا شکست خط (line break) که همراه آن کپی شده، کلیدی که منقضی شده، یا کلیدی که پس از کپی کردن باطل شده یا دوباره تولید شده است. یک کلید تازه ایجاد کرده و آن را دوباره جایگذاری کنید.
متصل میشود، اما بعداً عملیاتی ناموفق میماند. کلید احراز هویت میشود اما فاقد مجوزی است که اقدام مربوطه به آن نیاز دارد. یک کلید جدید با مجوزهای ذکرشده در بالا ایجاد کنید، سپس اتصال قدیمی را قطع کرده و کلید جدید را متصل نمایید.
قطع اتصال
بخش Integrations را باز کنید، حساب را بیابید و گزینه Disconnect را بزنید. این کار کلید ذخیرهشده را فوراً حذف میکند. هر موردی که از آن استفاده میکرده در اقدام بعدی خود متوقف میشود، و صفحاتی که به آن وابسته بودند به جای اینکه در سکوت با خطا مواجه شوند، این موضوع را اعلام میکنند.
قطع اتصال آنچه را که قبلاً انجام شده باطل نمیکند — رکوردها، استقرارها یا تنظیماتی که ما در حساب شما تغییر دادهایم به همان صورت باقی میمانند. اگر فکر میکنید خود کلید ممکن است لو رفته باشد، آن را نزد ارائهدهنده نیز باطل کنید؛ قطع اتصال فقط نسخه نزد ما را حذف میکند، نه نسخه آنها را.