Asignar prioridad a los trabajos - Amazon Simple Storage Service

Asignar prioridad a los trabajos

Puede asignar a cada trabajo una prioridad numérica, que puede ser cualquier entero positivo. Operaciones por lotes de S3 prioriza los trabajos de acuerdo con la prioridad asignada. Los trabajos con una prioridad mayor (o un valor numérico más elevado en el parámetro priority) se evalúan en primer lugar. La prioridad se determina en orden descendente. Por ejemplo, una cola de trabajos con una prioridad 10, tendrá mayor preferencia de programación que una cola de trabajos cuyo valor de prioridad sea 1.

La prioridad de un trabajo se puede modificar mientras está en ejecución. Si se envía un nuevo trabajo con una prioridad mayor mientras hay otro trabajo en ejecución, el trabajo con menor prioridad se detendrá para permitir que se ejecute el de mayor prioridad.

Cambiar la prioridad del trabajo no afecta a la velocidad de procesamiento de trabajos.

nota

Operaciones por lotes de S3 respeta las prioridades de los trabajos en la medida de lo posible. Aunque, por lo general, los trabajos con mayor prioridad prevalecerán sobre los trabajos con una prioridad más baja, Amazon S3 no garantiza un orden estricto de los trabajos.

Cómo actualizar la prioridad del trabajo en la AWS Management Console
  1. Inicie sesión AWS Management Console Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En el panel de navegación izquierdo, elija Batch Operations (Operaciones por lote).

  3. Seleccione el trabajo específico que desearía administrar.

  4. Elija Actions (Acciones). En la lista desplegable, elija Update priority (Actualizar la prioridad).

En el ejemplo siguiente se actualiza la prioridad del trabajo mediante la AWS CLI. Un número más alto indica una prioridad de ejecución más alta.

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

En el siguiente ejemplo, se actualiza la prioridad de un trabajo de la herramienta de operaciones por lotes de S3 mediante AWS SDK for Java.

Para obtener más información acerca de la prioridad de un trabajo, consulte Asignar prioridad a los trabajos.

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(); } } }