Instalowanie i używanie usługi Azure Cosmos DB Emulator do lokalnego tworzenia i testowania

DOTYCZY: Interfejs API SQL interfejs API Cassandra Interfejs API języka Gremlin interfejs API tabel Azure Cosmos DB API dla bazy danych MongoDB

Emulator usługi Azure Cosmos DB zapewnia środowisko lokalne, które emuluje usługę Azure Cosmos DB do celów programistycznych. Za pomocą emulatora usługi Azure Cosmos DB możesz lokalnie opracowywać i testować swoją aplikację bez konieczności tworzenia subskrypcji platformy Azure i ponoszenia kosztów. Jeśli sposób działania aplikacji w usłudze Azure Cosmos DB Emulator jest zadowalany, możesz przełączyć się na korzystanie z konta usługi Azure Cosmos w chmurze. W tym artykule opisano sposób instalowania i używania emulatora w Windows, Linux, macOS i Windows platformy Docker.

Pobieranie emulatora

Aby rozpocząć, pobierz i zainstaluj najnowszą wersję usługi Azure Cosmos DB Emulator na komputerze lokalnym. Artykuł z informacjami o wersji emulatora zawiera listę wszystkich dostępnych wersji i aktualizacji funkcji, które zostały wprowadzone w poszczególnych wersjach.

Pobierz plik usługi Azure Cosmos DB Emulator

Aplikacje można opracowywać przy użyciu usługi Azure Cosmos DB Emulator z kontami interfejsu API tabel SQL, Cassandra, MongoDB, Gremlini Table. Obecnie Eksplorator danych w emulatorze w pełni obsługuje wyświetlanie tylko SQL danych; dane utworzone przy użyciu aplikacji klienckich MongoDB, Gremlin/Graph i Cassandra nie są obecnie możliwe do wyświetlenia. Aby dowiedzieć się więcej, zobacz jak nawiązać połączenie z punktem końcowym emulatora z różnych interfejsów API.

Jak działa emulator?

Emulator usługi Azure Cosmos DB umożliwia dokładną emulację działania usługi Azure Cosmos DB. Obsługuje ona równoważne funkcje co usługa Azure Cosmos DB, która obejmuje tworzenie danych, wykonywanie zapytań o dane, aprowizowanie i skalowanie kontenerów oraz wykonywanie procedur składowanych i wyzwalaczy. Aplikacje można opracowywać i testować przy użyciu usługi Azure Cosmos DB Emulator, a następnie wdrażać je na platformie Azure w skali globalnej, aktualizując punkt końcowy połączenia usługi Azure Cosmos DB.

Chociaż emulator dokładnie odzwierciedla działanie usługi Azure Cosmos DB, różni się od niej pod względem wdrożenia. Na przykład emulator używa standardowych składników systemu operacyjnego — między innymi lokalnego systemu plików jako magazynu trwałego i stosu protokołu HTTPS na potrzeby łączności. Funkcje, które korzystają z infrastruktury platformy Azure, takie jak replikacja globalna, milisekundowe opóźnienie odczytu/zapisu i poziomy spójności z możliwością dostosowania, nie mają zastosowania w przypadku korzystania z emulatora.

Dane można migrować między usługą Azure Cosmos DB Emulator a usługą Azure Cosmos DB przy użyciu narzędzia do migracji danych usługi Azure Cosmos DB.

Różnice między emulatorem a usługą w chmurze

