Introduction
Cette rubrique décrit l'installation et la configuration du kit SDK pour .NET.
Cette rubrique décrit l'installation et la configuration du kit SDK pour .NET.
Pour utiliser un service Oracle Cloud Infrastructure spécifique dans votre projet, vous pouvez utiliser la commande "dotnet add package" à partir du répertoire racine de l'espace de travail de projet contenant le fichier de projet. La syntaxe de la commande "add package" est la suivante :
dotnet add package <PACKAGE_ID> -v <DESIRED_VERSION>
Si vous ne spécifiez pas de numéro de version, la commande add package
installe la dernière version.
Cet exemple permet d'installer la dernière version du package Core Service :
dotnet add package OCI.DotNetSDK.Core
Cet exemple permet d'installer la version 1.0.0 du package Identity Service :
dotnet add package OCI.DotNetSDK.Identity -v 1.0.0
Pour éviter les conflits de dépendance, vous devez utiliser les mêmes versions d'OCI. Packages Nuget de kit SDK pour .NET dans une application.
Téléchargement du kit SDK à partir de GitHub
Vous pouvez télécharger le kit SDK pour .NET en tant qu'archive ZIP à partir de GitHub. Il contient le kit SDK, toutes ses dépendances, la documentation et des exemples.
Installation du kit SDK avec YUM
- Installez le kit SDK OCI pour .NET à l'aide de YUM :
-
Pour Oracle Linux 7 :
sudo yum-config-manager --enable ol7_developer sudo yum install oci-dotnet-sdk
Pour Oracle Linux 8 :
sudo yum-config-manager --enable ol8_developer sudo yum install oci-dotnet-sdk
Les packages de service du kit SDK OCI .NET et leurs dépendances se trouvent dans
/usr/lib/dotnet/NuPkgs/
.
-
- Pour que l'interface de ligne de commande .NET puisse trouver les packages installés, vous devez effectuer l'une des opérations suivantes :
- Créez un fichier nommé
nuget.config
à la racine de votre projet d'application .NET et ajoutez le contenu suivant :
ou<?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>
- Utilisez l'option
--source
avec les commandes de l'interface de ligne de commande .NET, en transmettant le répertoire/usr/lib/dotnet/NuPkgs/
. Par exemple :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/
- Créez un fichier nommé
- Pour obtenir des informations sur le package installé, exécutez la commande suivante :
rpm -qi oci-dotnet-sdk
- Ajoutez les packages de service OCI à votre projet à l'aide de la ligne de commande .NET :
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/
- Vous pouvez maintenant importer des espaces de noms dans votre projet. Par exemple :
using Oci.AuditService; using Oci.AuditService.Models; using Oci.Common; using Oci.Common.Auth;
Utilisation du kit SDK pour .NET avec Nuget
Configuration du kit SDK
Les services de kit SDK ont besoin de deux types de configuration : les informations d'identification et les paramètres HTTP côté client.
Configuration des informations d'identification
Vous devez tout d'abord configurer vos informations d'identification ainsi que le fichier de configuration. Pour obtenir des instructions, reportez-vous à Fichier de configuration du kit SDK et de l'interface de ligne de commande.
Vous devez ensuite configurer le client afin qu'il utilise les informations d'identification. Les informations d'identification sont extraites via une interface IAuthenticationDetailsProvider
que le client doit implémenter.
Ces exemples illustrent les implémentations de ConfigFileAuthenticationDetailsProvider
et SimpleAuthenticationDetailsProvider
.
Si vous utilisez les clés et l'emplacement standard de fichier de configuration, vous pouvez vous servir de 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 vous utilisez des noms de clé personnalisés dans le fichier de configuration, vous pouvez vous servir de SimpleAuthenticationDetailsProvider
Pour charger une configuration avec ou sans profil, exécutez le code suivant :
using Oci.Common;
var config = ConfigFileReader.Parse(ConfigFileReader.DEFAULT_FILE_PATH);
var configWithProfile = ConfigFileReader.Parse(ConfigFileReader.DEFAULT_FILE_PATH, "DEFAULT");
Créez ensuite un fournisseur Auth
à l'aide de 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"))
};
Configuration des options côté client
Créez une configuration côté client via la classe ClientConfiguration
. Si vous ne fournissez pas votre propre configuration, le kit SDK pour .NET utilise une configuration par défaut.
L'exemple suivant indique comment fournir votre propre configuration :
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 }
}
};
Configuration des options personnalisées
Dans le fichier de configuration, vous pouvez insérer des paires clé-valeur personnalisées que vous définissez, puis les référencer si nécessaire. Par exemple, vous pouvez spécifier un ID de compartiment fréquemment utilisé dans le fichier de configuration :
[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>
Vous pouvez ensuite en extraire la valeur :
using Oci.Common;
var config = ConfigFileReader.parse(ConfigFileReader.DEFAULT_FILE_PATH);
String compartmentId = config.GetValue("customCompartmentId");
Activation de la journalisation
Le kit SDK OCI pour .NET utilise le package NLog
pour la journalisation. NLog
est automatiquement installé avec le kit SDK pour .NET. Aucune installation supplémentaire n'est donc requise.
- Ajoutez un fichier
NLog.config
dans le répertoire racine du projet. Vous trouverez un exemple de fichier NLog.config ici. - Ajoutez une section
ItemGroup
dans le fichier de projet. Par exemple :<ItemGroup> <Content Include="PATH TO NLog.config File" > <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> </ItemGroup>
- Pour vous connecter à partir d'une application, créez un
Logger
et utilisez la méthodeInfo()
. Par exemple :var logger = NLog.LogManager.GetCurrentClassLogger(); logger.Info("Hello World");
Seule la journalisation du kit SDK est capturée si vous ne créez pas de journaliseur à partir d'une application.