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
Hinweis

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

Wenn Sie Oracle Linux 7 oder 8 verwenden, können Sie das OCI-SDK für .NET mit Yum installieren.
  1. So installieren Sie das OCI-SDK für .NET mit yum:
    1. Für Oracle Linux 7:

      sudo yum-config-manager --enable ol7_developer
      sudo yum install oci-dotnet-sdk
    2. 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/.

  2. Damit die Dotnet-CLI die installierten Packages finden kann, müssen Sie eine der folgenden Aufgaben ausführen:
    1. Erstellen Sie eine Datei mit dem Namen nuget.config in der Root Ihres .NET-Anwendungsprojekts, und fügen Sie folgenden Inhalt hinzu:
      <?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>
      Oder:
    2. 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/
  3. Um Informationen zum installierten Package abzurufen, führen Sie den folgenden Befehl aus:
    rpm  -qi oci-dotnet-sdk
  4. 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/
  5. 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.

Standardkonfiguration verwenden

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");
Benutzerdefinierte Konfiguration verwenden

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.

So aktivieren Sie Logging in Ihrem Projekt:
  1. Fügen Sie eine NLog.config-Datei im Root-Verzeichnis des Projekts hinzu. Ein Beispiel für eine NLog.config-Datei finden Sie hier.
  2. Fügen Sie einen ItemGroup-Abschnitt in der Projektdatei hinzu. Beispiel:
    <ItemGroup>
         <Content Include="PATH TO NLog.config File" >
              <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
         </Content>
    </ItemGroup>
  3. Um von einer Anwendung aus zu loggen, erstellen Sie einen Logger, und verwenden Sie die Methode Info(). Beispiel:
    var logger = NLog.LogManager.GetCurrentClassLogger();
    logger.Info("Hello World");
Hinweis

Wenn Sie keinen Logger aus einer Anwendung heraus erstellen, wird nur SDK-Logging erfasst.