分配任务优先级 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

分配任务优先级

您可以为每个任务分配一个数字优先级,该优先级可以是任意正整数。S3 分批操作根据分配的优先级确定任务的优先次序。系统将首先评估具有较高优先级(或者优先级参数的数值较高)的任务。优先级按降序确定。例如,优先级值为 10 的任务队列将会比优先级值为 1 的任务队列优先计划。

您可以在任务正在运行时更改其优先级。如果您在任务运行时提交优先级更高的新任务,则优先级较低的任务可以暂停,以允许优先级高的任务运行。

注意

S3 分批操作尽最大努力遵循任务优先级。尽管优先级高的任务通常优先于优先级低的任务,但 Amazon S3 无法保证任务的严格顺序。

以下示例使用 Amazon CLI 更新任务优先级。数字越大,执行优先级越高。

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

以下示例使用 Amazon 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(); } } }