Erste Schritte
In diesem Thema wird die Installation und Konfiguration des SDK für .NET beschrieben.
In diesem Thema wird die Installation und Konfiguration des SDK für .NET beschrieben.
Um einen bestimmten Oracle Cloud Infrastructure-Service in Ihrem Projekt zu verwenden, können Sie den Befehl "dotnet add package" aus dem Root-Verzeichnis Ihres Projekt-Workspace verwenden, der die Projektdatei enthält. Die Syntax für den Befehl "add package" lautet:
dotnet add package <PACKAGE_ID> -v <DESIRED_VERSION>
Wenn Sie keine Versionsnummer angeben, wird mit dem Befehl add package
die neueste Version installiert.
In diesem Beispiel wird die neueste Version des Core Service-Package installiert:
dotnet add package OCI.DotNetSDK.Core
In diesem Beispiel wird Version 1.0.0 des Identity Service-Package installiert:
dotnet add package OCI.DotNetSDK.Identity -v 1.0.0
Um Abhängigkeitskonflikte zu vermeiden, sollten Sie innerhalb einer Anwendung alle OCI- .NET-SDK-Nuget-Packages mit derselben Version verwenden.
SDK von GitHub herunterladen
Sie können das .NET-SDK als ZIP-Archiv von GitHub herunterladen. Es enthält das SDK, alle Abhängigkeiten, Dokumentation und Beispiele.
SDK mit Yum installieren
- So installieren Sie das OCI-SDK für .NET mit yum:
-
Für Oracle Linux 7:
sudo yum-config-manager --enable ol7_developer sudo yum install oci-dotnet-sdk
Für Oracle Linux 8:
sudo yum-config-manager --enable ol8_developer sudo yum install oci-dotnet-sdk
Die OCI-Dotnet-SDK-Servicepackages und ihre Abhängigkeiten befinden sich in
/usr/lib/dotnet/NuPkgs/
.
-
- Damit die Dotnet-CLI die installierten Packages finden kann, müssen Sie eine der folgenden Aufgaben ausführen:
- Erstellen Sie eine Datei mit dem Namen
nuget.config
in der Root Ihres .NET-Anwendungsprojekts, und fügen Sie folgenden Inhalt hinzu:
Oder:<?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>
- Verwenden Sie die Option
--source
mit den Dotnet-CLI-Befehlen, und übergeben Sie das Verzeichnis/usr/lib/dotnet/NuPkgs/
. Beispiel: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/
- Erstellen Sie eine Datei mit dem Namen
- Um Informationen zum installierten Package abzurufen, führen Sie den folgenden Befehl aus:
rpm -qi oci-dotnet-sdk
- Fügen Sie die OCI-Servicepackages mit der Dotnet-Befehlszeile zu Ihrem Projekt hinzu:
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/
- Sie können jetzt Namespaces in Ihr Projekt importieren. Beispiel:
using Oci.AuditService; using Oci.AuditService.Models; using Oci.Common; using Oci.Common.Auth;
SDK für .NET mit Nuget verwenden
SDK konfigurieren
Die SDK-Services benötigen zwei Konfigurationstypen: Zugangsdaten und clientseitige HTTP-Einstellungen.
Zugangsdaten konfigurieren
Zuerst müssen Sie Ihre Zugangsdaten und die Konfigurationsdatei einrichten. Anweisungen hierzu finden Sie unter SDK- und CLI-Konfigurationsdatei.
Als Nächstes müssen Sie den Client so einrichten, dass er die Zugangsdaten verwendet. Die Zugangsdaten werden über eine IAuthenticationDetailsProvider
-Schnittstelle abstrahiert, die der Client implementieren muss.
Diese Beispiele zeigen Implementierungen von ConfigFileAuthenticationDetailsProvider
und SimpleAuthenticationDetailsProvider
.
Wenn Sie sich für Standard-Konfigurationsdateischlüssel und den Standard-Konfigurationsdateispeicherort entscheiden, können Sie ConfigFileAuthenticationDetailsProvider
verwenden:
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");
Wenn Sie sich für benutzerdefinierte Schlüsselnamen in der Konfigurationsdatei entscheiden, können Sie SimpleAuthenticationDetailsProvider
verwenden.
So laden Sie eine Konfiguration mit oder ohne Profil:
using Oci.Common;
var config = ConfigFileReader.Parse(ConfigFileReader.DEFAULT_FILE_PATH);
var configWithProfile = ConfigFileReader.Parse(ConfigFileReader.DEFAULT_FILE_PATH, "DEFAULT");
Erstellen Sie als Nächstes einen Auth
-Provider mithilfe von 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"))
};
Clientseitige Optionen konfigurieren
Erstellen Sie eine clientseitige Konfiguration über die Klasse ClientConfiguration
. Wenn Sie keine eigene Konfiguration angeben, verwendet das SDK für .NET eine Standardkonfiguration.
Das folgende Beispiel zeigt, wie Sie Ihre eigene Konfiguration angeben können:
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 }
}
};
Benutzerdefinierte Optionen konfigurieren
In der Konfigurationsdatei können Sie benutzerdefinierte Schlüssel/Wert-Paare einfügen, die Sie definieren und dann nach Bedarf referenzieren. Beispiel: Sie können eine häufig verwendete Compartment-ID in der Konfigurationsdatei angeben:
[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>
Dann können Sie den Wert abrufen:
using Oci.Common;
var config = ConfigFileReader.parse(ConfigFileReader.DEFAULT_FILE_PATH);
String compartmentId = config.GetValue("customCompartmentId");
Logging aktivieren
Das OCI-SDK für .NET verwendet das NLog
-Package für das Logging. NLog
wird automatisch mit dem .NET-SDK installiert, sodass keine zusätzliche Installation erforderlich ist.
- Fügen Sie eine
NLog.config
-Datei im Root-Verzeichnis des Projekts hinzu. Ein Beispiel für eine NLog.config-Datei finden Sie hier. - Fügen Sie einen
ItemGroup
-Abschnitt in der Projektdatei hinzu. Beispiel:<ItemGroup> <Content Include="PATH TO NLog.config File" > <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> </ItemGroup>
- Um von einer Anwendung aus zu loggen, erstellen Sie einen
Logger
, und verwenden Sie die MethodeInfo()
. Beispiel:var logger = NLog.LogManager.GetCurrentClassLogger(); logger.Info("Hello World");
Wenn Sie keinen Logger aus einer Anwendung heraus erstellen, wird nur SDK-Logging erfasst.