Ejercicio: creación de una aplicación .NET y un SDK de referencia

Completado

Como primer paso para crear la aplicación del proyecto, debe crear un proyecto de .NET. Recuerde que el proyecto de .NET debe usar el SDK de Microsoft.Azure.Cosmos para conectarse a la cuenta que ya ha creado. Hay tres requisitos clave en este momento:

  • Creación de un proyecto de .NET
  • Agregación de una referencia de paquete al SDK
  • Conexión mediante las clases de cliente

Ilustración de iconos de una cuenta Azure Cosmos DB y una aplicación .NET.

Después de completar este ejercicio, tendrá una sencilla aplicación .NET que se conecta correctamente a la cuenta de la API de NoSQL, pero que todavía no realiza ninguna operación.

Creación de un proyecto de consola de .NET

La CLI de .NET crea y administra proyectos de .NET dentro de un directorio especificado. Aquí, se usa la CLI para crear una aplicación de consola y agregar una referencia de paquete al SDK.

  1. Cree una nueva aplicación de consola en el directorio actual.

    dotnet new console
    

    Sugerencia

    Dado que no especificó un nombre de proyecto o un directorio, el comando creará el nuevo proyecto en el directorio actual y asignará el nombre al proyecto para que coincida con el nombre del directorio (inventory).

  2. Agregue una referencia de paquete a la versión 3 de la biblioteca Microsoft.Azure.Cosmos de NuGet.

    dotnet add package Microsoft.Azure.Cosmos --version 3.*
    
  3. Agregue una referencia de paquete a la versión 1 de la biblioteca Azure.Identity de NuGet.

    dotnet add package Azure.Identity --version 1.*
    
  4. Compile el proyecto de .NET para asegurarse de que ha configurado correctamente el proyecto.

    dotnet build
    

    La salida del comando debe ser similar a este ejemplo:

    MSBuild version 17.5.0+6f08c67f3 for .NET
      Determining projects to restore...
      All projects are up-to-date for restore.
      dotnet-env-azure-cosmos-db -> /workspaces/dotnet-env-azure-cosmos-db/bin/Debug/net7.0/dotnet-env-azure-cosmos-db.dll
    
    Build succeeded.
        0 Warning(s)
        0 Error(s)
    
    Time Elapsed 00:00:05.96
    

Conexión con la cuenta

Ahora, el proyecto de .NET debe compilarse y estar listo para agregar su propio código personalizado. Tiene acceso al espacio de nombres Microsoft.Azure.Cosmos y Azure.Identity, incluidas todas las clases necesarias para conectarse a la API de NoSQL. Aquí, se abre el archivo Program.cs y se implementa código para conectarse a la cuenta mediante las clases de cliente del SDK.

  1. Abra el archivo Program.cs en el editor de código.

  2. Elimine todo el código existente en el archivo.

  3. Agregue directivas using para los siguientes espacios de nombres:

    using Azure.Identity;
    using Microsoft.Azure.Cosmos;
    using Microsoft.Azure.Cosmos.Fluent;
    using Microsoft.Azure.Cosmos.Linq;
    
  4. Cree una variable de cadena de tipo denominada endpoint. Establezca el valor de la variable en el punto de conexión del documento de la cuenta que registró anteriormente en este módulo.

    const string endpoint = "<nosql-account-endpoint>";
    

    Sugerencia

    Suponiendo que el nombre de la cuenta de Azure Cosmos DB es mslearn-nosql-000000000, configuraría el punto de conexión como en este ejemplo:

    const string endpoint = "https://mslearn-nosql-000000000.documents.azure.com:443/";
    
  5. Cree una variable de tipo DefaultAzureCredential denominada credential.

    DefaultAzureCredential credential = new();
    
  6. Cree una nueva instancia de la clase CosmosSerializationOptions denominada serializerOptions. La propiedad PropertyNamingPolicy devuelve un valor CamelCase de la enumeración CamelCase.

    CosmosSerializationOptions serializerOptions = new()
    {
        PropertyNamingPolicy = CosmosPropertyNamingPolicy.CamelCase
    };
    
  7. Cree una nueva instancia de la clase CosmosClientBuilder pasando la credencial y el punto de conexión al constructor. A continuación, encadene el método fluido WithSerializerOptions(CosmosSerializationOptions) y establezca el parámetro de este método en serializerOptions. Encadene el método Build() para crear una instancia de tipo CosmosClient denominada client. Por último, encapsule la creación de la variable de cliente con una instrucción using.

    using CosmosClient client = new CosmosClientBuilder(endpoint, credential)
        .WithSerializerOptions(serializerOptions)
        .Build();
    
  8. Imprima un mensaje que indique que el cliente está listo.

    Console.WriteLine("[Client ready]");    
    
  9. Guarde el archivo Program.cs.

Comprobar el trabajo

La aplicación ya está lista para ejecutarse y conectarse a Azure Cosmos DB for NoSQL. Aquí, se compara el código de la aplicación con el ejemplo. Después, se ejecuta el código para comprobar que la aplicación funciona según lo previsto.

  1. Ejecución de la aplicación .NET en el terminal

    dotnet run
    
  2. Observe la salida de la ejecución de la aplicación. La salida debe coincidir con el texto del ejemplo siguiente.

    [Client ready]
    

Nota

Si compilar o ejecutar la aplicación .NET produce un error, vaya a la pestaña Revisar código para validar que el código coincide con el ejemplo.