Azure File storage umożliwia dostęp do współdzielonych zasobów dyskowych przez protokół Samba Message Block (SMB). Zasoby mogą być współdzielone tylko pomiędzy wirtualnym maszynami i usługami działającymi w chmurze w tym samym regionie., nie mogą być montowane na komputerach działających poza chmurą. Zewnętrzne aplikacje mogą mieć dostęp do file storaga poprzez REST API.
Configure shared storage using Azure File service
Nazwa zasobu podobnie jak nazwa domeny może się składać tylko z małych liter, cyfr i myślnika wewnątrz liter lub cyfr.
Utworzenie zasobu przy pomocy PowerShella:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
PS> $ResourceGroup = "RG01" PS> $StorageAccountName = "mystorageaccount0002" PS> $ShareName="myshare01" PS> $StorageAccountKey = (Get-AzureRmStorageAccountKey -ResourceGroupName $ResourceGroup -AccountName $StorageAccountName).Value[0] PS> $StorageContext = New-AzureStorageContext –StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey PS> New-AzureStorageShare -Name $ShareName -Context $StorageContext File End Point: https://mystorageaccount0002.file.core.windows.net/ Name LastModified IsSnapshot SnapshotTime ---- ------------ ---------- ------------ myshare01 2018-08-17 12:07:08 +0... False |
Wyświetlenie listy zasobów:
1 2 3 4 5 6 7 |
PS> Get-AzureStorageShare -Name myshare01 -Context $StorageContext File End Point: https://mystorageaccount0002.file.core.windows.net/ Name LastModified IsSnapshot SnapshotTime ---- ------------ ---------- ------------ myshare01 2018-08-17 12:07:08 +00:00 False |
To samo gdy nie znamy nazwy kontekstu:
1 2 3 4 5 6 7 8 9 |
PS> Set-AzureRmCurrentStorageAccount -ResourceGroupName "RG01" -AccountName "mystorageaccount0002" mystorageaccount0002 PS > Get-AzureStorageShare -Name myshare01 File End Point: https://mystorageaccount0002.file.core.windows.net/ Name LastModified IsSnapshot SnapshotTime ---- ------------ ---------- ------------ myshare01 2018-08-17 12:07:08 +00:00 False |
Tworzenie katalogu w zasobie:
1 2 3 4 5 6 7 |
PS> New-AzureStorageDirectory -ShareName $ShareName -Path "Documents" -Context $StorageContext Directory: https://mystorageaccount0002.file.core.windows.net/myshare01 Type Length Name ---- ------ ---- 1 Documents |
Listowanie katalogów i plików dostępnych w zasobie:
1 |
PS C:\> Get-AzureStorageFile -ShareName $ShareName |
Tworzenie podkatalogu:
1 2 3 4 5 6 |
PS> New-AzureStorageDirectory -ShareName $ShareName -Path "Documents/Subdirectory" -Context $StorageContext Directory: https://mystorageaccount0002.file.core.windows.net/myshare01/Documents Type Length Name ---- ------ ---- 1 Subdirectory |
Kasowanie podkatalogu (lub katalogu):
1 |
PC> Remove-AzureStorageDirectory -ShareName $ShareName -Path documents/Subdirectory -Context $StorageContext |
Do nowo utworzonego katalogu można wgrać pliki:
1 2 3 4 |
PS> ForEach($file in (Get-ChildItem -Path D:\Documents)) { Set-AzureStorageFileContent -ShareName $ShareName -Path "documents" -Source $file.FullName -Context $StorageContext -Force } |
Listowanie plików dostępnych w uprzednio założonym katalogu “documents”:
1 2 3 4 5 6 7 8 |
PS C:\> Get-AzureStorageFile -ShareName $ShareName -Path "documents" | Get-AzureStorageFile Directory: https://mystorageaccount0002.file.core.windows.net/myshare01/Documents Type Length Name ---- ------ ---- 1 Nerwy zszywanie.pdf 1 Nerwy.pdf |
Kasowanie wszystkich plików z katalogu Documents:
1 |
PS C:\> Get-AzureStorageFile -ShareName $ShareName -Path "documents" | Get-AzureStorageFile | Remove-AzureStorageFile |
Kasowanie pojedynczego pliku:
1 |
PS C:\> Remove-AzureStorageFile -ShareName $ShareName -Path "documents/nazwa_pliku" |
Kasowanie zasobu:
1 |
PS C:\>Remove-AzureStorageShare -Name $ShareName |
Manage SMB file storage
Montowanie zasobów Azure File na virtualnych maszynach ( tylko działających w chmurze w tym samym regionie co utworzony zasób):
1 2 |
PS C:\> New-PSDrive -Name "M" -Root "\\mystorageaccount0002.file.core.windows.net\myshare01" -Credential (Get-Credential sherift) -PSProvider FileSystem -Persist |
Parametry tego cmdleta:
Name
– nazwa dysku.PSProvider
– dostawca używany do montowania tego zasobu . Dostępni dostawcy:FileSystem
,Certificate
, andRegistry
. Pełna lista dostawców wyświetla się cmdletemGet-PSProvider
.Root
– ścieżka do zasobu.Persist
– używane do mapowania stacji dysków.Credential
– nazwa użytkownika do konta storage, hasłem jest storage access key.
Jest to odpowiednik polecenia net use
z linii komend Windowsa.
1 |
net use m: \\mystorageaccount0002.file.core.windows.net\myshare01 |
Configure Azure File Share snapshots
Kasowanie zasobu i wszystkich jego backupów:
1 |
PS C:\>Remove-AzureStorageShare -Name "ContosoShare06" -IncludeAllSnapshot |
Porównanie Azure Blobs z Azure File: