Atribuir prioridade aos trabalhos - Amazon Simple Storage Service

Atribuir prioridade aos trabalhos

Você pode atribuir uma prioridade numérica a cada trabalho, que pode ser qualquer inteiro positivo. As operações em lote do S3 priorizam trabalhos de acordo com a prioridade atribuída. Os trabalhos com prioridade mais alta (ou um valor inteiro mais alto para o parâmetro de prioridade) são avaliados primeiro. A prioridade é determinada em ordem decrescente. Por exemplo, uma fila de trabalhos com um valor de prioridade 10 tem preferência de programação com relação a uma fila de trabalhos com um valor de prioridade 1.

Você pode alterar a prioridade do trabalho enquanto ele está sendo executado. Se você enviar um novo trabalho com uma prioridade mais alta enquanto um trabalho estiver em execução, o trabalho de menor prioridade poderá ser pausado para permitir a execução do trabalho de maior prioridade.

A alteração da prioridade do trabalho não afeta a velocidade de processamento do trabalho.

nota

As operações em lote do S3 respeitam as prioridades de trabalho com o melhor esforço. Embora os trabalhos com prioridades mais altas normalmente tenham precedência sobre os de prioridades mais baixas, o Amazon S3 não garante a classificação rígida dos trabalhos.

Como atualizar a prioridade do trabalho no AWS Management Console
  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. No painel de navegação esquerdo, escolha Batch Operations (Operações em lote).

  3. Selecione o trabalho específico que você deseja gerenciar.

  4. Escolha Actions (Ações). Na lista suspensa, escolha Update priority (Atualizar prioridade).

O exemplo a seguir atualiza a prioridade do trabalho usando a AWS CLI. Um número maior indica uma prioridade de execução mais alta.

aws s3control update-job-priority \ --region us-west-2 \ --account-id acct-id \ --priority 98 \ --job-id 00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c

O exemplo a seguir atualiza a prioridade de um trabalho do S3 Batch Operations usando o AWS SDK for Java.

Para obter mais informações sobre prioridade de trabalhos, consulte Atribuir prioridade aos trabalhos.

package aws.example.s3control; import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.s3control.AWSS3Control; import com.amazonaws.services.s3control.AWSS3ControlClient; import com.amazonaws.services.s3control.model.UpdateJobPriorityRequest; import static com.amazonaws.regions.Regions.US_WEST_2; public class UpdateJobPriority { public static void main(String[] args) { String accountId = "Account ID"; String jobId = "00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c"; try { AWSS3Control s3ControlClient = AWSS3ControlClient.builder() .withCredentials(new ProfileCredentialsProvider()) .withRegion(US_WEST_2) .build(); s3ControlClient.updateJobPriority(new UpdateJobPriorityRequest() .withAccountId(accountId) .withJobId(jobId) .withPriority(98)); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it and returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }