文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 AWS SDK 範例。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 AWS SDK 範例。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
DescribeJob
搭配 AWS SDK 或 CLI 使用
下列程式碼範例示範如何使用 DescribeJob
。
動作範例是大型程式的程式碼摘錄,必須在內容中執行。您可以在下列程式碼範例的內容中看到此動作:
- CLI
-
- AWS CLI
-
描述 Amazon S3 批次操作任務
以下describe-job
提供指定批次操作任務的組態參數和狀態。
aws s3control describe-job \
--account-id 123456789012
\
--job-id 93735294-df46-44d5-8638-6356f335324e
輸出:
{
"Job": {
"TerminationDate": "2019-10-03T21:49:53.944Z",
"JobId": "93735294-df46-44d5-8638-6356f335324e",
"FailureReasons": [],
"Manifest": {
"Spec": {
"Fields": [
"Bucket",
"Key"
],
"Format": "S3BatchOperations_CSV_20180820"
},
"Location": {
"ETag": "69f52a4e9f797e987155d9c8f5880897",
"ObjectArn": "arn:aws:s3:::employee-records-logs/inv-report/7a6a9be4-072c-407e-85a2-ec3e982f773e.csv"
}
},
"Operation": {
"S3PutObjectTagging": {
"TagSet": [
{
"Value": "true",
"Key": "confidential"
}
]
}
},
"RoleArn": "arn:aws:iam::123456789012:role/S3BatchJobRole",
"ProgressSummary": {
"TotalNumberOfTasks": 8,
"NumberOfTasksFailed": 0,
"NumberOfTasksSucceeded": 8
},
"Priority": 42,
"Report": {
"ReportScope": "AllTasks",
"Format": "Report_CSV_20180820",
"Enabled": true,
"Prefix": "batch-op-create-job",
"Bucket": "arn:aws:s3:::employee-records-logs"
},
"JobArn": "arn:aws:s3:us-west-2:123456789012:job/93735294-df46-44d5-8638-6356f335324e",
"CreationTime": "2019-10-03T21:48:48.048Z",
"Status": "Complete"
}
}
- Java
-
- SDK for Java 2.x
-
public CompletableFuture<Void> describeJobAsync(String jobId, String accountId) {
DescribeJobRequest jobRequest = DescribeJobRequest.builder()
.jobId(jobId)
.accountId(accountId)
.build();
return getAsyncClient().describeJob(jobRequest)
.thenAccept(response -> {
System.out.println("Job ID: " + response.job().jobId());
System.out.println("Description: " + response.job().description());
System.out.println("Status: " + response.job().statusAsString());
System.out.println("Role ARN: " + response.job().roleArn());
System.out.println("Priority: " + response.job().priority());
System.out.println("Progress Summary: " + response.job().progressSummary());
JobManifest manifest = response.job().manifest();
System.out.println("Manifest Location: " + manifest.location().objectArn());
System.out.println("Manifest ETag: " + manifest.location().eTag());
JobOperation operation = response.job().operation();
if (operation.s3PutObjectTagging() != null) {
System.out.println("Operation: S3 Put Object Tagging");
System.out.println("Tag Set: " + operation.s3PutObjectTagging().tagSet());
}
JobReport report = response.job().report();
System.out.println("Report Bucket: " + report.bucket());
System.out.println("Report Prefix: " + report.prefix());
System.out.println("Report Format: " + report.format());
System.out.println("Report Enabled: " + report.enabled());
System.out.println("Report Scope: " + report.reportScopeAsString());
})
.exceptionally(ex -> {
System.err.println("Failed to describe job: " + ex.getMessage());
throw new RuntimeException(ex);
});
}