Orleans 2.0 官方文档 —— 5.3 集群和客户端 -> PowerShell 客户端模块

PowerShell客户端模块

Orleans PowerShell客户端模块是一组PowerShell Cmdlet它将GrainClient包装在一组方便的命令中,这样不仅可以与ManagementGrain进行交互,还可以与任何IGrain交互,就像使用Powershell脚本与常规的Orleans应用程序进行交互一样。

这些Cmdlet通过利用Powershell脚本实现了一系列场景,包括从启动维护任务、测试、监视或任何其他类型的自动化。

以下是如何使用它:

安装模块

从源代码

您可以从源代码构建OrleansPSUtils项目,通过以下命令,导入它:

PS> Import-Module .\projectOutputDir\Orleans.psd1

虽然可以这样做,但从PowerShell Gallery安装它,是一种更简单和有趣的方法。

今天的Powershell模块可以像Nuget包一样轻松共享,但它们不是托管在nuget.org,而是在PowerShell Gallery上

  • 要将其安装到指定的文件夹,只需运行:
PS> Save-Module -Name OrleansPSUtils -Path <path>
  • 要将其安装到PowerShell模块路径(推荐方式),只需运行:
PS> Install-Module -Name OrleansPSUtils
  • 如果您计划在Azure自动化上使用此模块,只需单击下面的按钮:

​​   ​​​​​ 

使用该模块

无论您决定如何安装它,要实际使用它,首先要做的是在当前的PowerShell会话上导入模块,以便通过运行以下命令使Cmdlets可用:

PS> Import-Module OrleansPSUtils

注意:如果是从源代码构建,则必须按照安装章节的建议,使用.psd1来导入它,而不是使用模块名,因为它不在$env:PSModulePath PowerShell运行时变量上。同样,强烈建议您从PowerShell Gallery安装。

导入模块后(这意味着它在PowerShell会话中加载),您将拥有以下可用的Cmdlet:

  • Start-GrainClient
  • Stop-GrainClient
  • Get-Grain

Start-GrainClient

这个模块是对GrainClient.Initialize()及其重载的包装。

用法

  • Start-GrainClient

    • 与调用GrainClient.Initialize()相同,它将查找已知Orleans Client配置文件名。
  • Start-GrainClient [-ConfigFilePath] <string> [[-Timeout] <timespan>]

    • 将使用 GrainClient.Initialize(filePath)中提供的文件路径。
  • Start-GrainClient [-ConfigFile] <FileInfo> [[-Timeout] <timespan>]

    • 正如GrainClient.Initialize(fileInfo)一样,使用System.FileInfo类的实例,来表示配置文件。
  • Start-GrainClient [-Config] <ClientConfiguration> [[-Timeout] <timespan>]

    • 类似于GrainClient.Initialize(config),使用Orleans.Runtime.Configuration.ClientConfiguration的实例。
  • Start-GrainClient [-GatewayAddress] <IPEndPoint> [[-OverrideConfig] <bool>] [[-Timeout] <timespan>]

    • 采用Orleans 集群的网关地址的端点

注意:该Timeout参数是可选的,如果有指定且大于System.TimeSpan.Zero,则它将在内部调用Orleans.GrainClient.SetResponseTimeout(Timeout)

Stop-GrainClient

它没有参数,当它被调用后,就会很好地反初始化(如果GrainClient已被初始化)。

Get-Grain

它是GrainClient.GrainFactory.GetGrain<T>()及其重载的包装。

对于Orleans支持的当前grain的键的类型(stringGuidlong),-GrainType-XXXKey是强制性参数。-KeyExtension也是强制性的参数,它可以用于具有复合键的grain。

此Cmdlet返回-GrainType上,被作为参数来传递的类型的grain引用。

例:

以下是关于调用MyInterfacesNamespace.IMyGrain.SayHeloTograin方法的一个简单示例:

PS> Import-Module OrleansPSUtils
PS> $configFilePath = Resolve-Path(".\ClientConfig.xml").Path
PS> Start-GrainClient -ConfigFilePath $configFilePath
PS> Add-Type -Path .\MyGrainInterfaceAssembly.dll
PS> $grainInterfaceType = [MyInterfacesNamespace.IMyGrain]
PS> $grainId = [System.Guid]::Parse("A4CF7B5D-9606-446D-ACE9-C900AC6BA3AD")
PS> $grain = Get-Grain -GrainType $grainInterfaceType -GuidKey $grainId
PS> $message = $grain.SayHelloTo("Gutemberg").Result
PS> Write-Output $message
Hello Gutemberg!
PS> Stop-GrainClient

我们计划更新此页面,因为我们在Powershell上更多地使用Observers、Streams和其他Orleans核心功能,引入了更多的Cmdlet。我们希望这有助于人们开始进行自动化。一如既往地,这是一项正在进行中的工作,我们热爱贡献!:)

请注意,我们的目的不是在PowerShell上重新实现整个客户端,而是为IT和DevOps团队提供一种无需实现.NET应用程序,就可以与Grains交互的方法。

  •  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值