Chilkat Online Tools

ListDocumentClassifiers autoit Example

Amazon Comprehend

; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.

$oRest = ObjCreate("Chilkat_9_5_0.Rest")
Local $bSuccess

$oAuthAws = ObjCreate("Chilkat_9_5_0.AuthAws")
$oAuthAws.AccessKey = "AWS_ACCESS_KEY"
$oAuthAws.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.)
$oAuthAws.Region = "us-west-2"
$oAuthAws.ServiceName = "comprehend"
; SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
$oRest.SetAuthAws($oAuthAws)

; URL: https://comprehend.us-west-2.amazonaws.com/
; Use the same region as specified above.
$bSuccess = $oRest.Connect("comprehend.us-west-2.amazonaws.com",443,True,True)
If ($bSuccess <> True) Then
    ConsoleWrite("ConnectFailReason: " & $oRest.ConnectFailReason & @CRLF)
    ConsoleWrite($oRest.LastErrorText & @CRLF)
    Exit
EndIf

; 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

$oJson = ObjCreate("Chilkat_9_5_0.JsonObject")
$oJson.UpdateString("Filter.DocumentClassifierName","string")
$oJson.UpdateString("Filter.Status","string")
$oJson.UpdateInt("Filter.SubmitTimeAfter",123)
$oJson.UpdateInt("Filter.SubmitTimeBefore",123)
$oJson.UpdateInt("MaxResults",123)
$oJson.UpdateString("NextToken","string")

; The JSON request body created by the above code:

; {
;   "Filter": {
;     "DocumentClassifierName": "string",
;     "Status": "string",
;     "SubmitTimeAfter": number,
;     "SubmitTimeBefore": number
;   },
;   "MaxResults": number,
;   "NextToken": "string"
; }

$oRest.AddHeader("Content-Type","application/x-amz-json-1.1")
$oRest.AddHeader("X-Amz-Target","Comprehend_20171127.ListDocumentClassifiers")

$oSbRequestBody = ObjCreate("Chilkat_9_5_0.StringBuilder")
$oJson.EmitSb($oSbRequestBody)
$oSbResponseBody = ObjCreate("Chilkat_9_5_0.StringBuilder")
$bSuccess = $oRest.FullRequestSb("POST","/",$oSbRequestBody,$oSbResponseBody)
If ($bSuccess <> True) Then
    ConsoleWrite($oRest.LastErrorText & @CRLF)
    Exit
EndIf

Local $iRespStatusCode = $oRest.ResponseStatusCode
ConsoleWrite("response status code = " & $iRespStatusCode & @CRLF)
If ($iRespStatusCode <> 200) Then
    ConsoleWrite("Response Header:" & @CRLF)
    ConsoleWrite($oRest.ResponseHeader & @CRLF)
    ConsoleWrite("Response Body:" & @CRLF)
    ConsoleWrite($oSbResponseBody.GetAsString() & @CRLF)
    Exit
EndIf

$oJResp = ObjCreate("Chilkat_9_5_0.JsonObject")
$oJResp.LoadSb($oSbResponseBody)

; 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

Local $iAccuracy
Local $iF1Score
Local $iHammingLoss
Local $iMicroF1Score
Local $iMicroPrecision
Local $iMicroRecall
Local $iPrecision
Local $iRecall
Local $iNumberOfLabels
Local $iNumberOfTestDocuments
Local $iNumberOfTrainedDocuments
Local $sDataAccessRoleArn
Local $sDocumentClassifierArn
Local $iEndTime
Local $sDataFormat
Local $sLabelDelimiter
Local $sS3Uri
Local $sTestS3Uri
Local $sLanguageCode
Local $sMessage
Local $sMode
Local $sModelKmsKeyId
Local $sKmsKeyId
Local $sOutputDataConfigS3Uri
Local $sSourceModelArn
Local $sStatus
Local $iSubmitTime
Local $iTrainingEndTime
Local $iTrainingStartTime
Local $sVersionName
Local $sVolumeKmsKeyId
Local $iJ
Local $iCount_j
Local $sAnnotationDataS3Uri
Local $sDocumentType
Local $sSourceDocumentsS3Uri
Local $sSplit
Local $iK
Local $iCount_k
Local $strVal

Local $sNextToken = $oJResp.StringOf("NextToken")
Local $i = 0
Local $iCount_i = $oJResp.SizeOfArray("DocumentClassifierPropertiesList")
While $i < $iCount_i
    $oJResp.I = $i
    $iAccuracy = $oJResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.EvaluationMetrics.Accuracy")
    $iF1Score = $oJResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.EvaluationMetrics.F1Score")
    $iHammingLoss = $oJResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.EvaluationMetrics.HammingLoss")
    $iMicroF1Score = $oJResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.EvaluationMetrics.MicroF1Score")
    $iMicroPrecision = $oJResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.EvaluationMetrics.MicroPrecision")
    $iMicroRecall = $oJResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.EvaluationMetrics.MicroRecall")
    $iPrecision = $oJResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.EvaluationMetrics.Precision")
    $iRecall = $oJResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.EvaluationMetrics.Recall")
    $iNumberOfLabels = $oJResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.NumberOfLabels")
    $iNumberOfTestDocuments = $oJResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.NumberOfTestDocuments")
    $iNumberOfTrainedDocuments = $oJResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.NumberOfTrainedDocuments")
    $sDataAccessRoleArn = $oJResp.StringOf("DocumentClassifierPropertiesList[i].DataAccessRoleArn")
    $sDocumentClassifierArn = $oJResp.StringOf("DocumentClassifierPropertiesList[i].DocumentClassifierArn")
    $iEndTime = $oJResp.IntOf("DocumentClassifierPropertiesList[i].EndTime")
    $sDataFormat = $oJResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.DataFormat")
    $sLabelDelimiter = $oJResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.LabelDelimiter")
    $sS3Uri = $oJResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.S3Uri")
    $sTestS3Uri = $oJResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.TestS3Uri")
    $sLanguageCode = $oJResp.StringOf("DocumentClassifierPropertiesList[i].LanguageCode")
    $sMessage = $oJResp.StringOf("DocumentClassifierPropertiesList[i].Message")
    $sMode = $oJResp.StringOf("DocumentClassifierPropertiesList[i].Mode")
    $sModelKmsKeyId = $oJResp.StringOf("DocumentClassifierPropertiesList[i].ModelKmsKeyId")
    $sKmsKeyId = $oJResp.StringOf("DocumentClassifierPropertiesList[i].OutputDataConfig.KmsKeyId")
    $sOutputDataConfigS3Uri = $oJResp.StringOf("DocumentClassifierPropertiesList[i].OutputDataConfig.S3Uri")
    $sSourceModelArn = $oJResp.StringOf("DocumentClassifierPropertiesList[i].SourceModelArn")
    $sStatus = $oJResp.StringOf("DocumentClassifierPropertiesList[i].Status")
    $iSubmitTime = $oJResp.IntOf("DocumentClassifierPropertiesList[i].SubmitTime")
    $iTrainingEndTime = $oJResp.IntOf("DocumentClassifierPropertiesList[i].TrainingEndTime")
    $iTrainingStartTime = $oJResp.IntOf("DocumentClassifierPropertiesList[i].TrainingStartTime")
    $sVersionName = $oJResp.StringOf("DocumentClassifierPropertiesList[i].VersionName")
    $sVolumeKmsKeyId = $oJResp.StringOf("DocumentClassifierPropertiesList[i].VolumeKmsKeyId")
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("DocumentClassifierPropertiesList[i].InputDataConfig.AugmentedManifests")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sAnnotationDataS3Uri = $oJResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.AugmentedManifests[j].AnnotationDataS3Uri")
        $sDocumentType = $oJResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.AugmentedManifests[j].DocumentType")
        $sS3Uri = $oJResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.AugmentedManifests[j].S3Uri")
        $sSourceDocumentsS3Uri = $oJResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.AugmentedManifests[j].SourceDocumentsS3Uri")
        $sSplit = $oJResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.AugmentedManifests[j].Split")
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("DocumentClassifierPropertiesList[i].InputDataConfig.AugmentedManifests[j].AttributeNames")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $strVal = $oJResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.AugmentedManifests[j].AttributeNames[k]")
            $iK = $iK + 1
        Wend
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("DocumentClassifierPropertiesList[i].VpcConfig.SecurityGroupIds")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $strVal = $oJResp.StringOf("DocumentClassifierPropertiesList[i].VpcConfig.SecurityGroupIds[j]")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("DocumentClassifierPropertiesList[i].VpcConfig.Subnets")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $strVal = $oJResp.StringOf("DocumentClassifierPropertiesList[i].VpcConfig.Subnets[j]")
        $iJ = $iJ + 1
    Wend
    $i = $i + 1
Wend

; A sample JSON response body parsed by the above code:

; {
;   "DocumentClassifierPropertiesList": [
;     {
;       "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"
;         ]
;       }
;     }
;   ],
;   "NextToken": "string"
; }