Použití emulátoru úložiště Azure pro vývoj a testováníUse the Azure storage emulator for development and testing

Emulátor úložiště Microsoft Azure je nástroj, který emuluje služby Azure Blob, Queue a Table pro účely místního vývoje.The Microsoft Azure storage emulator is a tool that emulates the Azure Blob, Queue, and Table services for local development purposes. Svou aplikaci můžete testovat i v místním úložišti, aniž byste museli vytvářet předplatné Azure nebo náklady.You can test your application against the storage services locally without creating an Azure subscription or incurring any costs. Až budete spokojeni s tím, jak vaše aplikace funguje v emulátoru, přepněte na použití účtu úložiště Azure v cloudu.When you're satisfied with how your application is working in the emulator, switch to using an Azure storage account in the cloud.

Získání emulátoru úložištěGet the storage emulator

Emulátor úložiště je k dispozici jako součást sady Microsoft Azure SDK.The storage emulator is available as part of the Microsoft Azure SDK. Emulátor úložiště můžete nainstalovat také pomocí samostatného instalačního programu (přímo ke stažení).You can also install the storage emulator by using the standalone installer (direct download). K instalaci emulátoru úložiště musíte mít v počítači oprávnění správce.To install the storage emulator, you must have administrative privileges on your computer.

Emulátor úložiště se v tuto chvíli spouští jenom v systému Windows.The storage emulator currently runs only on Windows. Pokud potřebujete emulátor úložiště pro Linux, jedna možnost je udržovaná komunitou, open source emulátor úložiště Azurite.If you need a storage emulator for Linux, one option is the community maintained, open-source storage emulator Azurite.

Poznámka

Data vytvořená v jedné verzi emulátoru úložiště nejsou zaručená k přístupu při použití jiné verze.Data created in one version of the storage emulator is not guaranteed to be accessible when using a different version. Pokud potřebujete zachovat data po dlouhou dobu, doporučujeme, abyste tato data ukládali v účtu služby Azure Storage, nikoli v emulátoru úložiště.If you need to persist your data for the long term, we recommended that you store that data in an Azure storage account, rather than in the storage emulator.

Emulátor úložiště závisí na konkrétních verzích knihoven OData.The storage emulator depends on specific versions of the OData libraries. Nahrazení knihoven DLL OData používaných emulátorem úložiště v jiných verzích se nepodporuje a může způsobit neočekávané chování.Replacing the OData DLLs used by the storage emulator with other versions is unsupported, and may cause unexpected behavior. K posílání požadavků na emulátor se ale dá použít libovolná verze OData podporovaná službou úložiště.However, any version of OData supported by the storage service may be used to send requests to the emulator.

Jak emulátor úložiště fungujeHow the storage emulator works

Emulátor úložiště používá místní instanci Microsoft SQL Server 2012 Express LocalDB k emulaci služeb Azure Storage.The storage emulator uses a local Microsoft SQL Server 2012 Express LocalDB instance to emulate Azure storage services. Místo instance LocalDB můžete nakonfigurovat emulátor úložiště pro přístup k místní instanci SQL Server.You can choose to configure the storage emulator to access a local instance of SQL Server instead of the LocalDB instance. Další informace najdete v části spuštění a inicializace emulátoru úložiště dále v tomto článku.See the Start and initialize the storage emulator section later in this article to learn more.

Emulátor úložiště se připojuje k SQL Server nebo LocalDB pomocí ověřování systému Windows.The storage emulator connects to SQL Server or LocalDB using Windows authentication.

Mezi emulátor úložiště a služby Azure Storage existují některé rozdíly ve funkčnosti.Some differences in functionality exist between the storage emulator and Azure storage services. Další informace o těchto rozdílech najdete v částech o rozdílech mezi emulátorem úložiště a Azure Storage části dále v tomto článku.For more information about these differences, see the Differences between the storage emulator and Azure Storage section later in this article.

Spuštění a inicializace emulátoru úložištěStart and initialize the storage emulator

Spuštění emulátoru úložiště Azure:To start the Azure storage emulator:

  1. Vyberte tlačítko Start nebo stiskněte klávesu Windows .Select the Start button or press the Windows key.
  2. Začněte psát Azure Storage Emulator.Begin typing Azure Storage Emulator.
  3. Vyberte emulátor ze seznamu zobrazených aplikací.Select the emulator from the list of displayed applications.

Po spuštění emulátoru úložiště se zobrazí okno příkazového řádku.When the storage emulator starts, a Command Prompt window will appear. Pomocí tohoto okna konzoly můžete spustit a zastavit emulátor úložiště.You can use this console window to start and stop the storage emulator. Můžete také vymazat data, získat stav a inicializovat emulátor z příkazového řádku.You can also clear data, get status, and initialize the emulator from the command prompt. Další informace najdete v části referenční informace k nástroji příkazového řádku emulátoru úložiště dále v tomto článku.For more information, see the Storage emulator command-line tool reference section later in this article.

Poznámka

Emulátor úložiště Azure se nemusí správně spustit, pokud je v systému spuštěný jiný emulátor úložiště, například Azurite.The Azure storage emulator may not start correctly if another storage emulator, such as Azurite, is running on the system.

Po spuštění emulátoru se v oznamovací oblasti hlavního panelu Windows zobrazí jeho ikona.When the emulator is running, you'll see an icon in the Windows taskbar notification area.

