Chilkat Online Tools

ListDocumentClassifiers Go Example

Amazon Comprehend

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

    rest := chilkat.NewRest()
    var success bool

    authAws := chilkat.NewAuthAws()
    authAws.SetAccessKey("AWS_ACCESS_KEY")
    authAws.SetSecretKey("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.SetRegion("us-west-2")
    authAws.SetServiceName("comprehend")
    // SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
    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 {
        fmt.Println("ConnectFailReason: ", rest.ConnectFailReason())
        fmt.Println(rest.LastErrorText())
        rest.DisposeRest()
        authAws.DisposeAuthAws()
        return
    }

    // 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

    json := chilkat.NewJsonObject()
    json.UpdateString("Filter.DocumentClassifierName","string")
    json.UpdateString("Filter.Status","string")
    json.UpdateInt("Filter.SubmitTimeAfter",123)
    json.UpdateInt("Filter.SubmitTimeBefore",123)
    json.UpdateInt("MaxResults",123)
    json.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"
    // }

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

    sbRequestBody := chilkat.NewStringBuilder()
    json.EmitSb(sbRequestBody)
    sbResponseBody := chilkat.NewStringBuilder()
    success = rest.FullRequestSb("POST","/",sbRequestBody,sbResponseBody)
    if success != true {
        fmt.Println(rest.LastErrorText())
        rest.DisposeRest()
        authAws.DisposeAuthAws()
        json.DisposeJsonObject()
        sbRequestBody.DisposeStringBuilder()
        sbResponseBody.DisposeStringBuilder()
        return
    }

    respStatusCode := rest.ResponseStatusCode()
    fmt.Println("response status code = ", respStatusCode)
    if respStatusCode != 200 {
        fmt.Println("Response Header:")
        fmt.Println(rest.ResponseHeader())
        fmt.Println("Response Body:")
        fmt.Println(*sbResponseBody.GetAsString())
        rest.DisposeRest()
        authAws.DisposeAuthAws()
        json.DisposeJsonObject()
        sbRequestBody.DisposeStringBuilder()
        sbResponseBody.DisposeStringBuilder()
        return
    }

    jResp := chilkat.NewJsonObject()
    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

    var Accuracy int
    var F1Score int
    var HammingLoss int
    var MicroF1Score int
    var MicroPrecision int
    var MicroRecall int
    var Precision int
    var Recall int
    var NumberOfLabels int
    var NumberOfTestDocuments int
    var NumberOfTrainedDocuments int
DataAccessRoleArn_DECLARATION
DocumentClassifierArn_DECLARATION
    var EndTime int
DataFormat_DECLARATION
LabelDelimiter_DECLARATION
S3Uri_DECLARATION
TestS3Uri_DECLARATION
LanguageCode_DECLARATION
Message_DECLARATION
Mode_DECLARATION
ModelKmsKeyId_DECLARATION
KmsKeyId_DECLARATION
OutputDataConfigS3Uri_DECLARATION
SourceModelArn_DECLARATION
Status_DECLARATION
    var SubmitTime int
    var TrainingEndTime int
    var TrainingStartTime int
VersionName_DECLARATION
VolumeKmsKeyId_DECLARATION
    var j int
    var count_j int
AnnotationDataS3Uri_DECLARATION
DocumentType_DECLARATION
SourceDocumentsS3Uri_DECLARATION
Split_DECLARATION
    var k int
    var count_k int
strVal_DECLARATION

    NextToken := jResp.StringOf("NextToken")
    i := 0
    count_i := jResp.SizeOfArray("DocumentClassifierPropertiesList")
    for i < count_i {
        jResp.SetI(i)
        Accuracy = jResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.EvaluationMetrics.Accuracy")
        F1Score = jResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.EvaluationMetrics.F1Score")
        HammingLoss = jResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.EvaluationMetrics.HammingLoss")
        MicroF1Score = jResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.EvaluationMetrics.MicroF1Score")
        MicroPrecision = jResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.EvaluationMetrics.MicroPrecision")
        MicroRecall = jResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.EvaluationMetrics.MicroRecall")
        Precision = jResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.EvaluationMetrics.Precision")
        Recall = jResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.EvaluationMetrics.Recall")
        NumberOfLabels = jResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.NumberOfLabels")
        NumberOfTestDocuments = jResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.NumberOfTestDocuments")
        NumberOfTrainedDocuments = jResp.IntOf("DocumentClassifierPropertiesList[i].ClassifierMetadata.NumberOfTrainedDocuments")
        DataAccessRoleArn = *jResp.StringOf("DocumentClassifierPropertiesList[i].DataAccessRoleArn")
        DocumentClassifierArn = *jResp.StringOf("DocumentClassifierPropertiesList[i].DocumentClassifierArn")
        EndTime = jResp.IntOf("DocumentClassifierPropertiesList[i].EndTime")
        DataFormat = *jResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.DataFormat")
        LabelDelimiter = *jResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.LabelDelimiter")
        S3Uri = *jResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.S3Uri")
        TestS3Uri = *jResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.TestS3Uri")
        LanguageCode = *jResp.StringOf("DocumentClassifierPropertiesList[i].LanguageCode")
        Message = *jResp.StringOf("DocumentClassifierPropertiesList[i].Message")
        Mode = *jResp.StringOf("DocumentClassifierPropertiesList[i].Mode")
        ModelKmsKeyId = *jResp.StringOf("DocumentClassifierPropertiesList[i].ModelKmsKeyId")
        KmsKeyId = *jResp.StringOf("DocumentClassifierPropertiesList[i].OutputDataConfig.KmsKeyId")
        OutputDataConfigS3Uri = *jResp.StringOf("DocumentClassifierPropertiesList[i].OutputDataConfig.S3Uri")
        SourceModelArn = *jResp.StringOf("DocumentClassifierPropertiesList[i].SourceModelArn")
        Status = *jResp.StringOf("DocumentClassifierPropertiesList[i].Status")
        SubmitTime = jResp.IntOf("DocumentClassifierPropertiesList[i].SubmitTime")
        TrainingEndTime = jResp.IntOf("DocumentClassifierPropertiesList[i].TrainingEndTime")
        TrainingStartTime = jResp.IntOf("DocumentClassifierPropertiesList[i].TrainingStartTime")
        VersionName = *jResp.StringOf("DocumentClassifierPropertiesList[i].VersionName")
        VolumeKmsKeyId = *jResp.StringOf("DocumentClassifierPropertiesList[i].VolumeKmsKeyId")
        j = 0
        count_j = jResp.SizeOfArray("DocumentClassifierPropertiesList[i].InputDataConfig.AugmentedManifests")
        for j < count_j {
            jResp.SetJ(j)
            AnnotationDataS3Uri = *jResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.AugmentedManifests[j].AnnotationDataS3Uri")
            DocumentType = *jResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.AugmentedManifests[j].DocumentType")
            S3Uri = *jResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.AugmentedManifests[j].S3Uri")
            SourceDocumentsS3Uri = *jResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.AugmentedManifests[j].SourceDocumentsS3Uri")
            Split = *jResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.AugmentedManifests[j].Split")
            k = 0
            count_k = jResp.SizeOfArray("DocumentClassifierPropertiesList[i].InputDataConfig.AugmentedManifests[j].AttributeNames")
            for k < count_k {
                jResp.SetK(k)
                strVal = *jResp.StringOf("DocumentClassifierPropertiesList[i].InputDataConfig.AugmentedManifests[j].AttributeNames[k]")
                k = k + 1
            }

            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("DocumentClassifierPropertiesList[i].VpcConfig.SecurityGroupIds")
        for j < count_j {
            jResp.SetJ(j)
            strVal = *jResp.StringOf("DocumentClassifierPropertiesList[i].VpcConfig.SecurityGroupIds[j]")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("DocumentClassifierPropertiesList[i].VpcConfig.Subnets")
        for j < count_j {
            jResp.SetJ(j)
            strVal = *jResp.StringOf("DocumentClassifierPropertiesList[i].VpcConfig.Subnets[j]")
            j = j + 1
        }

        i = i + 1
    }

    // 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"
    // }

    rest.DisposeRest()
    authAws.DisposeAuthAws()
    json.DisposeJsonObject()
    sbRequestBody.DisposeStringBuilder()
    sbResponseBody.DisposeStringBuilder()
    jResp.DisposeJsonObject()