開始

このトピックでは、SDK for .NETのインストールおよび構成の方法について説明します。

このトピックでは、SDK for .NETのインストールおよび構成の方法について説明します。

プロジェクトで特定のOracle Cloud Infrastructureサービスを使用するには、プロジェクト・ファイルを含むプロジェクト・ワークスペースのルート・ディレクトリからdotnet add packageコマンドを使用できます。add packageコマンドの構文:

dotnet add package <PACKAGE_ID> -v <DESIRED_VERSION>

バージョン番号を指定しないと、add packageコマンドによって最新バージョンがインストールされます。

この例では、コア・サービス・パッケージの最新バージョンがインストールされます:

dotnet add package OCI.DotNetSDK.Core

この例では、アイデンティティ・サービス・パッケージのバージョン1.0.0がインストールされます:

dotnet add package OCI.DotNetSDK.Identity -v 1.0.0
ノート

依存関係の競合を回避するには、すべてのOCIで同じバージョンを使用する必要があります。アプリケーション内の.NET SDK Nugetパッケージ

GitHubからのSDKのダウンロード

SDK for .NETは、GitHubからzipアーカイブとしてダウンロードできます。これには、SDK、そのすべての依存関係、ドキュメントおよびサンプルが含まれています。

yumを使用したSDKのインストール

Oracle Linux 7または8を使用している場合は、yumを使用してOCI SDK for .NETをインストールできます。
  1. yumを使用してOCI SDK for .NETをインストールするには:
    1. Oracle Linux 7の場合:

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

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

      OCI Dotnet SDKサービス・パッケージとその依存関係は、/usr/lib/dotnet/NuPkgs/にあります。

  2. dotnet CLIでインストール済パッケージを見つけることができるように、次のいずれかを実行する必要があります:
    1. .NETアプリケーション・プロジェクトのルートにnuget.configというファイルを作成し、次の内容を追加します:
      <?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>
      ...または...
    2. dotnet CLIコマンドで、--sourceオプションを使用してディレクトリ/usr/lib/dotnet/NuPkgs/を渡します。例:
      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. インストール済パッケージに関する情報を取得するには、次のコマンドを実行します:
    rpm  -qi oci-dotnet-sdk
  4. dotnetコマンドラインを使用して、プロジェクトにOCIサービス・パッケージを追加します:
    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. これで、プロジェクトにネームスペースをインポートできます。例:
    using Oci.AuditService;
    using Oci.AuditService.Models;
    using Oci.Common;
    using Oci.Common.Auth;

SDK for .NETとNugetの併用

Nuget

SDKの構成

SDKサービスには、資格証明とクライアント側HTTP設定という2つのタイプの構成が必要です。

資格証明の構成

最初に、資格証明および構成ファイルを設定する必要があります。手順は、SDKおよびCLIの構成ファイルを参照してください。

次に、資格証明を使用するようにクライアントを設定する必要があります。資格証明は、クライアントが実装する必要があるIAuthenticationDetailsProviderインタフェースを介して抽象化されます。

次の例は、ConfigFileAuthenticationDetailsProvider およびSimpleAuthenticationDetailsProviderの実装を示しています。

標準構成の使用

標準構成ファイルのキーと標準構成ファイルの場所を使用する場合は、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");
カスタム構成の使用

構成ファイル内でカスタム・キー名を使用する場合は、SimpleAuthenticationDetailsProviderを使用できます

プロファイル付きまたはプロファイルなしで構成をロードするには:

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

次に、SimpleAuthenticationDetailsProviderを使用してAuthプロバイダを作成します:

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

クライアント側オプションの構成

クライアント側の構成を作成するには、ClientConfigurationクラスを使用します。独自の構成を指定しないと、SDK for .NETによってデフォルトの構成が使用されます。

次の例に、独自の構成を指定する方法を示します:

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

カスタム・オプションの構成

構成ファイルに、定義するカスタムのキーと値のペアを挿入し、必要に応じてそれらを参照できます。たとえば、頻繁に使用されるコンパートメントIDを構成ファイルに指定できます:

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

後で、値を取得できます:

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

ロギングの有効化

OCI SDK for .NETでは、ロギングにNLogパッケージが使用されます。NLogは.NET SDKとともに自動的にインストールされるため、さらにインストールする必要はありません。

プロジェクトのロギングを有効化するには:
  1. プロジェクトのルート・ディレクトリにNLog.configファイルを追加します。NLog.configファイルの例はこちらにあります
  2. プロジェクト・ファイルにItemGroupセクションを追加します。例:
    <ItemGroup>
         <Content Include="PATH TO NLog.config File" >
              <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
         </Content>
    </ItemGroup>
  3. アプリケーションからロギングするには、Loggerを作成し、Info()メソッドを使用します。例:
    var logger = NLog.LogManager.GetCurrentClassLogger();
    logger.Info("Hello World");
ノート

アプリケーションからロガーを作成しないと、SDKロギングのみが取得されます。