Score:0

คำนวณขนาดของบัญชีและคอนเทนเนอร์ที่เก็บข้อมูล Azure โดยใช้ PowerShell

ธง cn

ฉันมีความรู้จำกัดเกี่ยวกับ PowerShell แต่ฉันต้องการคำนวณ ขนาดรวม (เป็น GB) ของแต่ละบัญชีที่เก็บข้อมูล, หรือ แต่ละคอนเทนเนอร์ ในบัญชีที่เก็บข้อมูลของฉัน ฉันมี บัญชีการจัดเก็บและคอนเทนเนอร์หลายรายการใน กลุ่มทรัพยากรหลายกลุ่ม.

ฉันประสบปัญหาในการรวบรวมสคริปต์ที่ดึงบัญชีที่เก็บข้อมูลและคอนเทนเนอร์ทั้งหมด เนื่องจากฉันมีกลุ่มทรัพยากรมากกว่าหนึ่งกลุ่ม ฉันพบสคริปต์ด้านล่างที่ใช้งานได้ดี แต่ต้องป้อนชื่อของ บัญชีที่เก็บข้อมูลเดี่ยวและกลุ่มทรัพยากร.

เป็นการดีที่ฉันต้องการสามารถ เลือกบัญชีที่เก็บข้อมูลทั้งหมด ในการสมัครสมาชิกของฉันและ ไม่ ถูกบังคับให้ป้อนชื่อบัญชีที่เก็บข้อมูลแต่ละรายการและกลุ่มทรัพยากร ฉันขอขอบคุณสำหรับความช่วยเหลือ / คำแนะนำเกี่ยวกับสิ่งนี้ ขอบคุณ!

# เชื่อมต่อกับ Azure
เชื่อมต่อ AzureRmAccount

# ค่าคงที่สำหรับกลุ่มทรัพยากรและชื่อบัญชีที่เก็บข้อมูล
$resourceGroup = "RGP-01"
$storageAccountName = "storagestg3"

# รับการอ้างอิงไปยังบัญชีการจัดเก็บและบริบท
$storageAccount = รับ AzureRmStorageAccount `
-ResourceGroupName $resourceGroup `
-ชื่อ $storageAccountName
$ctx = $storageAccount.Context

# รับคอนเทนเนอร์ Blob ทั้งหมด
$AllContainers = Get-AzureStorageContainer -Context $ctx
$AllContainersCount = $AllContainers.Count
โฮสต์เขียน "เราพบคอนเทนเนอร์ '$($AllContainersCount)' ขนาดการประมวลผลสำหรับแต่ละคอนเทนเนอร์"

# เคาน์เตอร์ศูนย์
$TotalLength = 0
$TotalContainers = 0

# วนซ้ำเพื่อข้ามแต่ละคอนเทนเนอร์และคำนวณขนาด
Foreach ($คอนเทนเนอร์ใน $AllContainers){
$TotalContainers = $TotalContainers + 1
เขียนโฮสต์ "การประมวลผลคอนเทนเนอร์ '$($TotalContainers)'/'$($AllContainersCount)'"
$listOfBLobs = Get-AzureStorageBlob -คอนเทนเนอร์ $Container.Name -บริบท $ctx

#ศูนย์จากผลรวมของเรา
ความยาว $ = 0

# สิ่งนี้วนซ้ำผ่านรายการของ blobs และดึงความยาวสำหรับแต่ละ blob และเพิ่มเข้ากับผลรวม
$listOfBlobs | ForEach-Object {$length = $length + $_.Length}
$TotalLength = $TotalLength + $ความยาว
}
# จบลูปคอนเทนเนอร์

#แปลงความยาวเป็น GB
$TotalLengthGB = ความยาวทั้งหมด $/1024/1024/1024

#ผลลัพธ์ที่ออกมา
โฮสต์การเขียน "ความยาวทั้งหมด = " $TotallengthGB "GB"
djdomi avatar
za flag
อะไรที่พูดโดยเฉพาะกับวิธีที่ขี้เกียจในการรันเกม X ครั้ง?
jrd1989 avatar
cn flag
คุณหมายถึงป้อนชื่อบัญชีที่เก็บข้อมูลด้วยตนเองทุกครั้งหรือไม่ ถ้าเป็นเช่นนั้น เป็นไปได้อย่างแน่นอน แต่ฉันมีการสมัครสมาชิกที่แตกต่างกัน 4 รายการโดยมีบัญชีพื้นที่เก็บข้อมูล 50-75 บัญชี ดังนั้นมันจึงน่าเบื่อและใช้เวลานาน ฉันต้องการทำให้กระบวนการเป็นไปโดยอัตโนมัติถ้าเป็นไปได้
djdomi avatar
za flag
ฉันหมายถึง `$resourceGroup = "RGP-01"` และ `$storageAccountName = "storagestg3"` ดูเหมือนว่าจะเป็นตัวแปรที่ต้องตั้งค่า และ IMHO คุณต้องเขียนสคริปต์ที่เรียกมันอีกครั้งด้วยพารามิเตอร์ 2 ตัวนี้ และ สิ่งนี้อาจจำเป็นเพียงครั้งเดียว
djdomi avatar
za flag
แต่ฉันขอแนะนำให้เข้าร่วม stackoverflow เนื่องจากนี่เป็นการดำเนินการของโปรแกรมและไม่ใช่กรณีสนับสนุนสำหรับข้อผิดพลาดของเซิร์ฟเวอร์

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา