DescribeDataset Go Example
// 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("iotanalytics")
// SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
rest.SetAuthAws(authAws)
// URL: https://iotanalytics.us-west-2.amazonaws.com/
// Use the same region as specified above.
success = rest.Connect("iotanalytics.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
}
rest.AddHeader("Content-Type","application/x-amz-json-1.1")
rest.AddHeader("X-Amz-Target","DescribeDataset")
sbResponseBody := chilkat.NewStringBuilder()
success = rest.FullRequestNoBodySb("GET","/datasets/{datasetName}",sbResponseBody)
if success != true {
fmt.Println(rest.LastErrorText())
rest.DisposeRest()
authAws.DisposeAuthAws()
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()
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
actionName_DECLARATION
ExecutionRoleArn_DECLARATION
Image_DECLARATION
ComputeType_DECLARATION
var VolumeSizeInGB int
SqlQuery_DECLARATION
var j int
var count_j int
DatasetName_DECLARATION
var doubleValue int
name_DECLARATION
FileName_DECLARATION
stringValue_DECLARATION
var OffsetSeconds int
TimeExpression_DECLARATION
InputName_DECLARATION
RoleArn_DECLARATION
Bucket_DECLARATION
DatabaseName_DECLARATION
TableName_DECLARATION
Key_DECLARATION
S3DestinationConfigurationRoleArn_DECLARATION
entryName_DECLARATION
var TimeoutInMinutes int
ruleName_DECLARATION
datasetName_DECLARATION
Expression_DECLARATION
Arn := jResp.StringOf("dataset.arn")
CreationTime := jResp.IntOf("dataset.creationTime")
LastUpdateTime := jResp.IntOf("dataset.lastUpdateTime")
Name := jResp.StringOf("dataset.name")
NumberOfDays := jResp.IntOf("dataset.retentionPeriod.numberOfDays")
Unlimited := jResp.IntOf("dataset.retentionPeriod.unlimited")
Status := jResp.StringOf("dataset.status")
MaxVersions := jResp.IntOf("dataset.versioningConfiguration.maxVersions")
VersioningConfigurationUnlimited := jResp.IntOf("dataset.versioningConfiguration.unlimited")
i := 0
count_i := jResp.SizeOfArray("dataset.actions")
for i < count_i {
jResp.SetI(i)
actionName = *jResp.StringOf("dataset.actions[i].actionName")
ExecutionRoleArn = *jResp.StringOf("dataset.actions[i].containerAction.executionRoleArn")
Image = *jResp.StringOf("dataset.actions[i].containerAction.image")
ComputeType = *jResp.StringOf("dataset.actions[i].containerAction.resourceConfiguration.computeType")
VolumeSizeInGB = jResp.IntOf("dataset.actions[i].containerAction.resourceConfiguration.volumeSizeInGB")
SqlQuery = *jResp.StringOf("dataset.actions[i].queryAction.sqlQuery")
j = 0
count_j = jResp.SizeOfArray("dataset.actions[i].containerAction.variables")
for j < count_j {
jResp.SetJ(j)
DatasetName = *jResp.StringOf("dataset.actions[i].containerAction.variables[j].datasetContentVersionValue.datasetName")
doubleValue = jResp.IntOf("dataset.actions[i].containerAction.variables[j].doubleValue")
name = *jResp.StringOf("dataset.actions[i].containerAction.variables[j].name")
FileName = *jResp.StringOf("dataset.actions[i].containerAction.variables[j].outputFileUriValue.fileName")
stringValue = *jResp.StringOf("dataset.actions[i].containerAction.variables[j].stringValue")
j = j + 1
}
j = 0
count_j = jResp.SizeOfArray("dataset.actions[i].queryAction.filters")
for j < count_j {
jResp.SetJ(j)
OffsetSeconds = jResp.IntOf("dataset.actions[i].queryAction.filters[j].deltaTime.offsetSeconds")
TimeExpression = *jResp.StringOf("dataset.actions[i].queryAction.filters[j].deltaTime.timeExpression")
j = j + 1
}
i = i + 1
}
i = 0
count_i = jResp.SizeOfArray("dataset.contentDeliveryRules")
for i < count_i {
jResp.SetI(i)
InputName = *jResp.StringOf("dataset.contentDeliveryRules[i].destination.iotEventsDestinationConfiguration.inputName")
RoleArn = *jResp.StringOf("dataset.contentDeliveryRules[i].destination.iotEventsDestinationConfiguration.roleArn")
Bucket = *jResp.StringOf("dataset.contentDeliveryRules[i].destination.s3DestinationConfiguration.bucket")
DatabaseName = *jResp.StringOf("dataset.contentDeliveryRules[i].destination.s3DestinationConfiguration.glueConfiguration.databaseName")
TableName = *jResp.StringOf("dataset.contentDeliveryRules[i].destination.s3DestinationConfiguration.glueConfiguration.tableName")
Key = *jResp.StringOf("dataset.contentDeliveryRules[i].destination.s3DestinationConfiguration.key")
S3DestinationConfigurationRoleArn = *jResp.StringOf("dataset.contentDeliveryRules[i].destination.s3DestinationConfiguration.roleArn")
entryName = *jResp.StringOf("dataset.contentDeliveryRules[i].entryName")
i = i + 1
}
i = 0
count_i = jResp.SizeOfArray("dataset.lateDataRules")
for i < count_i {
jResp.SetI(i)
TimeoutInMinutes = jResp.IntOf("dataset.lateDataRules[i].ruleConfiguration.deltaTimeSessionWindowConfiguration.timeoutInMinutes")
ruleName = *jResp.StringOf("dataset.lateDataRules[i].ruleName")
i = i + 1
}
i = 0
count_i = jResp.SizeOfArray("dataset.triggers")
for i < count_i {
jResp.SetI(i)
datasetName = *jResp.StringOf("dataset.triggers[i].dataset.name")
Expression = *jResp.StringOf("dataset.triggers[i].schedule.expression")
i = i + 1
}
// A sample JSON response body parsed by the above code:
// {
// "dataset": {
// "actions": [
// {
// "actionName": "string",
// "containerAction": {
// "executionRoleArn": "string",
// "image": "string",
// "resourceConfiguration": {
// "computeType": "string",
// "volumeSizeInGB": number
// },
// "variables": [
// {
// "datasetContentVersionValue": {
// "datasetName": "string"
// },
// "doubleValue": number,
// "name": "string",
// "outputFileUriValue": {
// "fileName": "string"
// },
// "stringValue": "string"
// }
// ]
// },
// "queryAction": {
// "filters": [
// {
// "deltaTime": {
// "offsetSeconds": number,
// "timeExpression": "string"
// }
// }
// ],
// "sqlQuery": "string"
// }
// }
// ],
// "arn": "string",
// "contentDeliveryRules": [
// {
// "destination": {
// "iotEventsDestinationConfiguration": {
// "inputName": "string",
// "roleArn": "string"
// },
// "s3DestinationConfiguration": {
// "bucket": "string",
// "glueConfiguration": {
// "databaseName": "string",
// "tableName": "string"
// },
// "key": "string",
// "roleArn": "string"
// }
// },
// "entryName": "string"
// }
// ],
// "creationTime": number,
// "lastUpdateTime": number,
// "lateDataRules": [
// {
// "ruleConfiguration": {
// "deltaTimeSessionWindowConfiguration": {
// "timeoutInMinutes": number
// }
// },
// "ruleName": "string"
// }
// ],
// "name": "string",
// "retentionPeriod": {
// "numberOfDays": number,
// "unlimited": boolean
// },
// "status": "string",
// "triggers": [
// {
// "dataset": {
// "name": "string"
// },
// "schedule": {
// "expression": "string"
// }
// }
// ],
// "versioningConfiguration": {
// "maxVersions": number,
// "unlimited": boolean
// }
// }
// }
rest.DisposeRest()
authAws.DisposeAuthAws()
sbResponseBody.DisposeStringBuilder()
jResp.DisposeJsonObject()