Använd Azure Storage-emulatorn för utveckling och testningUse the Azure storage emulator for development and testing

Microsoft Azure Storage-emulatorn är ett verktyg som emulerar tjänsterna Azure Blob, Queue och table i syfte att utveckla lokala tjänster.The Microsoft Azure storage emulator is a tool that emulates the Azure Blob, Queue, and Table services for local development purposes. Du kan testa ditt program mot lagrings tjänsterna lokalt utan att skapa en Azure-prenumeration eller debitera några kostnader.You can test your application against the storage services locally without creating an Azure subscription or incurring any costs. När du är nöjd med hur ditt program fungerar i emulatorn växlar du till att använda ett Azure Storage-konto i molnet.When you're satisfied with how your application is working in the emulator, switch to using an Azure storage account in the cloud.

Hämta Storage-emulatornGet the storage emulator

Storage-emulatorn är tillgänglig som en del av Microsoft Azure SDK.The storage emulator is available as part of the Microsoft Azure SDK. Du kan också installera Storage-emulatorn med hjälp av det fristående installations programmet (direkt hämtning).You can also install the storage emulator by using the standalone installer (direct download). Du måste ha administratörs behörighet på datorn för att kunna installera Storage-emulatorn.To install the storage emulator, you must have administrative privileges on your computer.

Storage-emulatorn körs för närvarande endast på Windows.The storage emulator currently runs only on Windows. Om du behöver en Storage-emulator för Linux är det ett alternativ som communityn har kvar, Azuritemed öppen källkod.If you need a storage emulator for Linux, one option is the community maintained, open-source storage emulator Azurite.

Anteckning

Data som skapats i en version av Storage-emulatorn kan inte nås när du använder en annan version.Data created in one version of the storage emulator is not guaranteed to be accessible when using a different version. Om du behöver spara dina data på lång sikt rekommenderar vi att du lagrar dessa data i ett Azure Storage-konto i stället för i Storage-emulatorn.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.

Storage-emulatorn är beroende av vissa versioner av OData-biblioteken.The storage emulator depends on specific versions of the OData libraries. Det finns inte stöd för att ersätta de OData-dll: er som används av Storage-emulatorn med andra versioner, och det kan leda till oväntat beteende.Replacing the OData DLLs used by the storage emulator with other versions is unsupported, and may cause unexpected behavior. En version av OData som stöds av lagrings tjänsten kan dock användas för att skicka begär anden till emulatorn.However, any version of OData supported by the storage service may be used to send requests to the emulator.

Så här fungerar Storage-emulatornHow the storage emulator works

Storage-emulatorn använder en lokal Microsoft SQL Server 2012 Express LocalDB-instans för att emulera Azure Storage-tjänster.The storage emulator uses a local Microsoft SQL Server 2012 Express LocalDB instance to emulate Azure storage services. Du kan välja att konfigurera Storage-emulatorn för att få åtkomst till en lokal instans av SQL Server i stället för LocalDB-instansen.You can choose to configure the storage emulator to access a local instance of SQL Server instead of the LocalDB instance. Mer information finns i avsnittet starta och initiera Storage-emulatorn längre fram i den här artikeln.See the Start and initialize the storage emulator section later in this article to learn more.

Lagringsprovidern ansluter till SQL Server eller LocalDB med Windows-autentisering.The storage emulator connects to SQL Server or LocalDB using Windows authentication.

Det finns vissa skillnader i funktionalitet mellan Storage-emulatorn och Azure Storage-tjänsterna.Some differences in functionality exist between the storage emulator and Azure storage services. Mer information om dessa skillnader finns i skillnaderna mellan Storage-emulatorn och Azure Storage avsnittet längre fram i den här artikeln.For more information about these differences, see the Differences between the storage emulator and Azure Storage section later in this article.

Starta och initiera Storage-emulatornStart and initialize the storage emulator

Starta Azure Storage-emulatorn:To start the Azure storage emulator:

  1. Välj Start -knappen eller tryck på Windows -tangenten.Select the Start button or press the Windows key.
  2. Börjar skriva Azure Storage Emulator.Begin typing Azure Storage Emulator.
  3. Välj emulatorn i listan med program som visas.Select the emulator from the list of displayed applications.

När Storage-emulatorn startar visas ett kommando tolks fönster.When the storage emulator starts, a Command Prompt window will appear. Du kan använda det här konsol fönstret för att starta och stoppa Storage-emulatorn.You can use this console window to start and stop the storage emulator. Du kan också rensa data, Hämta status och initiera emulatorn från kommando tolken.You can also clear data, get status, and initialize the emulator from the command prompt. Mer information finns i referens avsnittet om kommando rads verktyget för Storage-emulatorn längre fram i den här artikeln.For more information, see the Storage emulator command-line tool reference section later in this article.

Anteckning

Azure Storage-emulatorn kanske inte startar korrekt om en annan lagrings-emulator, till exempel Azurite, körs på systemet.The Azure storage emulator may not start correctly if another storage emulator, such as Azurite, is running on the system.

När emulatorn körs visas en ikon i aktivitetsfältets meddelandefält i Windows.When the emulator is running, you'll see an icon in the Windows taskbar notification area.

När du stänger kommando tolken i Storage-emulatorn fortsätter Storage-emulatorn att köras.When you close the storage emulator Command Prompt window, the storage emulator will continue to run. Om du vill öppna konsolen för Storage-emulatorn igen följer du föregående steg som om du startar Storage-emulatorn.To bring up the Storage Emulator console window again, follow the preceding steps as if starting the storage emulator.

Första gången du kör Storage-emulatorn initieras den lokala lagrings miljön.The first time you run the storage emulator, the local storage environment is initialized for you. Initierings processen skapar en databas i LocalDB och reserverar HTTP-portar för varje lokal lagrings tjänst.The initialization process creates a database in LocalDB and reserves HTTP ports for each local storage service.

Storage-emulatorn installeras som standard på 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.

Tips

Du kan använda Microsoft Azure Storage Explorer för att arbeta med resurser för lokal lagrings emulator.You can use the Microsoft Azure Storage Explorer to work with local storage emulator resources. Sök efter "(emulator-standard portar) (nyckel)" under "lokala & anslutna" i trädet för Storage Explorer resurser när du har installerat och startat Storage-emulatorn.Look for "(Emulator - Default Ports) (Key)" under "Local & Attached" in the Storage Explorer resources tree after you've installed and started the storage emulator.

Initiera Storage-emulatorn om du vill använda en annan SQL-databasInitialize the storage emulator to use a different SQL database

Du kan använda kommando rads verktyget Storage-emulator för att initiera Storage-emulatorn så att den pekar på en annan SQL Database-instans än standard instansen av 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. Öppna fönstret Storage emulator-konsol enligt beskrivningen i avsnittet starta och initiera modulen lagrings-emulator .Open the Storage Emulator console window as described in the Start and initialize the storage emulator section.

  2. I konsol fönstret skriver du följande kommando, där <SQLServerInstance> är namnet på SQL Server-instansen.In the console window, type the following command, where <SQLServerInstance> is the name of the SQL Server instance. Om du vill använda LocalDB anger du (localdb)\MSSQLLocalDb som SQL Server-instansen.To use LocalDB, specify (localdb)\MSSQLLocalDb as the SQL Server instance.

    AzureStorageEmulator.exe init /server <SQLServerInstance>

    Du kan också använda följande kommando, som dirigerar emulatorn till att använda standard SQL Server-instansen:You can also use the following command, which directs the emulator to use the default SQL Server instance:

    AzureStorageEmulator.exe init /server .

    Du kan också använda följande kommando, som initierar om databasen till standard LocalDB-instansen:Or, you can use the following command, which reinitializes the database to the default LocalDB instance:

    AzureStorageEmulator.exe init /forceCreate

Mer information om dessa kommandon finns i kommando rads verktyget Storage mula Reference.For more information about these commands, see Storage emulator command-line tool reference.

Tips

Du kan använda Microsoft SQL Server Management Studio (SSMS) för att hantera dina SQL Server instanser, inklusive LocalDB-installationen.You can use the Microsoft SQL Server Management Studio (SSMS) to manage your SQL Server instances, including the LocalDB installation. I dialog rutan SMSS Anslut till Server anger du (localdb)\MSSQLLocalDb i fältet Server Namn: för att ansluta till LocalDB-instansen.In the SMSS Connect to Server dialog, specify (localdb)\MSSQLLocalDb in the Server name: field to connect to the LocalDB instance.

Autentisera begär Anden mot Storage-emulatornAuthenticating requests against the storage emulator

När du har installerat och startat Storage-emulatorn kan du testa koden mot den.Once you've installed and started the storage emulator, you can test your code against it. Varje begäran du gör mot lagringsprovidern måste vara auktoriserad, såvida det inte är en anonym begäran.Every request you make against the storage emulator must be authorized, unless it's an anonymous request. Du kan auktorisera begär Anden mot Storage-emulatorn med hjälp av autentisering med delad nyckel eller med en signatur för delad åtkomst (SAS).You can authorize requests against the storage emulator using Shared Key authentication or with a shared access signature (SAS).

Auktorisera med autentiseringsuppgifter för delad nyckelAuthorize with Shared Key credentials

Storage-emulatorn stöder ett enda fast konto och en välkänd autentiseringsnyckel för autentisering med delad nyckel.The storage emulator supports a single fixed account and a well-known authentication key for Shared Key authentication. Kontot och nyckeln är de enda delad nyckel-autentiseringsuppgifter som tillåts för användning med storage-emulatorn.This account and key are the only Shared Key credentials permitted for use with the storage emulator. De är:They are:

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

Anteckning

Den autentiseringsnyckel som stöds av storage-emulatorn är avsedd endast för att testa funktionerna i klientkoden för autentisering.The authentication key supported by the storage emulator is intended only for testing the functionality of your client authentication code. Den hanterar inte några något security syfte.It does not serve any security purpose. Du kan inte använda din produktion lagringskontot och nyckeln med storage-emulatorn.You cannot use your production storage account and key with the storage emulator. Du bör inte använda kontot utveckling med produktionsdata.You should not use the development account with production data.

Lagringsemulatorn stöder endast en anslutning via HTTP.The storage emulator supports connection via HTTP only. Men är HTTPS det rekommendera protokollet för åtkomst till resurser i en Azure storage-konto.However, HTTPS is the recommended protocol for accessing resources in a production Azure storage account.

Anslut till emulatorn-konto med hjälp av en genvägConnect to the emulator account using a shortcut

Det enklaste sättet att ansluta till storage-emulatorn från ditt program är att konfigurera en anslutningssträng i programmets konfigurationsfil som refererar till genvägen 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. Här är ett exempel på en anslutningssträng till storage-emulatorn i en app.config fil: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>

Anslut till emulatorn-konto med hjälp av det välkända kontonamnet och nyckelnConnect to the emulator account using the well-known account name and key

Om du vill skapa en anslutningssträng som refererar till emulatorn namn och nyckel, måste du ange slutpunkterna för var och en av de tjänster som du vill använda från emulatorn i anslutningssträngen.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. Detta är nödvändigt för att anslutningssträngen ska referera till slutpunkter emulator, som skiljer sig från dem för ett lagringskonto för produktion.This is necessary so that the connection string will reference the emulator endpoints, which are different than those for a production storage account. Värdet för anslutningssträngen ska se ut så här: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;

Det här värdet är identiska med genvägen ovan kan UseDevelopmentStorage=true.This value is identical to the shortcut shown above, UseDevelopmentStorage=true.

Ange en HTTP-proxySpecify an HTTP proxy

Du kan också ange en HTTP-proxy ska användas när du testar din tjänst mot storage-emulatorn.You can also specify an HTTP proxy to use when you're testing your service against the storage emulator. Detta kan vara användbart för får HTTP-begäranden och svar medan du felsöker åtgärder mot de storage-tjänsterna.This can be useful for observing HTTP requests and responses while you're debugging operations against the storage services. Om du vill ange en proxy, lägger du till den DevelopmentStorageProxyUri alternativet på anslutningssträngen och ange värdet till proxy-URI.To specify a proxy, add the DevelopmentStorageProxyUri option to the connection string, and set its value to the proxy URI. Här är till exempel en anslutningssträng som pekar på storage-emulatorn och konfigurerar en HTTP-proxy:For example, here is a connection string that points to the storage emulator and configures an HTTP proxy:

UseDevelopmentStorage=true;DevelopmentStorageProxyUri=http://myProxyUri

Mer information om anslutnings strängar finns i Konfigurera anslutnings strängar för Azure Storage.For more information on connection strings, see Configure Azure Storage connection strings.

Auktorisera med en signatur för delad åtkomstAuthorize with a shared access signature

Anteckning

Den här artikeln har uppdaterats till att använda den nya Azure PowerShell Az-modulen.This article has been updated to use the new Azure PowerShell Az module. Du kan fortfarande använda modulen AzureRM som kommer att fortsätta att ta emot felkorrigeringar fram till december 2020 eller längre.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Mer information om den nya Az-modulen och AzureRM-kompatibilitet finns i Introduktion till den nya Azure PowerShell Az-modulen.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Instruktioner för installation av Az-modulen finns i Installera Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Vissa klient bibliotek för Azure Storage, till exempel Xamarin-biblioteket, stöder endast autentisering med en SAS-token (signatur för delad åtkomst).Some Azure storage client libraries, such as the Xamarin library, only support authentication with a shared access signature (SAS) token. Du kan skapa SAS-token med Storage Explorer eller ett annat program som stöder autentisering med delad nyckel.You can create the SAS token using Storage Explorer or another application that supports Shared Key authentication.

Du kan också skapa en SAS-token med hjälp av Azure PowerShell.You can also generate a SAS token by using Azure PowerShell. I följande exempel skapas en SAS-token med fullständig behörighet till en BLOB-behållare:The following example generates a SAS token with full permissions to a blob container:

  1. Installera Azure PowerShell om du inte redan har gjort det (med den senaste versionen av Azure PowerShell-cmdletar rekommenderas).Install Azure PowerShell if you haven't already (using the latest version of the Azure PowerShell cmdlets is recommended). Installations anvisningar finns i Installera och konfigurera Azure PowerShell.For installation instructions, see Install and configure Azure PowerShell.
  2. Öppna Azure PowerShell och kör följande kommandon och ersätt CONTAINER_NAME med ett namn som du väljer: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

Den resulterande URI: n för signaturen för delad åtkomst för den nya behållaren bör likna följande: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

Signaturen för delad åtkomst som skapas i det här exemplet är giltig i en dag.The shared access signature created with this example is valid for one day. Signaturen ger fullständig åtkomst (läsa, skriva, ta bort, lista) till blobar i behållaren.The signature grants full access (read, write, delete, list) to blobs within the container.

Mer information om signaturer för delad åtkomst finns i bevilja begränsad åtkomst till Azure Storage-resurser med hjälp av signaturer för delad åtkomst (SAS).For more information on shared access signatures, see Grant limited access to Azure Storage resources using shared access signatures (SAS).

Adressera resurser i Storage-emulatornAddressing resources in the storage emulator

Tjänstens slut punkter för lagrings-emulatorn skiljer sig från slut punkterna för ett Azure Storage-konto.The service endpoints for the storage emulator are different from the endpoints for an Azure storage account. Den lokala datorn utför inte domän namns matchning, vilket kräver att Storage-emulatorns slut punkter är lokala adresser.The local computer doesn't do domain name resolution, requiring the storage emulator endpoints to be local addresses.

När du adresserar en resurs i ett Azure Storage-konto använder du följande schema.When you address a resource in an Azure storage account, you use the following scheme. Konto namnet är en del av URI-värdnamnet och resursen som ska adresseras är en del av URI-sökvägen: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>

Följande URI är till exempel en giltig adress för en BLOB i ett Azure Storage-konto: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

Eftersom den lokala datorn inte har domän namns matchning, är konto namnet en del av URI-sökvägen i stället för värd namnet.Because the local computer doesn't do domain name resolution, the account name is part of the URI path instead of the host name. Använd följande URI-format för en resurs i Storage-emulatorn:Use the following URI format for a resource in the storage emulator:

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

Följande adress kan till exempel användas för att komma åt en BLOB i Storage-emulatorn: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

Tjänstens slut punkter för Storage-emulatorn är: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>
  • Kötjänst: 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>

Adressera det konto som är sekundärt med RA-GRSAddressing the account secondary with RA-GRS

Från och med version 3,1 stöder Storage-emulatorn Geo-redundant replikering av Läs åtkomst (RA-GRS).Beginning with version 3.1, the storage emulator supports read-access geo-redundant replication (RA-GRS). Du kan komma åt den sekundära platsen genom att lägga till-sekundär till konto namnet.You can access the secondary location by appending -secondary to the account name. Följande adress kan till exempel användas för att få åtkomst till en blob med hjälp av den skrivskyddade sekundären i Storage-emulatorn: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

Anteckning

Använd lagrings klient biblioteket för .NET version 3,2 eller senare för program mässig åtkomst till den sekundära med Storage-emulatorn.For programmatic access to the secondary with the storage emulator, use the Storage Client Library for .NET version 3.2 or later. Mer information finns i Microsoft Azure Storage klient biblioteket för .net .See the Microsoft Azure Storage Client Library for .NET for details.

Kommando rads verktyg för Storage-emulatorStorage emulator command-line tool reference

Från och med version 3,0 visas ett konsol fönster när du startar Storage-emulatorn.Starting in version 3.0, a console window is displayed when you start the Storage Emulator. Använd kommando raden i konsol fönstret för att starta och stoppa emulatorn.Use the command line in the console window to start and stop the emulator. Du kan också fråga efter status och utföra andra åtgärder från kommando raden.You can also query for status and do other operations from the command line.

Anteckning

Om du har installerat Microsoft Azure Compute-emulatorn visas en ikon i system fältet när du startar Storage-emulatorn.If you have the Microsoft Azure compute emulator installed, a system tray icon appears when you launch the Storage Emulator. Högerklicka på ikonen för att visa en meny som ger ett grafiskt sätt att starta och stoppa Storage-emulatorn.Right-click on the icon to reveal a menu that provides a graphical way to start and stop the Storage Emulator.

Syntax för kommandoradCommand-line syntax

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

AlternativOptions

Om du vill visa en lista över alternativ skriver du /help i kommandotolken.To view the list of options, type /help at the command prompt.

AlternativOption BeskrivningDescription KommandoCommand ArgumentArguments
BörjaStart Startar Storage-emulatorn.Starts up the storage emulator. AzureStorageEmulator.exe start [-inprocess] -Reprocess: starta emulatorn i den aktuella processen i stället för att skapa en ny process.-Reprocess: Start the emulator in the current process instead of creating a new process.
StannaStop Stoppar Storage-emulatorn.Stops the storage emulator. AzureStorageEmulator.exe stop
StatusStatus Skriver ut statusen för Storage-emulatorn.Prints the status of the storage emulator. AzureStorageEmulator.exe status
RensaClear Rensar data i alla tjänster som anges på kommando raden.Clears the data in all services specified on the command line. AzureStorageEmulator.exe clear [blob] [table] [queue] [all] BLOB: rensar BLOB-data.blob: Clears blob data.
Queue: tar bort köa data.queue: Clears queue data.
tabell: raderar tabell data.table: Clears table data.
alla: alla data i alla tjänster raderas.all: Clears all data in all services.
InitieringInit Konfigurerar emulatorn vid ett engångs initiering.Does one-time initialization to set up the emulator. AzureStorageEmulator.exe init [-server serverName] [-sqlinstance instanceName] [-forcecreate|-skipcreate] [-reserveports|-unreserveports] [-inprocess] -Server serverName\instanceName: anger den server som är värd för SQL-instansen.-server serverName\instanceName: Specifies the server hosting the SQL instance.
-Sqlinstance instansnamn: anger namnet på den SQL-instans som ska användas i standard Server instansen.-sqlinstance instanceName: Specifies the name of the SQL instance to be used in the default server instance.
-forcecreate: tvingar fram skapandet av SQL-databasen, även om den redan finns.-forcecreate: Forces creation of the SQL database, even if it already exists.
-skipcreate: hoppar över skapandet av SQL-databasen.-skipcreate: Skips creation of the SQL database. Detta prioriteras över-forcecreate.This takes precedence over -forcecreate.
-reserveports: försöker reservera de http-portar som är kopplade till tjänsterna.-reserveports: Attempts to reserve the HTTP ports associated with the services.
-unreserveports: försöker ta bort reservationer för de http-portar som är kopplade till tjänsterna.-unreserveports: Attempts to remove reservations for the HTTP ports associated with the services. Detta prioriteras över-reserveports.This takes precedence over -reserveports.
-InProcess: utför initiering i den aktuella processen i stället för att skapa en ny process.-inprocess: Performs initialization in the current process instead of spawning a new process. Den aktuella processen måste startas med utökade behörigheter om du ändrar port reservationer.The current process must be launched with elevated permissions if changing port reservations.

Skillnader mellan Storage-emulatorn och Azure StorageDifferences between the storage emulator and Azure Storage

Eftersom Storage-emulatorn är en lokal emulerad miljö finns det skillnader mellan att använda emulatorn och ett Azure Storage-konto i molnet:Because the storage emulator is a local emulated environment, there are differences between using the emulator and an Azure storage account in the cloud:

  • Storage-emulatorn stöder endast ett fast konto och en välkänd autentiseringsnyckel.The storage emulator supports only a single fixed account and a well-known authentication key.
  • Lagringsprovidern är inte en skalbar lagrings tjänst och har inte stöd för ett stort antal samtidiga klienter.The storage emulator isn't a scalable storage service and doesn't support a large number of concurrent clients.
  • Som det beskrivs i adresserings resurser i Storage-emulatorn, adresseras resurser på ett annat sätt i Storage-emulatorn jämfört med ett Azure Storage-konto.As described in Addressing resources in the storage emulator, resources are addressed differently in the storage emulator versus an Azure storage account. Skillnaden är att domän namns matchning är tillgängligt i molnet men inte på den lokala datorn.The difference is because domain name resolution is available in the cloud but not on the local computer.
  • Från och med version 3,1 stöder Storage emulator-kontot Read-Access Geo-redundant replikering (RA-GRS).Beginning with version 3.1, the storage emulator account supports read-access geo-redundant replication (RA-GRS). I emulatorn har alla konton RA-GRS aktiverat och det finns aldrig någon fördröjning mellan de primära och sekundära replikerna.In the emulator, all accounts have RA-GRS enabled and there's never any lag between the primary and secondary replicas. Åtgärderna Hämta BLOB service stats statistik, Hämta Queue Service-statistik och hämta Table service-statistik stöds på det sekundära kontot och returnerar alltid värdet för svars elementet LastSyncTime som den aktuella tiden enligt den underliggande SQL-databasen.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.
  • Slut punkterna för fil tjänsten och SMB-protokollen stöds för närvarande inte i Storage-emulatorn.The File service and SMB protocol service endpoints aren't currently supported in the storage emulator.
  • Om du använder en version av lagrings tjänster som inte stöds av emulatorn returnerar emulatorn ett VersionNotSupportedByEmulator-fel (HTTP-status kod 400-Felaktig begäran).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).

Skillnader för Blob StorageDifferences for Blob storage

Följande skillnader gäller Blob Storage i emulatorn:The following differences apply to Blob storage in the emulator:

  • Storage-emulatorn stöder bara BLOB-storlekar upp till 2 GB.The storage emulator only supports blob sizes up to 2 GB.
  • Den maximala längden för ett BLOB-namn i Storage-emulatorn är 256 tecken, medan den maximala längden för ett BLOB-namn i Azure Storage är 1024 tecken.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.
  • Med en stegvis kopia kan ögonblicks bilder från skrivna blobbar kopieras, vilket returnerar ett problem med tjänsten.Incremental copy allows snapshots from overwritten blobs to be copied, which returns a failure on the service.
  • Hämtning av sid intervall fungerar inte mellan ögonblicks bilder som kopierats med en stegvis kopierings-blob.Get Page Ranges Diff doesn't work between snapshots copied using Incremental Copy Blob.
  • En placerings-BLOB-åtgärd kan lyckas mot en blob som finns i Storage-emulatorn med ett aktivt lån även om låne-ID: t inte har angetts i begäran.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.
  • Det går inte att lägga till BLOB-åtgärder av emulatorn.Append Blob operations are not supported by the emulator. Försök att utföra en åtgärd på en append-BLOB returnerar ett FeatureNotSupportedByEmulator-fel (HTTP-status kod 400-Felaktig begäran).Attempting an operation on an append blob returns a FeatureNotSupportedByEmulator error (HTTP status code 400 - Bad Request).

Skillnader i tabell lagringDifferences for Table storage

Följande skillnader gäller för Table Storage i emulatorn:The following differences apply to Table storage in the emulator:

  • Datum egenskaper i Table service i Storage-emulatorn stöder bara det intervall som stöds av SQL Server 2005 (de måste vara senare än 1 januari 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). Alla datum före den 1 januari 1753 ändras till det här värdet.All dates before January 1, 1753 are changed to this value. Precisionen för datum är begränsad till precisionen för SQL Server 2005, vilket innebär att datumen är exakta till 1/300th av en sekund.The precision of dates is limited to the precision of SQL Server 2005, meaning that dates are precise to 1/300th of a second.
  • Storage-emulatorn stöder partitionsnyckel och rad nyckel egenskaps värden som är mindre än 512 byte.The storage emulator supports partition key and row key property values of less than 512 bytes each. Den totala storleken på konto namn, tabell namn och nyckel egenskaps namn får inte överstiga 900 byte.The total size of the account name, table name, and key property names together can't exceed 900 bytes.
  • Den totala storleken på en rad i en tabell i Storage-emulatorn är begränsad till mindre än 1 MB.The total size of a row in a table in the storage emulator is limited to less than 1 MB.
  • I Storage-emulatorn har egenskaper av data typen Edm.Guid eller Edm.Binary endast stöd för jämförelse operatorerna Equal (eq) och NotEqual (ne) i filter strängarna för frågan.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.

Skillnader för Queue StorageDifferences for Queue storage

Det finns inga skillnader vad gäller Queue Storage i emulatorn.There are no differences specific to Queue storage in the emulator.

Viktig information om Storage mula tornStorage emulator release notes

Version 5,10Version 5.10

  • Storage-emulatorn avvisar inte version 2019-07-07 av lagrings tjänsterna på BLOB-, Queue-och Table service-slutpunkter.The storage emulator won't reject version 2019-07-07 of the storage services on Blob, Queue, and Table service endpoints.

Version 5,9Version 5.9

  • Storage-emulatorn avvisar inte version 2019-02-02 av lagrings tjänsterna på BLOB-, Queue-och Table service-slutpunkter.The storage emulator won't reject version 2019-02-02 of the storage services on Blob, Queue, and Table service endpoints.

Version 5,8Version 5.8

  • Storage-emulatorn avvisar inte version 2018-11-09 av lagrings tjänsterna på BLOB-, Queue-och Table service-slutpunkter.The storage emulator won't reject version 2018-11-09 of the storage services on Blob, Queue, and Table service endpoints.

Version 5,7Version 5.7

  • En bugg har åtgärd ATS som orsakar en krasch om loggning har Aktiver ATS.Fixed a bug that would cause a crash if logging was enabled.

Version 5,6Version 5.6

  • Storage-emulatorn stöder nu version 2018-03-28 av lagrings tjänsterna på BLOB-, Queue-och Table service-slutpunkter.The storage emulator now supports version 2018-03-28 of the storage services on Blob, Queue, and Table service endpoints.

Version 5,5Version 5.5

  • Storage-emulatorn stöder nu version 2017-11-09 av lagrings tjänsterna på BLOB-, Queue-och Table service-slutpunkter.The storage emulator now supports version 2017-11-09 of the storage services on Blob, Queue, and Table service endpoints.
  • Stöd har lagts till för den BLOB- skapade egenskapen som returnerar blobens skapande tid.Support has been added for the blob Created property, which returns the blob's creation time.

Version 5,4Version 5.4

  • För att förbättra installations stabiliteten försöker emulatorn inte längre att reservera portar vid installations tiden.To improve installation stability, the emulator no longer attempts to reserve ports at install time. Om du vill ha port reservationer använder du alternativet -reserveports för kommandot init för att ange dem.If you want port reservations, use the -reserveports option of the init command to specify them.

Version 5,3Version 5.3

  • Storage-emulatorn stöder nu version 2017-07-29 av lagrings tjänsterna på BLOB-, Queue-och Table service-slutpunkter.The storage emulator now supports version 2017-07-29 of the storage services on Blob, Queue, and Table service endpoints.

Version 5,2Version 5.2

  • Storage-emulatorn stöder nu version 2017-04-17 av lagrings tjänsterna på BLOB-, Queue-och Table service-slutpunkter.The storage emulator now supports version 2017-04-17 of the storage services on Blob, Queue, and Table service endpoints.
  • Ett fel har åtgärd ATS där tabell egenskaps värden inte kunde kodas korrekt.Fixed a bug where table property values weren't being properly encoded.

Version 5,1Version 5.1

  • Ett fel har åtgärd ATS där Storage-emulatorn returnerade DataServiceVersion-huvudet i vissa svar där tjänsten inte var det.Fixed a bug where the storage emulator was returning the DataServiceVersion header in some responses where the service was not.

Version 5,0Version 5.0

  • Installations programmet för Storage-emulatorn söker inte längre efter befintliga MSSQL-och .NET Framework-installationer.The storage emulator installer no longer checks for existing MSSQL and .NET Framework installs.
  • Installations programmet för Storage-emulatorn skapar inte längre databasen som en del av installationen.The storage emulator installer no longer creates the database as part of install. Databasen kommer fortfarande att skapas om det behövs som en del av starten.Database will still be created if needed as part of startup.
  • Databas skapandet kräver inte längre utökade privilegier.Database creation no longer requires elevation.
  • Port reservationer behövs inte längre för start.Port reservations are no longer needed for startup.
  • Lägger till följande alternativ i init: -reserveports (kräver höjning), -unreserveports (kräver höjning) -skipcreate.Adds the following options to init: -reserveports (requires elevation), -unreserveports (requires elevation), -skipcreate.
  • Alternativet Storage emulator UI på ikonen i system fältet startar nu kommando rads gränssnittet.The Storage Emulator UI option on the system tray icon now launches the command-line interface. Det gamla användar gränssnittet är inte längre tillgängligt.The old GUI is no longer available.
  • Vissa DLL-filer har tagits bort eller bytt namn.Some DLLs have been removed or renamed.

Version 4,6Version 4.6

  • Storage-emulatorn stöder nu version 2016-05-31 av lagrings tjänsterna på BLOB-, Queue-och Table service-slutpunkter.The storage emulator now supports version 2016-05-31 of the storage services on Blob, Queue, and Table service endpoints.

Version 4,5Version 4.5

  • En bugg har åtgärd ATS som gjorde att installationen och initieringen Miss fungerar när den säkerhetskopierade databasen har bytt namn.Fixed a bug that caused installation and initialization to fail when the backing database is renamed.

Version 4,4Version 4.4

  • Storage-emulatorn stöder nu version 2015-12-11 av lagrings tjänsterna på BLOB-, Queue-och Table service-slutpunkter.The storage emulator now supports version 2015-12-11 of the storage services on Blob, Queue, and Table service endpoints.
  • Lagrings emulatorns skräp insamling av BLOB-data är nu mer effektiv när du hanterar ett stort antal blobbar.The storage emulator's garbage collection of blob data is now more efficient when dealing with large numbers of blobs.
  • En bugg har åtgärd ATS som gjorde att XML för behållar-ACL verifierades något annorlunda än i lagrings tjänsten.Fixed a bug that caused container ACL XML to be validated slightly differently from how the storage service does it.
  • En bugg har åtgärd ATS som ibland orsakade att max-och minsta DateTime-värden rapporteras i fel tidszon.Fixed a bug that sometimes caused max and min DateTime values to be reported in the incorrect time zone.

Version 4,3Version 4.3

  • Storage-emulatorn stöder nu version 2015-07-08 av lagrings tjänsterna på BLOB-, Queue-och Table service-slutpunkter.The storage emulator now supports version 2015-07-08 of the storage services on Blob, Queue, and Table service endpoints.

Version 4,2Version 4.2

  • Storage-emulatorn stöder nu version 2015-04-05 av lagrings tjänsterna på BLOB-, Queue-och Table service-slutpunkter.The storage emulator now supports version 2015-04-05 of the storage services on Blob, Queue, and Table service endpoints.

Version 4,1Version 4.1

  • Storage-emulatorn stöder nu version 2015-02-21 av lagrings tjänsterna på BLOB-, Queue-och Table service-slutpunkter.The storage emulator now supports version 2015-02-21 of the storage services on Blob, Queue, and Table service endpoints. Den har inte stöd för de nya tilläggs-BLOB-funktionerna.It doesn't support the new Append Blob features.
  • Emulatorn returnerar nu ett meningsfullt fel meddelande för versioner av lagrings tjänster som inte stöds.The emulator now returns a meaningful error message for unsupported versions of storage services. Vi rekommenderar att du använder den senaste versionen av emulatorn.We recommend using the latest version of the emulator. Om du får ett VersionNotSupportedByEmulator-fel (HTTP-status kod 400-Felaktig begäran) laddar du ned den senaste versionen av emulatorn.If you get a VersionNotSupportedByEmulator error (HTTP status code 400 - Bad Request), download the latest version of the emulator.
  • Ett fel har åtgärd ATS där ett tävlings villkor orsakade att tabell enhets data var felaktiga under samtidiga sammanslagnings åtgärder.Fixed a bug wherein a race condition caused table entity data to be incorrect during concurrent merge operations.

Version 4,0Version 4.0

  • Den körbara filen för lagrings emulatorn har bytt namn till AzureStorageEmulator. exe.The storage emulator executable has been renamed to AzureStorageEmulator.exe.

Version 3,2Version 3.2

  • Storage-emulatorn stöder nu version 2014-02-14 av lagrings tjänsterna på BLOB-, Queue-och Table service-slutpunkter.The storage emulator now supports version 2014-02-14 of the storage services on Blob, Queue, and Table service endpoints. Fil tjänstens slut punkter stöds inte för närvarande i Storage-emulatorn.File service endpoints aren't currently supported in the storage emulator. Mer information om version 2014-02-14 finns i versions hantering för Azure Storage-tjänsterna .See Versioning for the Azure Storage Services for details about version 2014-02-14.

Version 3,1Version 3.1

  • Read-Access Geo-redundant lagring (RA-GRS) stöds nu i Storage-emulatorn.Read-access geo-redundant storage (RA-GRS) is now supported in the storage emulator. @No__t-0-, Get Queue Service Stats-och Get Table Service Stats-API: er stöds för det sekundära kontot och returnerar alltid värdet för svars elementet LastSyncTime som den aktuella tiden enligt den underliggande SQL-databasen.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. Använd lagrings klient biblioteket för .NET version 3,2 eller senare för program mässig åtkomst till den sekundära med Storage-emulatorn.For programmatic access to the secondary with the storage emulator, use the Storage Client Library for .NET version 3.2 or later. Mer information finns i Microsoft Azure Storage klient bibliotek för .NET-referens.See the Microsoft Azure Storage Client Library for .NET Reference for details.

Version 3,0Version 3.0

  • Azure Storage-emulatorn levereras inte längre i samma paket som beräknings-emulatorn.The Azure storage emulator is no longer shipped in the same package as the compute emulator.
  • Grafiskt användar gränssnitt i Storage-emulatorn är inaktuellt.The storage emulator graphical user interface is deprecated. Den har ersatts av ett skript bara kommando rads gränssnitt.It has been replaced by a scriptable command-line interface. Mer information om kommando rads gränssnittet finns i kommando rads verktyget Storage mula reference.For details on the command-line interface, see Storage Emulator Command-Line Tool Reference. Det grafiska gränssnittet fortsätter att finnas i version 3,0, men det går bara att komma åt den när du har installerat beräknings-emulatorn genom att högerklicka på ikonen system fält och välja Visa användar gränssnitt för Storage-emulatorn.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.
  • Version 2013-08-15 av Azure Storage-tjänster stöds nu fullt ut.Version 2013-08-15 of the Azure storage services is now fully supported. (Tidigare har den här versionen endast stöd för för hands versionen av Storage mula version 2.2.1.)(Previously this version was only supported by Storage Emulator version 2.2.1 Preview.)

Nästa stegNext steps