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
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
- Per installare OCI SDK per .NET utilizzando yum, effettuare le operazioni riportate di seguito.
-
Per Oracle Linux 7:
sudo yum-config-manager --enable ol7_developer sudo yum install oci-dotnet-sdk
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/
.
-
- Pertanto, la CLI dotnet può individuare i pacchetti installati, è necessario effettuare una delle operazioni riportate di seguito.
- Creare un file denominato
nuget.config
nella radice del progetto dell'applicazione .NET e aggiungere il contenuto seguente:
...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>
- 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/
- Creare un file denominato
- Per ottenere informazioni sul pacchetto installato, eseguire il comando seguente:
rpm -qi oci-dotnet-sdk
- 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/
- È 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
.
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");
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.
- Aggiungere un file
NLog.config
nella directory root del progetto. È possibile trovare un file NLog.config di esempio qui - Aggiungere una sezione
ItemGroup
nel file di progetto. Ad esempio:<ItemGroup> <Content Include="PATH TO NLog.config File" > <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> </ItemGroup>
- Per eseguire il log da un'applicazione, creare un file
Logger
e utilizzare il metodoInfo()
. Ad esempio:var logger = NLog.LogManager.GetCurrentClassLogger(); logger.Info("Hello World");
Se non si crea un logger da un'applicazione, verrà acquisita solo la registrazione SDK.