Disable-AzBatchComputeNodeScheduling

停用指定計算節點上的工作排程。

Syntax

Disable-AzBatchComputeNodeScheduling
       [-PoolId] <String>
       [-Id] <String>
       [-DisableSchedulingOption <DisableComputeNodeSchedulingOption>]
       -BatchContext <BatchAccountContext>
       [-DefaultProfile <IAzureContextContainer>]
       [<CommonParameters>]
Disable-AzBatchComputeNodeScheduling
       [[-ComputeNode] <PSComputeNode>]
       [-DisableSchedulingOption <DisableComputeNodeSchedulingOption>]
       -BatchContext <BatchAccountContext>
       [-DefaultProfile <IAzureContextContainer>]
       [<CommonParameters>]

Description

Disable-AzBatchComputeNodeScheduling Cmdlet 會停用指定計算節點上的工作排程。 計算節點是專用於特定應用程式工作負載的 Azure 虛擬機。 當您在計算節點上停用工作排程時,您也可以選擇決定目前在節點工作佇列中作業的動作。 Disable-AzBatchComputeNodeScheduling 可讓您執行下列動作:

  • 終止工作,並將其放回作業佇列中。 這可讓這些工作重新排程在另一個計算節點上。
  • 終止工作,並從工作佇列中移除它們。 以這種方式停止的工作將不會重新排程。
  • 等候目前正在執行的所有工作完成,然後停用計算節點上的工作排程。
  • 等候所有執行中工作完成,以及所有數據保留期間到期,然後停用計算節點上的工作排程。

範例

範例 1:停用計算節點上的工作排程

$Context = Get-AzBatchAccountKey -AccountName "contosobatchaccount"
Disable-AzBatchComputeNodeScheduling -PoolId "myPool" -Id "tvm-1783593343_34-20151117t222514z" -BatchContext $Context

這些命令會在計算節點 tvm-1783593343_34-20151117t222514z 上停用工作排程。 若要這樣做,範例中的第一個命令會建立批次帳戶 contosobatchaccount 帳戶密鑰的對象參考。 此物件參考會儲存在名為 $context 的變數中。 第二個命令接著會使用此對象參考和 Disable-AzBatchComputeNodeScheduling Cmdlet 連線到集區 myPool,並在節點 tvm-1783593343_34-20151117t222514z 上停用工作排程。 因為 DisableComputeNodeSchedulingOptions 參數並未包含目前正在計算節點上執行的任何工作,因此將會重新排入佇列。

範例 2:停用集區中所有計算節點上的工作排程

$Context = Get-AzBatchAccountKey -AccountName "contosobatchaccount"
Get-AzBatchComputeNode -PoolId "Pool06"  -BatchContext $Context | Disable-AzBatchComputeNodeScheduling -BatchContext $Context

這些命令會停用批次集區 Pool06 中所有電腦節點上的工作排程。 為了執行這項工作,範例中的第一個命令會建立批次帳戶 contosobatchaccount 帳戶密鑰的對象參考。 此物件參考會儲存在名為 $context 的變數中。 範例中的第二個命令接著會使用此對象參考和 Get-AzBatchComputeNode 傳回 Pool06 中找到的所有計算節點集合。 然後,該集合會傳送至 Disable-AzBatchComputeNodeScheduling Cmdlet,以停用集合中每個計算節點上的工作排程。 因為 DisableComputeNodeSchedulingOptions 參數不包含目前正在計算節點上執行的任何工作,因此將會重新排入佇列。

參數

-BatchContext

指定 此 Cmdlet 用來與 Batch 服務互動的 BatchAccountContext 實例。 如果您使用 Get-AzBatchAccount Cmdlet 來取得 BatchAccountContext,則與 Batch 服務互動時,將會使用 Microsoft Entra 驗證。 若要改用共用密鑰驗證,請使用 Get-AzBatchAccountKey Cmdlet 來取得已填入其存取密鑰的 BatchAccountContext 物件。 使用共用金鑰驗證時,預設會使用主要存取金鑰。 若要變更要使用的密鑰,請設定 BatchAccountContext.KeyInUse 屬性。

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

-ComputeNode

指定停用工作排程之計算節點的物件參考。 此對象參考是使用 Get-AzBatchComputeNode Cmdlet 建立,並將傳回的計算節點物件儲存在變數中。

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

-DefaultProfile

用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶。

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableSchedulingOption

指定此 Cmdlet 如何處理目前正在停用排程的電腦節點上執行的任何工作。 此參數可接受的值為:

  • 重新排隊列。 工作會立即停止,並返回作業佇列。 這可讓工作重新排程在另一個計算節點上。 這是預設值。
  • Terminate: 工作會立即停止,並從作業佇列中移除。 這些工作將不會重新排程。
  • TaskCompletion。 目前執行中的工作可以在計算節點上停用工作排程之前完成。 此節點上不會排程任何新工作。
  • RetainedData。 目前執行中的工作將能夠完成,而且數據保留期間將在計算節點上停用工作排程之前到期。 此節點上不會排程任何新工作。
Type:Nullable<T>[DisableComputeNodeSchedulingOption]
Accepted values:Requeue, Terminate, TaskCompletion
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

指定停用工作排程之計算節點的標識碼。

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

-PoolId

指定批次集區的標識碼,其中包含停用工作排程的計算節點。 如果您使用 PoolId 參數,請勿 在同一個命令中使用 ComputeNode 參數。

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

輸入

PSComputeNode

BatchAccountContext

輸出

Void