分配任务优先级
可以为每个 Amazon S3 批量操作任务分配一个数字优先级,该优先级可以是任意正整数。S3 批量操作根据分配的优先级确定任务的优先次序。系统将首先评估具有较高优先级(或者优先级参数的数值较高)的任务。优先级按降序确定。例如,优先级值为 10 的任务队列将会比优先级值为 1 的任务队列优先计划。
可以在任务正在运行时更改其优先级。如果您在任务运行时提交优先级更高的新任务,则优先级较低的任务可以暂停,以允许优先级高的任务运行。
更改任务的优先级不会影响任务的处理速度。
注意
S3 批量操作尽最大努力遵循任务优先级。尽管优先级高的任务通常优先于优先级低的任务,但 Amazon S3 无法保证任务的严格顺序。
如何在 Amazon S3 控制台中更新任务优先级
登录到AWS Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
在左侧导航窗格中,请选择分批操作。
-
请选择您想要管理的特定任务。
-
请选择 Action(操作)。请在下拉列表中,选择 Update priority(更新优先级)。
以下示例使用 AWS CLI 更新任务优先级。数字越大,执行优先级越高。要使用以下示例命令,请将
替换为您自己的信息。user input
placeholders
aws s3control update-job-priority \ --region
us-west-2
\ --account-idaccount-id
\ --priority98
\ --job-id00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c
以下示例使用 AWS SDK for Java 更新 S3 分批操作任务的优先级。
有关任务优先级的更多信息,请参阅 分配任务优先级。
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(); } } }