问题描述
我正在使用 StartEntitiesDetectionV2JobRequest
函数启动 Comprehend Medical 工作请求。
在文档中,它说“要获取作业的状态,请在 DescribeEntitiesDetectionV2Job 操作中使用 this(JobId) 标识符”,但是没有名为 DescribeEntitiesDetectionV2Job
的操作,只有 DescribeEntitiesDetectionV2JobRequest
和 DescribeEntitiesDetectionV2JobResponse
.
如何调用 DescribeEntitiesDetectionV2JobResponse
(或任何其他函数)来获取作业的状态?
我在想这样的事情会奏效:
ComprehendMedicalAsyncJobProperties jobProperties = new ComprehendMedicalAsyncJobProperties()
{
DataAccessRoleArn = "arn:aws:iam::1129587198257:role/role_name",InputDataConfig = input,OutputDataConfig = output
};
DescribeEntitiesDetectionV2JobResponse requestResponse = new DescribeEntitiesDetectionV2JobResponse()
{
ComprehendMedicalAsyncJobProperties = jobProperties
};
while(requestResponse.HttpStatusCode!=(*something that would indicate that the job is completed here*))
{
Thread.Sleep(500);
}
解决方法
InputDataConfig input = new InputDataConfig()
{
S3Bucket = "your_bucket_here",S3Key = "subdirectory_name"
};
OutputDataConfig output = new OutputDataConfig()
{
S3Bucket = "your_bucket_here",S3Key = "subdirectory_name"
};
StartEntitiesDetectionV2JobRequest request = new StartEntitiesDetectionV2JobRequest()
{
InputDataConfig = input,JobName = "job_name_example",LanguageCode = "en",OutputDataConfig = output,DataAccessRoleArn = "arn:aws:iam::12312512512:role/acces_role_name_here"
};
StartEntitiesDetectionV2JobResponse comprehendResult = comprehendClient.StartEntitiesDetectionV2JobAsync(request).GetAwaiter().GetResult();
DescribeEntitiesDetectionV2JobRequest entitiesDetectionV2JobRequest = new DescribeEntitiesDetectionV2JobRequest()
{
JobId = comprehendResult.JobId
};
DescribeEntitiesDetectionV2JobResponse comprehendResult2 = comprehendClient.DescribeEntitiesDetectionV2JobAsync(entitiesDetectionV2JobRequest).GetAwaiter().GetResult();