Guida introduttiva

Questo argomento descrive come installare e configurare l'SDK per .NET.

Questo argomento descrive come installare e configurare l'SDK per .NET.

Per utilizzare un servizio Oracle Cloud Infrastructure specifico nel progetto, è possibile utilizzare il comando dotnet add package dalla directory radice dell'area di lavoro del progetto che contiene il file di progetto. La sintassi del comando add package è:

dotnet add package <PACKAGE_ID> -v <DESIRED_VERSION>

Se non si specifica un numero di versione, il comando add package installerà l'ultima versione.

In questo esempio viene installata la versione più recente del pacchetto Core Service:

dotnet add package OCI.DotNetSDK.Core

In questo esempio viene installata la versione 1.0.0 del package Identity Service:

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

Per evitare conflitti di dipendenza, è necessario utilizzare le stesse versioni di tutta OCI. Pacchetti NET SDK Nuget all'interno di un'applicazione.

Download dell'SDK da GitHub

È possibile scaricare il kit SDK per .NET come archivio zip da GitHub. Contiene l'SDK, tutte le sue dipendenze, documentazione ed esempi.

Installazione dell'SDK con Yum

Se stai utilizzando Oracle Linux 7 o 8, puoi utilizzare yum per installare l'SDK OCI per .NET.
  1. Per installare OCI SDK per .NET utilizzando yum, effettuare le operazioni riportate di seguito.
    1. Per Oracle Linux 7:

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

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

      I pacchetti del servizio SDK Dotnet OCI e le relative dipendenze si trovano in /usr/lib/dotnet/NuPkgs/.

  2. Pertanto, la CLI dotnet può individuare i pacchetti installati, è necessario effettuare una delle operazioni riportate di seguito.
    1. Creare un file denominato nuget.config nella radice del progetto dell'applicazione .NET e aggiungere il contenuto seguente:
      <?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. Utilizzare l'opzione --source con i comandi CLI dotnet, passando nella directory /usr/lib/dotnet/NuPkgs/. Ad esempio:
      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. Per ottenere informazioni sul pacchetto installato, eseguire il comando seguente:
    rpm  -qi oci-dotnet-sdk
  4. Aggiungere i pacchetti del servizio OCI al progetto utilizzando la riga di comando 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. È ora possibile importare spazi di nomi nel progetto. Ad esempio:
    using Oci.AuditService;
    using Oci.AuditService.Models;
    using Oci.Common;
    using Oci.Common.Auth;

Utilizzo dell'SDK per .NET con Nuget

Configurazione dell'SDK

I servizi SDK richiedono due tipi di configurazione: le credenziali e le impostazioni HTTP lato client.

Configurazione delle credenziali

In primo luogo, è necessario impostare le credenziali e il file di configurazione. Per istruzioni, vedere SDK and CLI Configuration File.

Successivamente, è necessario configurare il client in modo che utilizzi le credenziali. Le credenziali vengono astratte mediante un'interfaccia IAuthenticationDetailsProvider che il client deve implementare.

Questi esempi mostrano le implementazioni di ConfigFileAuthenticationDetailsProvider e SimpleAuthenticationDetailsProvider.

Uso di una configurazione standard

Se si utilizzano le chiavi dei file di configurazione standard e la posizione del file di configurazione standard, è possibile utilizzare 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 di una configurazione personalizzata

Se si utilizzano nomi di chiave personalizzati nel file di configurazione, è possibile utilizzare SimpleAuthenticationDetailsProvider

Per caricare una configurazione con o senza un profilo:

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

Creare quindi un provider Auth utilizzando 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"))
               };

Configurazione delle opzioni lato client

Creare una configurazione lato client tramite la classe ClientConfiguration . Se non si fornisce una configurazione personalizzata, l'SDK per .NET utilizza una configurazione predefinita.

L'esempio seguente mostra come fornire una configurazione personalizzata.

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 } 
   }
};

Configurazione delle opzioni personalizzate

Nel file di configurazione è possibile inserire coppie chiave-valore personalizzate definite, quindi fare riferimento a tali coppie in base alle esigenze. Ad esempio, è possibile specificare un ID compartimento utilizzato di frequente nel file di configurazione:

[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>

Quindi è possibile recuperare il valore:

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

Abilitazione dei log

L'SDK OCI per .NET utilizza il pacchetto NLog per il log. NLog viene installato automaticamente con l'SDK .NET, quindi non è richiesta alcuna installazione aggiuntiva.

Per abilitare l'accesso al progetto:
  1. Aggiungere un file NLog.config nella directory root del progetto. È possibile trovare un file NLog.config di esempio qui
  2. Aggiungere una sezione ItemGroup nel file di progetto. Ad esempio:
    <ItemGroup>
         <Content Include="PATH TO NLog.config File" >
              <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
         </Content>
    </ItemGroup>
  3. Per eseguire il log da un'applicazione, creare un file Logger e utilizzare il metodo Info(). Ad esempio:
    var logger = NLog.LogManager.GetCurrentClassLogger();
    logger.Info("Hello World");
Nota

Se non si crea un logger da un'applicazione, verrà acquisita solo la registrazione SDK.