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
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
- Para instalar el SDK para .NET de OCI utilizando yum:
-
Para Oracle Linux 7:
sudo yum-config-manager --enable ol7_developer sudo yum install oci-dotnet-sdk
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/
.
-
- Para que la CLI de dotnet pueda encontrar los paquetes instalados, debe realizar una de las siguientes acciones:
- Cree un archivo denominado
nuget.config
en la raíz del proyecto de aplicación .NET y agregue el siguiente contenido:
o...<?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>
- 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/
- Cree un archivo denominado
- Para obtener información sobre el paquete instalado, ejecute el siguiente comando:
rpm -qi oci-dotnet-sdk
- 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/
- 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
.
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");
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.
- Agregue un archivo
NLog.config
en el directorio raíz del proyecto. Puede encontrar un ejemplo de archivo NLog.config aquí - 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>
- Para conectarse desde una aplicación, cree
Logger
y utilice el métodoInfo()
. Por ejemplo:var logger = NLog.LogManager.GetCurrentClassLogger(); logger.Info("Hello World");
Solo se capturará el registro de SDK si no crea un registrador desde una aplicación.