Po zavření okna příkazového řádku emulátoru úložiště bude emulátor úložiště nadále spuštěn.When you close the storage emulator Command Prompt window, the storage emulator will continue to run. Chcete-li znovu spustit okno konzoly emulátoru úložiště, postupujte podle předchozích kroků, jako je spuštění emulátoru úložiště.To bring up the Storage Emulator console window again, follow the preceding steps as if starting the storage emulator.

Při prvním spuštění emulátoru úložiště se místní prostředí úložiště inicializuje za vás.The first time you run the storage emulator, the local storage environment is initialized for you. Proces inicializace vytvoří databázi v LocalDB a rezervuje porty HTTP pro každou místní službu úložiště.The initialization process creates a database in LocalDB and reserves HTTP ports for each local storage service.

Emulátor úložiště se ve výchozím nastavení nainstaluje na C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator.The storage emulator is installed by default to C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator.

Tip

K práci s prostředky emulátoru místního úložiště můžete použít Průzkumník služby Microsoft Azure Storage .You can use the Microsoft Azure Storage Explorer to work with local storage emulator resources. Po instalaci a spuštění emulátoru úložiště vyhledejte "(výchozí porty emulátoru) (klíč)" v části "místní & připojená" ve stromu Průzkumník služby Storage prostředků.Look for "(Emulator - Default Ports) (Key)" under "Local & Attached" in the Storage Explorer resources tree after you've installed and started the storage emulator.

Inicializace emulátoru úložiště pro použití jiné databáze SQLInitialize the storage emulator to use a different SQL database

Pomocí nástroje příkazového řádku emulátoru úložiště můžete inicializovat emulátor úložiště, aby odkazoval na jinou instanci služby SQL Database, než je výchozí instance LocalDB:You can use the storage emulator command-line tool to initialize the storage emulator to point to a SQL database instance other than the default LocalDB instance:

  1. Otevřete okno konzoly emulátoru úložiště, jak je popsáno v části spuštění a inicializace emulátoru úložiště .Open the Storage Emulator console window as described in the Start and initialize the storage emulator section.

  2. V okně konzoly zadejte následující příkaz, kde <SQLServerInstance> je název instance SQL Server.In the console window, type the following command, where <SQLServerInstance> is the name of the SQL Server instance. Chcete-li použít LocalDB, zadejte jako instanci SQL Server (localdb)\MSSQLLocalDb.To use LocalDB, specify (localdb)\MSSQLLocalDb as the SQL Server instance.

    AzureStorageEmulator.exe init /server <SQLServerInstance>

    Můžete také použít následující příkaz, který přesměruje emulátor na použití výchozí instance SQL Server:You can also use the following command, which directs the emulator to use the default SQL Server instance:

    AzureStorageEmulator.exe init /server .

    Nebo můžete použít následující příkaz, který znovu inicializuje databázi na výchozí instanci LocalDB:Or, you can use the following command, which reinitializes the database to the default LocalDB instance:

    AzureStorageEmulator.exe init /forceCreate

Další informace o těchto příkazech najdete v referenčních informacích k nástroji příkazového řádku emulátoru úložiště.For more information about these commands, see Storage emulator command-line tool reference.

Tip

Ke správě instancí služby SQL Server, včetně instalace LocalDB, můžete použít Microsoft SQL Server Management Studio (SSMS).You can use the Microsoft SQL Server Management Studio (SSMS) to manage your SQL Server instances, including the LocalDB installation. V dialogovém okně SMSS připojit k serveru zadejte do pole název serveru (localdb)\MSSQLLocalDb a připojte se k instanci LocalDB.In the SMSS Connect to Server dialog, specify (localdb)\MSSQLLocalDb in the Server name: field to connect to the LocalDB instance.

Ověřování požadavků pomocí emulátoru úložištěAuthenticating requests against the storage emulator

Po instalaci a spuštění emulátoru úložiště můžete svůj kód otestovat proti němu.Once you've installed and started the storage emulator, you can test your code against it. Každý požadavek, který provedete u emulátoru úložiště, musí být autorizován, pokud se nejedná o anonymní požadavek.Every request you make against the storage emulator must be authorized, unless it's an anonymous request. Požadavky na emulátor úložiště můžete autorizovat pomocí ověřování pomocí sdíleného klíče nebo pomocí sdíleného přístupového podpisu (SAS).You can authorize requests against the storage emulator using Shared Key authentication or with a shared access signature (SAS).

Autorizovat s přihlašovacími údaji sdíleného klíčeAuthorize with Shared Key credentials

Emulátor úložiště podporuje jeden účet pevné a dobře známý ověřovací klíč pro ověřování pomocí sdíleného klíče.The storage emulator supports a single fixed account and a well-known authentication key for Shared Key authentication. Tento účet a klíče jsou pouze přihlašovací údaje sdíleného klíče pro použití s emulátorem úložiště.This account and key are the only Shared Key credentials permitted for use with the storage emulator. Jsou to tyto:They are:

Account name: devstoreaccount1
Account key: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==

Poznámka

