Get-ServiceFabricDeployedApplication

取得指定節點上的 Service Fabric 應用程式 () 。

Syntax

Get-ServiceFabricDeployedApplication
   [-NodeName] <String>
   [[-ApplicationName] <Uri>]
   [-UsePaging]
   [-GetSinglePage]
   [-IncludeHealthState]
   [-MaxResults <Int64>]
   [-ContinuationToken <String>]
   [-TimeoutSec <Int32>]
   [<CommonParameters>]
Get-ServiceFabricDeployedApplication
   [-NodeName] <String>
   [[-ApplicationName] <Uri>]
   [-TimeoutSec <Int32>]
   [<CommonParameters>]

Description

Get-ServiceFabricDeployedApplication Cmdlet 會取得 Service Fabric 應用程式 (部署在指定節點上) 。

Service Fabric 會針對每個已部署的應用程式,在節點上建立工作、記錄和臨時目錄。 因為目錄名稱包含應用程式識別碼,所以無法猜測目錄名稱。 當 DeployedApplicationStatus 為 Active 時, Get-ServiceFabricDeployedApplication 會傳回 WorkDirectoryLogDirectoryTempDirectory 傳回值中的目錄名稱。 當DeployedApplicationStatus正在下載時,WorkDirectoryLogDirectory 和 TempDirectory值為 Null。

已部署的應用程式服務會將其保存的資料儲存在 WorkDirectory中。 若要進行偵錯或診斷,不同的應用程式或進程可能需要知道 WorkDirectory的位置。

已部署的應用程式服務應該將其記錄儲存在 Service Fabric 所建立的 LogDirectory 中。 記錄檔的自訂上傳者可能需要知道位置。 當特定節點上的應用程式未如預期般運作時,也可能需要 LogDirectory 的位置來進行診斷。

根據預設,此查詢會傳回限制為最大訊息大小設定的結果數目。 SDK 和叢集 6.1 版或更新版本支援可移除這項限制的分頁功能;不論訊息大小上限設定為何,新行為都會傳回結果,因為此查詢會以透明方式迴圈處理所有傳回的頁面。 若要使用分頁和其他新功能,請參閱參數集 「UsePagedAPI」。 選取任何新的篩選會向查詢發出訊號,以在幕後使用分頁。 否則,請選取 [UsePaging] 以加入宣告分頁查詢。

在 Service Fabric 叢集上執行任何作業之前,請先使用 Connect-ServiceFabricCluster Cmdlet 建立叢集的連線。

範例

範例 1:取得應用程式 「fabric:/samples/CalcApp2」

PS C:\> Get-ServiceFabricDeployedApplication -NodeName "VIPULM4-RK01-BD01" -ApplicationName fabric:/samples/CalcApp2

ApplicationName           : fabric:/samples/CalcApp2
ApplicationTypeName       : CalculatorApp
DeployedApplicationStatus : Active
WorkDirectory             : D:\ServiceFabric\Data\VIPULM4-RK01-BD01\Fabric\work\Applications\CalculatorApp_App5\work
LogDirectory              : D:\ServiceFabric\Data\VIPULM4-RK01-BD01\Fabric\work\Applications\CalculatorApp_App5\log
TempDirectory             : D:\ServiceFabric\Data\VIPULM4-RK01-BD01\Fabric\work\Applications\CalculatorApp_App5\temp
HealthState               : Unknown

此命令會傳回已部署的應用程式。 在此範例中, DeployedApplicationStatus 是 Active,因此 Get-ServiceFabricDeployedApplication 會傳回 WorkDirectoryLogDirectoryTempDirectory 傳回值中的目錄名稱。

範例 2:取得應用程式 「fabric:/samples/VQueueApp2」

PS C:\> Get-ServiceFabricDeployedApplication -NodeName VIPULM4-RK01-BD01 fabric:/samples/VQueueApp2

ApplicationName           : fabric:/samples/VQueueApp2
ApplicationTypeName       : VolatileQueueApp
DeployedApplicationStatus : Downloading
HealthState               : Unknown

此命令會傳回已部署的應用程式。 在此範例中,DeployedApplicationStatus為下載,因此此命令會傳回WorkDirectoryLogDirectory 和 TempDirectorynull 值。

範例 3:取得具有最大結果的應用程式 ()

PS C:\>Get-ServiceFabricDeployedApplication -NodeName _Node_1 -MaxResults 2 -GetSinglePage -Verbose

ApplicationName           : fabric:/samples/CalculatorApp
ApplicationTypeName       : CalculatorApp
DeployedApplicationStatus : Active
WorkDirectory             : C:\SfDevCluster\Data\_App\_Node_1\CalculatorApp_App0\work
LogDirectory              : C:\SfDevCluster\Data\_App\_Node_1\CalculatorApp_App0\log
TempDirectory             : C:\SfDevCluster\Data\_App\_Node_1\CalculatorApp_App0\temp
HealthState               : Unknown

ApplicationName           : fabric:/samples/PQueueApp1
ApplicationTypeName       : PersistentQueueApp
DeployedApplicationStatus : Active
WorkDirectory             : C:\SfDevCluster\Data\_App\_Node_1\PersistentQueueApp_App1\work
LogDirectory              : C:\SfDevCluster\Data\_App\_Node_1\PersistentQueueApp_App1\log
TempDirectory             : C:\SfDevCluster\Data\_App\_Node_1\PersistentQueueApp_App1\temp
HealthState               : Unknown

VERBOSE: Continuation Token: fabric:/samples/PQueueApp1

此命令會取得叢集中所提供節點上部署的所有 Service Fabric 應用程式 () ,這些節點符合頁面。 頁面的大小會進一步限制為兩個專案,如 MaxResults 參數所設定。 因為我們選取了 「GetSinglePage」 選項,所以此查詢只會傳回一頁的結果。 如果沒有此選項,就無法使用 MaxResults。 選取 [詳細資訊] 會列印傳回的接續權杖值。 此值可用於後續查詢,以取得下一頁的結果。 您也可以儲存傳回的結果並存取 「ContinuationToken」 屬性,以存取傳回的接續權杖。 「ContinuationToken」 屬性為 null,表示沒有傳回的接續權杖。

範例 4:使用接續權杖取得應用程式

PS C:\>Get-ServiceFabricDeployedApplication -NodeName _Node_1 -ContinuationToken fabric:/samples/PQueueApp1 -UsePaging

ApplicationName           : fabric:/samples/VQueueApp1
ApplicationTypeName       : VolatileQueueApp
DeployedApplicationStatus : Active
WorkDirectory             : C:\SfDevCluster\Data\_App\_Node_1\VolatileQueueApp_App2\work
LogDirectory              : C:\SfDevCluster\Data\_App\_Node_1\VolatileQueueApp_App2\log
TempDirectory             : C:\SfDevCluster\Data\_App\_Node_1\VolatileQueueApp_App2\temp
HealthState               : Unknown

此命令會取得 Service Fabric 應用程式 () ,其會採用符合單一頁面的提供的接續權杖。 提供給此查詢的接續權杖與上述範例傳回的接續權杖相同。 在此範例叢集中,只有一個專案會遵守接續權杖。 如果有太多應用程式遵守節點上提供的接續權杖,以符合一頁的結果,則此查詢組態會傳回所有傳回頁面的編譯,以透明方式迴圈執行;查詢接著會傳回所有結果的向量。 若要只取得一頁的結果,請選取 [GetSinglePage] 選項。

範例 5:取得健康狀態為的應用程式

PS C:\>Get-ServiceFabricDeployedApplication -NodeName _Node_1 -ApplicationName fabric:/samples/CalculatorApp -IncludeHealthState

ApplicationName           : fabric:/samples/CalculatorApp
ApplicationTypeName       : CalculatorApp
DeployedApplicationStatus : Active
WorkDirectory             : C:\SfDevCluster\Data\_App\_Node_1\CalculatorApp_App0\work
LogDirectory              : C:\SfDevCluster\Data\_App\_Node_1\CalculatorApp_App0\log
TempDirectory             : C:\SfDevCluster\Data\_App\_Node_1\CalculatorApp_App0\temp
HealthState               : Ok

此命令會取得符合所提供應用程式名稱並包含其健全狀態的 Service Fabric 應用程式。

參數

-ApplicationName

指定 Service Fabric 應用程式的統一資源識別項 (URI) 。 Cmdlet 會取得符合指定應用程式名稱的已部署應用程式。 此查詢會完全相符。 例如,URI fabric:/App 不會與 fabric:/App1 相符。 如果提供應用程式名稱,最多會傳回一個結果。 如果提供的應用程式名稱不符合節點上的任何應用程式,查詢會傳回 null。

Type:Uri
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ContinuationToken

指定可用來擷取下一頁查詢結果的接續權杖。

如果太多結果遵守提供的篩選準則,它們可能無法放入一則訊息中。 分頁是用來將傳回結果的集合分割成不同的頁面,以考慮此問題。 接續標記是用來知道上一頁離開的位置,只對查詢本身具有重要性。 此值應該從執行此查詢產生,而且可以傳入下一個查詢要求,以取得後續的頁面。 只有在有後續頁面時,才會傳回非 Null 接續權杖值做為結果的一部分。 如果提供這個值時沒有 -GetSinglePage 選項,則查詢會傳回從接續權杖值開始的所有頁面。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-GetSinglePage

指定查詢會傳回具有接續標記值的一頁查詢結果,還是所有合併成一份結果清單的頁面。 如果選取此選項,則查詢的呼叫端必須負責檢查後續頁面。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IncludeHealthState

指定查詢是否會傳回已部署應用程式的健全狀態。如果未指定此參數,則傳回的健康情況狀態為 「未知」。 選取時,查詢會平行處理到節點和健康狀態系統服務,然後再合併結果。 因此,查詢會較耗費資源且可能花費較長的時間。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaxResults

指定每個頁面可傳回的結果專案數目上限。 這會定義傳回的結果數目上限,而不是最小值。 例如,如果頁面根據組態中定義的訊息大小限制,最多符合 1000 個傳回的專案,而且 MaxResults 值設定為 2000,則即使 2000 個結果專案符合查詢描述,仍只會傳回 1000 個結果。

此值需要選取 GetSinglePage 旗標;否則會忽略它。

Type:Int64
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NodeName

指定 Service Fabric 節點的名稱。 Cmdlet 會取得部署在您指定的節點上的應用程式。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-TimeoutSec

指定作業的逾時期間,以秒為單位。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UsePaging

指定是否要分頁查詢。 如果未選取,當有太多結果無法放入單一頁面時,此查詢將無法運作,如訊息大小上限設定所定義。 選取此選項可設定此查詢以傳回所有結果,而不論訊息大小上限設定為何。 其作法是取得分頁結果,並代表呼叫端以透明方式迴圈查看所有頁面。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

System.String

System.Uri

輸出

System.Object