Używanie emulatora usługi Azure Storage do programowania i testowania (przestarzałe)

Emulator usługi Microsoft Azure Storage to narzędzie emulujące usługi Azure Blob, Queue i Table na potrzeby programowania lokalnego. Aplikację można przetestować w środowisku lokalnym 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. Firma Microsoft zaleca używanie 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 zestawu Microsoft 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 Microsoft SQL Server 2012 Express LocalDB do emulowania usług magazynu platformy Azure. Możesz skonfigurować emulator magazynu w celu uzyskania dostępu do lokalnego wystąpienia programu SQL Server zamiast wystąpienia bazy danych 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 programem SQL Server lub localDB przy użyciu uwierzytelniania systemu Windows.

Istnieją pewne różnice w funkcjonalności między emulatorem magazynu a 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:

  1. Wybierz przycisk Start lub naciśnij klawisz Systemu Windows.
  2. Rozpocznij wpisywanie Azure Storage Emulator.
  3. 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ę dokumentacja narzędzia wiersza polecenia emulatora usługi Storage 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 magazynu emulator będzie nadal działać. Aby ponownie wyświetlić okno konsoli emulatora magazynu, wykonaj powyższe kroki tak, jakby uruchamiał emulator 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.

Napiwek

Możesz użyć Eksplorator usługi Microsoft Azure Storage do pracy z lokalnymi zasobami emulatora usługi Storage. Wyszukaj ciąg "(Emulator — porty domyślne) (klucz)" w obszarze "Lokalne i dołączone" w drzewie zasobów Eksplorator usługi Storage po zainstalowaniu i uruchomieniu emulatora magazynu.

Inicjowanie emulatora magazynu w celu używania innej bazy danych SQL

Możesz użyć narzędzia wiersza polecenia emulatora magazynu, aby zainicjować emulator magazynu, aby wskazać wystąpienie bazy danych SQL inne niż domyślne wystąpienie bazy danych LocalDB:

  1. Otwórz okno konsoli emulatora magazynu zgodnie z opisem w sekcji Uruchamianie i inicjowanie emulatora magazynu.

  2. W oknie konsoli wpisz następujące polecenie, gdzie <SQLServerInstance> jest nazwą wystąpienia programu SQL Server. Aby użyć bazy danych LocalDB, określ (localdb)\MSSQLLocalDb jako wystąpienie programu SQL Server.

    AzureStorageEmulator.exe init /server <SQLServerInstance>

    Możesz również użyć następującego polecenia, które przekierowuje emulator do używania domyślnego wystąpienia programu 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.

Napiwek

Program Microsoft SQL Server Management Studio (SSMS) umożliwia zarządzanie wystąpieniami programu SQL Server, w tym instalacją bazy danych LocalDB. W oknie dialogowym Połączenie PROGRAMU SMSS do serwera 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ółdzielonego 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 to jedyne poświadczenia klucza współużytkowanego 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 ona żadnemu celowi zabezpieczeń. Nie można użyć konta magazynu produkcyjnego i klucza z emulatorem. Nie należy używać konta programistycznego 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.

Połączenie do konta emulatora przy użyciu skrótu

Najprostszym sposobem nawiązania połączenia z emulatorem z aplikacji jest skonfigurowanie parametry połączenia w pliku konfiguracji aplikacji, który odwołuje się do skrótu UseDevelopmentStorage=true. Skrót jest odpowiednikiem pełnego parametry 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 parametry połączenia, zobacz Konfigurowanie parametry połączenia usługi Azure Storage.

Autoryzowanie za pomocą sygnatury dostępu współdzielonego

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. 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ółdzielonego.

Token SAS można również wygenerować przy użyciu programu Azure PowerShell. Poniższy przykład generuje token SAS z pełnymi uprawnieniami do kontenera obiektów blob:

  1. Zainstaluj program Azure PowerShell, jeśli jeszcze tego nie zrobiono (zalecana jest najnowsza wersja poleceń cmdlet programu Azure PowerShell). Aby uzyskać instrukcje dotyczące instalacji, zobacz Instalowanie i konfigurowanie programu Azure PowerShell.
  2. Otwórz program 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 przy użyciu 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 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 od punktów końcowych emulatora magazynu adresów lokalnych.

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 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 usługi Storage:

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 kolejkowania: http://127.0.0.1:10001/<account-name>/<resource-path>
  • Usługa tabel: http://127.0.0.1:10002/<account-name>/<resource-path>

Zwracanie się do konta pomocniczego 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). Dostęp do lokalizacji dodatkowej można uzyskać, 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 pomocniczego 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 usługi 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 dotyczące stanu i wykonywać inne operacje z poziomu wiersza polecenia.

Uwaga

Jeśli masz zainstalowany emulator usługi Microsoft Azure Compute, po uruchomieniu emulatora usługi Storage 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 Command Argumenty
Uruchom Uruchamia emulator magazynu. AzureStorageEmulator.exe start [-inprocess] -Reprocess: Uruchom emulator w bieżącym procesie zamiast tworzyć nowy proces.
Zatrzymaj Zatrzymuje emulator magazynu. AzureStorageEmulator.exe stop
Stan Wyświetla stan emulatora magazynu. AzureStorageEmulator.exe status
Wyczyść 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.
Inicjowanie 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, które ma być używane w domyślnym wystąpieniu serwera.
-forcecreate: Wymusza utworzenie 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 portów HTTP skojarzonych z usługami. Ma to pierwszeństwo przed -reserveports.
-inprocess: wykonuje inicjację w bieżącym procesie zamiast duplikowania nowego procesu. Bieżący proces należy uruchomić z podwyższonym poziomem uprawnień w przypadku zmiany rezerwacji portów.

Różnice między emulatorem magazynu i usługą Azure Storage

Ponieważ emulator magazynu jest lokalnym środowiskiem emulowanym, istnieją różnice między używaniem emulatora a kontem 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 równoczesnych klientów.
  • Zgodnie z opisem w temacie Adresowanie zasobów w emulatorze magazynu zasoby są adresowane inaczej w emulatorze usługi Storage i na koncie 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łączone 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 pomocniczym koncie i zawsze będą zwracać 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 kopiowanych przy użyciu przyrostowego obiektu blob kopiowania przyrostowego.
  • 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 program SQL Server 2005 (są one wymagane później 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 programu 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 lub Edm.Binary obsługują tylko Equal (eq) operatory porównania i NotEqual (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 poprawić stabilność instalacji, emulator nie próbuje już 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ą DataServiceVersion na tym, że emulator magazynu zwracał nagłówek w niektórych odpowiedziach, w których usługa nie była.

Wersja 5.0

  • Instalator emulatora magazynu nie sprawdza już instalacji istniejących programów 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 Interfejs 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 podczas zmiany 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 w emulatorze magazynu danych obiektów blob 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 został zweryfikowany nieco inaczej niż sposób działania usługi magazynu.
  • Usunięto usterkę, która czasami powodowała zgłaszanie wartości maksymalnej i minimalnej 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 zostanie wyświetlony błąd VersionNotSupportedByEmulator (kod stanu HTTP 400 — nieprawidłowe żądanie), pobierz najnowszą wersję emulatora.
  • Usunięto usterkę polegającą na tym, że w stanie 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 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 StatsAPI , Get Queue Service Statsi Get Table Service Stats są obsługiwane dla pomocniczego konta i zawsze będą zwracać wartość elementu odpowiedzi LastSyncTime jako bieżący czas zgodnie z bazą danych SQL. 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 dokumentację klienta usługi Microsoft Azure Storage dla platformy .NET.

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 wiersza polecenia emulatora magazynu. Interfejs graficzny będzie nadal obecny w wersji 3.0, ale można uzyskać do niego dostęp tylko po zainstalowaniu emulatora obliczeniowego, 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

Zobacz też