Điểm:0

Tính toán kích thước của tài khoản lưu trữ Azure & vùng chứa bằng PowerShell

lá cờ cn

Tôi có kiến ​​thức hạn chế về PowerShell nhưng tôi muốn tính toán tổng kích thước (tính bằng GB) của mỗi tài khoản lưu trữ, hoặc mỗi container trong tài khoản lưu trữ của tôi. Tôi có nhiều tài khoản lưu trữ và vùng chứa trong nhiều nhóm tài nguyên.

Tôi đang gặp khó khăn trong việc tập hợp một tập lệnh kéo tất cả các tài khoản lưu trữ và vùng chứa vì tôi có nhiều hơn một nhóm tài nguyên. Tôi thấy tập lệnh bên dưới hoạt động tốt nhưng nó yêu cầu nhập tên của tài khoản lưu trữ duy nhất và nhóm tài nguyên.

Lý tưởng nhất, tôi muốn có thể chọn tất cả các tài khoản lưu trữ trong đăng ký của tôi và không phải buộc phải nhập tên tài khoản lưu trữ cá nhân và các nhóm tài nguyên. Tôi đánh giá cao bất kỳ trợ giúp/đề xuất nào với điều này, cảm ơn!

# Kết nối với Azure
Connect-AzureRmAccount

# Giá trị tĩnh cho tên tài khoản lưu trữ và nhóm tài nguyên
$resourceGroup = "RGP-01"
$storageAccountName = "storagesg3"

# Nhận tham chiếu đến tài khoản lưu trữ và bối cảnh
$storageAccount = Get-AzureRmStorageAccount `
-ResourceGroupName $resourceGroup `
-Tên $storageAccountName
$ctx = $storageAccount.Context

# Nhận tất cả các vùng chứa Blob
$AllContainers = Get-AzureStorageContainer -Context $ctx
$AllContainersCount = $AllContainers.Count
Máy chủ ghi "Chúng tôi đã tìm thấy các thùng chứa '$($AllContainersCount)'. Kích thước xử lý cho mỗi thùng chứa"

# Bộ đếm số không
$TotalLength = 0
$TotalContainers = 0

# Vòng lặp để đi qua từng vùng chứa và tính toán kích thước
Foreach ($Container trong $AllContainers){
$TotalContainers = $TotalContainers + 1
Máy chủ ghi "Đang xử lý vùng chứa '$($TotalContainers)'/'$($AllContainersCount)'"
$listOfBLobs = Get-AzureStorageBlob -Container $Container.Name -Context $ctx

# 0 trong tổng số của chúng tôi
$chiều dài = 0

# thao tác này lặp qua danh sách các đốm màu và truy xuất độ dài của từng đốm màu rồi cộng nó vào tổng số
$listOfBlobs | ForEach-Object {$length = $length + $_.Length}
$TotalLength = $TotalLength + $length
}
# kết thúc vòng lặp container

#Chuyển đổi độ dài thành GB
$TotalLengthGB = $TotalLength /1024 /1024 /1024

# Xuất kết quả
Máy chủ ghi "Tổng chiều dài = " $TotallengthGB "GB"
djdomi avatar
lá cờ za
điều gì đặc biệt phản đối cách chạy trò chơi lười biếng X lần?
jrd1989 avatar
lá cờ cn
Bạn có nghĩa là nhập thủ công tên của tài khoản lưu trữ mỗi lần? Nếu vậy, điều đó chắc chắn là có thể nhưng tôi có 4 đăng ký khác nhau với 50-75 tài khoản lưu trữ mỗi tài khoản nên sẽ rất tẻ nhạt và tốn thời gian. Tôi muốn tự động hóa quy trình nếu có thể
djdomi avatar
lá cờ za
ý tôi là `$resourceGroup = "RGP-01"` và `$storageAccountName = "storagesg3"` dường như là các biến cần được đặt và IMHO bạn chỉ cần viết một tập lệnh gọi lại nó với 2 tham số này và điều này có thể chỉ cần một lần
djdomi avatar
lá cờ za
nhưng tôi khuyên bạn nên tham gia stackoverflow vì đây là một hành động lập trình và không phải là trường hợp hỗ trợ cho serverfault

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.