Ověřovací klíč nepodporuje emulátor úložiště je určena pouze pro testování funkce kód pro ověřování klientů.The authentication key supported by the storage emulator is intended only for testing the functionality of your client authentication code. Neslouží jakýkoli účel zabezpečení.It does not serve any security purpose. Produkčního účtu úložiště a klíč nelze použít s emulátorem úložiště.You cannot use your production storage account and key with the storage emulator. S použitím provozních dat byste neměli používat účet vývoje.You should not use the development account with production data.

Emulátor úložiště podporuje pouze připojení přes protokol HTTP.The storage emulator supports connection via HTTP only. Ale HTTPS je protokol doporučené pro přístup k prostředkům v produkčním prostředí účtu Azure storage.However, HTTPS is the recommended protocol for accessing resources in a production Azure storage account.

Připojit k emulátoru účtu pomocí zástupceConnect to the emulator account using a shortcut

Nejjednodušší způsob, jak se připojit k emulátoru úložiště z vaší aplikace je ke konfiguraci připojovacího řetězce v konfiguračním souboru aplikace, která odkazuje místní UseDevelopmentStorage=true.The easiest way to connect to the storage emulator from your application is to configure a connection string in your application's configuration file that references the shortcut UseDevelopmentStorage=true. Tady je příklad připojovacího řetězce k emulátoru úložiště v app.config souboru:Here's an example of a connection string to the storage emulator in an app.config file:

<appSettings>
  <add key="StorageConnectionString" value="UseDevelopmentStorage=true" />
</appSettings>

Připojit k emulátoru účtu pomocí dobře známý název a klíčConnect to the emulator account using the well-known account name and key

Chcete-li vytvořit připojovací řetězec, který odkazuje na emulátor název účtu a klíč, musíte zadat koncové body pro každou ze služeb, které chcete použít z emulátoru serveru v připojovacím řetězci.To create a connection string that references the emulator account name and key, you must specify the endpoints for each of the services you wish to use from the emulator in the connection string. To je nezbytné, aby připojovací řetězec bude odkazovat na emulátor koncové body, které jsou jiné než požadavky na účet úložiště v produkčním prostředí.This is necessary so that the connection string will reference the emulator endpoints, which are different than those for a production storage account. Například hodnota připojovací řetězec bude vypadat takto:For example, the value of your connection string will look like this:

DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;
AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;
BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;
TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;
QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;

Tato hodnota se shoduje s místní výše uvedenému UseDevelopmentStorage=true.This value is identical to the shortcut shown above, UseDevelopmentStorage=true.

Zadejte proxy server HTTPSpecify an HTTP proxy

Můžete také zadat proxy server HTTP pro použití při testování vaší služby emulátoru úložiště.You can also specify an HTTP proxy to use when you're testing your service against the storage emulator. To může být užitečné pro sledování požadavků a odpovědí HTTP během ladění operace služby úložiště.This can be useful for observing HTTP requests and responses while you're debugging operations against the storage services. Chcete-li zadat proxy server, přidejte DevelopmentStorageProxyUri možnost připojovacího řetězce a nastavte její hodnotu na identifikátor URI proxy serveru.To specify a proxy, add the DevelopmentStorageProxyUri option to the connection string, and set its value to the proxy URI. Tady je například připojovací řetězec, který odkazuje na emulátor úložiště a nakonfiguruje server proxy protokolu HTTP:For example, here is a connection string that points to the storage emulator and configures an HTTP proxy:

UseDevelopmentStorage=true;DevelopmentStorageProxyUri=http://myProxyUri

Další informace o připojovacích řetězcích najdete v tématu konfigurace Azure Storage připojovacích řetězců.For more information on connection strings, see Configure Azure Storage connection strings.

Autorizovat pomocí sdíleného přístupového podpisuAuthorize with a shared access signature

Poznámka

Tento článek je aktualizovaný a využívá nový modul Az Azure PowerShellu.This article has been updated to use the new Azure PowerShell Az module. Můžete dál využívat modul AzureRM, který bude dostávat opravy chyb nejméně do prosince 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Další informace o kompatibilitě nového modulu Az a modulu AzureRM najdete v tématu Seznámení s novým modulem Az Azure PowerShellu.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Pokyny k instalaci modulu Az najdete v tématu věnovaném instalaci Azure PowerShellu.For Az module installation instructions, see Install Azure PowerShell.

Některé klientské knihovny pro Azure Storage, jako je například knihovna Xamarin, podporují pouze ověřování pomocí tokenu sdíleného přístupového podpisu (SAS).Some Azure storage client libraries, such as the Xamarin library, only support authentication with a shared access signature (SAS) token. Token SAS můžete vytvořit pomocí Průzkumník služby Storage nebo jiné aplikace, která podporuje ověřování pomocí sdíleného klíče.You can create the SAS token using Storage Explorer or another application that supports Shared Key authentication.

Token SAS můžete vygenerovat také pomocí Azure PowerShell.You can also generate a SAS token by using Azure PowerShell. Následující příklad vygeneruje token SAS s úplnými oprávněními k kontejneru objektů BLOB:The following example generates a SAS token with full permissions to a blob container:

  1. Pokud jste to ještě neudělali (doporučujeme použít nejnovější verzi rutin Azure PowerShell, nainstalujte Azure PowerShell).Install Azure PowerShell if you haven't already (using the latest version of the Azure PowerShell cmdlets is recommended). Pokyny k instalaci najdete v tématu instalace a konfigurace Azure PowerShell.For installation instructions, see Install and configure Azure PowerShell.
  2. Otevřete Azure PowerShell a spusťte následující příkazy, kde nahraďte CONTAINER_NAME názvem, který zvolíte:Open Azure PowerShell and run the following commands, replacing CONTAINER_NAME with a name of your choosing:
$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

Výsledný identifikátor URI signatury sdíleného přístupového podpisu pro nový kontejner by měl vypadat přibližně takto:The resulting shared access signature URI for the new container should be similar to:

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%2F8MCUhTjrHyV9rDNLSe8g%3Dsss

Sdílený přístupový podpis vytvořený v tomto příkladu je platný po dobu jednoho dne.The shared access signature created with this example is valid for one day. Signatura udělí úplný přístup (čtení, zápis, odstranění, výpis) objektů BLOB v rámci kontejneru.The signature grants full access (read, write, delete, list) to blobs within the container.

Další informace o sdílených přístupových podpisech najdete v tématu udělení omezeného přístupu k Azure Storage prostředkům pomocí sdílených přístupových podpisů (SAS).For more information on shared access signatures, see Grant limited access to Azure Storage resources using shared access signatures (SAS).

Adresování prostředků v emulátoru úložištěAddressing resources in the storage emulator

Koncové body služby pro emulátor úložiště se liší od koncových bodů pro účet úložiště Azure.The service endpoints for the storage emulator are different from the endpoints for an Azure storage account. V místním počítači není rozlišování názvů domén, což vyžaduje, aby byly koncovými body emulátoru úložiště místní adresy.The local computer doesn't do domain name resolution, requiring the storage emulator endpoints to be local addresses.

Při adresování prostředku v účtu služby Azure Storage použijete následující schéma.When you address a resource in an Azure storage account, you use the following scheme. Název účtu je součástí názvu hostitele URI a prostředek, který se řeší, je součástí cesty URI:The account name is part of the URI host name, and the resource being addressed is part of the URI path:

<http|https>://<account-name>.<service-name>.core.windows.net/<resource-path>

Například následující identifikátor URI je platná adresa pro objekt BLOB v účtu úložiště Azure:For example, the following URI is a valid address for a blob in an Azure storage account:

https://myaccount.blob.core.windows.net/mycontainer/myblob.txt

Vzhledem k tomu, že místní počítač neprovádí překlad názvů domén, je název účtu součástí cesty identifikátoru URI místo názvu hostitele.Because the local computer doesn't do domain name resolution, the account name is part of the URI path instead of the host name. Pro prostředek v emulátoru úložiště použijte následující formát identifikátoru URI:Use the following URI format for a resource in the storage emulator:

http://<local-machine-address>:<port>/<account-name>/<resource-path>

K přístupu k objektu BLOB v emulátoru úložiště můžete například použít následující adresu:For example, the following address might be used for accessing a blob in the storage emulator:

http://127.0.0.1:10000/myaccount/mycontainer/myblob.txt

Koncový bod služby pro emulátor úložiště:The service endpoints for the storage emulator are:

  • Blob service: http://127.0.0.1:10000/<account-name>/<resource-path>Blob service: http://127.0.0.1:10000/<account-name>/<resource-path>
  • Služba front: http://127.0.0.1:10001/<account-name>/<resource-path>Queue service: http://127.0.0.1:10001/<account-name>/<resource-path>
  • Table service: http://127.0.0.1:10002/<account-name>/<resource-path>Table service: http://127.0.0.1:10002/<account-name>/<resource-path>

Adresování sekundárního účtu pomocí RA-GRSAddressing the account secondary with RA-GRS

Počínaje verzí 3,1 podporuje emulátor úložiště geograficky redundantní replikaci s přístupem pro čtení (RA-GRS).Beginning with version 3.1, the storage emulator supports read-access geo-redundant replication (RA-GRS). K sekundárnímu umístění můžete přistupovat připojením-Secondary k názvu účtu.You can access the secondary location by appending -secondary to the account name. Například následující adresa může být použita pro přístup k objektu BLOB pomocí sekundárního souboru jen pro čtení v emulátoru úložiště:For example, the following address might be used for accessing a blob using the read-only secondary in the storage emulator:

http://127.0.0.1:10000/myaccount-secondary/mycontainer/myblob.txt

Poznámka

Pro programový přístup k sekundárnímu nástroji pomocí emulátoru úložiště použijte klientskou knihovnu pro úložiště pro .NET verze 3,2 nebo novější.For programmatic access to the secondary with the storage emulator, use the Storage Client Library for .NET version 3.2 or later. Podrobnosti najdete v tématu Microsoft Azure Storage Klientská knihovna pro .NET .See the Microsoft Azure Storage Client Library for .NET for details.

Reference k nástroji příkazového řádku emulátoru úložištěStorage emulator command-line tool reference

Počínaje verzí 3,0 se okno konzoly zobrazí při spuštění emulátoru úložiště.Starting in version 3.0, a console window is displayed when you start the Storage Emulator. Pomocí příkazového řádku v okně konzoly spusťte a zastavte emulátor.Use the command line in the console window to start and stop the emulator. Můžete také zadat dotaz na stav a provést jiné operace z příkazového řádku.You can also query for status and do other operations from the command line.

Poznámka

Pokud máte nainstalován emulátor Microsoft Azure COMPUTE, zobrazí se při spuštění emulátoru úložiště ikona hlavního panelu systému.If you have the Microsoft Azure compute emulator installed, a system tray icon appears when you launch the Storage Emulator. Kliknutím pravým tlačítkem myši na ikonu zobrazíte nabídku, která poskytuje grafický způsob spuštění a zastavení emulátoru úložiště.Right-click on the icon to reveal a menu that provides a graphical way to start and stop the Storage Emulator.

Syntaxe příkazového řádkuCommand-line syntax

AzureStorageEmulator.exe [start] [stop] [status] [clear] [init] [help]

MožnostiOptions

Pokud chcete zobrazit seznam možností, na příkazovém řádku zadejte /help.To view the list of options, type /help at the command prompt.

MožnostOption PopisDescription PříkazCommand ArgumentyArguments
StartStart Spustí emulátor úložiště.Starts up the storage emulator. AzureStorageEmulator.exe start [-inprocess] -Rezpracovat: spustí emulátor v aktuálním procesu místo vytvoření nového procesu.-Reprocess: Start the emulator in the current process instead of creating a new process.
StopStop Zastaví emulátor úložiště.Stops the storage emulator. AzureStorageEmulator.exe stop
StavStatus Vytiskne stav emulátoru úložiště.Prints the status of the storage emulator. AzureStorageEmulator.exe status
JejichClear Vymaže data ve všech službách zadaných v příkazovém řádku.Clears the data in all services specified on the command line. AzureStorageEmulator.exe clear [blob] [table] [queue] [all] BLOB: vymaže data objektu BLOB.blob: Clears blob data.
Queue: vymaže data ve frontě.queue: Clears queue data.
Table: vymaže data tabulky.table: Clears table data.
All: vymaže všechna data ve všech službách.all: Clears all data in all services.
ForInit Provede jednorázovou inicializaci pro nastavení emulátoru.Does one-time initialization to set up the emulator. AzureStorageEmulator.exe init [-server serverName] [-sqlinstance instanceName] [-forcecreate|-skipcreate] [-reserveports|-unreserveports] [-inprocess] -Server serverName\instanceName: Určuje server, který je hostitelem instance SQL.-server serverName\instanceName: Specifies the server hosting the SQL instance.
-SQLInstance instance: Určuje název instance SQL, která se má použít ve výchozí instanci serveru.-sqlinstance instanceName: Specifies the name of the SQL instance to be used in the default server instance.
-forceCreate: vynutí vytvoření databáze SQL, a to i v případě, že již existuje.-forcecreate: Forces creation of the SQL database, even if it already exists.
-skipcreate: přeskočí vytvoření databáze SQL.-skipcreate: Skips creation of the SQL database. To má přednost před – forceCreate.This takes precedence over -forcecreate.
-reserveports: pokusí se rezervovat porty HTTP přidružené ke službám.-reserveports: Attempts to reserve the HTTP ports associated with the services.
-unreserveports: pokusí se odebrat rezervace portů http přidružených ke službám.-unreserveports: Attempts to remove reservations for the HTTP ports associated with the services. To má přednost před – reserveports.This takes precedence over -reserveports.
-InProcess: provede inicializaci v aktuálním procesu místo vytvoření nového procesu.-inprocess: Performs initialization in the current process instead of spawning a new process. Při změně rezervací portů je nutné spustit aktuální proces se zvýšenými oprávněními.The current process must be launched with elevated permissions if changing port reservations.

Rozdíly mezi emulátorem úložiště a Azure StorageDifferences between the storage emulator and Azure Storage

Vzhledem k tomu, že emulátor úložiště je místní emulované prostředí, existují rozdíly mezi použitím emulátoru a účtu úložiště Azure v cloudu:Because the storage emulator is a local emulated environment, there are differences between using the emulator and an Azure storage account in the cloud:

  • Emulátor úložiště podporuje jenom jeden pevný účet a dobře známý ověřovací klíč.The storage emulator supports only a single fixed account and a well-known authentication key.
  • Emulátor úložiště není škálovatelná služba úložiště a nepodporuje velký počet souběžných klientů.The storage emulator isn't a scalable storage service and doesn't support a large number of concurrent clients.
  • Jak je popsáno v tématu adresování prostředků v emulátoru úložiště, se prostředky řeší odlišně v emulátoru úložiště a v účtu úložiště Azure.As described in Addressing resources in the storage emulator, resources are addressed differently in the storage emulator versus an Azure storage account. Rozdíl je v tom, že překlad názvů domény je k dispozici v cloudu, ale ne v místním počítači.The difference is because domain name resolution is available in the cloud but not on the local computer.
  • Počínaje verzí 3,1 podporuje účet emulátoru úložiště geograficky redundantní replikaci s přístupem pro čtení (RA-GRS).Beginning with version 3.1, the storage emulator account supports read-access geo-redundant replication (RA-GRS). V emulátoru mají všechny účty povolený RA-GRS a nikdy neexistují žádné prodlevy mezi primárními a sekundárními replikami.In the emulator, all accounts have RA-GRS enabled and there's never any lag between the primary and secondary replicas. Na sekundárním účtu se podporují operace získat statistiku služby blob, získat statistiku služby Queue Service a získat statistiku služby Table Service, která bude vždycky vracet hodnotu prvku odpovědi LastSyncTime jako aktuální čas podle podkladové databáze SQL.The Get Blob Service Stats, Get Queue Service Stats, and Get Table Service Stats operations are supported on the account secondary and will always return the value of the LastSyncTime response element as the current time according to the underlying SQL database.
  • Koncové body služby Souborové služby a protokolu SMB se v emulátoru úložiště aktuálně nepodporují.The File service and SMB protocol service endpoints aren't currently supported in the storage emulator.
  • Pokud používáte verzi služby úložiště, která není podporována emulátorem, emulátor vrátí chybu VersionNotSupportedByEmulator (kód stavu HTTP 400-Chybný požadavek).If you use a version of the storage services that is not supported by the emulator, the emulator returns a VersionNotSupportedByEmulator error (HTTP status code 400 - Bad Request).

Rozdíly pro úložiště objektů BLOBDifferences for Blob storage

Pro úložiště objektů BLOB v emulátoru platí následující rozdíly:The following differences apply to Blob storage in the emulator:

  • Emulátor úložiště podporuje jenom velikosti objektů BLOB až do 2 GB.The storage emulator only supports blob sizes up to 2 GB.
  • Maximální délka názvu objektu BLOB v emulátoru úložiště je 256 znaků, zatímco maximální délka názvu objektu BLOB v Azure Storage je 1024 znaků.The maximum length of a blob name in the storage emulator is 256 characters, while the maximum length of a blob name in Azure Storage is 1024 characters.
  • Přírůstkové kopírování umožňuje zkopírovat snímky z přepsaných objektů blob, což vrátí chybu služby.Incremental copy allows snapshots from overwritten blobs to be copied, which returns a failure on the service.
  • Získat rozdíl mezi snímky zkopírovanými pomocí objektu BLOB přírůstkového kopírování nefunguje rozdíl v rozsahu stránekGet Page Ranges Diff doesn't work between snapshots copied using Incremental Copy Blob.
  • Operace Put BLOB může být úspěšná proti objektu blob, který existuje v emulátoru úložiště s aktivním zapůjčením, a to i v případě, že v požadavku není zadané ID zapůjčení.A Put Blob operation may succeed against a blob that exists in the storage emulator with an active lease even if the lease ID hasn't been specified in the request.
  • Emulátor nepodporuje operace připojení objektu BLOB.Append Blob operations are not supported by the emulator. Pokus o operaci na doplňovacím objektu BLOB vrátí chybu FeatureNotSupportedByEmulator (kód stavu HTTP 400-Chybný požadavek).Attempting an operation on an append blob returns a FeatureNotSupportedByEmulator error (HTTP status code 400 - Bad Request).

Rozdíly pro úložiště tabulekDifferences for Table storage

Následující rozdíly platí pro úložiště tabulek v emulátoru:The following differences apply to Table storage in the emulator:

  • Vlastnosti data v Table service v emulátoru úložiště podporují pouze rozsah podporovaný SQL Server 2005 (musí být pozdější než 1. ledna 1753).Date properties in the Table service in the storage emulator support only the range supported by SQL Server 2005 (they're required to be later than January 1, 1753). Všechna data před 1. ledna 1753 budou změněna na tuto hodnotu.All dates before January 1, 1753 are changed to this value. Přesnost dat je omezená na přesnost SQL Server 2005, což znamená, že data jsou přesně na 1/300th sekundy.The precision of dates is limited to the precision of SQL Server 2005, meaning that dates are precise to 1/300th of a second.
  • Emulátor úložiště podporuje hodnoty vlastností klíče oddílu a klíče řádku, které mají méně než 512 bajtů.The storage emulator supports partition key and row key property values of less than 512 bytes each. Celková velikost názvu účtu, názvu tabulky a názvů klíčových vlastností dohromady nesmí překročit 900 bajtů.The total size of the account name, table name, and key property names together can't exceed 900 bytes.
  • Celková velikost řádku v tabulce v emulátoru úložiště je omezená na méně než 1 MB.The total size of a row in a table in the storage emulator is limited to less than 1 MB.
  • V emulátoru úložiště vlastnosti datového typu Edm.Guid nebo Edm.Binary podporují pouze operátory porovnání Equal (eq) a NotEqual (ne) v řetězcích filtru dotazů.In the storage emulator, properties of data type Edm.Guid or Edm.Binary support only the Equal (eq) and NotEqual (ne) comparison operators in query filter strings.

Rozdíly pro úložiště QueueDifferences for Queue storage

V emulátoru nejsou žádné rozdíly specifické pro úložiště Queue.There are no differences specific to Queue storage in the emulator.

Poznámky k verzi emulátoru úložištěStorage emulator release notes

Verze 5,10Version 5.10

  • Emulátor úložiště odmítne verzi 2019-07-07 služeb úložiště v koncových bodech blob, Queue a Table Service.The storage emulator won't reject version 2019-07-07 of the storage services on Blob, Queue, and Table service endpoints.

Verze 5,9Version 5.9

  • Emulátor úložiště odmítne verzi 2019-02-02 služeb úložiště v koncových bodech blob, Queue a Table Service.The storage emulator won't reject version 2019-02-02 of the storage services on Blob, Queue, and Table service endpoints.

Verze 5,8Version 5.8

  • Emulátor úložiště odmítne verzi 2018-11-09 služeb úložiště v koncových bodech blob, Queue a Table Service.The storage emulator won't reject version 2018-11-09 of the storage services on Blob, Queue, and Table service endpoints.

Verze 5,7Version 5.7

  • Opravili jsme chybu, která by způsobila chybu v případě povolení protokolování.Fixed a bug that would cause a crash if logging was enabled.

Verze 5,6Version 5.6

  • Emulátor úložiště teď podporuje verze 2018-03-28 služeb úložiště v koncových bodech blob, Queue a Table service.The storage emulator now supports version 2018-03-28 of the storage services on Blob, Queue, and Table service endpoints.

Verze 5,5Version 5.5

  • Emulátor úložiště teď podporuje verze 2017-11-09 služeb úložiště v koncových bodech blob, Queue a Table service.The storage emulator now supports version 2017-11-09 of the storage services on Blob, Queue, and Table service endpoints.
  • Přidala se podpora pro vlastnost vytvořeného objektu blob, která vrací čas vytvoření objektu BLOB.Support has been added for the blob Created property, which returns the blob's creation time.

Verze 5,4Version 5.4

  • Za účelem vylepšení stability při instalaci se emulátor již nepokouší rezervovat porty v době instalace.To improve installation stability, the emulator no longer attempts to reserve ports at install time. Pokud chcete rezervace portů, určete je pomocí možnosti -reserveports příkazu init .If you want port reservations, use the -reserveports option of the init command to specify them.

Verze 5,3Version 5.3

  • Emulátor úložiště teď podporuje verze 2017-07-29 služeb úložiště v koncových bodech blob, Queue a Table service.The storage emulator now supports version 2017-07-29 of the storage services on Blob, Queue, and Table service endpoints.

Verze 5,2Version 5.2

  • Emulátor úložiště teď podporuje verze 2017-04-17 služeb úložiště v koncových bodech blob, Queue a Table service.The storage emulator now supports version 2017-04-17 of the storage services on Blob, Queue, and Table service endpoints.
  • Byla opravena chyba, kdy hodnoty vlastností tabulky nebyly správně kódovány.Fixed a bug where table property values weren't being properly encoded.

Verze 5,1Version 5.1

  • Opravili jsme chybu, kdy emulátor úložiště vrátil hlavičku DataServiceVersion v některých odpovědích, kde služba nebyla.Fixed a bug where the storage emulator was returning the DataServiceVersion header in some responses where the service was not.

Verze 5,0Version 5.0

  • Instalační program emulátoru úložiště už nekontroluje existující instalaci MSSQL a .NET Framework.The storage emulator installer no longer checks for existing MSSQL and .NET Framework installs.
  • Instalační program emulátoru úložiště již v rámci instalace nevytváří databázi.The storage emulator installer no longer creates the database as part of install. Databáze bude v případě potřeby vytvořena v rámci spuštění.Database will still be created if needed as part of startup.
  • Vytvoření databáze již nevyžaduje zvýšení oprávnění.Database creation no longer requires elevation.
  • Pro spuštění už nejsou potřeba žádné rezervace portů.Port reservations are no longer needed for startup.
  • Přidá následující možnosti pro init: -reserveports (vyžaduje zvýšení oprávnění), -unreserveports (vyžaduje zvýšení úrovně), -skipcreate.Adds the following options to init: -reserveports (requires elevation), -unreserveports (requires elevation), -skipcreate.
  • Možnost uživatelského rozhraní emulátoru úložiště v ikoně na hlavním panelu systému teď spouští rozhraní příkazového řádku.The Storage Emulator UI option on the system tray icon now launches the command-line interface. Starý GUI již není k dispozici.The old GUI is no longer available.
  • Některé knihovny DLL byly odebrány nebo přejmenovány.Some DLLs have been removed or renamed.

Verze 4,6Version 4.6

  • Emulátor úložiště teď podporuje verze 2016-05-31 služeb úložiště v koncových bodech blob, Queue a Table service.The storage emulator now supports version 2016-05-31 of the storage services on Blob, Queue, and Table service endpoints.

Verze 4,5Version 4.5

  • Opravili jsme chybu, která způsobila selhání instalace a inicializace při přejmenování záložní databáze.Fixed a bug that caused installation and initialization to fail when the backing database is renamed.

Verze 4,4Version 4.4

  • Emulátor úložiště teď podporuje verze 2015-12-11 služeb úložiště v koncových bodech blob, Queue a Table service.The storage emulator now supports version 2015-12-11 of the storage services on Blob, Queue, and Table service endpoints.
  • Shromažďování paměti dat objektů BLOB emulátoru úložiště je teď efektivnější při práci s velkým počtem objektů BLOB.The storage emulator's garbage collection of blob data is now more efficient when dealing with large numbers of blobs.
  • Opravili jsme chybu, která způsobila, že XML seznamu ACL kontejneru se mírně liší od způsobu, jakým služba úložiště dělá.Fixed a bug that caused container ACL XML to be validated slightly differently from how the storage service does it.
  • Opravili jsme chybu, která někdy způsobila, že se v nesprávném časovém pásmu nahlásí maximální a minimální hodnoty DateTime.Fixed a bug that sometimes caused max and min DateTime values to be reported in the incorrect time zone.

Verze 4,3Version 4.3

  • Emulátor úložiště teď podporuje verze 2015-07-08 služeb úložiště v koncových bodech blob, Queue a Table service.The storage emulator now supports version 2015-07-08 of the storage services on Blob, Queue, and Table service endpoints.

Verze 4,2Version 4.2

  • Emulátor úložiště teď podporuje verze 2015-04-05 služeb úložiště v koncových bodech blob, Queue a Table service.The storage emulator now supports version 2015-04-05 of the storage services on Blob, Queue, and Table service endpoints.

Verze 4,1Version 4.1

  • Emulátor úložiště teď podporuje verze 2015-02-21 služeb úložiště v koncových bodech blob, Queue a Table service.The storage emulator now supports version 2015-02-21 of the storage services on Blob, Queue, and Table service endpoints. Nepodporuje nové funkce přidávání objektů BLOB.It doesn't support the new Append Blob features.
  • Emulátor nyní vrátí smysluplnou chybovou zprávu pro nepodporované verze služeb úložiště.The emulator now returns a meaningful error message for unsupported versions of storage services. Doporučujeme použít nejnovější verzi emulátoru.We recommend using the latest version of the emulator. Pokud se zobrazí chyba VersionNotSupportedByEmulator (kód stavu HTTP 400 – Chybný požadavek), Stáhněte si nejnovější verzi emulátoru.If you get a VersionNotSupportedByEmulator error (HTTP status code 400 - Bad Request), download the latest version of the emulator.
  • Opravili chybu, na kterou konflikt časování způsobil, že data entity tabulky v průběhu souběžných operací sloučení nejsou správná.Fixed a bug wherein a race condition caused table entity data to be incorrect during concurrent merge operations.

Verze 4,0Version 4.0

  • Spustitelný soubor emulátoru úložiště byl přejmenován na AzureStorageEmulator. exe.The storage emulator executable has been renamed to AzureStorageEmulator.exe.

Verze 3,2Version 3.2

  • Emulátor úložiště teď podporuje verze 2014-02-14 služeb úložiště v koncových bodech blob, Queue a Table service.The storage emulator now supports version 2014-02-14 of the storage services on Blob, Queue, and Table service endpoints. V emulátoru úložiště se aktuálně nepodporují koncové body souborové služby.File service endpoints aren't currently supported in the storage emulator. Podrobnosti o verzi 2014-02-14 najdete v tématu Správa verzí pro službu Azure Storage Services .See Versioning for the Azure Storage Services for details about version 2014-02-14.

Verze 3,1Version 3.1

  • V emulátoru úložiště se teď podporuje geograficky redundantní úložiště s přístupem pro čtení (RA-GRS).Read-access geo-redundant storage (RA-GRS) is now supported in the storage emulator. Rozhraní API Get Blob Service Stats, Get Queue Service Stats a Get Table Service Stats jsou pro sekundární účet podporovaná a budou vždycky vracet hodnotu elementu LastSyncTime Response jako aktuální čas podle podkladové databáze SQL.The Get Blob Service Stats, Get Queue Service Stats, and Get Table Service Stats APIs are supported for the account secondary and will always return the value of the LastSyncTime response element as the current time according to the underlying SQL database. Pro programový přístup k sekundárnímu nástroji pomocí emulátoru úložiště použijte klientskou knihovnu pro úložiště pro .NET verze 3,2 nebo novější.For programmatic access to the secondary with the storage emulator, use the Storage Client Library for .NET version 3.2 or later. Podrobnosti najdete v referenčních informacích k klientské knihovně Microsoft Azure Storage pro .NET.See the Microsoft Azure Storage Client Library for .NET Reference for details.

Verze 3,0Version 3.0

  • Emulátor úložiště Azure se už nedodává ve stejném balíčku jako emulátor služby Compute.The Azure storage emulator is no longer shipped in the same package as the compute emulator.
  • Grafické uživatelské rozhraní emulátoru úložiště je zastaralé.The storage emulator graphical user interface is deprecated. Byl nahrazen rozhraním skriptového příkazového řádku.It has been replaced by a scriptable command-line interface. Podrobnosti o rozhraní příkazového řádku najdete v tématu Referenční informace k nástroji příkazového řádku emulátoru úložiště.For details on the command-line interface, see Storage Emulator Command-Line Tool Reference. Grafické rozhraní bude nadále k dispozici ve verzi 3,0, ale je k němu možné přistupovat pouze v případě, že se emulátor služby COMPUTE nainstaluje kliknutím pravým tlačítkem na ikonu na hlavním panelu systému a výběrem možnosti zobrazit uživatelské rozhraní emulátoru úložiště.The graphical interface will continue to be present in version 3.0, but it can only be accessed when the Compute Emulator is installed by right-clicking on the system tray icon and selecting Show Storage Emulator UI.
  • Služba Azure Storage je teď plně podporovaná ve verzi 2013-08-15.Version 2013-08-15 of the Azure storage services is now fully supported. (Dřív byla tato verze podporovaná jenom emulátorem úložiště verze 2.2.1 Preview.)(Previously this version was only supported by Storage Emulator version 2.2.1 Preview.)

Další krokyNext steps