Ćwiczenie: tworzenie zasobów przy użyciu zestawu Microsoft .NET SDK w wersji 3
W tym ćwiczeniu utworzysz aplikację konsolową, aby wykonać następujące operacje w usłudze Azure Cosmos DB:
- Łączenie się z kontem usługi Azure Cosmos DB
- Utwórz bazę danych
- Tworzenie kontenera
Wymagania wstępne
Konto platformy Azure z aktywną subskrypcją. Jeśli jej jeszcze nie masz, możesz zarejestrować się w celu uzyskania bezpłatnej wersji próbnej na stronie https://azure.com/free.
Program Visual Studio Code na jednej z obsługiwanych platform.
Platforma .NET 8 jest platformą docelową ćwiczenia.
Rozszerzenie obsługujące język C# dla programu Visual Studio Code.
Zainstalowane lokalnie najnowsze narzędzia interfejsu wiersza polecenia platformy Azure.
Konfigurowanie
Wykonaj następujące akcje, aby przygotować platformę Azure i środowisko lokalne na potrzeby ćwiczenia.
Nawiązywanie połączenia z platformą Azure
Uruchom program Visual Studio Code i otwórz okno terminalu, wybierając pozycję Terminal na górnym pasku aplikacji, a następnie wybierając pozycję Nowy terminal.
Zaloguj się do platformy Azure przy użyciu następującego polecenia. Powinno zostać otwarte okno przeglądarki umożliwiające wybranie konta do zalogowania się.
az login
Tworzenie zasobów na platformie Azure
Utwórz grupę zasobów dla zasobów wymaganych w tym ćwiczeniu. Zastąp
<myLocation>
element regionem blisko Ciebie.az group create --location <myLocation> --name az204-cosmos-rg
Utwórz konto usługi Azure Cosmos DB. Zastąp
<myCosmosDBacct>
element unikatową nazwą, aby zidentyfikować konto usługi Azure Cosmos DB. Nazwa może zawierać tylko małe litery, cyfry i znaki łącznika (-). Musi mieć długość od 3 do 31 znaków. Wykonanie tego polecenia może potrwać kilka minut.az cosmosdb create --name <myCosmosDBacct> --resource-group az204-cosmos-rg
Zapisz wartość pokazaną
documentEndpoint
w odpowiedzi JSON do użycia w dalszej części ćwiczenia.Pobierz klucz podstawowy dla konta przy użyciu następującego polecenia. Zapisz dane
primaryMasterKey
z wyników polecenia do użycia w kodzie.# Retrieve the primary key az cosmosdb keys list --name <myCosmosDBacct> --resource-group az204-cosmos-rg
Konfigurowanie aplikacji konsolowej
Teraz, gdy wymagane zasoby są wdrażane na platformie Azure, następnym krokiem jest skonfigurowanie aplikacji konsolowej przy użyciu tego samego okna terminalu w programie Visual Studio Code.
Utwórz folder dla projektu i przejdź do folderu .
md az204-cosmos cd az204-cosmos
Utwórz aplikację konsolową platformy .NET.
dotnet new console
Otwórz bieżący folder w programie Visual Studio Code przy użyciu następującego polecenia. Opcja
-r
otwiera folder bez uruchamiania nowego okna programu Visual Studio Code.code . -r
Wybierz plik Program.cs w okienku Eksplorator, aby otworzyć plik w edytorze.
Tworzenie aplikacji konsolowej
Nadszedł czas, aby rozpocząć dodawanie pakietów i kodu do projektu.
Dodawanie pakietów i używanie instrukcji
Otwórz terminal w programie Visual Studio Code i użyj następującego polecenia, aby dodać
Microsoft.Azure.Cosmos
pakiet do projektu.dotnet add package Microsoft.Azure.Cosmos
Usuń dowolny istniejący kod w
Program.cs
pliku i dodaj instrukcjęusing Microsoft.Azure.Cosmos
.using Microsoft.Azure.Cosmos;
Dodawanie kodu w celu nawiązania połączenia z kontem usługi Azure Cosmos DB
Dodaj następujący fragment kodu po instrukcji
using
. Fragment kodu dodaje stałe i zmienne do klasy i dodaje pewne sprawdzanie błędów. Pamiętaj, aby zastąpić wartości symboli zastępczych iEndpointUri
PrimaryKey
postępując zgodnie z instrukcjami w komentarzach kodu.public class Program { // Replace <documentEndpoint> with the information created earlier private static readonly string EndpointUri = "<documentEndpoint>"; // Set variable to the Primary Key from earlier. private static readonly string PrimaryKey = "<your primary key>"; // The Cosmos client instance private CosmosClient cosmosClient; // The database we will create private Database database; // The container we will create. private Container container; // The names of the database and container we will create private string databaseId = "az204Database"; private string containerId = "az204Container"; public static async Task Main(string[] args) { try { Console.WriteLine("Beginning operations...\n"); Program p = new Program(); await p.CosmosAsync(); } catch (CosmosException de) { Exception baseException = de.GetBaseException(); Console.WriteLine("{0} error occurred: {1}", de.StatusCode, de); } catch (Exception e) { Console.WriteLine("Error: {0}", e); } finally { Console.WriteLine("End of program, press any key to exit."); Console.ReadKey(); } } //The sample code below gets added below this line }
Main
Poniżej metody dodaj nowe zadanie asynchroniczne o nazwieCosmosAsync
, które tworzy wystąpienie nowego iCosmosClient
dodaje kod w celu wywołania metod dodanych później w celu utworzenia bazy danych i kontenera.public async Task CosmosAsync() { // Create a new instance of the Cosmos Client this.cosmosClient = new CosmosClient(EndpointUri, PrimaryKey); // Runs the CreateDatabaseAsync method await this.CreateDatabaseAsync(); // Run the CreateContainerAsync method await this.CreateContainerAsync(); }
Utwórz bazę danych
Skopiuj i wklej metodę CreateDatabaseAsync
po metodzie CosmosAsync
. CreateDatabaseAsync
Tworzy nową bazę danych o identyfikatorze az204Database
, jeśli jeszcze nie istnieje.
private async Task CreateDatabaseAsync()
{
// Create a new database using the cosmosClient
this.database = await this.cosmosClient.CreateDatabaseIfNotExistsAsync(databaseId);
Console.WriteLine("Created Database: {0}\n", this.database.Id);
}
Tworzenie kontenera
Skopiuj i wklej metodę CreateContainerAsync
CreateDatabaseAsync
poniżej metody .
private async Task CreateContainerAsync()
{
// Create a new container
this.container = await this.database.CreateContainerIfNotExistsAsync(containerId, "/LastName");
Console.WriteLine("Created Container: {0}\n", this.container.Id);
}
Uruchamianie aplikacji
Zapisz swoją pracę i w terminalu w programie Visual Studio Code sprawdź błędy, uruchamiając
dotnet build
polecenie .dotnet run
Uruchom polecenie , jeśli kompilacja zakończy się pomyślnie. W konsoli są wyświetlane następujące komunikaty.Beginning operations... Created Database: az204Database Created Container: az204Container End of program, press any key to exit.
Sprawdź wyniki, otwierając witrynę Azure Portal, przechodząc do zasobu usługi Azure Cosmos DB i korzystając z Eksploratora danych, aby wyświetlić bazę danych i kontener.
Czyszczenie zasobów platformy Azure
Teraz możesz bezpiecznie usunąć grupę zasobów az204-cosmos-rg z konta, uruchamiając następujące polecenie.
az group delete --name az204-cosmos-rg --no-wait