開始
このトピックでは、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のインストール
- yumを使用してOCI SDK for .NETをインストールするには:
-
Oracle Linux 7の場合:
sudo yum-config-manager --enable ol7_developer sudo yum install oci-dotnet-sdk
Oracle Linux 8の場合:
sudo yum-config-manager --enable ol8_developer sudo yum install oci-dotnet-sdk
OCI Dotnet SDKサービス・パッケージとその依存関係は、
/usr/lib/dotnet/NuPkgs/
にあります。
-
- dotnet CLIでインストール済パッケージを見つけることができるように、次のいずれかを実行する必要があります:
- .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>
- 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/
- .NETアプリケーション・プロジェクトのルートに
- インストール済パッケージに関する情報を取得するには、次のコマンドを実行します:
rpm -qi oci-dotnet-sdk
- 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/
- これで、プロジェクトにネームスペースをインポートできます。例:
using Oci.AuditService; using Oci.AuditService.Models; using Oci.Common; using Oci.Common.Auth;
SDK for .NETと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とともに自動的にインストールされるため、さらにインストールする必要はありません。
- プロジェクトのルート・ディレクトリに
NLog.config
ファイルを追加します。NLog.configファイルの例はこちらにあります - プロジェクト・ファイルに
ItemGroup
セクションを追加します。例:<ItemGroup> <Content Include="PATH TO NLog.config File" > <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> </ItemGroup>
- アプリケーションからロギングするには、
Logger
を作成し、Info()
メソッドを使用します。例:var logger = NLog.LogManager.GetCurrentClassLogger(); logger.Info("Hello World");
アプリケーションからロガーを作成しないと、SDKロギングのみが取得されます。