CreateDataset
Used to create a dataset. A dataset stores data retrieved from a data store by applying a
queryAction
(a SQL query) or a containerAction
(executing a
containerized application). This operation creates the skeleton of a dataset. The dataset can
be populated manually by calling CreateDatasetContent
or automatically according
to a trigger you specify.
Important
The CreateDataset operation in AWS IoT Analytics is no longer available to new customers. Existing customers of AWS IoT Analytics can continue
to use the service as normal.
Learn more
Request Syntax
POST /datasets HTTP/1.1
Content-type: application/json
{
"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
"
}
}
],
"contentDeliveryRules": [
{
"destination": {
"iotEventsDestinationConfiguration": {
"inputName": "string
",
"roleArn": "string
"
},
"s3DestinationConfiguration": {
"bucket": "string
",
"glueConfiguration": {
"databaseName": "string
",
"tableName": "string
"
},
"key": "string
",
"roleArn": "string
"
}
},
"entryName": "string
"
}
],
"datasetName": "string
",
"lateDataRules": [
{
"ruleConfiguration": {
"deltaTimeSessionWindowConfiguration": {
"timeoutInMinutes": number
}
},
"ruleName": "string
"
}
],
"retentionPeriod": {
"numberOfDays": number
,
"unlimited": boolean
},
"tags": [
{
"key": "string
",
"value": "string
"
}
],
"triggers": [
{
"dataset": {
"name": "string
"
},
"schedule": {
"expression": "string
"
}
}
],
"versioningConfiguration": {
"maxVersions": number
,
"unlimited": boolean
}
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- actions
-
A list of actions that create the dataset contents.
Type: Array of DatasetAction objects
Array Members: Fixed number of 1 item.
Required: Yes
- contentDeliveryRules
-
When dataset contents are created, they are delivered to destinations specified here.
Type: Array of DatasetContentDeliveryRule objects
Array Members: Minimum number of 0 items. Maximum number of 20 items.
Required: No
- datasetName
-
The name of the dataset.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
(^(?!_{2}))(^[a-zA-Z0-9_]+$)
Required: Yes
- lateDataRules
-
A list of data rules that send notifications to CloudWatch, when data arrives late. To specify
lateDataRules
, the dataset must use a DeltaTimer filter.Type: Array of LateDataRule objects
Array Members: Fixed number of 1 item.
Required: No
- retentionPeriod
-
Optional. How long, in days, versions of dataset contents are kept for the dataset. If not specified or set to
null
, versions of dataset contents are retained for at most 90 days. The number of versions of dataset contents retained is determined by theversioningConfiguration
parameter. For more information, see Keeping Multiple Versions of AWS IoT Analytics datasets in the AWS IoT Analytics User Guide.Type: RetentionPeriod object
Required: No
-
Metadata which can be used to manage the dataset.
Type: Array of Tag objects
Array Members: Minimum number of 1 item. Maximum number of 50 items.
Required: No
- triggers
-
A list of triggers. A trigger causes dataset contents to be populated at a specified time interval or when another dataset's contents are created. The list of triggers can be empty or contain up to five
DataSetTrigger
objects.Type: Array of DatasetTrigger objects
Array Members: Minimum number of 0 items. Maximum number of 5 items.
Required: No
- versioningConfiguration
-
Optional. How many versions of dataset contents are kept. If not specified or set to null, only the latest version plus the latest succeeded version (if they are different) are kept for the time period specified by the
retentionPeriod
parameter. For more information, see Keeping Multiple Versions of AWS IoT Analytics datasets in the AWS IoT Analytics User Guide.Type: VersioningConfiguration object
Required: No
Response Syntax
HTTP/1.1 201
Content-type: application/json
{
"datasetArn": "string",
"datasetName": "string",
"retentionPeriod": {
"numberOfDays": number,
"unlimited": boolean
}
}
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
The following data is returned in JSON format by the service.
- datasetArn
-
The ARN of the dataset.
Type: String
- datasetName
-
The name of the dataset.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
(^(?!_{2}))(^[a-zA-Z0-9_]+$)
- retentionPeriod
-
How long, in days, dataset contents are kept for the dataset.
Type: RetentionPeriod object
Errors
For information about the errors that are common to all actions, see Common Errors.
- InternalFailureException
-
There was an internal failure.
HTTP Status Code: 500
- InvalidRequestException
-
The request was not valid.
HTTP Status Code: 400
- LimitExceededException
-
The command caused an internal limit to be exceeded.
HTTP Status Code: 410
- ResourceAlreadyExistsException
-
A resource with the same name already exists.
HTTP Status Code: 409
- ServiceUnavailableException
-
The service is temporarily unavailable.
HTTP Status Code: 503
- ThrottlingException
-
The request was denied due to request throttling.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: