1. بررسی اجمالی
PowerShell یک پوسته خط فرمان و زبان برنامه نویسی مرتبط است که بر روی دات نت فریم ورک ساخته شده است. این ابزار پیشفرض اتوماسیون وظایف و مدیریت پیکربندی است که در دنیای ویندوز استفاده میشود. PowerShell cmdlet یک فرمان سبک وزن است که در PowerShell فراخوانی می شود.
Cloud Tools for PowerShell مجموعهای از cmdletها برای دسترسی و دستکاری منابع Google Cloud مانند Google Compute Engine، Google Cloud Storage، Google Cloud SQL و Google Cloud DNS میباشد.
برای یادگیری نحوه تعامل با منابع Google Cloud از PowerShell، با این آزمایشگاه همراه باشید.
چیزی که یاد خواهید گرفت
- نحوه نصب Cloud Tools برای PowerShell.
- نحوه احراز هویت با Google Cloud SDK.
- نحوه ایجاد و مدیریت Google Compute Engine از PowerShell.
- نحوه پشتیبان گیری از داده ها در Google Cloud Storage از PowerShell.
آنچه شما نیاز دارید
چگونه از این آموزش استفاده خواهید کرد؟
تجربه خود را با Google Cloud Platform چگونه ارزیابی می کنید؟
2. راه اندازی و الزامات
برای این کد لبه، به یک پروژه Google Cloud برای تعامل با PowerShell نیاز دارید. اگر یک پروژه موجود دارید، می توانید از آن استفاده کنید یا می توانید با استفاده از مراحل زیر یک پروژه جدید ایجاد کنید.
تنظیم محیط خود به خود
اگر قبلاً یک حساب Google (Gmail یا GSuite) ندارید، باید یک حساب ایجاد کنید . به کنسول Google Cloud ( consol.cloud.google.com ) وارد شوید و یک پروژه جدید ایجاد کنید:
شناسه پروژه را به خاطر بسپارید، یک نام منحصر به فرد در تمام پروژه های Google Cloud Platform. بعداً در این آزمایشگاه کد به عنوان PROJECT_ID
نامیده خواهد شد.
در مرحله بعد، برای استفاده از منابع Google Cloud Platform مانند Google Cloud Datastore و Cloud Storage، باید صورتحساب را در Google Cloud Console فعال کنید .
کاربران جدید Google Cloud Platform واجد شرایط استفاده آزمایشی رایگان 300 دلاری هستند. گذراندن این کد نباید بیش از چند دلار برای شما هزینه داشته باشد، اما اگر تصمیم بگیرید از منابع بیشتری استفاده کنید یا آنها را در حال اجرا رها کنید، ممکن است بیشتر باشد (به بخش "پاکسازی" در انتهای این سند مراجعه کنید).
3. نصب و راه اندازی
نصب محیط خود به خود
cmdlet های PowerShell به عنوان بخشی از Cloud SDK برای ویندوز هستند. اگر قبلاً این کار را نکردهاید، Google Cloud SDK برای Windows را دانلود و نصب کنید، همانطور که در راهنمای Quickstart برای Windows توضیح داده شده است. هنگام نصب Cloud SDK مطمئن شوید که گزینه PowerShell را علامت زده اید.
4. احراز هویت
Cloud Tools for PowerShell از اطلاعات کاربری و تنظیمات ذخیره شده در Cloud SDK استفاده می کند. بنابراین برای شروع استفاده از cmdlet ها، ابتدا باید با استفاده از Cloud SDK وارد شوید.
احراز هویت محیطی خودگام
Google Cloud SDK Shell را راه اندازی کنید و دستور زیر را اجرا کنید.
gcloud init
گزینه ورود با استفاده از حساب کاربری گوگل خود را بپذیرید.
To continue, you must log in. Would you like to log in (Y/n)? Y
در مرورگر خود، هنگامی که از شما خواسته شد وارد حساب کاربری Google خود شوید و برای اعطای مجوز دسترسی به منابع پلتفرم Google Cloud، روی Allow کلیک کنید.
در خط فرمان، یک پروژه Cloud Platform را از لیست پروژه هایی که در آن مجوزهای مالک، ویرایشگر یا نمایشگر دارید، انتخاب کنید.
Pick a cloud project to use:
[1] [my-project-1]
[2] [my-project-2]
...
Please enter your numeric choice:
5. cmdlet های Google Cloud را در PowerShell اجرا کنید
پس از احراز هویت، آماده استفاده از cmdlet های Google Cloud در PowerShell هستید. پوسته خط فرمان PowerShell را پیدا کرده و باز کنید.
برای اطمینان از نصب صحیح cmdlet های Google Cloud، Get-GceInstance
cmdlet را اجرا کنید. این باید نمونه های Compute Engine را که در پروژه خود دارید فهرست کند.
6. نمونه های موتور محاسباتی گوگل را ایجاد و مدیریت کنید
در این بخش، موتور محاسباتی گوگل را از داخل Google Cloud Tools برای PowerShell ایجاد و مدیریت میکنید.
یک پیکربندی نمونه ایجاد کنید
قبل از ایجاد یک نمونه، ابتدا باید یک پیکربندی نمونه ایجاد کنید. این حداقل به یک نام، یک نوع ماشین و یک تصویر دیسک بوت یا دیسک بوت از قبل موجود نیاز دارد. از Get-GceImage
برای ایجاد یک تصویر دیسک و New-GceInstanceConfig
برای ایجاد یک پیکربندی استفاده کنید.
$disk = Get-GceImage "windows-cloud" -Family "windows-2012-r2"
$config = New-GceInstanceConfig "my-vm-1" `
-MachineType "n1-standard-4" `
-DiskImage $disk
در این مرحله، شما یک پیکربندی دارید که می توانید از آن برای ایجاد یک نمونه استفاده کنید.
یک نمونه ایجاد کنید
از cmdlet Add-GceInstance
برای ایجاد یک نمونه Compute Engine جدید استفاده کنید. میتوانید یک پروژه و یک منطقه را مشخص کنید، اما در صورت حذف، مقادیر پارامتر به طور پیشفرض به مقادیر موجود در پیکربندی Cloud SDK فعال فعلی شما میرسد. اگر پروژه را مشخص کردید، مطمئن شوید که PROJECT_ID
با شناسه پروژه خود جایگزین کنید.
$config | Add-GceInstance -Project PROJECT_ID -Zone europe-west1-b
یک نمونه را مدیریت کنید
می توانید از cmdlet Get-GceInstance
برای بازیابی نمونه های ماشین مجازی پروژه استفاده کنید. از آنجایی که ممکن است نام نمونه در بین پروژه ها یا مناطق منحصر به فرد نباشد، می توانید یک پارامتر Project یا Zone را برای محدود کردن جستجو مشخص کنید. به طور پیش فرض cmdlet از مقادیر موجود در پیکربندی فعال Cloud SDK استفاده می کند.
$instance = Get-GceInstance "my-vm-1"
می توانید پس از ایجاد نمونه خود با cmdlet Set-GceInstance
تگ های نمونه، دیسک ها، تنظیمات دسترسی و سایر ابرداده ها را تنظیم کنید. مقداری متادیتا اضافه کنید و سپس به صورت زیر حذف کنید.
Set-GceInstance $instance -AddMetadata @{"newKey" = "newValue"}
Set-GceInstance $instance -RemoveMetadata "newKey"
Set-GceInstance $instance -RemoveTag "beta" -AddTag "alpha"
اکنون، یک برچسب اضافه کنید که بعداً برای حذف نمونه استفاده خواهید کرد.
Set-GceInstance $instance -AddTag "to-be-removed"
با استفاده از cmdlet های مختلف می توانید یک نمونه را شروع، متوقف یا راه اندازی مجدد کنید. شما می توانید با استفاده از نام یا شی با تایپ قوی که از cmdlet Get-GceInstance
برگردانده شده است به یک نمونه مراجعه کنید. با برخی از این دستورات بازی کنید.
Stop-GceInstance $instance
Start-GceInstance $instance
Restart-GceInstance "my-vm-1"
در نهایت، هنگامی که کار با نمونه تمام شد، با استفاده از cmdlet Remove-GceInstance
و ارائه برچسبی که قبلاً مشخص کرده اید، آن را از Compute Engine حذف کنید.
Get-GceInstance -Project $project |
Where { $_.Tags.Items -contains "to-be-removed" } |
Remove-GceInstance -WhatIf
7. از داده ها در Google Cloud Storage پشتیبان بگیرید
در این قسمت از کد لبه، شما با استفاده از Cloud Tools for PowerShell، از دادههای دستگاه محلی خود در Google Cloud Storage نسخه پشتیبان تهیه میکنید.
یک سطل ایجاد کنید
قبل از آپلود فایل ها در فضای ذخیره سازی ابری، باید یک سطل ایجاد کنید. از cmdlet New-GcsBucket
برای ایجاد یک سطل جدید استفاده کنید.
$bucket = "my-gcs-bucket"
New-GcsBucket $bucket
فایل ها را در سطل آپلود کنید
می توانید از New-GcsObject
برای آپلود فایل یا کل پوشه ها در سطل استفاده کنید.
با استفاده از پارامتر -File
و مشخص کردن مسیر فایل میتوانید محتویات یک فایل محلی را در فضای ذخیرهسازی ابری آپلود کنید. از طرف دیگر، می توانید محتویات شی را به عنوان یک رشته از طریق خط لوله PowerShell ارسال کنید یا می توانید از پارامتر -Value
استفاده کنید.
یک فایل محلی روی دستگاه خود انتخاب کنید و به صورت زیر در سطل خود آپلود کنید.
New-GcsObject -Bucket "my-gcs-bucket" -File "C:\path\to\some\file\hello.txt"
با استفاده از پارامتر -UploadFolder
و مشخص کردن مسیر پوشه، میتوانید یک فهرست کامل را از دیسک محلی به فضای ذخیرهسازی ابری آپلود کنید. اگر نمیخواهید پوشه مستقیماً در ریشه سطل ذخیرهسازی ابری آپلود شود، از -ObjectNamePrefix
برای تعیین پیشوندی استفاده کنید که برای هر شیء آپلود شده اعمال شود.
یک پوشه محلی روی دستگاه خود انتخاب کنید و به صورت زیر در سطل خود آپلود کنید.
New-GcsObject -Bucket "my-gcs-bucket" -Folder "C:\path\to\some\folder"
داده های جستجو
می توانید داده ها را با cmdlets یا با ارائه دهنده از طریق cmdlets جستجوی رایج فایل جستجو کنید. دستور زیر را با سطل خود امتحان کنید.
Get-GcsObject $bucket | Select Name, Size | Out-GridView
شما باید یک شبکه پاپ آپ با نام و اندازه ببینید.
داده ها را بخوانید
برای خواندن داده ها می توانید از cmdlet Read-GcsObject
استفاده کنید. به عنوان مثال می توانید از دستور زیر برای خواندن فایلی به نام hello.txt
در دسکتاپ خود استفاده کنید.
Read-GcsObject $bucket "hello.txt" `
-OutFile "$Env:UserProfile\Desktop\hello.txt"
داده ها را حذف کنید
آخرین اما نه کم اهمیت، شما می توانید داده ها را با استفاده از cmdlet Remove-GcsObject
حذف کنید. از دستور زیر برای حذف تمام محتویات سطل استفاده کنید.
Get-GcsObject $bucket | Remove-GcsObject
8. تبریک می گویم!
در این نرمافزار، یاد گرفتید که چگونه نمونههای Compute Engine و سطلهای ذخیرهسازی ابری را از PowerShell مدیریت کنید، اما موارد بیشتری نیز وجود دارد! همچنین می توانید منابع Cloud SQL و Cloud CDN را با استفاده از PowerShell مدیریت کنید. برای کسب اطلاعات بیشتر، فهرست مراحل بعدی را در زیر بررسی کنید.
آنچه را پوشش داده ایم
- نحوه نصب Cloud Tools برای PowerShell.
- نحوه احراز هویت با Google Cloud SDK.
- نحوه ایجاد و مدیریت Google Compute Engine از PowerShell.
- نحوه پشتیبان گیری از داده ها در Google Cloud Storage از PowerShell.
مراحل بعدی
- درباره Cloud Tools for PowerShell بیشتر بیاموزید.
- درباره Windows در Google Cloud Platform بیشتر بیاموزید.
- درباره .NET در Google Cloud Platform بیشتر بیاموزید.
- درباره SQL Server در Google Cloud Platform بیشتر بیاموزید.
- درباره Cloud Tools for Visual Studio بیشتر بیاموزید.