CreateDataset - AWS IoT Analytics

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.

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 the versioningConfiguration 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

tags

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: