Geliştirme ve test için Azure depolama öykünücüsünü kullanmaUse the Azure Storage Emulator for development and testing

Microsoft Azure Depolama Öykünücüsü, yerel geliştirme amaçlarıyla Azure blob, kuyruk ve tablo hizmetlerine öykünen bir araçtır.The Microsoft Azure Storage Emulator is a tool that emulates the Azure Blob, Queue, and Table services for local development purposes. Uygulamanızı, Azure aboneliği oluşturmadan veya herhangi bir ücret ödemeden yerel olarak depolama hizmetlerine karşı test edebilirsiniz.You can test your application against the storage services locally without creating an Azure subscription or incurring any costs. Uygulamanızın öykünücü üzerinde nasıl çalıştığı konusunda memnun olduğunuzda, bulutta bir Azure depolama hesabı kullanmaya geçiş yapın.When you're satisfied with how your application is working in the emulator, switch to using an Azure storage account in the cloud.

Önemli

Azure depolama öykünücüsü artık etkin bir şekilde geliştirilmiyor.The Azure Storage Emulator is no longer being actively developed. Azurite , Iletme sonrasında depolama öykünücü platformudur.Azurite is the Storage Emulator platform going forward. Azurite, Azure depolama öykünücüsünün yerini almıştır.Azurite supersedes the Azure Storage Emulator. Azurite, Azure depolama API 'lerinin en son sürümlerini destekleyecek şekilde güncellenmeye devam edecektir.Azurite will continue to be updated to support the latest versions of Azure Storage APIs. Daha fazla bilgi için bkz. Yerel Azure depolama geliştirmesi Için Azurite öykünücüsünü kullanma.For more information, see Use the Azurite emulator for local Azure Storage development.

Depolama öykünücüsünü alGet the Storage Emulator

Depolama öykünücüsü MICROSOFT Azure SDK'nın bir parçası olarak kullanılabilir.The Storage Emulator is available as part of the Microsoft Azure SDK. Depolama öykünücüsünü tek başına yükleyiciyi (doğrudan indirme) kullanarak da yükleyebilirsiniz.You can also install the Storage Emulator by using the standalone installer (direct download). Depolama öykünücüsünü yüklemek için bilgisayarınızda yönetici ayrıcalıklarına sahip olmanız gerekir.To install the Storage Emulator, you must have administrative privileges on your computer.

Depolama öykünücüsü Şu anda yalnızca Windows üzerinde çalışır.The Storage Emulator currently runs only on Windows. Linux için bir depolama öykünücüsünün olması gerekiyorsa, topluluk tarafından tutulan, açık kaynaklı depolama öykünücü Azıiteolan bir seçenek vardır.If you need a Storage Emulator for Linux, one option is the community maintained, open-source Storage Emulator Azurite.

Not

Depolama öykünücüsünün bir sürümünde oluşturulan verilerin farklı bir sürüm kullanılırken erişilebilir olması garanti edilmez.Data created in one version of the Storage Emulator is not guaranteed to be accessible when using a different version. Verilerinizi uzun vadede kalıcı hale getirmeniz gerekiyorsa, bu verileri depolama öykünücüsü yerine bir Azure depolama hesabında depolamanızı öneririz.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.

Depolama öykünücüsü, OData kitaplıklarının belirli sürümlerine bağlıdır.The Storage Emulator depends on specific versions of the OData libraries. Depolama öykünücüsü tarafından kullanılan OData dll 'Leri diğer sürümlerle değiştirmek desteklenmez ve beklenmeyen davranışlara neden olabilir.Replacing the OData DLLs used by the Storage Emulator with other versions is unsupported, and may cause unexpected behavior. Ancak, depolama hizmeti tarafından desteklenen herhangi bir OData sürümü, istekleri öykünücüye göndermek için kullanılabilir.However, any version of OData supported by the storage service may be used to send requests to the emulator.

Depolama öykünücüsünün nasıl çalıştığıHow the storage emulator works

Depolama öykünücüsü, Azure depolama hizmetlerine öykünmek için yerel bir Microsoft SQL Server 2012 Express LocalDB örneğini kullanır.The Storage Emulator uses a local Microsoft SQL Server 2012 Express LocalDB instance to emulate Azure storage services. Depolama öykünücüsünü, LocalDB örneği yerine SQL Server yerel bir örneğine erişecek şekilde yapılandırmayı tercih edebilirsiniz.You can choose to configure the Storage Emulator to access a local instance of SQL Server instead of the LocalDB instance. Daha fazla bilgi edinmek için bu makalenin devamındaki depolama öykünücüsünü başlatma ve başlatma bölümüne bakın.See the Start and initialize the Storage Emulator section later in this article to learn more.

Depolama öykünücüsü, Windows kimlik doğrulaması kullanarak SQL Server veya LocalDB 'ye bağlanır.The Storage Emulator connects to SQL Server or LocalDB using Windows authentication.

Depolama öykünücüsü ile Azure depolama hizmetleri arasında bazı işlevlerde farklılık vardır.Some differences in functionality exist between the Storage Emulator and Azure storage services. Bu farklılıklar hakkında daha fazla bilgi için bu makalenin ilerleyen kısımlarında bulunan depolama öykünücüsü Ile Azure depolama bölümü arasındaki farklara bakın.For more information about these differences, see the Differences between the Storage Emulator and Azure Storage section later in this article.

Depolama öykünücüsünü başlatma ve başlatmaStart and initialize the Storage Emulator

Azure Storage öykünücüsü 'nü başlatmak için:To start the Azure Storage Emulator:

  1. Başlat düğmesini seçin veya Windows tuşuna basın.Select the Start button or press the Windows key.
  2. Yazmaya başlayın Azure Storage Emulator .Begin typing Azure Storage Emulator.
  3. Görüntülenmiş uygulamalar listesinden öykünücü ' ı seçin.Select the emulator from the list of displayed applications.

Depolama öykünücüsü başladığında, bir komut Istemi penceresi görüntülenir.When the Storage Emulator starts, a Command Prompt window will appear. Depolama öykünücüsünü başlatmak ve durdurmak için bu konsol penceresini kullanabilirsiniz.You can use this console window to start and stop the Storage Emulator. Ayrıca, komut isteminden verileri temizleyebilir, durum alabilir ve öykünücü başlatabilirsiniz.You can also clear data, get status, and initialize the emulator from the command prompt. Daha fazla bilgi için bu makalenin ilerleyen bölümlerindeki depolama öykünücüsü komut satırı araç başvurusu bölümüne bakın.For more information, see the Storage Emulator command-line tool reference section later in this article.

Not

Sistemde Azurite gibi başka bir depolama öykünücüsü çalışıyorsa, Azure depolama öykünücüsü düzgün başlatılamayabilir.The Azure Storage Emulator may not start correctly if another storage emulator, such as Azurite, is running on the system.

Öykünücü çalıştırıldığında, Windows görev çubuğu bildirim alanında bir simge görürsünüz.When the emulator is running, you'll see an icon in the Windows taskbar notification area.

Depolama öykünücüsü komut Istemi penceresini kapattığınızda, depolama öykünücüsü çalışmaya devam edecektir.When you close the Storage Emulator Command Prompt window, the Storage Emulator will continue to run. Depolama öykünücüsü konsol penceresini tekrar açmak için, depolama öykünücüsünü başlatma gibi önceki adımları izleyin.To bring up the Storage Emulator console window again, follow the preceding steps as if starting the Storage Emulator.

Depolama öykünücüsünü ilk kez çalıştırdığınızda yerel depolama ortamı sizin için başlatılır.The first time you run the Storage Emulator, the local storage environment is initialized for you. Başlatma işlemi, LocalDB 'de bir veritabanı oluşturur ve her yerel depolama hizmeti için HTTP bağlantı noktalarını ayırır.The initialization process creates a database in LocalDB and reserves HTTP ports for each local storage service.

Depolama öykünücüsü varsayılan olarak ' ye yüklenir 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.

İpucu

Yerel depolama öykünücü kaynaklarıyla çalışmak için Microsoft Azure Depolama Gezgini kullanabilirsiniz.You can use the Microsoft Azure Storage Explorer to work with local Storage Emulator resources. Depolama öykünücüsünü yükledikten ve başlattıktan sonra Depolama Gezgini kaynakları ağacındaki "yerel & ekli" altında "(öykünücü-varsayılan bağlantı noktaları) (anahtar)" bölümüne bakın.Look for "(Emulator - Default Ports) (Key)" under "Local & Attached" in the Storage Explorer resources tree after you've installed and started the Storage Emulator.

Depolama öykünücüsünü farklı bir SQL veritabanı kullanacak şekilde başlatmaInitialize the storage Emulator to use a different SQL database

Depolama öykünücüsünü varsayılan LocalDB örneğinden farklı bir SQL veritabanı örneğine işaret etmek üzere başlatmak için depolama öykünücüsü komut satırı aracını kullanabilirsiniz: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. Depolama öykünücüsünü başlatma ve başlatma bölümünde açıklandığı gibi depolama öykünücüsü konsol penceresini açın.Open the Storage Emulator console window as described in the Start and initialize the Storage Emulator section.

  2. Konsol penceresinde, aşağıdaki komutu yazın; burada <SQLServerInstance> SQL Server örneğinin adıdır.In the console window, type the following command, where <SQLServerInstance> is the name of the SQL Server instance. LocalDB 'yi kullanmak için (localdb)\MSSQLLocalDb SQL Server örneği olarak belirtin.To use LocalDB, specify (localdb)\MSSQLLocalDb as the SQL Server instance.

    AzureStorageEmulator.exe init /server <SQLServerInstance>

    Ayrıca, öykünücüyü varsayılan SQL Server örneğini kullanacak şekilde yönlendiren aşağıdaki komutu da kullanabilirsiniz:You can also use the following command, which directs the emulator to use the default SQL Server instance:

    AzureStorageEmulator.exe init /server .

    Ya da, veritabanını varsayılan LocalDB örneğine Başlatan aşağıdaki komutu kullanabilirsiniz:Or, you can use the following command, which initializes the database to the default LocalDB instance:

    AzureStorageEmulator.exe init /forceCreate

Bu komutlar hakkında daha fazla bilgi için bkz. depolama öykünücüsü komut satırı araç başvurusu.For more information about these commands, see Storage Emulator command-line tool reference.

İpucu

LocalDB yüklemesi de dahil olmak üzere SQL Server örneklerinizi yönetmek için Microsoft SQL Server Management Studio (SSMS) kullanabilirsiniz.You can use the Microsoft SQL Server Management Studio (SSMS) to manage your SQL Server instances, including the LocalDB installation. SMSS sunucuya Bağlan iletişim kutusunda, (localdb)\MSSQLLocalDb LocalDB örneğine bağlanmak için sunucu adı: alanında öğesini belirtin.In the SMSS Connect to Server dialog, specify (localdb)\MSSQLLocalDb in the Server name: field to connect to the LocalDB instance.

Depolama öykünücüsünde istekleri kimlik doğrulamaAuthenticating requests against the Storage Emulator

Depolama öykünücüsünü yükleyip başlattığınızda, kodunuzu buna karşı test edebilirsiniz.Once you've installed and started the Storage Emulator, you can test your code against it. Anonim bir istek olmadığı takdirde, depolama öykünücüsüyle karşı yaptığınız her isteği yetkilendirmelidir.Every request you make against the Storage Emulator must be authorized, unless it's an anonymous request. Paylaşılan anahtar kimlik doğrulamasını veya paylaşılan erişim imzasını (SAS) kullanarak depolama öykünücüsünde istekleri yetkilendirebilirsiniz.You can authorize requests against the Storage Emulator using Shared Key authentication or with a shared access signature (SAS).

Paylaşılan anahtar kimlik bilgileriyle yetkilendirAuthorize with Shared Key credentials

Azurite, paylaşılan anahtar kimlik doğrulaması için tek bir sabit hesabı ve iyi bilinen bir kimlik doğrulama anahtarını destekler.Azurite supports a single fixed account and a well-known authentication key for Shared Key authentication. Bu hesap ve anahtar, Azurıite ile kullanım için izin verilen tek paylaşılan anahtar kimlik bilgileridir.This account and key are the only Shared Key credentials permitted for use with Azurite. Bunlar:They are:

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

Not

Azurite tarafından desteklenen kimlik doğrulama anahtarı yalnızca istemci kimlik doğrulama kodunuzun işlevlerini test etmek üzere tasarlanmıştır.The authentication key supported by Azurite is intended only for testing the functionality of your client authentication code. Herhangi bir güvenlik amacına sahip değildir.It does not serve any security purpose. Üretim depolama hesabınızı ve anahtarınızı Azurite ile kullanamazsınız.You cannot use your production storage account and key with Azurite. Üretim verileriyle birlikte geliştirme hesabı kullanmamalısınız.You should not use the development account with production data.

Azurite yalnızca HTTP üzerinden bağlantıyı destekler.Azurite supports connection via HTTP only. Ancak HTTPS, bir üretim Azure depolama hesabındaki kaynaklara erişmek için önerilen protokoldür.However, HTTPS is the recommended protocol for accessing resources in a production Azure storage account.

Bir kısayol kullanarak öykünücü hesabına bağlanmaConnect to the emulator account using a shortcut

Uygulamanızdan Azurite 'ya bağlanmanın en kolay yolu, uygulamanızın yapılandırma dosyasında kısayola başvuran bir bağlantı dizesi yapılandırmaktır UseDevelopmentStorage=true .The easiest way to connect to Azurite from your application is to configure a connection string in your application's configuration file that references the shortcut UseDevelopmentStorage=true. Bir app.config dosyasında Azurıite için bir bağlantı dizesi örneği aşağıda verilmiştir:Here's an example of a connection string to Azurite in an app.config file:

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

İyi bilinen hesap adını ve anahtarını kullanarak öykünücü hesabına bağlanınConnect to the emulator account using the well-known account name and key

Öykünücü hesap adına ve anahtarına başvuran bir bağlantı dizesi oluşturmak için, bağlantı dizesindeki öykünücüsünde kullanmak istediğiniz her bir hizmet için uç noktaları belirtmeniz gerekir.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. Bu, bağlantı dizesinin, bir üretim depolama hesabı için olandan farklı olan öykünücü uç noktalarına başvurması için gereklidir.This is necessary so that the connection string will reference the emulator endpoints, which are different than those for a production storage account. Örneğin, bağlantı dizeniz değeri şöyle görünü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;
QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;

Bu değer yukarıda gösterilen kısayolla aynıdır UseDevelopmentStorage=true .This value is identical to the shortcut shown above, UseDevelopmentStorage=true.

Bağlantı dizeleri hakkında daha fazla bilgi için bkz. Azure Storage bağlantı dizelerini yapılandırma.For more information on connection strings, see Configure Azure Storage connection strings.

Paylaşılan erişim imzasıyla yetkilendirmeAuthorize with a shared access signature

Not

Bu makale yeni Azure PowerShell Az modülünü kullanacak şekilde güncelleştirilmiştir.This article has been updated to use the new Azure PowerShell Az module. En azından Aralık 2020'ye kadar hata düzeltmeleri almaya devam edecek olan AzureRM modülünü de kullanmaya devam edebilirsiniz.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Yeni Az modülüyle AzureRM'nin uyumluluğu hakkında daha fazla bilgi edinmek için bkz. Yeni Azure PowerShell Az modülüne giriş.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az modülü yükleme yönergeleri için bkz. Azure PowerShell'i yükleme.For Az module installation instructions, see Install Azure PowerShell.

Xamarin kitaplığı gibi bazı Azure depolama istemci kitaplıkları yalnızca paylaşılan erişim imzası (SAS) belirteciyle kimlik doğrulamasını destekler.Some Azure storage client libraries, such as the Xamarin library, only support authentication with a shared access signature (SAS) token. Depolama Gezgini veya paylaşılan anahtar kimlik doğrulamasını destekleyen başka bir uygulama kullanarak SAS belirtecini oluşturabilirsiniz.You can create the SAS token using Storage Explorer or another application that supports Shared Key authentication.

Azure PowerShell kullanarak bir SAS belirteci de oluşturabilirsiniz.You can also generate a SAS token by using Azure PowerShell. Aşağıdaki örnek bir blob kapsayıcısına tam izinlerle bir SAS belirteci üretir:The following example generates a SAS token with full permissions to a blob container:

  1. Henüz yapmadıysanız Azure PowerShell yükleyebilirsiniz (Azure PowerShell cmdlet 'lerinin en son sürümünü kullanmanız önerilir).Install Azure PowerShell if you haven't already (using the latest version of the Azure PowerShell cmdlets is recommended). Yükleme yönergeleri için bkz. Azure PowerShell yükleme ve yapılandırma.For installation instructions, see Install and configure Azure PowerShell.
  2. Azure PowerShell açın ve aşağıdaki komutları çalıştırarak, tercih eden CONTAINER_NAME bir adla değiştirin: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

Yeni kapsayıcı için ortaya çıkan paylaşılan erişim imzası URI 'SI şuna benzer olmalıdır: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

Bu örnekle oluşturulan paylaşılan erişim imzası bir gün için geçerlidir.The shared access signature created with this example is valid for one day. İmza, kapsayıcı içindeki bloblara tam erişim (okuma, yazma, silme, listeleme) verir.The signature grants full access (read, write, delete, list) to blobs within the container.

Paylaşılan erişim imzaları hakkında daha fazla bilgi için bkz. paylaşılan erişim imzaları (SAS) kullanarak Azure depolama kaynaklarına sınırlı erişim verme.For more information on shared access signatures, see Grant limited access to Azure Storage resources using shared access signatures (SAS).

Depolama öykünücüsünde kaynakları adreslemeAddressing resources in the Storage Emulator

Depolama öykünücüsünün hizmet uç noktaları, Azure depolama hesabının uç noktalarından farklıdır.The service endpoints for the Storage Emulator are different from the endpoints for an Azure storage account. Yerel bilgisayar, etki alanı adı çözümlemesi yapmaz ve depolama öykünücü uç noktalarının yerel adresler olmasını gerektirir.The local computer doesn't do domain name resolution, requiring the Storage Emulator endpoints to be local addresses.

Bir Azure depolama hesabındaki bir kaynağı adresettiğiniz zaman, aşağıdaki düzeni kullanırsınız.When you address a resource in an Azure storage account, you use the following scheme. Hesap adı URI ana bilgisayar adının bir parçası ve değinmekte olan kaynak URI yolunun bir parçası: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>

Örneğin, aşağıdaki URI, Azure depolama hesabındaki bir blob için geçerli bir adrestir: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

Yerel bilgisayar etki alanı adı çözümlemesi gerçekleştirmediğinden, hesap adı konak adı yerine URI yolunun bir parçasıdır.Because the local computer doesn't do domain name resolution, the account name is part of the URI path instead of the host name. Depolama öykünücüsünde bir kaynak için aşağıdaki URI biçimini kullanın:Use the following URI format for a resource in the Storage Emulator:

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

Örneğin, aşağıdaki adres, depolama öykünücüsünde bir bloba erişmek için kullanılabilir: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

Depolama öykünücüsünün hizmet uç noktaları şunlardır:The service endpoints for the Storage Emulator are:

  • Blob hizmeti: http://127.0.0.1:10000/<account-name>/<resource-path>Blob service: http://127.0.0.1:10000/<account-name>/<resource-path>
  • Kuyruk hizmeti: http://127.0.0.1:10001/<account-name>/<resource-path>Queue service: http://127.0.0.1:10001/<account-name>/<resource-path>
  • Tablo hizmeti: http://127.0.0.1:10002/<account-name>/<resource-path>Table service: http://127.0.0.1:10002/<account-name>/<resource-path>

RA-GRS ile hesap ikincil adresi oluşturmaAddressing the account secondary with RA-GRS

Sürüm 3,1 ' den başlayarak, depolama öykünücüsü Okuma Erişimli Coğrafi olarak yedekli çoğaltmayı (RA-GRS) destekler.Beginning with version 3.1, the Storage Emulator supports read-access geo-redundant replication (RA-GRS). İkincil konuma, hesap adına ikincil ekleyerek erişebilirsiniz.You can access the secondary location by appending -secondary to the account name. Örneğin, aşağıdaki adres, depolama öykünücüsünde salt okunurdur ikincil kullanarak bir bloba erişmek için kullanılabilir: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

Not

Depolama öykünücüsüyle ikincil öğesine programlı erişim için, .NET sürüm 3,2 veya üzeri için depolama Istemcisi kitaplığı 'nı kullanın.For programmatic access to the secondary with the Storage Emulator, use the Storage Client Library for .NET version 3.2 or later. Ayrıntılar için bkz. .NET için Microsoft Azure depolama Istemci kitaplığı .See the Microsoft Azure Storage Client Library for .NET for details.

Depolama öykünücüsü komut satırı araç başvurusuStorage Emulator command-line tool reference

Sürüm 3,0 ' den başlayarak, depolama öykünücüsünü başlattığınızda bir konsol penceresi görüntülenir.Starting in version 3.0, a console window is displayed when you start the Storage Emulator. Öykünücüyü başlatmak ve durdurmak için konsol penceresindeki komut satırını kullanın.Use the command line in the console window to start and stop the emulator. Ayrıca, durumu sorgulayabilir ve komut satırından başka işlemler yapabilirsiniz.You can also query for status and do other operations from the command line.

Not

Microsoft Azure işlem öykünücüsü yüklüyse, depolama öykünücüsünü başlattığınızda bir sistem tepsisi simgesi görüntülenir.If you have the Microsoft Azure compute emulator installed, a system tray icon appears when you launch the Storage Emulator. Depolama öykünücüsünü başlatmak ve durdurmak için grafiksel bir yol sağlayan menüyü açığa çıkarmak için simgeye sağ tıklayın.Right-click on the icon to reveal a menu that provides a graphical way to start and stop the Storage Emulator.

Komut satırı sözdizimiCommand-line syntax

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

SeçeneklerOptions

Seçenek listesini görüntülemek için komut satırına /help yazın.To view the list of options, type /help at the command prompt.

SeçenekOption AçıklamaDescription KomutCommand Bağımsız değişkenlerArguments
BaşlangıçStart Depolama öykünücüsünü başlatır.Starts up the Storage Emulator. AzureStorageEmulator.exe start [-inprocess] -Reprocess: yeni bir işlem oluşturmak yerine öykünücüyü geçerli işlemde başlatın.-Reprocess: Start the emulator in the current process instead of creating a new process.
DurdurStop Depolama öykünücüsünü sonlandırır.Stops the Storage Emulator. AzureStorageEmulator.exe stop
DurumStatus Depolama öykünücüsünün durumunu yazdırır.Prints the status of the Storage Emulator. AzureStorageEmulator.exe status
TemizleClear Komut satırında belirtilen tüm hizmetlerde verileri temizler.Clears the data in all services specified on the command line. AzureStorageEmulator.exe clear [blob] [table] [queue] [all] BLOB: blob verilerini temizler.blob: Clears blob data.
kuyruk: kuyruk verilerini temizler.queue: Clears queue data.
tablo: tablo verilerini temizler.table: Clears table data.
Tümü: tüm hizmetlerde tüm verileri temizler.all: Clears all data in all services.
InitInit Öykünücüyü ayarlamak için bir kerelik başlatma işlemi yapar.Does one-time initialization to set up the emulator. AzureStorageEmulator.exe init [-server serverName] [-sqlinstance instanceName] [-forcecreate|-skipcreate] [-reserveports|-unreserveports] [-inprocess] -Server sunucuadi InstanceName: SQL örneğini barındıran sunucuyu belirtir.-server serverName\instanceName: Specifies the server hosting the SQL instance.
-SQLInstance InstanceName: varsayılan sunucu ÖRNEĞINDE kullanılacak SQL örneğinin adını belirtir.-sqlinstance instanceName: Specifies the name of the SQL instance to be used in the default server instance.
-forcecoluştur: zaten mevcut olsa bile SQL veritabanı oluşturmayı zorlar.-forcecreate: Forces creation of the SQL database, even if it already exists.
-skipcreate: SQL veritabanı oluşturmayı atlar.-skipcreate: Skips creation of the SQL database. Bu,-forcecoluştur 'a göre önceliklidir.This takes precedence over -forcecreate.
-reserveports: HIZMETLERLE ilişkili http bağlantı noktalarını ayırmaya çalışır.-reserveports: Attempts to reserve the HTTP ports associated with the services.
-unreserveports: HIZMETLERLE ilişkili http bağlantı noktaları için ayırmaları kaldırmaya çalışır.-unreserveports: Attempts to remove reservations for the HTTP ports associated with the services. Bu,-reserveports üzerinden önceliklidir.This takes precedence over -reserveports.
-InProcess: yeni bir işlem oluşturmak yerine geçerli işlemde başlatmayı gerçekleştirir.-inprocess: Performs initialization in the current process instead of spawning a new process. Bağlantı noktası ayırmalarını değiştirmek için geçerli işlem yükseltilmiş izinlerle başlatılmalıdır.The current process must be launched with elevated permissions if changing port reservations.

Depolama öykünücüsü ile Azure depolama arasındaki farklarDifferences between the Storage Emulator and Azure Storage

Depolama öykünücüsü yerel bir Öykünülmüş ortam olduğundan, öykünücü ve buluttaki bir Azure depolama hesabı ile arasında farklılıklar vardır:Because the Storage Emulator is a local emulated environment, there are differences between using the emulator and an Azure storage account in the cloud:

  • Depolama öykünücüsü yalnızca tek bir sabit hesabı ve iyi bilinen bir kimlik doğrulama anahtarını destekler.The Storage Emulator supports only a single fixed account and a well-known authentication key.
  • Depolama öykünücüsü ölçeklenebilir bir depolama hizmeti değildir ve çok sayıda eşzamanlı istemciyi desteklemez.The Storage Emulator isn't a scalable storage service and doesn't support a large number of concurrent clients.
  • Depolama öykünücüsünde kaynakları adreslemebölümünde açıklandığı gibi, kaynaklar depolama öykünücüsünde bir Azure depolama hesabına göre farklı şekilde ele alınır.As described in Addressing resources in the Storage Emulator, resources are addressed differently in the Storage Emulator versus an Azure storage account. Bunun farkı, etki alanı adı çözümlemenin yerel bilgisayarda değil bulutta kullanılabilir olmasından kaynaklanır.The difference is because domain name resolution is available in the cloud but not on the local computer.
  • Sürüm 3,1 ' den başlayarak, depolama öykünücü hesabı Okuma Erişimli Coğrafi olarak yedekli çoğaltmayı (RA-GRS) destekler.Beginning with version 3.1, the Storage Emulator account supports read-access geo-redundant replication (RA-GRS). Öykünücüde tüm hesaplarda RA-GRS etkinleştirilmiştir ve birincil ve ikincil çoğaltmalar arasında hiç gecikme yoktur.In the emulator, all accounts have RA-GRS enabled and there's never any lag between the primary and secondary replicas. Blob hizmeti alma Istatistiklerini al, kuyruk hizmet Istatistiklerini al ve tablo hizmeti Istatistikleri alma işlemleri, hesap ikincisine göre desteklenir ve her zaman, LastSyncTime temel ALıNAN SQL veritabanına göre geçerli zaman olarak yanıt öğesinin değerini döndürür.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.
  • Dosya hizmeti ve SMB protokol hizmeti uç noktaları şu anda depolama öykünücüsünde desteklenmiyor.The File service and SMB protocol service endpoints aren't currently supported in the Storage Emulator.
  • Öykünücü tarafından desteklenmeyen Depolama Hizmetleri sürümünü kullanıyorsanız, öykünücü bir VersionNotSupportedByEmulator hatası döndürür (HTTP durum kodu 400-Hatalı Istek).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).

BLOB depolama farklılıklarıDifferences for Blob storage

Öykünücüdeki blob depolaması için aşağıdaki farklar geçerlidir:The following differences apply to Blob storage in the emulator:

  • Depolama öykünücüsü yalnızca 2 GB 'a kadar blob boyutunu destekler.The Storage Emulator only supports blob sizes up to 2 GB.
  • Depolama öykünücüsünde bir blob adının maksimum uzunluğu 256 karakterdir, ancak Azure Storage 'da bir blob adı en fazla uzunluğu 1024 karakterdir.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.
  • Artımlı kopyalama, geçersiz kılınabilen Blobların kopyalanmasını sağlar ve bu da hizmette bir hata döndürür.Incremental copy allows snapshots from overwritten blobs to be copied, which returns a failure on the service.
  • Sayfa aralıklarını al fark, artımlı kopya blobu kullanılarak kopyalanmış anlık görüntüler arasında çalışmıyor.Get Page Ranges Diff doesn't work between snapshots copied using Incremental Copy Blob.
  • Bir put blobu işlemi, istekte kira KIMLIĞI belirtilmese bile, etkin bir kiralama ile depolama öykünücüsünde bulunan bir blob 'a karşı başarılı olabilir.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.
  • Ekleme blobu işlemleri öykünücü tarafından desteklenmez.Append blob operations are not supported by the emulator. Bir ekleme blobu üzerinde bir işlemin deneneceği bir FeatureNotSupportedByEmulator hatası (HTTP durum kodu 400-Hatalı Istek) döndürüyor.Attempting an operation on an append blob returns a FeatureNotSupportedByEmulator error (HTTP status code 400 - Bad Request).

Tablo depolama farklılıklarıDifferences for Table storage

Öykünücüdeki tablo depolaması için aşağıdaki farklar geçerlidir:The following differences apply to Table storage in the emulator:

  • Depolama öykünücüsünde tablo hizmetindeki Tarih özellikleri yalnızca SQL Server 2005 tarafından desteklenen aralığı destekler (1 Ocak 1753 ' den sonra olması gerekir).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). 1 Ocak 1753 tarihinden önceki tüm tarihler bu değere dönüştürülür.All dates before January 1, 1753 are changed to this value. Tarihlerin duyarlığı, SQL Server 2005 ' lik duyarlığından sınırlıdır, Yani tarihin saniyenin 1/300 ' e kadar kesin olduğu anlamına gelir.The precision of dates is limited to the precision of SQL Server 2005, meaning that dates are precise to 1/300th of a second.
  • Depolama öykünücüsü, her biri 512 bayttan az olan bölüm anahtarını ve satır anahtarı özellik değerlerini destekler.The Storage Emulator supports partition key and row key property values of less than 512 bytes each. Hesap adı, tablo adı ve anahtar özelliği adlarının toplam boyutu 900 baytı aşamaz.The total size of the account name, table name, and key property names together can't exceed 900 bytes.
  • Depolama öykünücüsünde bir tablodaki bir satırın toplam boyutu 1 MB 'tan az olacak şekilde sınırlıdır.The total size of a row in a table in the Storage Emulator is limited to less than 1 MB.
  • Depolama öykünücüsü ' nde, veri türü özellikleri Edm.Guid veya Edm.Binary yalnızca Equal (eq) NotEqual (ne) sorgu filtresi dizelerindeki ve karşılaştırma işleçlerini destekler.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.

Kuyruk depolama farklarıDifferences for Queue storage

Öykünücüde kuyruk depolamaya özgü fark yoktur.There are no differences specific to Queue storage in the emulator.

Depolama öykünücüsü sürüm notlarıStorage Emulator release notes

Sürüm 5,10Version 5.10

  • Depolama öykünücüsü, blob, kuyruk ve tablo hizmeti uç noktalarında depolama hizmetlerinin 2019-07-07 sürümünü reddeder.The Storage Emulator won't reject version 2019-07-07 of the storage services on Blob, Queue, and Table service endpoints.

Sürüm 5,9Version 5.9

  • Depolama öykünücüsü, blob, kuyruk ve tablo hizmeti uç noktalarında depolama hizmetlerinin 2019-02-02 sürümünü reddeder.The Storage Emulator won't reject version 2019-02-02 of the storage services on Blob, Queue, and Table service endpoints.

Sürüm 5,8Version 5.8

  • Depolama öykünücüsü, blob, kuyruk ve tablo hizmeti uç noktalarında depolama hizmetlerinin 2018-11-09 sürümünü reddeder.The Storage Emulator won't reject version 2018-11-09 of the storage services on Blob, Queue, and Table service endpoints.

Sürüm 5,7Version 5.7

  • Günlüğe kaydetme etkinleştirildiyse çökmeye neden olacak bir hata düzeltildi.Fixed a bug that would cause a crash if logging was enabled.

Sürüm 5,6Version 5.6

  • Depolama öykünücüsü artık BLOB, kuyruk ve tablo hizmeti uç noktalarında depolama hizmetlerinin 2018-03-28 sürümünü desteklemektedir.The Storage Emulator now supports version 2018-03-28 of the storage services on Blob, Queue, and Table service endpoints.

Sürüm 5,5Version 5.5

  • Depolama öykünücüsü artık BLOB, kuyruk ve tablo hizmeti uç noktalarında depolama hizmetlerinin 2017-11-09 sürümünü desteklemektedir.The Storage Emulator now supports version 2017-11-09 of the storage services on Blob, Queue, and Table service endpoints.
  • Blob 'un oluşturulma zamanını döndüren blob oluşturuldu özelliği için destek eklenmiştir.Support has been added for the blob Created property, which returns the blob's creation time.

Sürüm 5,4Version 5.4

  • Yükleme kararlılığını artırmak için, öykünücü artık yükleme zamanında bağlantı noktası ayırma girişiminde bulunmamaktadır.To improve installation stability, the emulator no longer attempts to reserve ports at install time. Bağlantı noktası ayırmalarını isterseniz, bunu belirtmek için Init komutunun -reserveports seçeneğini kullanın.If you want port reservations, use the -reserveports option of the init command to specify them.

Sürüm 5,3Version 5.3

  • Depolama öykünücüsü artık BLOB, kuyruk ve tablo hizmeti uç noktalarında depolama hizmetlerinin 2017-07-29 sürümünü desteklemektedir.The Storage Emulator now supports version 2017-07-29 of the storage services on Blob, Queue, and Table service endpoints.

Sürüm 5,2Version 5.2

  • Depolama öykünücüsü artık BLOB, kuyruk ve tablo hizmeti uç noktalarında depolama hizmetlerinin 2017-04-17 sürümünü desteklemektedir.The Storage Emulator now supports version 2017-04-17 of the storage services on Blob, Queue, and Table service endpoints.
  • Tablo özelliği değerlerinin düzgün şekilde kodlanamayan bir hata düzeltildi.Fixed a bug where table property values weren't being properly encoded.

Sürüm 5,1Version 5.1

  • Depolama öykünücüsünün, DataServiceVersion hizmetin olmadığı bazı yanıtlara üstbilgiyi döndürdüğü bir hata düzeltildi.Fixed a bug where the Storage Emulator was returning the DataServiceVersion header in some responses where the service was not.

Sürüm 5,0Version 5.0

  • Depolama öykünücüsü yükleyicisi artık var olan MSSQL ve .NET Framework yüklemelerini kontrol eder.The Storage Emulator installer no longer checks for existing MSSQL and .NET Framework installs.
  • Depolama öykünücüsü yükleyicisi, artık veritabanını yükleme kapsamında oluşturmayacaktır.The Storage Emulator installer no longer creates the database as part of install. Başlatma kapsamında gerekirse veritabanı yine de oluşturulacaktır.Database will still be created if needed as part of startup.
  • Veritabanı oluşturma artık yükseltme gerektirmez.Database creation no longer requires elevation.
  • Bağlantı noktası ayırmaları artık başlangıç için gerekli değildir.Port reservations are no longer needed for startup.
  • Aşağıdaki seçenekleri öğesine ekler init : -reserveports (yükseltme gerektirir), -unreserveports (yükseltme gerektirir), -skipcreate .Adds the following options to init: -reserveports (requires elevation), -unreserveports (requires elevation), -skipcreate.
  • Sistem tepsisi simgesinde depolama öykünücüsü Kullanıcı Arabirimi seçeneği artık komut satırı arabirimini başlatır.The Storage Emulator UI option on the system tray icon now launches the command-line interface. Eski GUI artık kullanılamıyor.The old GUI is no longer available.
  • Bazı dll 'Ler kaldırıldı veya yeniden adlandırıldı.Some DLLs have been removed or renamed.

Sürüm 4,6Version 4.6

  • Depolama öykünücüsü artık BLOB, kuyruk ve tablo hizmeti uç noktalarında depolama hizmetlerinin 2016-05-31 sürümünü desteklemektedir.The Storage Emulator now supports version 2016-05-31 of the storage services on Blob, Queue, and Table service endpoints.

Sürüm 4,5Version 4.5

  • Yedekleme veritabanı yeniden adlandırıldığında yükleme ve başlatmanın başarısız olmasına neden olan bir hata düzeltildi.Fixed a bug that caused installation and initialization to fail when the backing database is renamed.

Sürüm 4,4Version 4.4

  • Depolama öykünücüsü artık BLOB, kuyruk ve tablo hizmeti uç noktalarında depolama hizmetlerinin 2015-12-11 sürümünü desteklemektedir.The Storage Emulator now supports version 2015-12-11 of the storage services on Blob, Queue, and Table service endpoints.
  • Depolama öykünücüsünün blob verileri çöp toplama işlemi, çok sayıda blob ile ilgilenirken artık daha etkilidir.The Storage Emulator's garbage collection of blob data is now more efficient when dealing with large numbers of blobs.
  • Kapsayıcı ACL XML 'sinin depolama hizmetinin nasıl yaptığından farklı bir şekilde doğrulanmasının neden olduğu bir hata düzeltildi.Fixed a bug that caused container ACL XML to be validated slightly differently from how the storage service does it.
  • Bazen büyük ve küçük tarih saat değerlerinin yanlış saat diliminden raporlanmasının neden olduğu bir hata düzeltildi.Fixed a bug that sometimes caused max and min DateTime values to be reported in the incorrect time zone.

Sürüm 4,3Version 4.3

  • Depolama öykünücüsü artık BLOB, kuyruk ve tablo hizmeti uç noktalarında depolama hizmetlerinin 2015-07-08 sürümünü desteklemektedir.The Storage Emulator now supports version 2015-07-08 of the storage services on Blob, Queue, and Table service endpoints.

Sürüm 4,2Version 4.2

  • Depolama öykünücüsü artık BLOB, kuyruk ve tablo hizmeti uç noktalarında depolama hizmetlerinin 2015-04-05 sürümünü desteklemektedir.The Storage Emulator now supports version 2015-04-05 of the storage services on Blob, Queue, and Table service endpoints.

Sürüm 4,1Version 4.1

  • Depolama öykünücüsü artık BLOB, kuyruk ve tablo hizmeti uç noktalarında depolama hizmetlerinin 2015-02-21 sürümünü desteklemektedir.The Storage Emulator now supports version 2015-02-21 of the storage services on Blob, Queue, and Table service endpoints. Yeni ekleme blobu özelliklerini desteklemez.It doesn't support the new append blob features.
  • Öykünücü, artık desteklenmeyen Depolama Hizmetleri sürümleri için anlamlı bir hata iletisi döndürüyor.The emulator now returns a meaningful error message for unsupported versions of storage services. Öykünücü 'un en son sürümünü kullanmanızı öneririz.We recommend using the latest version of the emulator. Bir VersionNotSupportedByEmulator hatası (HTTP durum kodu 400-Hatalı Istek) alırsanız, öykünücü 'nın en son sürümünü indirin.If you get a VersionNotSupportedByEmulator error (HTTP status code 400 - Bad Request), download the latest version of the emulator.
  • Yarış durumunda olan bir hata düzeltildiğinde, eşzamanlı birleştirme işlemleri sırasında tablo varlık verilerinin hatalı olması neden oldu.Fixed a bug wherein a race condition caused table entity data to be incorrect during concurrent merge operations.

Sürüm 4,0Version 4.0

  • Depolama öykünücüsü yürütülebilir dosyası AzureStorageEmulator.exeolarak yeniden adlandırıldı.The Storage Emulator executable has been renamed to AzureStorageEmulator.exe.

Sürüm 3,2Version 3.2

  • Depolama öykünücüsü artık BLOB, kuyruk ve tablo hizmeti uç noktalarında depolama hizmetlerinin 2014-02-14 sürümünü desteklemektedir.The Storage Emulator now supports version 2014-02-14 of the storage services on Blob, Queue, and Table service endpoints. Dosya hizmeti uç noktaları şu anda depolama öykünücüsünde desteklenmiyor.File service endpoints aren't currently supported in the Storage Emulator. Sürüm 2014-02-14 hakkındaki ayrıntılar için bkz. Azure depolama hizmetleri Için sürüm oluşturma .See Versioning for the Azure Storage Services for details about version 2014-02-14.

Sürüm 3,1Version 3.1

  • Okuma Erişimli Coğrafi olarak yedekli depolama (RA-GRS) depolama öykünücüsünde destekleniyor.Read-access geo-redundant storage (RA-GRS) is now supported in the Storage Emulator. Get Blob Service Stats, Get Queue Service Stats Ve Get Table Service Stats API 'ler hesap ikincil için desteklenir ve arka plandaki SQL veritabanına göre her zaman lastsynctime yanıt öğesinin değerini geçerli saat olarak döndürür.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. Depolama öykünücüsüyle ikincil öğesine programlı erişim için, .NET sürüm 3,2 veya üzeri için depolama Istemcisi kitaplığı 'nı kullanın.For programmatic access to the secondary with the Storage Emulator, use the Storage Client Library for .NET version 3.2 or later. Ayrıntılar için bkz. .NET için Microsoft Azure Depolama Istemci kitaplığı başvurusu.See the Microsoft Azure Storage Client Library for .NET Reference for details.

Sürüm 3,0Version 3.0

  • Azure depolama öykünücüsü artık işlem öykünücüsü ile aynı pakette yer alınmaz.The Azure Storage Emulator is no longer shipped in the same package as the compute emulator.
  • Depolama öykünücüsü grafik kullanıcı arabirimi kullanım dışı bırakılmıştır.The Storage Emulator graphical user interface is deprecated. Bu, betik oluşturulmuş bir komut satırı arabirimi ile değiştirilmiştir.It has been replaced by a scriptable command-line interface. Komut satırı arabirimi hakkında daha fazla bilgi için bkz. depolama öykünücüsü Command-Line araç başvurusu.For details on the command-line interface, see Storage Emulator Command-Line Tool Reference. Grafik arabirimi sürüm 3,0 ' de mevcut olmaya devam edecektir, ancak yalnızca Işlem öykünücüsü, sistem tepsisi simgesine sağ tıklayıp depolama öykünücüsü Kullanıcı arabirimini göster ' i seçerek erişilebilir.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.
  • Azure Depolama hizmetlerinin 2013-08-15 sürümü artık tam olarak desteklenmektedir.Version 2013-08-15 of the Azure storage services is now fully supported. (Daha önce bu sürüm yalnızca depolama öykünücü sürümü 2.2.1 Preview tarafından desteklenmektedir.)(Previously this version was only supported by Storage Emulator version 2.2.1 Preview.)

Sonraki adımlarNext steps

Ayrıca Bkz.See Also