Ponieważ usługa Azure Cosmos DB Emulator udostępnia środowisko emulowane, które działa na lokalnej stacji roboczej dewelopera, istnieją pewne różnice w funkcjonalności między emulatorem a kontem usługi Azure Cosmos w chmurze:

  • Obecnie okienko Eksplorator danych w emulatorze w pełni obsługuje tylko klientów SQL API. Widok Eksplorator danych i operacje dla interfejsów API usługi Azure Cosmos DB, takich jak MongoDB, Table, Graph i Cassandra, nie są w pełni obsługiwane.

  • Emulator obsługuje tylko jedno stałe konto i dobrze znany klucz podstawowy. Nie można ponownie wygenerować klucza podczas korzystania z usługi Azure Cosmos DB Emulator, można jednak zmienić klucz domyślny przy użyciu opcji wiersza polecenia.

  • Za pomocą emulatora możesz utworzyć konto usługi Azure Cosmos tylko w trybie aprowizowanej przepływności. obecnie nie obsługuje trybu bez serwera.

  • Emulator nie jest skalowalną usługą i nie obsługuje dużej liczby kontenerów. W przypadku korzystania z usługi Azure Cosmos DB Emulator można domyślnie utworzyć maksymalnie 25 kontenerów o stałym rozmiarze przy 400 RU/s (obsługiwane tylko przy użyciu zestawów SDK usługi Azure Cosmos DB) lub 5 kontenerów bez ograniczeń. Aby uzyskać więcej informacji na temat zmieniania tej wartości, zobacz artykuł Ustawianie wartości PartitionCount.

  • Emulator nie oferuje różnych poziomów spójności usługi Azure Cosmos DB, takich jak usługa w chmurze.

  • Emulator nie oferuje replikacji w wielu regionach.

  • Ponieważ kopia usługi Azure Cosmos DB Emulator może nie być zawsze na bieżąco z najnowszymi zmianami w usłudze Azure Cosmos DB, zawsze należy odwołać się do planisty pojemności usługi Azure Cosmos DB, aby dokładnie oszacować wymagania dotyczące przepływności (JEDNOSTKI) aplikacji.

  • Emulator obsługuje maksymalny rozmiar właściwości identyfikatora 254 znaków.

Instalowanie emulatora

Przed zainstalowaniem emulatora upewnij się, że masz następujące wymagania dotyczące sprzętu i oprogramowania:

  • Wymagania dotyczące oprogramowania:

    • Obecnie Windows Server 2016, 2019 lub Windows 10 systemu operacyjnego hosta. System operacyjny hosta z włączoną usługą Active Directory nie jest obecnie obsługiwany.
    • 64-bitowy system operacyjny
  • Minimalne wymagania sprzętowe:

    • 2 GB pamięci RAM
    • 10 GB dostępnego miejsca na dysku twardym
  • Do zainstalowania, skonfigurowania i uruchomienia emulatora usługi Azure Cosmos DB potrzebne są uprawnienia administratora na komputerze. Emulator doda certyfikat, a także ustawi reguły zapory w celu uruchomienia jego usług. W związku z tym uprawnienia administratora są niezbędne, aby emulator mógł wykonywać takie operacje.

Aby rozpocząć pracę, pobierz i zainstaluj najnowszą wersję usługi Azure Cosmos DB Emulator na komputerze lokalnym. Jeśli podczas instalowania emulatora podczas instalowania emulatora będą jakieś problemy, zapoznaj się z artykułem na temat rozwiązywania problemów z emulatorem, aby go debugować.

W zależności od wymagań systemowych możesz uruchomić emulator na platformie Windows, Docker for Windows,Linux lub macOS, zgodnie z opisem w następnych sekcjach tego artykułu.

Sprawdzanie aktualizacji emulatora

Każda wersja emulatora zawiera zestaw aktualizacji funkcji lub poprawek błędów. Aby wyświetlić dostępne wersje, przeczytaj artykuł informacje o wersji emulatora.

Jeśli po instalacji zostały użyte ustawienia domyślne, dane odpowiadające emulatorowi są zapisywane w lokalizacji %LOCALAPPDATA%\CosmosDBEmulator. Możesz skonfigurować inną lokalizację przy użyciu opcjonalnych ustawień ścieżki danych. , który jest /DataPath=PREFERRED_LOCATION parametrem wiersza polecenia. Nie ma gwarancji, że dane utworzone w jednej wersji usługi Azure Cosmos DB Emulator będą dostępne w przypadku korzystania z innej wersji. Jeśli musisz utrwalać dane przez długi czas, zaleca się przechowywanie tych danych na koncie usługi Azure Cosmos, a nie na koncie usługi Azure Cosmos DB Emulator.

Używanie emulatora na Windows

Usługa Azure Cosmos DB Emulator jest domyślnie instalowana C:\Program Files\Azure Cosmos DB Emulator w lokalizacji. Aby uruchomić usługę Azure Cosmos DB Emulator na Windows, wybierz przycisk Start lub naciśnij Windows klawisz. Zacznij pisać Emulator usługi Azure Cosmos DB i wybierz emulator z listy aplikacji.

Wybierz przycisk Start lub naciśnij klawisz Windows, zacznij wpisywać tekst Azure Cosmos DB Emulator, a następnie wybierz emulator z listy aplikacji

Gdy emulator zostanie uruchomiony, zobaczysz ikonę w Windows powiadomień na pasku zadań. Spowoduje to automatyczne otwarcie eksploratora Cosmos Azure w przeglądarce pod tym adresem https://localhost:8081/_explorer/index.html URL.

Powiadomienie na pasku zadań lokalnego emulatora usługi Azure Cosmos DB

Emulator można również uruchomić i zatrzymać za pomocą wiersza polecenia lub poleceń programu PowerShell. Aby uzyskać więcej informacji, zobacz artykuł z informacjami o narzędziu wiersza polecenia.

Emulator usługi Azure Cosmos DB domyślnie jest uruchamiany na komputerze lokalnym („localhost”) i nasłuchuje na porcie 8081. Adres jest wyświetlany jako https://localhost:8081/_explorer/index.html. Możesz zamknąć eksploratora. Jeśli zechcesz otworzyć go ponownie później, możesz otworzyć ten adres URL w przeglądarce lub uruchomić eksploratora za pomocą ikony emulatora usługi Azure Cosmos DB wyświetlanej w obszarze powiadomień systemu Windows.

Uruchamianie eksploratora danych lokalnego emulatora usługi Azure Cosmos Azure

Korzystanie z emulatora w systemie Linux lub macOS

Obecnie usługę Azure Cosmos DB Emulator można uruchamiać tylko na Windows. Jeśli używasz systemu Linux lub macOS, zalecamy użycie programu Linux Emulator (wersja zapoznawcza) lub uruchomienie emulatora na maszynie wirtualnej usługi Windows hostowanej w funkcji hypervisor, takiej jak Parallels lub VirtualBox.

Uwaga

Przy każdym ponownym uruchomieniu Windows wirtualnej hostowanej w funkcji hypervisor należy ponownie zaimportować certyfikat, ponieważ adres IP maszyny wirtualnej się zmienia. Importowanie certyfikatu nie jest wymagane w przypadku, gdy skonfigurowano maszynę wirtualną do zachowania adresu IP.

Aby użyć emulatora w środowiskach linux lub macOS, należy wykonać następujące czynności:

  1. Uruchom następujące polecenie z Windows wirtualnej i zanotuj adres IPv4:

    ipconfig.exe
    
  2. W aplikacji zmień adres URL punktu końcowego, aby używać adresu IPv4 zwróconego przez parametr ipconfig.exe zamiast localhost .

  3. Z Windows wirtualnej uruchom usługę Azure Cosmos DB Emulator z wiersza polecenia, korzystając z poniższych opcji. Aby uzyskać szczegółowe informacje na temat parametrów obsługiwanych przez wiersz polecenia, zobacz informacje o narzędziu wiersza polecenia emulatora:

    Microsoft.Azure.Cosmos.Emulator.exe /AllowNetworkAccess /Key=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
    
  4. Na koniec należy rozwiązać problem z procesem zaufania certyfikatów między aplikacją uruchamianą w środowisku systemu Linux lub Mac a emulatorem. Aby rozwiązać problem z certyfikatem, można użyć jednej z następujących dwóch opcji:

    1. Zaimportuj certyfikat TLS/SSL emulatora do środowiska systemu Linux lub Mac lub
    2. Wyłączanie weryfikacji protokołu TLS/SSL w aplikacji

Opcja 1. Importowanie certyfikatu TLS/SSL emulatora

W poniższych sekcjach przedstawiono sposób importowania certyfikatu TLS/SSL emulatora do środowisk linux i macOS.

Środowisko systemu Linux

Jeśli pracujesz w systemie Linux, program .NET przekazuje w programie OpenSSL, aby wykonać walidację:

  1. Wyeksportuj certyfikat w formacie PFX. Opcja PFX jest dostępna podczas eksportowania klucza prywatnego.

  2. Skopiuj ten plik PFX do środowiska systemu Linux.

  3. Konwertowanie pliku PFX na plik CRT

    openssl pkcs12 -in YourPFX.pfx -clcerts -nokeys -out YourCTR.crt
    
  4. Skopiuj plik CRT do folderu zawierającego niestandardowe certyfikaty w twojej dystrybucji systemu Linux. Często w dystrybucjach Debian znajduje się on /usr/local/share/ca-certificates/ w .

    cp YourCTR.crt /usr/local/share/ca-certificates/
    
  5. Zaktualizuj certyfikaty TLS/SSL, co spowoduje zaktualizowanie /etc/ssl/certs/ folderu.

    update-ca-certificates
    

Środowisko systemu macOS

Jeśli pracujesz na komputerze Mac, należy wykonać następujące czynności:

  1. Wyeksportuj certyfikat w formacie PFX. Opcja PFX jest dostępna podczas eksportowania klucza prywatnego.

  2. Skopiuj ten plik PFX do środowiska komputera Mac.

  3. Otwórz aplikację Keychain Access i zaimportuj plik PFX.

  4. Otwórz listę Certyfikatów i zidentyfikuj certyfikat o nazwie localhost .

  5. Otwórz menu kontekstowe dla danego elementu, wybierz pozycję Pobierz element, a następnie w obszarze Zaufanie W przypadku korzystania z tego certyfikatu > wybierz opcję Zawsze ufaj.

    Otwórz menu kontekstowe dla tego konkretnego elementu, wybierz pozycję Pobierz element i w obszarze Zaufanie — w przypadku korzystania z tej opcji certyfikatu wybierz pozycję Zawsze ufaj

Opcja 2. Wyłączanie weryfikacji protokołu SSL w aplikacji

Wyłączenie weryfikacji protokołu SSL jest zalecane tylko w celach programistyczych i nie należy jej stosować w przypadku uruchamiania w środowisku produkcyjnym. Poniższe przykłady pokazują, jak wyłączyć weryfikację protokołu SSL dla programu .NET i Node.js aplikacji.

W przypadku każdej aplikacji działającej w ramach struktury zgodnej .NET Standard 2.1 lub nowszej możemy skorzystać z programu CosmosClientOptions.HttpClientFactory :

CosmosClientOptions cosmosClientOptions = new CosmosClientOptions()
{
    HttpClientFactory = () =>
    {
        HttpMessageHandler httpMessageHandler = new HttpClientHandler()
        {
            ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator
        };

        return new HttpClient(httpMessageHandler);
    },
    ConnectionMode = ConnectionMode.Gateway
};


CosmosClient client = new CosmosClient(endpoint, authKey, cosmosClientOptions);

Włączanie dostępu do emulatora w sieci lokalnej

Jeśli masz wiele maszyn korzystających z jednej sieci i jeśli emulator został ustawiony na jednej maszynie i chcesz uzyskać do niego dostęp z innej maszyny. W takim przypadku należy włączyć dostęp do emulatora w sieci lokalnej.

Emulator możesz uruchomić w sieci lokalnej. Aby włączyć dostęp do sieci, określ opcję w wierszu polecenia , co /AllowNetworkAccess wymaga również określenia wartości lub /Key=key_string /KeyFile=file_name . Za pomocą funkcji można z góry wygenerować plik z /GenKeyFile=file_name losowym kluczem. Następnie możesz przekazać ten kod do lub /KeyFile=file_name /Key=contents_of_file .

