Używanie emulatora usługi Azure Storage do programowania i testowania (przestarzałe)
Emulator Microsoft Azure Storage to narzędzie emulujące usługi Azure Blob, Queue i Table na potrzeby programowania lokalnego. Aplikację można przetestować lokalnie z usługami magazynu bez tworzenia subskrypcji platformy Azure lub ponoszenia kosztów. Jeśli aplikacja działa w emulatorze, przejdź do korzystania z konta usługi Azure Storage w chmurze.
Ważne
Emulator usługi Azure Storage jest teraz przestarzały. Microsoft zaleca użycie emulatora Azurite do lokalnego programowania w usłudze Azure Storage. Azurite zastępuje emulator usługi Azure Storage. Usługa Azurite będzie nadal aktualizowana w celu obsługi najnowszych wersji interfejsów API usługi Azure Storage. Aby uzyskać więcej informacji, zobacz Use the Azurite emulator for local Azure Storage development (Używanie emulatora Azurite do lokalnego programowania w usłudze Azure Storage).
Pobieranie emulatora magazynu
Emulator usługi Storage jest dostępny w ramach Microsoft zestawu Azure SDK. Emulator usługi Storage można również zainstalować przy użyciu autonomicznego instalatora (pobieranie bezpośrednie). Aby zainstalować emulator magazynu, musisz mieć uprawnienia administracyjne na komputerze.
Emulator magazynu działa obecnie tylko w systemie Windows. W przypadku emulacji w systemie Linux użyj emulatora Azurite .
Uwaga
Dane utworzone w jednej wersji emulatora magazynu nie mają gwarancji, że będą dostępne w przypadku korzystania z innej wersji. Jeśli chcesz zachować dane na dłuższą metę, zalecamy przechowywanie tych danych na koncie usługi Azure Storage, a nie w emulatorze usługi Storage.
Emulator magazynu zależy od określonych wersji bibliotek OData. Zastąpienie bibliotek DLL OData używanych przez emulator magazynu innymi wersjami jest nieobsługiwane i może spowodować nieoczekiwane zachowanie. Jednak każda wersja OData obsługiwana przez usługę magazynu może służyć do wysyłania żądań do emulatora.
Jak działa emulator magazynu
Emulator magazynu używa lokalnego wystąpienia usługi Express LocalDB Microsoft SQL Server 2012 do emulowania usług magazynu platformy Azure. Możesz skonfigurować emulator magazynu w celu uzyskania dostępu do lokalnego wystąpienia SQL Server zamiast wystąpienia usługi LocalDB. Aby dowiedzieć się więcej, zobacz sekcję Uruchamianie i inicjowanie emulatora magazynu w dalszej części tego artykułu.
Emulator magazynu łączy się z SQL Server lub LocalDB przy użyciu uwierzytelniania systemu Windows.
Istnieją pewne różnice w funkcjonalności między emulatorem magazynu i usługami Azure Storage. Aby uzyskać więcej informacji na temat tych różnic, zobacz sekcję Różnice między emulatorem magazynu i usługą Azure Storage w dalszej części tego artykułu.
Uruchamianie i inicjowanie emulatora magazynu
Aby uruchomić emulator usługi Azure Storage:
- Wybierz przycisk Start lub naciśnij klawisz systemu Windows .
- Rozpocznij wpisywanie .
Azure Storage Emulator
- Wybierz emulator z listy wyświetlanych aplikacji.
Po uruchomieniu emulatora magazynu zostanie wyświetlone okno wiersza polecenia. Możesz użyć tego okna konsoli, aby uruchomić i zatrzymać emulator magazynu. Możesz również wyczyścić dane, uzyskać stan i zainicjować emulator z poziomu wiersza polecenia. Aby uzyskać więcej informacji, zobacz sekcję narzędzia wiersza polecenia emulatora magazynu w dalszej części tego artykułu.
Uwaga
Emulator usługi Azure Storage może nie uruchomić się poprawnie, jeśli w systemie jest uruchomiony inny emulator magazynu, taki jak Azurite.
Po uruchomieniu emulatora pojawi się ikona w obszarze powiadomień paska zadań systemu Windows.
Po zamknięciu okna wiersza polecenia emulatora usługi Storage emulator magazynu będzie nadal działać. Aby ponownie wyświetlić okno konsoli emulatora magazynu, wykonaj poprzednie kroki, tak jak w przypadku uruchamiania emulatora magazynu.
Przy pierwszym uruchomieniu emulatora magazynu lokalne środowisko magazynu jest inicjowane. Proces inicjowania tworzy bazę danych w bazie danych LocalDB i rezerwuje porty HTTP dla każdej lokalnej usługi magazynu.
Emulator magazynu jest instalowany domyślnie w programie C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator
.
Porada
Możesz użyć Eksplorator usługi Microsoft Azure Storage do pracy z lokalnymi zasobami emulatora magazynu. Wyszukaj ciąg "(Emulator — domyślne porty) (klucz)" w obszarze "Dołączone lokalnie&" w drzewie zasobów Eksplorator usługi Storage po zainstalowaniu i uruchomieniu emulatora magazynu.
Inicjowanie emulatora magazynu w celu użycia innej bazy danych SQL
Za pomocą narzędzia wiersza polecenia emulatora magazynu można zainicjować emulator magazynu, aby wskazać wystąpienie bazy danych SQL inne niż domyślne wystąpienie bazy danych LocalDB:
Otwórz okno konsoli emulatora magazynu zgodnie z opisem w sekcji Uruchamianie i inicjowanie emulatora magazynu .
W oknie konsoli wpisz następujące polecenie, gdzie
<SQLServerInstance>
jest nazwą wystąpienia SQL Server. Aby użyć bazy danych LocalDB, określ(localdb)\MSSQLLocalDb
jako wystąpienie SQL Server.AzureStorageEmulator.exe init /server <SQLServerInstance>
Możesz również użyć następującego polecenia, które nakazuje emulatorowi użycie domyślnego wystąpienia SQL Server:
AzureStorageEmulator.exe init /server .
Możesz też użyć następującego polecenia, które inicjuje bazę danych do domyślnego wystąpienia bazy danych LocalDB:
AzureStorageEmulator.exe init /forceCreate
Aby uzyskać więcej informacji na temat tych poleceń, zobacz Dokumentacja narzędzia wiersza polecenia emulatora usługi Storage.
Porada
Za pomocą Microsoft SQL Server Management Studio (SSMS) można zarządzać wystąpieniami SQL Server, w tym instalacją bazy danych LocalDB. W oknie dialogowym SMSS Connect to Server (Połącz z serwerem ) określ (localdb)\MSSQLLocalDb
w polu Nazwa serwera: , aby nawiązać połączenie z wystąpieniem bazy danych LocalDB.
Uwierzytelnianie żądań względem emulatora usługi Storage
Po zainstalowaniu i uruchomieniu emulatora usługi Storage możesz przetestować kod. Każde żądanie wykonywane względem emulatora magazynu musi być autoryzowane, chyba że jest to żądanie anonimowe. Żądania dotyczące emulatora magazynu można autoryzować przy użyciu uwierzytelniania klucza współużytkowanego lub sygnatury dostępu współdzielonego (SAS).
Autoryzowanie przy użyciu poświadczeń klucza wspólnego
Emulator obsługuje jedno stałe konto i dobrze znany klucz uwierzytelniania na potrzeby uwierzytelniania za pomocą klucza wspólnego. To konto i klucz są jedynymi poświadczeniami klucza wspólnego, które są dozwolone do użycia z emulatorem. Są to:
Account name: devstoreaccount1
Account key: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==
Uwaga
Klucz uwierzytelniania obsługiwany przez emulator jest przeznaczony tylko do testowania funkcjonalności kodu uwierzytelniania klienta. Nie służy on żadnemu celowi zabezpieczeń. Nie można używać konta magazynu produkcyjnego i klucza z emulatorem. Nie należy używać konta dewelopera z danymi produkcyjnymi.
Emulator obsługuje tylko połączenie za pośrednictwem protokołu HTTP. Jednak protokół HTTPS jest zalecanym protokołem umożliwiającym uzyskiwanie dostępu do zasobów na produkcyjnym koncie usługi Azure Storage.
Nawiązywanie połączenia z kontem emulatora przy użyciu skrótu
Najprostszym sposobem nawiązania połączenia z emulatorem z aplikacji jest skonfigurowanie parametrów połączenia w pliku konfiguracji aplikacji, który odwołuje się do skrótu UseDevelopmentStorage=true
. Skrót jest odpowiednikiem pełnych parametrów połączenia emulatora, który określa nazwę konta, klucz konta i punkty końcowe emulatora dla każdej z usług Azure Storage:
DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;
AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;
BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;
QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;
TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;
Poniższy fragment kodu platformy .NET pokazuje, jak można użyć skrótu z metody, która przyjmuje parametry połączenia. Na przykład konstruktor BlobContainerClient(String, String) przyjmuje parametry połączenia.
BlobContainerClient blobContainerClient = new BlobContainerClient("UseDevelopmentStorage=true", "sample-container");
blobContainerClient.CreateIfNotExists();
Przed wywołaniem kodu we fragmencie kodu upewnij się, że emulator jest uruchomiony.
Aby uzyskać więcej informacji na temat parametrów połączenia, zobacz Konfigurowanie parametrów połączenia usługi Azure Storage.
Autoryzowanie za pomocą sygnatury dostępu współdzielonego
Uwaga
Zalecamy korzystanie z modułu Azure Az programu PowerShell do interakcji z platformą Azure. Zobacz Instalowanie Azure PowerShell, aby rozpocząć pracę. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.
Niektóre biblioteki klienta usługi Azure Storage, takie jak biblioteka platformy Xamarin, obsługują tylko uwierzytelnianie za pomocą tokenu sygnatury dostępu współdzielonego (SAS). Token SAS można utworzyć przy użyciu Eksplorator usługi Storage lub innej aplikacji obsługującej uwierzytelnianie za pomocą klucza współużytkowanego.
Token SYGNATURy dostępu współdzielonego można również wygenerować przy użyciu Azure PowerShell. Poniższy przykład generuje token SAS z pełnymi uprawnieniami do kontenera obiektów blob:
- Zainstaluj Azure PowerShell, jeśli jeszcze tego nie zrobiono (zaleca się korzystanie z najnowszej wersji poleceń cmdlet Azure PowerShell). Aby uzyskać instrukcje dotyczące instalacji, zobacz Instalowanie i konfigurowanie Azure PowerShell.
- Otwórz Azure PowerShell i uruchom następujące polecenia, zastępując
CONTAINER_NAME
ciąg wybraną nazwą:
$context = New-AzStorageContext -Local
New-AzStorageContainer CONTAINER_NAME -Permission Off -Context $context
$now = Get-Date
New-AzStorageContainerSASToken -Name CONTAINER_NAME -Permission rwdl -ExpiryTime $now.AddDays(1.0) -Context $context -FullUri
Wynikowy identyfikator URI sygnatury dostępu współdzielonego dla nowego kontenera powinien być podobny do następującego:
http://127.0.0.1:10000/devstoreaccount1/sascontainer?sv=2012-02-12&se=2015-07-08T00%3A12%3A08Z&sr=c&sp=wl&sig=t%2BbzU9%2B7ry4okULN9S0wst/8MCUhTjrHyV9rDNLSe8g%3Dsss
Sygnatura dostępu współdzielonego utworzona za pomocą tego przykładu jest ważna przez jeden dzień. Podpis udziela pełnego dostępu (odczyt, zapis, usuwanie, lista) do obiektów blob w kontenerze.
Aby uzyskać więcej informacji na temat sygnatur dostępu współdzielonego, zobacz Udzielanie ograniczonego dostępu do zasobów usługi Azure Storage przy użyciu sygnatur dostępu współdzielonego (SAS).
Adresowanie zasobów w emulatorze magazynu
Punkty końcowe usługi dla emulatora magazynu różnią się od punktów końcowych konta usługi Azure Storage. Komputer lokalny nie obsługuje rozpoznawania nazw domen, co wymaga, aby punkty końcowe emulatora magazynu było adresami lokalnymi.
Jeśli adresujesz zasób na koncie usługi Azure Storage, użyj następującego schematu. Nazwa konta jest częścią nazwy hosta identyfikatora URI, a adresowany zasób jest częścią ścieżki identyfikatora URI:
<http|https>://<account-name>.<service-name>.core.windows.net/<resource-path>
Na przykład następujący identyfikator URI jest prawidłowym adresem dla obiektu blob na koncie usługi Azure Storage:
https://myaccount.blob.core.windows.net/mycontainer/myblob.txt
Ponieważ komputer lokalny nie obsługuje rozpoznawania nazw domen, nazwa konta jest częścią ścieżki identyfikatora URI zamiast nazwy hosta. Użyj następującego formatu identyfikatora URI dla zasobu w emulatorze magazynu:
http://<local-machine-address>:<port>/<account-name>/<resource-path>
Na przykład następujący adres może służyć do uzyskiwania dostępu do obiektu blob w emulatorze magazynu:
http://127.0.0.1:10000/myaccount/mycontainer/myblob.txt
Punkty końcowe usługi dla emulatora magazynu to:
- Usługa obiektów blob:
http://127.0.0.1:10000/<account-name>/<resource-path>
- Usługa kolejki:
http://127.0.0.1:10001/<account-name>/<resource-path>
- Usługa tabel:
http://127.0.0.1:10002/<account-name>/<resource-path>
Adresowanie pomocniczego konta przy użyciu magazynu RA-GRS
Począwszy od wersji 3.1, emulator magazynu obsługuje replikację geograficznie nadmiarową dostępu do odczytu (RA-GRS). Możesz uzyskać dostęp do lokalizacji dodatkowej, dołączając -secondary do nazwy konta. Na przykład następujący adres może służyć do uzyskiwania dostępu do obiektu blob przy użyciu pomocniczej funkcji tylko do odczytu w emulatorze magazynu:
http://127.0.0.1:10000/myaccount-secondary/mycontainer/myblob.txt
Uwaga
Aby uzyskać dostęp programowy do pomocniczego emulatora magazynu, użyj biblioteki klienta magazynu dla platformy .NET w wersji 3.2 lub nowszej. Aby uzyskać szczegółowe informacje, zobacz bibliotekę klienta Microsoft Azure Storage dla platformy .NET.
Dokumentacja narzędzia wiersza polecenia emulatora usługi Storage
Począwszy od wersji 3.0, po uruchomieniu emulatora magazynu zostanie wyświetlone okno konsoli. Użyj wiersza polecenia w oknie konsoli, aby uruchomić i zatrzymać emulator. Możesz również wykonywać zapytania o stan i wykonywać inne operacje z poziomu wiersza polecenia.
Uwaga
Jeśli masz zainstalowany Microsoft emulatora usługi Azure Compute, po uruchomieniu emulatora magazynu zostanie wyświetlona ikona paska zadań systemu. Kliknij prawym przyciskiem myszy ikonę, aby wyświetlić menu, które zapewnia graficzny sposób uruchamiania i zatrzymywania emulatora magazynu.
Składnia wiersza polecenia
AzureStorageEmulator.exe [start] [stop] [status] [clear] [init] [help]
Opcje
Aby wyświetlić listę opcji, wpisz ciąg /help
w wierszu polecenia.
Opcja | Opis | Polecenie | Argumenty |
---|---|---|---|
Początek | Uruchamia emulator magazynu. | AzureStorageEmulator.exe start [-inprocess] |
-Reprocess: uruchom emulator w bieżącym procesie zamiast tworzenia nowego procesu. |
Zatrzymaj | Zatrzymuje emulator magazynu. | AzureStorageEmulator.exe stop |
|
Stan | Drukuje stan emulatora magazynu. | AzureStorageEmulator.exe status |
|
Czyste | Czyści dane we wszystkich usługach określonych w wierszu polecenia. | AzureStorageEmulator.exe clear [blob] [table] [queue] [all] |
obiekt blob: czyści dane obiektów blob. kolejka: czyści dane kolejki. tabela: czyści dane tabeli. wszystkie: czyści wszystkie dane we wszystkich usługach. |
Init | Wykonuje jednorazowe inicjowanie w celu skonfigurowania emulatora. | AzureStorageEmulator.exe init [-server serverName] [-sqlinstance instanceName] [-forcecreate|-skipcreate] [-reserveports|-unreserveports] [-inprocess] |
-server serverName\instanceName: określa serwer hostowania wystąpienia SQL. -sqlinstance instanceName: określa nazwę wystąpienia SQL do użycia w domyślnym wystąpieniu serwera. -forcecreate: Wymusza tworzenie bazy danych SQL, nawet jeśli już istnieje. -skipcreate: Pomija tworzenie bazy danych SQL. Ma to pierwszeństwo przed -forcecreate. -reserveports: próbuje zarezerwować porty HTTP skojarzone z usługami. -unreserveports: próbuje usunąć rezerwacje dla portów HTTP skojarzonych z usługami. Ma to pierwszeństwo przed -reserveports. -inprocess: wykonuje inicjowanie w bieżącym procesie zamiast tworzenia nowego procesu. Bieżący proces musi zostać uruchomiony z podwyższonym poziomem uprawnień w przypadku zmiany rezerwacji portów. |
Różnice między emulatorem magazynu a usługą Azure Storage
Ponieważ emulator magazynu jest lokalnym środowiskiem emulowanym, istnieją różnice między użyciem emulatora i konta usługi Azure Storage w chmurze:
- Emulator magazynu obsługuje tylko jedno stałe konto i dobrze znany klucz uwierzytelniania.
- Emulator magazynu nie jest skalowalną usługą magazynu i nie obsługuje dużej liczby współbieżnych klientów.
- Zgodnie z opisem w temacie Adresowanie zasobów w emulatorze magazynu zasoby są adresowane inaczej w emulatorze usługi Storage w porównaniu z kontem usługi Azure Storage. Różnica polega na tym, że rozpoznawanie nazw domen jest dostępne w chmurze, ale nie na komputerze lokalnym.
- Począwszy od wersji 3.1, konto emulatora magazynu obsługuje replikację geograficznie nadmiarową dostępu do odczytu (RA-GRS). W emulatorze wszystkie konta mają włączoną funkcję RA-GRS i nigdy nie ma żadnego opóźnienia między replikami podstawowymi i pomocniczymi. Operacje Get Blob Service Stats, Get Queue Service Stats i Get Table Service Stats są obsługiwane w pomocniczej bazie danych konta i zawsze zwracają wartość
LastSyncTime
elementu odpowiedzi jako bieżący czas zgodnie z bazową bazą danych SQL. - Punkty końcowe usługi plików i protokołu SMB nie są obecnie obsługiwane w emulatorze magazynu.
- Jeśli używasz wersji usług magazynu, które nie są obsługiwane przez emulator, emulator zwraca błąd VersionNotSupportedByEmulator (kod stanu HTTP 400 — nieprawidłowe żądanie).
Różnice w usłudze Blob Storage
Następujące różnice dotyczą usługi Blob Storage w emulatorze:
- Emulator magazynu obsługuje tylko rozmiary obiektów blob do 2 GB.
- Maksymalna długość nazwy obiektu blob w emulatorze magazynu wynosi 256 znaków, a maksymalna długość nazwy obiektu blob w usłudze Azure Storage wynosi 1024 znaki.
- Kopiowanie przyrostowe umożliwia kopiowanie migawek z nadpisanych obiektów blob, co zwraca błąd w usłudze.
- Różnice między zakresami stron nie działają między migawkami skopiowanym przy użyciu przyrostowego kopiowania obiektu blob.
- Operacja Put Blob może zakończyć się powodzeniem względem obiektu blob, który istnieje w emulatorze magazynu z aktywną dzierżawą, nawet jeśli identyfikator dzierżawy nie został określony w żądaniu.
- Operacje uzupełnialnych obiektów blob nie są obsługiwane przez emulator. Próba wykonania operacji w uzupełnionym obiekcie blob zwraca błąd FeatureNotSupportedByEmulator (kod stanu HTTP 400 — nieprawidłowe żądanie).
Różnice w usłudze Table Storage
Następujące różnice dotyczą usługi Table Storage w emulatorze:
- Właściwości daty w usłudze Table Service w emulatorze magazynu obsługują tylko zakres obsługiwany przez SQL Server 2005 r. (muszą one być późniejsze niż 1 stycznia 1753 r.). Wszystkie daty przed 1 stycznia 1753 r. są zmieniane na tę wartość. Dokładność dat jest ograniczona do dokładności SQL Server 2005, co oznacza, że daty są dokładne do 1/300 sekundy.
- Emulator magazynu obsługuje wartości właściwości klucza partycji i klucza wiersza mniejsze niż 512 bajtów. Łączny rozmiar nazwy konta, nazwy tabeli i nazw właściwości klucza nie może przekraczać 900 bajtów.
- Całkowity rozmiar wiersza w tabeli w emulatorze magazynu jest ograniczony do mniejszego niż 1 MB.
- W emulatorze magazynu właściwości typu
Edm.Guid
danych lubEdm.Binary
obsługują tylkoEqual (eq)
operatory porównania iNotEqual (ne)
w ciągach filtru zapytania.
Różnice w usłudze Queue Storage
W emulatorze nie ma żadnych różnic specyficznych dla usługi Queue Storage.
Informacje o wersji emulatora usługi Storage
Wersja 5.10
- Emulator magazynu nie odrzuci wersji 2019-07-07 usług magazynu w punktach końcowych usługi Blob, Queue i Table Service.
Wersja 5.9
- Emulator magazynu nie odrzuci wersji 2019-02-02 usług magazynu w punktach końcowych usługi Blob, Queue i Table Service.
Wersja 5.8
- Emulator magazynu nie odrzuci wersji 2018-11-09 usług magazynu w punktach końcowych usługi Blob, Queue i Table Service.
Wersja 5.7
- Usunięto usterkę powodującą awarię w przypadku włączenia rejestrowania.
Wersja 5.6
- Emulator magazynu obsługuje teraz wersję 2018-03-28 usług magazynu w punktach końcowych usługi Blob, Queue i Table Service.
Wersja 5.5
- Emulator magazynu obsługuje teraz wersję 2017-11-09 usług magazynu w punktach końcowych usługi Blob, Queue i Table Service.
- Dodano obsługę właściwości Created obiektu blob, która zwraca czas tworzenia obiektu blob.
Wersja 5.4
- Aby zwiększyć stabilność instalacji, emulator nie będzie już próbował zarezerwować portów w czasie instalacji. Jeśli chcesz rezerwacje portów, użyj opcji -reserveports polecenia init , aby je określić.
Wersja 5.3
- Emulator magazynu obsługuje teraz wersję 2017-07-29 usług magazynu w punktach końcowych usługi Blob, Queue i Table Service.
Wersja 5.2
- Emulator magazynu obsługuje teraz wersję 2017-04-17 usług magazynu w punktach końcowych usługi Blob, Queue i Table Service.
- Usunięto usterkę polegającą na tym, że wartości właściwości tabeli nie były prawidłowo kodowane.
Wersja 5.1
- Usunięto usterkę polegającą na tym, że emulator magazynu zwracał
DataServiceVersion
nagłówek w niektórych odpowiedziach, w których usługa nie była.
Wersja 5.0
- Instalator emulatora magazynu nie sprawdza już istniejących instalacji msSQL i .NET Framework.
- Instalator emulatora magazynu nie tworzy już bazy danych w ramach instalacji. Baza danych będzie nadal tworzona w razie potrzeby w ramach uruchamiania.
- Tworzenie bazy danych nie wymaga już podniesienia uprawnień.
- Rezerwacje portów nie są już potrzebne do uruchamiania.
- Dodaje następujące opcje do
init
:-reserveports
(wymaga podniesienia uprawnień),-unreserveports
(wymaga podniesienia uprawnień),-skipcreate
. - Opcja interfejsu użytkownika emulatora magazynu na pasku zadań systemu uruchamia teraz interfejs wiersza polecenia. Stary graficzny interfejs użytkownika nie jest już dostępny.
- Niektóre biblioteki DLL zostały usunięte lub zmienione.
Wersja 4.6
- Emulator magazynu obsługuje teraz wersję 2016-05-31 usług magazynu w punktach końcowych usługi Blob, Queue i Table Service.
Wersja 4.5
- Usunięto usterkę powodującą niepowodzenie instalacji i inicjowania po zmianie nazwy bazy danych kopii zapasowej.
Wersja 4.4
- Emulator magazynu obsługuje teraz wersję 2015-12-11 usług magazynu w punktach końcowych usługi Blob, Queue i Table Service.
- Odzyskiwanie pamięci danych obiektu blob w emulatorze usługi Storage jest teraz bardziej wydajne podczas pracy z dużą liczbą obiektów blob.
- Usunięto usterkę, która spowodowała, że kod XML listy ACL kontenera był weryfikowany nieco inaczej niż sposób jego wykonywania przez usługę magazynu.
- Usunięto usterkę, która czasami powodowała zgłaszanie maksymalnych i minimalnych wartości daty/godziny w nieprawidłowej strefie czasowej.
Wersja 4.3
- Emulator magazynu obsługuje teraz wersję 2015-07-08 usług magazynu w punktach końcowych usługi Blob, Queue i Table Service.
Wersja 4.2
- Emulator magazynu obsługuje teraz wersję 2015-04-05 usług magazynu w punktach końcowych usługi Blob, Queue i Table Service.
Wersja 4.1
- Emulator magazynu obsługuje teraz wersję 2015-02-21 usług magazynu w punktach końcowych usługi Blob, Queue i Table Service. Nie obsługuje nowych funkcji uzupełnialnych obiektów blob.
- Emulator zwraca teraz znaczący komunikat o błędzie dla nieobsługiwanych wersji usług magazynu. Zalecamy używanie najnowszej wersji emulatora. Jeśli wystąpi błąd VersionNotSupportedByEmulator (kod stanu HTTP 400 — nieprawidłowe żądanie), pobierz najnowszą wersję emulatora.
- Usunięto usterkę polegającą na tym, że w przypadku warunku wyścigu dane jednostki tabeli były niepoprawne podczas współbieżnych operacji scalania.
Wersja 4.0
- Nazwa pliku wykonywalnego emulatora magazynu została zmieniona na AzureStorageEmulator.exe.
Wersja 3.2
- Emulator magazynu obsługuje teraz wersję 2014-02-14 usług magazynu w punktach końcowych usługi Blob, Queue i Table Service. Punkty końcowe usługi plików nie są obecnie obsługiwane w emulatorze magazynu. Aby uzyskać szczegółowe informacje na temat wersji 2014-02-14, zobacz Przechowywanie wersji dla usług Azure Storage .
Wersja 3.1
- Magazyn geograficznie nadmiarowy dostępny do odczytu (RA-GRS) jest teraz obsługiwany w emulatorze magazynu. Interfejsy
Get Blob Service Stats
API ,Get Queue Service Stats
iGet Table Service Stats
są obsługiwane dla konta pomocniczego i zawsze zwracają wartość elementu odpowiedzi LastSyncTime jako bieżący czas zgodnie z bazą danych SQL Database. Aby uzyskać dostęp programowy do pomocniczego przy użyciu emulatora magazynu, użyj biblioteki klienta usługi Storage dla platformy .NET w wersji 3.2 lub nowszej. Aby uzyskać szczegółowe informacje, zobacz dokumentację biblioteki klienta platformy .NET Microsoft Azure Storage.
Wersja 3.0
- Emulator usługi Azure Storage nie jest już dostarczany w tym samym pakiecie co emulator obliczeniowy.
- Graficzny interfejs użytkownika emulatora magazynu jest przestarzały. Został on zastąpiony przez skryptowy interfejs wiersza polecenia. Aby uzyskać szczegółowe informacje na temat interfejsu wiersza polecenia, zobacz Dokumentacja narzędzia Command-Line emulatora magazynu. Interfejs graficzny będzie nadal obecny w wersji 3.0, ale można uzyskać do niego dostęp tylko wtedy, gdy emulator obliczeniowy jest zainstalowany, klikając prawym przyciskiem myszy ikonę paska zadań i wybierając polecenie Pokaż interfejs użytkownika emulatora magazynu.
- Wersja 2013-08-15 usług Azure Storage jest teraz w pełni obsługiwana. (Wcześniej ta wersja była obsługiwana tylko przez emulator usługi Storage w wersji 2.2.1 (wersja zapoznawcza).
Następne kroki
- Oceń międzyplatformowy, obsługiwany przez społeczność emulator magazynu typu open source Azurite.
- Przykłady usługi Azure Storage korzystające z platformy .NET zawierają linki do kilku przykładów kodu, których można użyć podczas tworzenia aplikacji.
- Możesz użyć Eksplorator usługi Microsoft Azure Storage do pracy z zasobami na koncie magazynu w chmurze i w emulatorze magazynu.