events
PowerShell クライアント モジュール
Orleans PowerShell クライアント モジュールは、GrainClient をラップする一連の PowerShell コマンドレットです。 便利な一連のコマンドが用意されており、PowerShell スクリプトを使用して通常の Orleans アプリケーションと同様、ManagementGrain
"だけでなく"、IGrain
とやりとりできます。
これらのコマンドレットを使用すると、PowerShell スクリプトを利用して、メンテナンス タスクの開始、テスト、監視、またはその他の種類の自動化から一連のシナリオを実現できます。
ソースからこのモジュールをインストールするには、OrleansPSUtils
プロジェクトを使用してビルドし、それを、次を使用してインポートしてください。
Import-Module .\projectOutputDir\Orleans.psd1
これを行うことができますが、PowerShell ギャラリーからインストールする、はるかに簡単で興味深い方法があります。 PowerShell モジュールは Nuget パッケージと同様に簡単に共有できますが、nuget.org ではなく、PowerShell ギャラリーでホストされます。
PowerShell ギャラリーからこのモジュールをインストールするには、望ましいフォルダーで次のコマンドを実行してください。
Save-Module -Name OrleansPSUtils -Path <path>
PowerShell モジュール パス (推奨される方法) にインストールするには、次を実行してください。
Install-Module -Name OrleansPSUtils
Azure Automation でこのモジュールを使用する予定の場合は、こちらのリンクをお使いください。
インストール方法に関係なく、次を実行してコマンドレットを使用できるように、現在の PowerShell セッションにモジュールをインポートする必要があります。
Import-Module OrleansPSUtils
重要
ソースからビルドする場合は、モジュール名を使用する代わりに .psd1
へのパスを使用して「モジュールのインストール」セクションで提案されているようにインポートする必要があります。これは、$env:PSModulePath
PowerShell ランタイム変数上にはないためです。 代わりに、PowerShell ギャラリーからインストールすることを強くお勧めします。
モジュールがインポートされた後 (つまり、PowerShell セッションに読み込まれると)、次のコマンドレットを使用できます。
Start-GrainClient
Stop-GrainClient
Get-Grain
このモジュールは、GrainClient.Initialize() とそのオーバーロードのラッパーです。
GrainClient.Initialize() への呼び出しと同じで、既知 Orleans のクライアント構成ファイル名が検索されます。
Start-GrainClient [-ConfigFilePath] <string> [[-Timeout] <timespan>]
上記のコマンドでは、GrainClient.Initialize(filePath)
のように指定されたファイル パスが使用されます。
Start-GrainClient [-ConfigFile] <FileInfo> [[-Timeout] <timespan>]
上記のコマンドでは、GrainClient.Initialize(fileInfo)
と同じように構成ファイルを表す FileInfo クラスのインスタンスが使用されます。
Start-GrainClient [-Config] <ClientConfiguration> [[-Timeout] <timespan>]
上記のコマンドでは、GrainClient.Initialize(config)
のように ClientConfiguration のインスタンスが使用されます。
Start-GrainClient [-GatewayAddress] <IPEndPoint> [[-OverrideConfig] <bool>] [[-Timeout] <timespan>]
上記のコマンドは、Orleans クラスター ゲートウェイ アドレス エンドポイントを受け取ります。
ヒント
Timeout
パラメーターは省略可能であり、通知されていて TimeSpan.Zero より大きい場合は、内部的に GrainClient.SetResponseTimeout(TimeSpan) を呼び出します。
GrainClient
を停止するには、次のコマンドを呼び出してください。
Stop-GrainClient
上記のコマンドはパラメーターを受け取らず、呼び出されたときに GrainClient
が初期化されている場合は正常に初期化前の状態に戻されます。
Grain
を取得するために、このコマンドレットは GrainClient.GrainFactory.GetGrain<T>()
とそのオーバーロードに関するラッパーです。 必須パラメーターは -GrainType
、Orleans (string
、Guid
、long
) でサポートされている現在のグレイン キー型の -XXXKey
、および複合キーを持つグレインで使用できる -KeyExtension
です。
このコマンドレットは、-GrainType
のパラメーターとして渡された型のグレイン参照を返します。 MyInterfacesNamespace.IMyGrain.SayHelloTo
グレイン メソッドを呼び出す例を、次に示します。
Import-Module OrleansPSUtils
$configFilePath = Resolve-Path(".\ClientConfig.xml").Path
Start-GrainClient -ConfigFilePath $configFilePath
Add-Type -Path .\MyGrainInterfaceAssembly.dll
$grainInterfaceType = [MyInterfacesNamespace.IMyGrain]
$grainId = [System.Guid]::Parse("A4CF7B5D-9606-446D-ACE9-C900AC6BA3AD")
$grain = Get-Grain -GrainType $grainInterfaceType -GuidKey $grainId
$message = $grain.SayHelloTo("Gutemberg").Result
Write-Output $message
Hello Gutemberg!
Stop-GrainClient
その他のコマンドレットについては説明しませんが、PowerShell では、Observer、Stream、その他の Orleans コア機能がネイティブにサポートされています。
注意
目的は、PowerShell でクライアント全体を再実装するのではなく、IT および DevOps チームに、.NET アプリケーションを実装する必要なくグレインとやりとりする方法を提供することです。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。
その他のリソース
トレーニング
モジュール
ASP.NET Core 8.0 を使用して最初の Orleans アプリをビルドする - Training
Orleans を使用してクラウドネイティブの分散アプリを構築する方法を学習します。