Introducción

En este tema se describe cómo instalar y configurar el SDK para .NET.

En este tema se describe cómo instalar y configurar el SDK para .NET.

Para utilizar un servicio de Oracle Cloud Infrastructure específico en el proyecto, puede utilizar el comando dotnet add package desde el directorio raíz del espacio de trabajo del proyecto que contiene el archivo de proyecto. La sintaxis del comando add package es:

dotnet add package <PACKAGE_ID> -v <DESIRED_VERSION>

Si no especifica un número de versión, el comando add package instalará la última versión.

En este ejemplo, se instala la última versión del paquete de servicio básico:

dotnet add package OCI.DotNetSDK.Core

En este ejemplo, se instala la versión 1.0.0 del paquete de servicio de identidad:

dotnet add package OCI.DotNetSDK.Identity -v 1.0.0
Nota

Para evitar conflictos de dependencia, debe utilizar las mismas versiones de todos los paquetes Nuget del SDK para .NET de OCI dentro de una aplicación.

Descarga del SDK de GitHub

Puede descargar el SDK para .NET como un archivo zip de GitHub. Contiene el SDK, todas sus dependencias, documentación y ejemplos.

Instalación del SDK con Yum

Si utiliza Oracle Linux 7 u 8, puede utilizar yum para instalar el SDK de OCI para .NET.
  1. Para instalar el SDK para .NET de OCI utilizando yum:
    1. Para Oracle Linux 7:

      sudo yum-config-manager --enable ol7_developer
      sudo yum install oci-dotnet-sdk
    2. Para Oracle Linux 8:

      sudo yum-config-manager --enable ol8_developer
      sudo yum install oci-dotnet-sdk

      Los paquetes de servicios SDK de Dotnet de OCI y sus dependencias se encuentran en /usr/lib/dotnet/NuPkgs/.

  2. Para que la CLI de dotnet pueda encontrar los paquetes instalados, debe realizar una de las siguientes acciones:
    1. Cree un archivo denominado nuget.config en la raíz del proyecto de aplicación .NET y agregue el siguiente contenido:
      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
            <!--To inherit the global NuGet package sources remove the <clear/> line below -->
            <clear />
            <add key="local" value="/usr/lib/dotnet/NuPkgs" />
        </packageSources>
      </configuration>
      o...
    2. Utilice la opción --source con los comandos de la CLI de dotnet, transfiriendo el directorio /usr/lib/dotnet/NuPkgs/. Por ejemplo:
      dotnet build --source /usr/lib/dotnet/NuPkgs/
      dotnet restore --source /usr/lib/dotnet/NuPkgs/
      dotnet add package OCI.DotNetSDK.Common --source /usr/lib/dotnet/NuPkgs/
  3. Para obtener información sobre el paquete instalado, ejecute el siguiente comando:
    rpm  -qi oci-dotnet-sdk
  4. Agregue los paquetes del servicio OCI al proyecto mediante la línea de comandos de dotnet:
    dotnet add package OCI.DotNetSDK.Common
    dotnet add package OCI.DotNetSDK.Audit --version 4.3.0
    dotnet add package OCI.DotNetSDK.Audit --version 4.3.0 --source /usr/lib/dotnet/NuPkgs/
  5. Ahora puede importar espacios de nombres a su proyecto. Por ejemplo:
    using Oci.AuditService;
    using Oci.AuditService.Models;
    using Oci.Common;
    using Oci.Common.Auth;

Uso del SDK para .NET con Nuget

Configuración del SDK

Los servicios de SDK necesitan dos tipos de configuración: credenciales y valores HTTP del cliente.

Configuración de credenciales

En primer lugar, debe configurar sus credenciales y el archivo de configuración. Para obtener instrucciones, consulte Archivo de configuración de SDK y CLI.

A continuación, debe configurar el cliente para usar las credenciales. Las credenciales se sintetizan mediante una interfaz IAuthenticationDetailsProvider que el cliente tiene que implantar.

En estos ejemplos, se muestran implementaciones de ConfigFileAuthenticationDetailsProvider y SimpleAuthenticationDetailsProvider.

Uso de una configuración estándar

Si utiliza claves de archivo de configuración estándar y la ubicación de archivo de configuración estándar, puede utilizar ConfigFileAuthenticationDetailsProvider:


using Oci.Common.Auth;
 
// uses DEFAULT profile in default file location: i.e ~/.oci/config
var provider = new ConfigFileAuthenticationDetailsProvider("DEFAULT");
// uses custom configuration
var provider = new ConfigFileAuthenticationDetailsProvider("custom_file_location", "CUSTOM_PROFILE");
Uso de una configuración personalizada

Si utiliza nombres clave personalizados en el archivo de configuración, puede utilizar SimpleAuthenticationDetailsProvider

Para cargar una configuración con o sin un perfil:

using Oci.Common;
 
var config = ConfigFileReader.Parse(ConfigFileReader.DEFAULT_FILE_PATH);
var configWithProfile = ConfigFileReader.Parse(ConfigFileReader.DEFAULT_FILE_PATH, "DEFAULT");  

A continuación, cree un proveedor Auth con SimpleAuthenticationDetailsProvider:

using Oci.Common;
using Oci.Common.Auth;
 
var config = ConfigFileReader.Parse(ConfigFileReader.DEFAULT_FILE_PATH);
 
// The private key supplier can be created with the file path,or using the config file
var provider = new SimpleAuthenticationDetailsProvider {
                TenantId = config.GetValue("tenancy"),
                UserId = config.GetValue("user"),
                Fingerprint = config.GetValue("fingerprint"),
                Region = Region.FromRegionId(config.GetValue("region")),
                PrivateKeySupplier = new FilePrivateKeySupplier(config.GetValue("key_file"), config.GetValue("pass_phrase"))
               };

Configuración de opciones del cliente

Cree una configuración del cliente a través de la clase ClientConfiguration . Si no proporciona su propia configuración, el SDK para .NET utiliza una configuración por defecto.

En el siguiente ejemplo se muestra cómo proporcionar su propia configuración:

var clientConfiguration = new ClientConfiguration
{
   ClientUserAgent = "DotNet-SDK-Example",
   RetryConfiguration = new RetryConfiguration
   {
      // maximum number of attempts to retry the same request
      MaxAttempts = 5,
      // retries the request if the response status code is in the range [400-499] or [500-599]
      RetryableStatusCodeFamilies = new List<int> { 4, 5 } 
   }
};

Configuración de opciones personalizadas

En el archivo de configuración, puede insertar pares de clave-valor personalizados que defina y, a continuación, hacer referencia a ellos según sea necesario. Por ejemplo, puede especificar un ID de compartimento de uso frecuente en el archivo de configuración:

[DEFAULT]
user=ocid1.user.oc1..<your_unique_id>
fingerprint=<your_fingerprint>
key_file=~/.oci/oci_api_key.pem
tenancy=ocid1.tenancy.oc1..<your_unique_id>
customCompartmentId=ocid1.compartment.oc1..<your_unique_id>

A continuación, puede recuperar el valor:

using Oci.Common;
var config = ConfigFileReader.parse(ConfigFileReader.DEFAULT_FILE_PATH);
String compartmentId = config.GetValue("customCompartmentId");

Activar registro

El SDK de OCI para .NET utiliza el paquete NLog para el registro. NLog se instala automáticamente con SDK para .NET, por lo que no se necesita ninguna instalación adicional.

Para activar el registro en el proyecto:
  1. Agregue un archivo NLog.config en el directorio raíz del proyecto. Puede encontrar un ejemplo de archivo NLog.config aquí
  2. Agregue una sección ItemGroup en el archivo de proyecto. Por ejemplo:
    <ItemGroup>
         <Content Include="PATH TO NLog.config File" >
              <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
         </Content>
    </ItemGroup>
  3. Para conectarse desde una aplicación, cree Logger y utilice el método Info(). Por ejemplo:
    var logger = NLog.LogManager.GetCurrentClassLogger();
    logger.Info("Hello World");
Nota

Solo se capturará el registro de SDK si no crea un registrador desde una aplicación.