[ aws . iotfleetwise ]

create-campaign

Description

Creates an orchestration of data collection rules. The Amazon Web Services IoT FleetWise Edge Agent software running in vehicles uses campaigns to decide how to collect and transfer data to the cloud. You create campaigns in the cloud. After you or your team approve campaigns, Amazon Web Services IoT FleetWise automatically deploys them to vehicles.

For more information, see Collect and transfer data with campaigns in the Amazon Web Services IoT FleetWise Developer Guide .

See also: AWS API Documentation

Synopsis

  create-campaign
--name <value>
[--description <value>]
--signal-catalog-arn <value>
--target-arn <value>
[--start-time <value>]
[--expiry-time <value>]
[--post-trigger-collection-duration <value>]
[--diagnostics-mode <value>]
[--spooling-mode <value>]
[--compression <value>]
[--priority <value>]
[--signals-to-collect <value>]
--collection-scheme <value>
[--data-extra-dimensions <value>]
[--tags <value>]
[--data-destination-configs <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]

Options

--name (string)

The name of the campaign to create.

--description (string)

An optional description of the campaign to help identify its purpose.

--signal-catalog-arn (string)

The Amazon Resource Name (ARN) of the signal catalog to associate with the campaign.

--target-arn (string)

The ARN of the vehicle or fleet to deploy a campaign to.

--start-time (timestamp)

(Optional) The time, in milliseconds, to deliver a campaign after it was approved. If it’s not specified, 0 is used.

Default: 0

--expiry-time (timestamp)

(Optional) The time the campaign expires, in seconds since epoch (January 1, 1970 at midnight UTC time). Vehicle data isn’t collected after the campaign expires.

Default: 253402214400 (December 31, 9999, 00:00:00 UTC)

--post-trigger-collection-duration (long)

(Optional) How long (in milliseconds) to collect raw data after a triggering event initiates the collection. If it’s not specified, 0 is used.

Default: 0

--diagnostics-mode (string)

(Optional) Option for a vehicle to send diagnostic trouble codes to Amazon Web Services IoT FleetWise. If you want to send diagnostic trouble codes, use SEND_ACTIVE_DTCS . If it’s not specified, OFF is used.

Default: OFF

Possible values:

  • OFF
  • SEND_ACTIVE_DTCS

--spooling-mode (string)

(Optional) Whether to store collected data after a vehicle lost a connection with the cloud. After a connection is re-established, the data is automatically forwarded to Amazon Web Services IoT FleetWise. If you want to store collected data when a vehicle loses connection with the cloud, use TO_DISK . If it’s not specified, OFF is used.

Default: OFF

Possible values:

  • OFF
  • TO_DISK

--compression (string)

(Optional) Whether to compress signals before transmitting data to Amazon Web Services IoT FleetWise. If you don’t want to compress the signals, use OFF . If it’s not specified, SNAPPY is used.

Default: SNAPPY

Possible values:

  • OFF
  • SNAPPY

--priority (integer)

(Optional) A number indicating the priority of one campaign over another campaign for a certain vehicle or fleet. A campaign with the lowest value is deployed to vehicles before any other campaigns. If it’s not specified, 0 is used.

Default: 0

--signals-to-collect (list)

(Optional) A list of information about signals to collect.

(structure)

Information about a signal.

name -> (string)

The name of the signal.

maxSampleCount -> (long)

The maximum number of samples to collect.

minimumSamplingIntervalMs -> (long)

The minimum duration of time (in milliseconds) between two triggering events to collect data.

Note

If a signal changes often, you might want to collect data at a slower rate.

Shorthand Syntax:

name=string,maxSampleCount=long,minimumSamplingIntervalMs=long ...

JSON Syntax:

[
  {
    "name": "string",
    "maxSampleCount": long,
    "minimumSamplingIntervalMs": long
  }
  ...
]

--collection-scheme (tagged union structure)

The data collection scheme associated with the campaign. You can specify a scheme that collects data based on time or an event.

Note

This is a Tagged Union structure. Only one of the following top level keys can be set: timeBasedCollectionScheme, conditionBasedCollectionScheme.

timeBasedCollectionScheme -> (structure)

Information about a collection scheme that uses a time period to decide how often to collect data.

periodMs -> (long)

The time period (in milliseconds) to decide how often to collect data. For example, if the time period is 60000 , the Edge Agent software collects data once every minute.

conditionBasedCollectionScheme -> (structure)

Information about a collection scheme that uses a simple logical expression to recognize what data to collect.

expression -> (string)

The logical expression used to recognize what data to collect. For example, $variable.`Vehicle.OutsideAirTemperature` >= 105.0 .

minimumTriggerIntervalMs -> (long)

The minimum duration of time between two triggering events to collect data, in milliseconds.

Note

If a signal changes often, you might want to collect data at a slower rate.

triggerMode -> (string)

Whether to collect data for all triggering events (ALWAYS ). Specify (RISING_EDGE ), or specify only when the condition first evaluates to false. For example, triggering on “AirbagDeployed”; Users aren’t interested on triggering when the airbag is already exploded; they only care about the change from not deployed => deployed.

conditionLanguageVersion -> (integer)

Specifies the version of the conditional expression language.

Shorthand Syntax:

timeBasedCollectionScheme={periodMs=long},conditionBasedCollectionScheme={expression=string,minimumTriggerIntervalMs=long,triggerMode=string,conditionLanguageVersion=integer}

JSON Syntax:

{
  "timeBasedCollectionScheme": {
    "periodMs": long
  },
  "conditionBasedCollectionScheme": {
    "expression": "string",
    "minimumTriggerIntervalMs": long,
    "triggerMode": "ALWAYS"|"RISING_EDGE",
    "conditionLanguageVersion": integer
  }
}

--data-extra-dimensions (list)

(Optional) A list of vehicle attributes to associate with a campaign.

Enrich the data with specified vehicle attributes. For example, add make and model to the campaign, and Amazon Web Services IoT FleetWise will associate the data with those attributes as dimensions in Amazon Timestream. You can then query the data against make and model .

Default: An empty array

(string)

Syntax:

"string" "string" ...

--tags (list)

Metadata that can be used to manage the campaign.

(structure)

A set of key/value pairs that are used to manage the resource.

Key -> (string)

The tag’s key.

Value -> (string)

The tag’s value.

Shorthand Syntax:

Key=string,Value=string ...

JSON Syntax:

[
  {
    "Key": "string",
    "Value": "string"
  }
  ...
]

--data-destination-configs (list)

The destination where the campaign sends data. You can choose to send data to be stored in Amazon S3 or Amazon Timestream.

Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data, such as data lakes, centralized data storage, data processing pipelines, and analytics. Amazon Web Services IoT FleetWise supports at-least-once file delivery to S3. Your vehicle data is stored on multiple Amazon Web Services IoT FleetWise servers for redundancy and high availability.

You can use Amazon Timestream to access and analyze time series data, and Timestream to query vehicle data so that you can identify trends and patterns.

(tagged union structure)

The destination where the Amazon Web Services IoT FleetWise campaign sends data. You can send data to be stored in Amazon S3 or Amazon Timestream.

Note

This is a Tagged Union structure. Only one of the following top level keys can be set: s3Config, timestreamConfig.

s3Config -> (structure)

The Amazon S3 bucket where the Amazon Web Services IoT FleetWise campaign sends data.

bucketArn -> (string)

The Amazon Resource Name (ARN) of the Amazon S3 bucket.

dataFormat -> (string)

Specify the format that files are saved in the Amazon S3 bucket. You can save files in an Apache Parquet or JSON format.

  • Parquet - Store data in a columnar storage file format. Parquet is optimal for fast data retrieval and can reduce costs. This option is selected by default.
  • JSON - Store data in a standard text-based JSON file format.

storageCompressionFormat -> (string)

By default, stored data is compressed as a .gzip file. Compressed files have a reduced file size, which can optimize the cost of data storage.

prefix -> (string)

(Optional) Enter an S3 bucket prefix. The prefix is the string of characters after the bucket name and before the object name. You can use the prefix to organize data stored in Amazon S3 buckets. For more information, see Organizing objects using prefixes in the Amazon Simple Storage Service User Guide .

By default, Amazon Web Services IoT FleetWise sets the prefix processed-data/year=YY/month=MM/date=DD/hour=HH/ (in UTC) to data it delivers to Amazon S3. You can enter a prefix to append it to this default prefix. For example, if you enter the prefix vehicles , the prefix will be vehicles/processed-data/year=YY/month=MM/date=DD/hour=HH/ .

timestreamConfig -> (structure)

The Amazon Timestream table where the campaign sends data.

timestreamTableArn -> (string)

The Amazon Resource Name (ARN) of the Amazon Timestream table.

executionRoleArn -> (string)

The Amazon Resource Name (ARN) of the task execution role that grants Amazon Web Services IoT FleetWise permission to deliver data to the Amazon Timestream table.

Shorthand Syntax:

s3Config={bucketArn=string,dataFormat=string,storageCompressionFormat=string,prefix=string},timestreamConfig={timestreamTableArn=string,executionRoleArn=string} ...

JSON Syntax:

[
  {
    "s3Config": {
      "bucketArn": "string",
      "dataFormat": "JSON"|"PARQUET",
      "storageCompressionFormat": "NONE"|"GZIP",
      "prefix": "string"
    },
    "timestreamConfig": {
      "timestreamTableArn": "string",
      "executionRoleArn": "string"
    }
  }
  ...
]

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command. The generated JSON skeleton is not stable between versions of the AWS CLI and there are no backwards compatibility guarantees in the JSON skeleton generated.

Global Options

--debug (boolean)

Turn on debug logging.

--endpoint-url (string)

Override command’s default URL with the given URL.

--no-verify-ssl (boolean)

By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.

--no-paginate (boolean)

Disable automatic pagination. If automatic pagination is disabled, the AWS CLI will only make one call, for the first page of results.

--output (string)

The formatting style for command output.

  • json
  • text
  • table
  • yaml
  • yaml-stream

--query (string)

A JMESPath query to use in filtering the response data.

--profile (string)

Use a specific profile from your credential file.

--region (string)

The region to use. Overrides config/env settings.

--version (string)

Display the version of this tool.

--color (string)

Turn on/off color output.

  • on
  • off
  • auto

--no-sign-request (boolean)

Do not sign requests. Credentials will not be loaded if this argument is provided.

--ca-bundle (string)

The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.

--cli-read-timeout (int)

The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.

--cli-connect-timeout (int)

The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.

--cli-binary-format (string)

The formatting style to be used for binary blobs. The default format is base64. The base64 format expects binary blobs to be provided as a base64 encoded string. The raw-in-base64-out format preserves compatibility with AWS CLI V1 behavior and binary values must be passed literally. When providing contents from a file that map to a binary blob fileb:// will always be treated as binary and use the file contents directly regardless of the cli-binary-format setting. When using file:// the file contents will need to properly formatted for the configured cli-binary-format.

  • base64
  • raw-in-base64-out

--no-cli-pager (boolean)

Disable cli pager for output.

--cli-auto-prompt (boolean)

Automatically prompt for CLI input parameters.

--no-cli-auto-prompt (boolean)

Disable automatically prompt for CLI input parameters.

Output

name -> (string)

The name of the created campaign.

arn -> (string)

The ARN of the created campaign.