Aby włączyć dostęp sieciowy po raz pierwszy, użytkownik powinien zamknąć emulator i usunąć katalog danych emulatora %LOCALAPPDATA%\CosmosDBEmulator.

Uwierzytelnianie połączeń podczas korzystania z emulatora

Podobnie jak w usłudze Azure Cosmos DB w chmurze, każde żądanie wykonywane względem emulatora usługi Azure Cosmos DB musi zostać uwierzytelnione. Usługa Azure Cosmos DB Emulator obsługuje tylko bezpieczną komunikację za pośrednictwem TLS. Usługa Azure Cosmos DB Emulator obsługuje jedno stałe konto i dobrze znany klucz uwierzytelniania do uwierzytelniania klucza podstawowego. To konto i klucz są jedynymi poświadczeniami, których można używać z emulatorem usługi Azure Cosmos DB. Są to:

Account name: localhost:<port>
Account key: C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==

Uwaga

Klucz podstawowy obsługiwany przez usługę Azure Cosmos DB Emulator jest przeznaczony do użytku tylko z emulatorem. W emulatorze usługi Azure Cosmos DB nie można korzystać z klucza ani konta usługi Azure Cosmos DB używanych w środowisku produkcyjnym.

Uwaga

Jeśli emulator został uruchomiony z opcją /Key, użyj wygenerowanego klucza zamiast klucza domyślnego C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw== . Aby uzyskać więcej informacji na temat opcji /Key, zobacz Informacje o narzędziu wiersza polecenia.

Połączenie do różnych interfejsów API za pomocą emulatora

Interfejs API SQL

Po uruchomieniu emulatora usługi Azure Cosmos DB na komputerze możesz z niego korzystać przy użyciu dowolnego obsługiwanego zestawu Azure Cosmos DB SDK lub interfejsu API REST usługi Azure Cosmos DB. Usługa Azure Cosmos DB Emulator zawiera również wbudowany eksplorator danych, który umożliwia tworzenie kontenerów dla interfejsu API usługi SQL lub interfejsu API usługi Azure Cosmos DB dla bazy danych Mongo DB. Za pomocą Eksploratora danych można wyświetlać i edytować elementy bez konieczności pisania kodu.

// Connect to the Azure Cosmos DB Emulator running locally
CosmosClient client = new CosmosClient(
   "https://localhost:8081", 
    "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==");

Interfejs API usługi Azure Cosmos DB dla bazy danych MongoDB

Po uruchomieniu usługi Azure Cosmos DB Emulator na komputerze możesz użyć interfejsu API usługi Azure Cosmos DB dla bazy danych MongoDB do interakcji z emulatorem. Uruchom emulator z wiersza polecenia jako administrator za pomocą polecenia "/EnableMongoDbEndpoint". Następnie użyj następujących parametrów połączenia, aby nawiązać połączenie z kontem interfejsu API bazy danych MongoDB:

mongodb://localhost:C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@localhost:10255/admin?ssl=true

Interfejs API tabel

Po uruchomieniu usługi Azure Cosmos DB Emulator na komputerze możesz użyć zestawu SDK usługi Azure Cosmos DB interfejs API tabel do interakcji z emulatorem. Uruchom emulator z wiersza polecenia jako administrator z wartością "/EnableTableEndpoint". Następnie uruchom następujący kod, aby nawiązać połączenie z kontem interfejsu API tabel:

using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Table;
using CloudTable = Microsoft.WindowsAzure.Storage.Table.CloudTable;
using CloudTableClient = Microsoft.WindowsAzure.Storage.Table.CloudTableClient;

string connectionString = "DefaultEndpointsProtocol=http;AccountName=localhost;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;TableEndpoint=http://localhost:8902/;";

CloudStorageAccount account = CloudStorageAccount.Parse(connectionString);
CloudTableClient tableClient = account.CreateCloudTableClient();
CloudTable table = tableClient.GetTableReference("testtable");
table.CreateIfNotExists();
table.Execute(TableOperation.Insert(new DynamicTableEntity("partitionKey", "rowKey")));

