DescribeDocumentClassifier Xojo Example
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Dim rest As New Chilkat.Rest
Dim success As Boolean
Dim authAws As New Chilkat.AuthAws
authAws.AccessKey = "AWS_ACCESS_KEY"
authAws.SecretKey = "AWS_SECRET_KEY"
// Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
authAws.Region = "us-west-2"
authAws.ServiceName = "comprehend"
// SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
success = rest.SetAuthAws(authAws)
// URL: https://comprehend.us-west-2.amazonaws.com/
// Use the same region as specified above.
success = rest.Connect("comprehend.us-west-2.amazonaws.com",443,True,True)
If (success <> True) Then
System.DebugLog("ConnectFailReason: " + Str(rest.ConnectFailReason))
System.DebugLog(rest.LastErrorText)
Return
End If
// The following code creates the JSON request body.
// The JSON created by this code is shown below.
// Use this online tool to generate code from sample JSON:
// Generate Code to Create JSON
Dim json As New Chilkat.JsonObject
success = json.UpdateString("DocumentClassifierArn","string")
// The JSON request body created by the above code:
// {
// "DocumentClassifierArn": "string"
// }
success = rest.AddHeader("Content-Type","application/x-amz-json-1.1")
success = rest.AddHeader("X-Amz-Target","Comprehend_20171127.DescribeDocumentClassifier")
Dim sbRequestBody As New Chilkat.StringBuilder
success = json.EmitSb(sbRequestBody)
Dim sbResponseBody As New Chilkat.StringBuilder
success = rest.FullRequestSb("POST","/",sbRequestBody,sbResponseBody)
If (success <> True) Then
System.DebugLog(rest.LastErrorText)
Return
End If
Dim respStatusCode As Int32
respStatusCode = rest.ResponseStatusCode
System.DebugLog("response status code = " + Str(respStatusCode))
If (respStatusCode <> 200) Then
System.DebugLog("Response Header:")
System.DebugLog(rest.ResponseHeader)
System.DebugLog("Response Body:")
System.DebugLog(sbResponseBody.GetAsString())
Return
End If
Dim jResp As New Chilkat.JsonObject
success = jResp.LoadSb(sbResponseBody)
// The following code parses the JSON response.
// A sample JSON response is shown below the sample code.
// Use this online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
Dim AnnotationDataS3Uri As String
Dim DocumentType As String
Dim SourceDocumentsS3Uri As String
Dim Split As String
Dim j As Int32
Dim count_j As Int32
Dim strVal As String
Dim Accuracy As Int32
Accuracy = jResp.IntOf("DocumentClassifierProperties.ClassifierMetadata.EvaluationMetrics.Accuracy")
Dim F1Score As Int32
F1Score = jResp.IntOf("DocumentClassifierProperties.ClassifierMetadata.EvaluationMetrics.F1Score")
Dim HammingLoss As Int32
HammingLoss = jResp.IntOf("DocumentClassifierProperties.ClassifierMetadata.EvaluationMetrics.HammingLoss")
Dim MicroF1Score As Int32
MicroF1Score = jResp.IntOf("DocumentClassifierProperties.ClassifierMetadata.EvaluationMetrics.MicroF1Score")
Dim MicroPrecision As Int32
MicroPrecision = jResp.IntOf("DocumentClassifierProperties.ClassifierMetadata.EvaluationMetrics.MicroPrecision")
Dim MicroRecall As Int32
MicroRecall = jResp.IntOf("DocumentClassifierProperties.ClassifierMetadata.EvaluationMetrics.MicroRecall")
Dim Precision As Int32
Precision = jResp.IntOf("DocumentClassifierProperties.ClassifierMetadata.EvaluationMetrics.Precision")
Dim Recall As Int32
Recall = jResp.IntOf("DocumentClassifierProperties.ClassifierMetadata.EvaluationMetrics.Recall")
Dim NumberOfLabels As Int32
NumberOfLabels = jResp.IntOf("DocumentClassifierProperties.ClassifierMetadata.NumberOfLabels")
Dim NumberOfTestDocuments As Int32
NumberOfTestDocuments = jResp.IntOf("DocumentClassifierProperties.ClassifierMetadata.NumberOfTestDocuments")
Dim NumberOfTrainedDocuments As Int32
NumberOfTrainedDocuments = jResp.IntOf("DocumentClassifierProperties.ClassifierMetadata.NumberOfTrainedDocuments")
Dim DataAccessRoleArn As String
DataAccessRoleArn = jResp.StringOf("DocumentClassifierProperties.DataAccessRoleArn")
Dim DocumentClassifierArn As String
DocumentClassifierArn = jResp.StringOf("DocumentClassifierProperties.DocumentClassifierArn")
Dim EndTime As Int32
EndTime = jResp.IntOf("DocumentClassifierProperties.EndTime")
Dim DataFormat As String
DataFormat = jResp.StringOf("DocumentClassifierProperties.InputDataConfig.DataFormat")
Dim LabelDelimiter As String
LabelDelimiter = jResp.StringOf("DocumentClassifierProperties.InputDataConfig.LabelDelimiter")
Dim S3Uri As String
S3Uri = jResp.StringOf("DocumentClassifierProperties.InputDataConfig.S3Uri")
Dim TestS3Uri As String
TestS3Uri = jResp.StringOf("DocumentClassifierProperties.InputDataConfig.TestS3Uri")
Dim LanguageCode As String
LanguageCode = jResp.StringOf("DocumentClassifierProperties.LanguageCode")
Dim Message As String
Message = jResp.StringOf("DocumentClassifierProperties.Message")
Dim Mode As String
Mode = jResp.StringOf("DocumentClassifierProperties.Mode")
Dim ModelKmsKeyId As String
ModelKmsKeyId = jResp.StringOf("DocumentClassifierProperties.ModelKmsKeyId")
Dim KmsKeyId As String
KmsKeyId = jResp.StringOf("DocumentClassifierProperties.OutputDataConfig.KmsKeyId")
Dim OutputDataConfigS3Uri As String
OutputDataConfigS3Uri = jResp.StringOf("DocumentClassifierProperties.OutputDataConfig.S3Uri")
Dim SourceModelArn As String
SourceModelArn = jResp.StringOf("DocumentClassifierProperties.SourceModelArn")
Dim Status As String
Status = jResp.StringOf("DocumentClassifierProperties.Status")
Dim SubmitTime As Int32
SubmitTime = jResp.IntOf("DocumentClassifierProperties.SubmitTime")
Dim TrainingEndTime As Int32
TrainingEndTime = jResp.IntOf("DocumentClassifierProperties.TrainingEndTime")
Dim TrainingStartTime As Int32
TrainingStartTime = jResp.IntOf("DocumentClassifierProperties.TrainingStartTime")
Dim VersionName As String
VersionName = jResp.StringOf("DocumentClassifierProperties.VersionName")
Dim VolumeKmsKeyId As String
VolumeKmsKeyId = jResp.StringOf("DocumentClassifierProperties.VolumeKmsKeyId")
Dim i As Int32
i = 0
Dim count_i As Int32
count_i = jResp.SizeOfArray("DocumentClassifierProperties.InputDataConfig.AugmentedManifests")
While i < count_i
jResp.I = i
AnnotationDataS3Uri = jResp.StringOf("DocumentClassifierProperties.InputDataConfig.AugmentedManifests[i].AnnotationDataS3Uri")
DocumentType = jResp.StringOf("DocumentClassifierProperties.InputDataConfig.AugmentedManifests[i].DocumentType")
S3Uri = jResp.StringOf("DocumentClassifierProperties.InputDataConfig.AugmentedManifests[i].S3Uri")
SourceDocumentsS3Uri = jResp.StringOf("DocumentClassifierProperties.InputDataConfig.AugmentedManifests[i].SourceDocumentsS3Uri")
Split = jResp.StringOf("DocumentClassifierProperties.InputDataConfig.AugmentedManifests[i].Split")
j = 0
count_j = jResp.SizeOfArray("DocumentClassifierProperties.InputDataConfig.AugmentedManifests[i].AttributeNames")
While j < count_j
jResp.J = j
strVal = jResp.StringOf("DocumentClassifierProperties.InputDataConfig.AugmentedManifests[i].AttributeNames[j]")
j = j + 1
Wend
i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("DocumentClassifierProperties.VpcConfig.SecurityGroupIds")
While i < count_i
jResp.I = i
strVal = jResp.StringOf("DocumentClassifierProperties.VpcConfig.SecurityGroupIds[i]")
i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("DocumentClassifierProperties.VpcConfig.Subnets")
While i < count_i
jResp.I = i
strVal = jResp.StringOf("DocumentClassifierProperties.VpcConfig.Subnets[i]")
i = i + 1
Wend
// A sample JSON response body parsed by the above code:
// {
// "DocumentClassifierProperties": {
// "ClassifierMetadata": {
// "EvaluationMetrics": {
// "Accuracy": number,
// "F1Score": number,
// "HammingLoss": number,
// "MicroF1Score": number,
// "MicroPrecision": number,
// "MicroRecall": number,
// "Precision": number,
// "Recall": number
// },
// "NumberOfLabels": number,
// "NumberOfTestDocuments": number,
// "NumberOfTrainedDocuments": number
// },
// "DataAccessRoleArn": "string",
// "DocumentClassifierArn": "string",
// "EndTime": number,
// "InputDataConfig": {
// "AugmentedManifests": [
// {
// "AnnotationDataS3Uri": "string",
// "AttributeNames": [
// "string"
// ],
// "DocumentType": "string",
// "S3Uri": "string",
// "SourceDocumentsS3Uri": "string",
// "Split": "string"
// }
// ],
// "DataFormat": "string",
// "LabelDelimiter": "string",
// "S3Uri": "string",
// "TestS3Uri": "string"
// },
// "LanguageCode": "string",
// "Message": "string",
// "Mode": "string",
// "ModelKmsKeyId": "string",
// "OutputDataConfig": {
// "KmsKeyId": "string",
// "S3Uri": "string"
// },
// "SourceModelArn": "string",
// "Status": "string",
// "SubmitTime": number,
// "TrainingEndTime": number,
// "TrainingStartTime": number,
// "VersionName": "string",
// "VolumeKmsKeyId": "string",
// "VpcConfig": {
// "SecurityGroupIds": [
// "string"
// ],
// "Subnets": [
// "string"
// ]
// }
// }
// }