Folosind emulatorul de stocare azure pentru dezvoltare și testare, microsoft docs

În acest articol

Emulatorul de servicii de stocare Microsoft Azure oferă un mediu local care emite servicii de obiecte BLOB, cozi și tabele în scopuri de dezvoltare. Folosind emulatorul de stocare, puteți testa aplicația local cu serviciile de stocare fără a crea un abonament Azure, evitând costurile. Dacă aplicația din emulator funcționează corect, puteți utiliza contul de stocare Azure din cloud.

Obținerea emulatorului de stocare

Emulatorul de stocare este inclus în setul SDK pentru Microsoft Azure. De asemenea, poate fi instalat utilizând o instalare independentă (descărcabilă direct). Pentru a instala emulatorul de stocare, trebuie să aveți drepturi de administrator pe computer.

În prezent, emulatorul de stocare funcționează numai în Windows. Cei care au în vedere utilizarea unui emulator de stocare pentru Linux pot utiliza emulatorul de stocare Azurete open source. susținută de comunitate.

Datele create într-o singură versiune a emulatorului de stocare pot să nu fie disponibile atunci când se utilizează o altă versiune. Dacă trebuie să salvați datele pentru o perioadă lungă de timp, este recomandat să le stocați în contul de stocare Azure, nu în emulatorul de stocare.

Emulatorul de stocare depinde de anumite versiuni ale bibliotecilor OData. Înlocuirea DLL-urilor OData utilizate de emulatorul de stocare nu este acceptată de alte versiuni și poate duce la un comportament neașteptat. Cu toate acestea, orice versiune de OData suportată de serviciul de stocare poate fi utilizată pentru a trimite cereri către emulator.

Cum funcționează emulatorul de stocare

Emulatorul de stocare se conectează la SQL Server sau LocalDB utilizând autentificarea Windows.

Există mai multe diferențe între emulatorul de stocare și serviciul de stocare Azure. Pentru informații suplimentare despre aceste diferențe, consultați Diferențele dintre emulatorul de stocare și serviciile de stocare Azure de mai jos.

Porniți și inițializați emulatorul de stocare

Pentru a porni emulatorul de stocare Azure, procedați în felul următor:

  1. Faceți clic pe butonul Start sau pe tasta Windows.
  2. Începeți să introduceți emulatorul de stocare Azure.
  3. Selectați emulatorul din lista de aplicații afișate.

Când emulatorul de stocare pornește, este afișată fereastra de comandă. Puteți utiliza această fereastră de consolă pentru a porni și opri emulatorul de stocare, ștergeți datele, obțineți starea și inițializați emulatorul. Pentru mai multe informații, consultați Comandamentul de referință pentru Promptul de comandă al Emulatorului de stocare.

Când porniți emulatorul, în zona de notificare a barei de activități Windows apare o pictogramă corespunzătoare.

Când închideți fereastra de comandă a emulatorului de stocare, emulatorul va continua să funcționeze. Pentru a reaminti din nou fereastra consolei, repetați pașii de mai sus, ca și cum emulatorul de stocare a fost repornit.

Prima dată când emulatorul de stocare pornește, mediul de stocare local este inițializat. În timpul procesului de inițializare, o bază de date este creată în localDB iar porturile HTTP sunt rezervate pentru fiecare serviciu local de stocare.

Emulatorul de stocare implicit este instalat în C: \ Program Files (x86) \ Microsoft SDKs \ Azure \ Storage Emulator.

Pentru a lucra cu resurse locale de emulator, puteți utiliza browserul de stocare Microsoft Azure. După instalarea și rularea emulatorului de stocare, găsiți elementul "(Dezvoltare)" din secțiunea "Conturi de stocare" din arborele de resurse Resursă browser.

Inițializarea emulatorului de stocare pentru a utiliza o altă bază de date SQL

Puteți utiliza linia de comandă de stocare program de emulator, pentru a inițializa emulatorul de stocare pentru a indica instanța bazei de date SQL, alta decât instanța implicită LocalDB.

În fereastra consolei, tastați următoarea comandă, unde Este numele instanței SQL Server. Pentru a utiliza LocalDB, specificați (localdb) \ MSSQLLocalDb ca o instanță a SQL Server.

AzureStorageEmulator.exe init / server

Puteți utiliza următoarea comandă, care instruiește emulatorul să utilizeze instanța implicită a SQL Server:

AzureStorageEmulator.exe init / server. \\

În plus, puteți utiliza și următoarea comandă, care reinitializează baza de date la instanța implicită LocalDB.

AzureStorageEmulator.exe init / forceCreate

Pentru a gestiona instanțele SQL Server, inclusiv pentru a instala LocalDB, puteți utiliza Microsoft SQL Server Management Studio (SSMS). În caseta de dialog Conectare la serverul SMSS, specificați (localdb) \ MSSQLLocalDb în câmpul Nume server :. pentru a vă conecta la instanța LocalDB.

Autentificarea cererilor pentru emulatorul de stocare

Autentificarea utilizând acreditările de chei publice

Cheia de autentificare acceptată de emulatorul de stocare este destinată numai testării funcționării codului clientului. Utilizarea sa nu garantează protecția. Nu puteți utiliza un cont de stocare de lucru și o cheie pentru emulatorul de stocare. Nu utilizați un cont de dezvoltare cu datele de producție.

Emulatorul de stocare acceptă conexiuni numai prin HTTP. Cu toate acestea, este recomandat să utilizați protocolul HTTPS pentru a accesa resursele din contul de stocare Azure.

Conectarea la un cont emulator utilizând o comandă rapidă

Cea mai ușoară modalitate de a vă conecta la emulatorul de stocare din aplicație este să configurați șirul de conexiune din fișierul de configurare al aplicației la care se referă comanda rapidă: UseDevelopmentStorage = true. Următoarea este un exemplu de șir de conectare la emulatorul de stocare din fișierul app.config.

Conectați-vă la contul emulatorului folosind numele și cheia de cont cunoscută

Pentru a crea un șir de conexiune care conține un link către numele contului și emulatorul-cheie, în șirul de conectare trebuie să specifice puncte finale pentru fiecare serviciu pe care doriți să îl utilizați din emulator. Este necesar ca șirul de conexiune conține o trimitere la punctele finale ale emulatorul, care diferă de la punctele de capăt ale contului de stocare de lucru. De exemplu, valoarea șirului de conectare va arăta astfel:

Această valoare este identică cu eticheta de mai sus (UseDevelopmentStorage = true).

Specificarea unui proxy HTTP

Dacă testați serviciul de pe emulatorul de stocare, puteți specifica și un server proxy HTTP. Acest lucru poate fi util pentru urmărirea cererilor și a răspunsurilor HTTP la depanarea operațiilor cu servicii de stocare. Pentru a specifica un server proxy, adăugați parametrul DevelopmentStorageProxyUri în șirul de conectare și a atribui o valoare proxy URI. Un exemplu este un șir de conexiune care specifică emulatorul de stocare și specifică proxy-ul HTTP:

În plus, puteți utiliza Azure PowerShell pentru a face acest lucru. Următorul exemplu creează un jeton SAS cu drepturi depline la containerul obiectelor BLOB:

  1. Instalați Azure PowerShell dacă nu este deja făcut (se recomandă utilizarea ultimei versiuni a cmdletelor Azure PowerShell). Pentru instrucțiuni de instalare, consultați Instalarea și configurarea sursei Azure PowerShell.
  2. Deschideți Azure PowerShell și executați următoarea comandă, înlocuind ACCOUNT_NAME și ACCOUNT_KEY == acreditările și CONTAINER_NAME lor - numele de alegerea ta.

Accesarea resurselor în Emulatorul de stocare

Când accesați o resursă în contul de stocare Azure, utilizați următoarea diagramă. Numele contului face parte din numele gazdei din URI, iar resursa care trebuie accesată face parte din calea identificatorului de resurse uniform (URI).

Cu toate acestea, în emulatorul de stocare, numele contului face parte din calea URI, nu numele gazdei, deoarece calculatorul local nu oferă rezoluția numelui de domeniu. Utilizați următorul format URI pentru resursă în emulatorul de stocare:

Mai jos sunt obiectivele serviciului pentru emulatorul de stocare:

Referindu-se la locația secundară a unui cont utilizând RA-GRS

Pentru a accesa programabil locația secundară folosind emulatorul de stocare, utilizați biblioteca de depozit a clientului pentru .NET 3.2 sau o versiune ulterioară. Pentru mai multe informații, consultați Biblioteca de clienți Microsoft Azure Storage pentru .NET.

O referință la linia de comandă a emulatorului de stocare

Începând cu versiunea 3.0, când emulatorul de stocare pornește, este afișată fereastra consolei. Utilizați linia de comandă din fereastra consolei pentru a porni și opri emulatorul, precum și pentru a solicita starea și a efectua alte operații.

Dacă ați instalat deja emulatorul de calcul Microsoft Azure, atunci când porniți emulatorul de stocare în zona de notificare, va apărea pictograma corespunzătoare. Faceți clic dreapta pe această pictogramă pentru a afișa un meniu care vă permite să porniți și să opriți grafic emulator de stocare.

Sintaxa liniei de comandă

AzureStorageEmulator.exe [start] [stop] [status] [clar] [init] [ajutor]

AzureStorageEmulator.exe clar [blob] [tabel] [coadă] [tot]

pată de cerneală. elimină datele despre obiecte binare mari.
coadă. șterge informațiile de coadă.
tabel. elimină datele despre tabele.
toate. Șterge toate datele din toate serviciile.

Efectuează o inițializare unică pentru a configura emulatorul.

AzureStorageEmulator.exe init [-Server serverName] [-sqlinstance InstanceName] [-forcecreate # 124; -skipcreate] [-reserveports # 124; -unreserveports] [-inprocess]

-server nameName \ instanceName. Specifică serverul pentru a găzdui instanța SQL.
-instanță nume instanță. Specifică numele instanței SQL care este utilizată în mod implicit pe server.
-forcecreate. Crearea forțată a unei baze de date SQL, chiar dacă aceasta există deja.
-skipcreate. trece peste crearea bazei de date SQL. Are prioritate peste -creare.
-reserveports. încearcă să rezerve porturile HTTP asociate serviciilor.
-unreserveports. încearcă să suprascrie rezervarea porturilor HTTP asociate serviciilor. Are prioritate peste porturile de rezervă.
-Curățarea și monitorizarea igienei. efectuează inițializarea în procesul actual, în loc să creeze un nou proces. Când schimbați rezervările portului, trebuie să porniți procesul curent cu privilegii ridicate.

Diferențe între emulatorul de stocare și serviciul de stocare Azure

Emulatorul de stocare este un mediu emulat care rulează într-o instanță locală de SQL. Prin urmare, există diferențe funcționale între emulator și contul de stocare Azure din cloud.

Diferențele pentru stocarea bloburilor mari

Depozitarea obiectelor binare mari în emulator este diferită după cum urmează:

Diferențe pentru magazinul de masă

Depozitarea de tabele în emulator este diferită după cum urmează:

Diferențe pentru magazinul de coadă

Depozitul de coadă în emulator nu diferă.

Note privind lansarea emulatorului de stocare

Versiunea 5.2

Versiunea 5.1

  • S-a rezolvat o eroare în cazul în care emulatorul de stocare a returnat antetul DataServiceVersion în unele răspunsuri, dar serviciul nu a revenit.

Versiunea 5.0

  • Instalatorul de emulator de stocare nu verifică instalările MSSQL și .NET Framework existente.
  • Instalatorul emulatorului de stocare nu mai creează o bază de date în timpul instalării. Dacă este necesar, baza de date va continua să fie creată în timpul procesului de pornire.
  • Pentru a crea o bază de date, nu mai aveți nevoie de privilegii ridicate.
  • Pentru a începe, nu mai sunt necesare rezervări la porturi.
  • Au fost adăugați următorii parametri pentru init. - porturi de rezervă (necesită privilegii ridicate); - nu oferă porturi (necesită privilegii crescute); - skipcreate.
  • Parametrul interfață utilizator al emulatorului de stocare de pe pictograma din bara de activități lansează acum interfața liniei de comandă. Vechea interfață grafică de utilizator nu mai este disponibilă.
  • Unele DLL-uri au fost șterse sau redenumite.

Versiunea 4.6

Versiunea 4.5

  • Fixat un bug care a provocat un accident la inițializarea și instalarea emulatorului de stocare în cazul redenumizării bazei de date de rezervă.

Versiunea 4.4

Versiunea 4.3

Versiunea 4.2

Versiunea 4.1

Versiunea 4.0

  • Fișierul executabil al emulatorului de stocare a fost redenumit la AzureStorageEmulator.exe.

Versiunea 3.2

Versiunea 3.1

  • Acum, repositorul geo-redundant cu acces de citire (RA-GRS) este suportat și în emulatorul de stocare. API-ul Statistica Serviciul BLOB-obiecte, cozi de așteptare Statistici de servicii și statistici primesc servicii de masă sunt păstrate într-o locație, cont secundar și va returna întotdeauna un element de răspuns la valoarea LastSyncTime sub forma ora curentă, în conformitate cu baza de date SQL de bază. Pentru a accesa programabil locația secundară folosind emulatorul de stocare, utilizați biblioteca de depozit a clientului pentru .NET 3.2 sau o versiune ulterioară. Pentru mai multe informații, consultați referința bibliotecii clientului Microsoft Azure pentru .NET.

Versiunea 3.0

Pașii următori