Interfejs API rozwiązania Cassandra

Uruchom emulator z wiersza polecenia administratora za pomocą polecenia "/EnableCassandraEndpoint". Alternatywnie można również ustawić zmienną środowiskową AZURE_COSMOS_EMULATOR_CASSANDRA_ENDPOINT=true .

  1. Instalowanie języka Python 2.7

  2. Instalowanie interfejsu wiersza polecenia/CQLSH rozwiązania Cassandra

  3. Uruchom następujące polecenia w regularnym oknie wiersza polecenia:

    set Path=c:\Python27;%Path%
    cd /d C:\sdk\apache-cassandra-3.11.3\bin
    set SSL_VERSION=TLSv1_2
    set SSL_VALIDATE=false
    cqlsh localhost 10350 -u localhost -p C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw== --ssl
    
  4. W powłoki CQLSH uruchom następujące polecenia, aby nawiązać połączenie z punktem końcowym cassandra:

    CREATE KEYSPACE MyKeySpace WITH replication = {'class':'MyClass', 'replication_factor': 1};
    DESCRIBE keyspaces;
    USE mykeyspace;
    CREATE table table1(my_id int PRIMARY KEY, my_name text, my_desc text);
    INSERT into table1 (my_id, my_name, my_desc) values( 1, 'name1', 'description 1');
    SELECT * from table1;
    EXIT
    

Interfejs API języka Gremlin

Uruchom emulator z wiersza polecenia administratora zapomocą polecenia "/EnableGremlinEndpoint". Alternatywnie można również ustawić zmienną środowiskową AZURE_COSMOS_EMULATOR_GREMLIN_ENDPOINT=true

  1. Zainstaluj konsolę apache-tinkerpop-gremlin-console-3.3.4.

  2. W eksploratorze danych emulatora utwórz bazę danych "db1" i kolekcję "coll1"; jako klucz partycji wybierz pozycję "/name"

  3. Uruchom następujące polecenia w regularnym oknie wiersza polecenia:

    cd /d C:\sdk\apache-tinkerpop-gremlin-console-3.3.4-bin\apache-tinkerpop-gremlin-console-3.3.4
    
    copy /y conf\remote.yaml conf\remote-localcompute.yaml
    notepad.exe conf\remote-localcompute.yaml
      hosts: [localhost]
      port: 8901
      username: /dbs/db1/colls/coll1
      password: C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
      connectionPool: {
      enableSsl: false}
      serializer: { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0,
      config: { serializeResultToString: true  }}
    
    bin\gremlin.bat
    
  4. W powłoki Gremlin uruchom następujące polecenia, aby nawiązać połączenie z punktem końcowym gremlin:

    :remote connect tinkerpop.server conf/remote-localcompute.yaml
    :remote console
    :> g.V()
    :> g.addV('person1').property(id, '1').property('name', 'somename1')
    :> g.addV('person2').property(id, '2').property('name', 'somename2')
    :> g.V()
    

Odinstalowywanie lokalnego emulatora

Aby odinstalować emulator, należy wykonać następujące czynności:

  1. Zamknij wszystkie otwarte wystąpienia lokalnego emulatora, klikając prawym przyciskiem myszy ikonę azure Cosmos DB Emulator na pasku zadań, a następnie wybierz pozycję Zakończ. Zamykanie wszystkich wystąpień może potrwać około minuty.

  2. W polu Windows wyszukiwania wpisz Aplikacje i & i wybierz pozycję Aplikacje & (ustawienia systemu).

  3. Na liście aplikacji przewiń do listy usługi Azure Cosmos Emulator DB, wybierz ją, kliknij przycisk Odinstaluj, a następnie potwierdź i ponownie wybierz pozycję Odinstaluj.

Następne kroki

W tym artykule opisano sposób korzystania z lokalnego emulatora w celu bezpłatnego tworzenia aplikacji lokalnych. Teraz możesz przejść do następnych artykułów: