AWS IoT FleetWise

2024/11/22 - AWS IoT FleetWise - 5 new11 updated api methods

Changes  AWS IoT FleetWise now includes campaign parameters to store and forward data, configure MQTT topic as a data destination, and collect diagnostic trouble code data. It includes APIs for network agnostic data collection using custom decoding interfaces, and monitoring the last known state of vehicles.

GetStateTemplate (new) Link ¶

Retrieves information about a state template.

See also: AWS API Documentation

Request Syntax

client.get_state_template(
    identifier='string'
)
type identifier:

string

param identifier:

[REQUIRED]

A unique, service-generated identifier.

rtype:

dict

returns:

Response Syntax

{
    'name': 'string',
    'arn': 'string',
    'description': 'string',
    'signalCatalogArn': 'string',
    'stateTemplateProperties': [
        'string',
    ],
    'dataExtraDimensions': [
        'string',
    ],
    'metadataExtraDimensions': [
        'string',
    ],
    'creationTime': datetime(2015, 1, 1),
    'lastModificationTime': datetime(2015, 1, 1),
    'id': 'string'
}

Response Structure

  • (dict) --

    • name (string) --

      The name of the state template.

    • arn (string) --

      The Amazon Resource Name (ARN) of the state template.

    • description (string) --

      A brief description of the state template.

    • signalCatalogArn (string) --

      The ARN of the signal catalog associated with the state template.

    • stateTemplateProperties (list) --

      A list of signals from which data is collected. The state template properties contain the fully qualified names of the signals.

      • (string) --

    • dataExtraDimensions (list) --

      A list of vehicle attributes associated with the payload published on the state template's MQTT topic.

      Default: An empty array

      • (string) --

    • metadataExtraDimensions (list) --

      A list of vehicle attributes to associate with user properties of the messages published on the state template's MQTT topic.

      Default: An empty array

      • (string) --

    • creationTime (datetime) --

      The time the state template was created in seconds since epoch (January 1, 1970 at midnight UTC time).

    • lastModificationTime (datetime) --

      The time the state template was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).

    • id (string) --

      The unique ID of the state template.

ListStateTemplates (new) Link ¶

Lists information about created state templates.

See also: AWS API Documentation

Request Syntax

client.list_state_templates(
    nextToken='string',
    maxResults=123
)
type nextToken:

string

param nextToken:

The token to retrieve the next set of results, or null if there are no more results.

type maxResults:

integer

param maxResults:

The maximum number of items to return, between 1 and 100, inclusive.

rtype:

dict

returns:

Response Syntax

{
    'summaries': [
        {
            'name': 'string',
            'arn': 'string',
            'signalCatalogArn': 'string',
            'description': 'string',
            'creationTime': datetime(2015, 1, 1),
            'lastModificationTime': datetime(2015, 1, 1),
            'id': 'string'
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • summaries (list) --

      A list of information about each state template.

      • (dict) --

        Information about a state template.

        • name (string) --

          The name of the state template.

        • arn (string) --

          The Amazon Resource Name (ARN) of the state template.

        • signalCatalogArn (string) --

          The Amazon Resource Name (ARN) of the signal catalog associated with the state template.

        • description (string) --

          A brief description of the state template.

        • creationTime (datetime) --

          The time the state template was created, in seconds since epoch (January 1, 1970 at midnight UTC time).

        • lastModificationTime (datetime) --

          The time the state template was last updated, in seconds since epoch (January 1, 1970 at midnight UTC time).

        • id (string) --

          The unique ID of the state template.

    • nextToken (string) --

      The token to retrieve the next set of results, or null if there are no more results.

UpdateStateTemplate (new) Link ¶

Updates a state template.

See also: AWS API Documentation

Request Syntax

client.update_state_template(
    identifier='string',
    description='string',
    stateTemplatePropertiesToAdd=[
        'string',
    ],
    stateTemplatePropertiesToRemove=[
        'string',
    ],
    dataExtraDimensions=[
        'string',
    ],
    metadataExtraDimensions=[
        'string',
    ]
)
type identifier:

string

param identifier:

[REQUIRED]

A unique, service-generated identifier.

type description:

string

param description:

A brief description of the state template.

type stateTemplatePropertiesToAdd:

list

param stateTemplatePropertiesToAdd:

Add signals from which data is collected as part of the state template.

  • (string) --

type stateTemplatePropertiesToRemove:

list

param stateTemplatePropertiesToRemove:

Remove signals from which data is collected as part of the state template.

  • (string) --

type dataExtraDimensions:

list

param dataExtraDimensions:

A list of vehicle attributes to associate with the payload published on the state template's MQTT topic. (See Processing last known state vehicle data using MQTT messaging). For example, if you add Vehicle.Attributes.Make and Vehicle.Attributes.Model attributes, Amazon Web Services IoT FleetWise will enrich the protobuf encoded payload with those attributes in the extraDimensions field.

Default: An empty array

  • (string) --

type metadataExtraDimensions:

list

param metadataExtraDimensions:

A list of vehicle attributes to associate with user properties of the messages published on the state template's MQTT topic. (See Processing last known state vehicle data using MQTT messaging). For example, if you add Vehicle.Attributes.Make and Vehicle.Attributes.Model attributes, Amazon Web Services IoT FleetWise will include these attributes as User Properties with the MQTT message.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'name': 'string',
    'arn': 'string',
    'id': 'string'
}

Response Structure

  • (dict) --

    • name (string) --

      The name of the state template.

    • arn (string) --

      The Amazon Resource Name (ARN) of the state template.

    • id (string) --

      The unique ID of the state template.

CreateStateTemplate (new) Link ¶

Creates a state template. State templates contain state properties, which are signals that belong to a signal catalog that is synchronized between the Amazon Web Services IoT FleetWise Edge and the Amazon Web Services Cloud.

See also: AWS API Documentation

Request Syntax

client.create_state_template(
    name='string',
    description='string',
    signalCatalogArn='string',
    stateTemplateProperties=[
        'string',
    ],
    dataExtraDimensions=[
        'string',
    ],
    metadataExtraDimensions=[
        'string',
    ],
    tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type name:

string

param name:

[REQUIRED]

The name of the state template.

type description:

string

param description:

A brief description of the state template.

type signalCatalogArn:

string

param signalCatalogArn:

[REQUIRED]

The ARN of the signal catalog associated with the state template.

type stateTemplateProperties:

list

param stateTemplateProperties:

[REQUIRED]

A list of signals from which data is collected. The state template properties contain the fully qualified names of the signals.

  • (string) --

type dataExtraDimensions:

list

param dataExtraDimensions:

A list of vehicle attributes to associate with the payload published on the state template's MQTT topic. (See Processing last known state vehicle data using MQTT messaging). For example, if you add Vehicle.Attributes.Make and Vehicle.Attributes.Model attributes, Amazon Web Services IoT FleetWise will enrich the protobuf encoded payload with those attributes in the extraDimensions field.

  • (string) --

type metadataExtraDimensions:

list

param metadataExtraDimensions:

A list of vehicle attributes to associate with user properties of the messages published on the state template's MQTT topic. (See Processing last known state vehicle data using MQTT messaging). For example, if you add Vehicle.Attributes.Make and Vehicle.Attributes.Model attributes, Amazon Web Services IoT FleetWise will include these attributes as User Properties with the MQTT message.

Default: An empty array

  • (string) --

type tags:

list

param tags:

Metadata that can be used to manage the state template.

  • (dict) --

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

    • Key (string) -- [REQUIRED]

      The tag's key.

    • Value (string) -- [REQUIRED]

      The tag's value.

rtype:

dict

returns:

Response Syntax

{
    'name': 'string',
    'arn': 'string',
    'id': 'string'
}

Response Structure

  • (dict) --

    • name (string) --

      The name of the state template.

    • arn (string) --

      The Amazon Resource Name (ARN) of the state template.

    • id (string) --

      The unique ID of the state template.

DeleteStateTemplate (new) Link ¶

Deletes a state template.

See also: AWS API Documentation

Request Syntax

client.delete_state_template(
    identifier='string'
)
type identifier:

string

param identifier:

[REQUIRED]

A unique, service-generated identifier.

rtype:

dict

returns:

Response Syntax

{
    'name': 'string',
    'arn': 'string',
    'id': 'string'
}

Response Structure

  • (dict) --

    • name (string) --

      The name of the state template.

    • arn (string) --

      The Amazon Resource Name (ARN) of the state template.

    • id (string) --

      The unique ID of the state template.

BatchCreateVehicle (updated) Link ¶
Changes (request)
{'vehicles': {'stateTemplates': [{'identifier': 'string',
                                  'stateTemplateUpdateStrategy': {'onChange': {},
                                                                  'periodic': {'stateTemplateUpdateRate': {'unit': 'MILLISECOND '
                                                                                                                   '| '
                                                                                                                   'SECOND '
                                                                                                                   '| '
                                                                                                                   'MINUTE '
                                                                                                                   '| '
                                                                                                                   'HOUR',
                                                                                                           'value': 'integer'}}}}]}}

Creates a group, or batch, of vehicles.

For more information, see Create multiple vehicles (AWS CLI) in the Amazon Web Services IoT FleetWise Developer Guide.

See also: AWS API Documentation

Request Syntax

client.batch_create_vehicle(
    vehicles=[
        {
            'vehicleName': 'string',
            'modelManifestArn': 'string',
            'decoderManifestArn': 'string',
            'attributes': {
                'string': 'string'
            },
            'associationBehavior': 'CreateIotThing'|'ValidateIotThingExists',
            'tags': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ],
            'stateTemplates': [
                {
                    'identifier': 'string',
                    'stateTemplateUpdateStrategy': {
                        'periodic': {
                            'stateTemplateUpdateRate': {
                                'unit': 'MILLISECOND'|'SECOND'|'MINUTE'|'HOUR',
                                'value': 123
                            }
                        },
                        'onChange': {}

                    }
                },
            ]
        },
    ]
)
type vehicles:

list

param vehicles:

[REQUIRED]

A list of information about each vehicle to create. For more information, see the API data type.

  • (dict) --

    Information about the vehicle to create.

    • vehicleName (string) -- [REQUIRED]

      The unique ID of the vehicle to create.

    • modelManifestArn (string) -- [REQUIRED]

      The ARN of the vehicle model (model manifest) to create the vehicle from.

    • decoderManifestArn (string) -- [REQUIRED]

      The Amazon Resource Name (ARN) of a decoder manifest associated with the vehicle to create.

    • attributes (dict) --

      Static information about a vehicle in a key-value pair. For example: "engine Type" : "v6"

      • (string) --

        • (string) --

    • associationBehavior (string) --

      An option to create a new Amazon Web Services IoT thing when creating a vehicle, or to validate an existing thing as a vehicle.

    • tags (list) --

      Metadata which can be used to manage the vehicle.

      • (dict) --

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

        • Key (string) -- [REQUIRED]

          The tag's key.

        • Value (string) -- [REQUIRED]

          The tag's value.

    • stateTemplates (list) --

      Associate state templates to track the state of the vehicle. State templates determine which signal updates the vehicle sends to the cloud.

      • (dict) --

        The state template associated with a vehicle. State templates contain state properties, which are signals that belong to a signal catalog that is synchronized between the Amazon Web Services IoT FleetWise Edge and the Amazon Web Services Cloud.

        • identifier (string) -- [REQUIRED]

          A unique, service-generated identifier.

        • stateTemplateUpdateStrategy (dict) -- [REQUIRED]

          The update strategy for the state template. Vehicles associated with the state template can stream telemetry data with either an onChange or periodic update strategy.

          • periodic (dict) --

            Vehicles associated with the state template will stream telemetry data during a specified time period.

            • stateTemplateUpdateRate (dict) -- [REQUIRED]

              The length of time between state template updates.

              • unit (string) -- [REQUIRED]

                A unit of time.

              • value (integer) -- [REQUIRED]

                A number of time units.

          • onChange (dict) --

            Vehicles associated with the state template will stream telemetry data when there is a change.

rtype:

dict

returns:

Response Syntax

{
    'vehicles': [
        {
            'vehicleName': 'string',
            'arn': 'string',
            'thingArn': 'string'
        },
    ],
    'errors': [
        {
            'vehicleName': 'string',
            'code': 'string',
            'message': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • vehicles (list) --

      A list of information about a batch of created vehicles. For more information, see the API data type.

      • (dict) --

        Information about a created vehicle.

        • vehicleName (string) --

          The unique ID of the vehicle to create.

        • arn (string) --

          The ARN of the created vehicle.

        • thingArn (string) --

          The ARN of a created or validated Amazon Web Services IoT thing.

    • errors (list) --

      A list of information about creation errors, or an empty list if there aren't any errors.

      • (dict) --

        An HTTP error resulting from creating a vehicle.

        • vehicleName (string) --

          The ID of the vehicle with the error.

        • code (string) --

          An HTTP error code.

        • message (string) --

          A description of the HTTP error.

BatchUpdateVehicle (updated) Link ¶
Changes (request)
{'vehicles': {'stateTemplatesToAdd': [{'identifier': 'string',
                                       'stateTemplateUpdateStrategy': {'onChange': {},
                                                                       'periodic': {'stateTemplateUpdateRate': {'unit': 'MILLISECOND '
                                                                                                                        '| '
                                                                                                                        'SECOND '
                                                                                                                        '| '
                                                                                                                        'MINUTE '
                                                                                                                        '| '
                                                                                                                        'HOUR',
                                                                                                                'value': 'integer'}}}}],
              'stateTemplatesToRemove': ['string']}}

Updates a group, or batch, of vehicles.

For more information, see Update multiple vehicles (AWS CLI) in the Amazon Web Services IoT FleetWise Developer Guide.

See also: AWS API Documentation

Request Syntax

client.batch_update_vehicle(
    vehicles=[
        {
            'vehicleName': 'string',
            'modelManifestArn': 'string',
            'decoderManifestArn': 'string',
            'attributes': {
                'string': 'string'
            },
            'attributeUpdateMode': 'Overwrite'|'Merge',
            'stateTemplatesToAdd': [
                {
                    'identifier': 'string',
                    'stateTemplateUpdateStrategy': {
                        'periodic': {
                            'stateTemplateUpdateRate': {
                                'unit': 'MILLISECOND'|'SECOND'|'MINUTE'|'HOUR',
                                'value': 123
                            }
                        },
                        'onChange': {}

                    }
                },
            ],
            'stateTemplatesToRemove': [
                'string',
            ]
        },
    ]
)
type vehicles:

list

param vehicles:

[REQUIRED]

A list of information about the vehicles to update. For more information, see the API data type.

  • (dict) --

    Information about the vehicle to update.

    • vehicleName (string) -- [REQUIRED]

      The unique ID of the vehicle to update.

    • modelManifestArn (string) --

      The ARN of the vehicle model (model manifest) associated with the vehicle to update.

    • decoderManifestArn (string) --

      The ARN of the signal decoder manifest associated with the vehicle to update.

    • attributes (dict) --

      Static information about a vehicle in a key-value pair. For example:

      "engineType" : "1.3 L R2"

      • (string) --

        • (string) --

    • attributeUpdateMode (string) --

      The method the specified attributes will update the existing attributes on the vehicle. Use Overwite to replace the vehicle attributes with the specified attributes. Or use Merge to combine all attributes.

      This is required if attributes are present in the input.

    • stateTemplatesToAdd (list) --

      Associate additional state templates to track the state of the vehicle. State templates determine which signal updates the vehicle sends to the cloud.

      • (dict) --

        The state template associated with a vehicle. State templates contain state properties, which are signals that belong to a signal catalog that is synchronized between the Amazon Web Services IoT FleetWise Edge and the Amazon Web Services Cloud.

        • identifier (string) -- [REQUIRED]

          A unique, service-generated identifier.

        • stateTemplateUpdateStrategy (dict) -- [REQUIRED]

          The update strategy for the state template. Vehicles associated with the state template can stream telemetry data with either an onChange or periodic update strategy.

          • periodic (dict) --

            Vehicles associated with the state template will stream telemetry data during a specified time period.

            • stateTemplateUpdateRate (dict) -- [REQUIRED]

              The length of time between state template updates.

              • unit (string) -- [REQUIRED]

                A unit of time.

              • value (integer) -- [REQUIRED]

                A number of time units.

          • onChange (dict) --

            Vehicles associated with the state template will stream telemetry data when there is a change.

    • stateTemplatesToRemove (list) --

      Remove existing state template associations from the vehicle.

      • (string) --

rtype:

dict

returns:

Response Syntax

{
    'vehicles': [
        {
            'vehicleName': 'string',
            'arn': 'string'
        },
    ],
    'errors': [
        {
            'vehicleName': 'string',
            'code': 123,
            'message': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • vehicles (list) --

      A list of information about the batch of updated vehicles.

      • (dict) --

        Information about the updated vehicle.

        • vehicleName (string) --

          The unique ID of the updated vehicle.

        • arn (string) --

          The Amazon Resource Name (ARN) of the updated vehicle.

    • errors (list) --

      A list of information about errors returned while updating a batch of vehicles, or, if there aren't any errors, an empty list.

      • (dict) --

        An HTTP error resulting from updating the description for a vehicle.

        • vehicleName (string) --

          The ID of the vehicle with the error.

        • code (integer) --

          The relevant HTTP error code (400+).

        • message (string) --

          A message associated with the error.

CreateCampaign (updated) Link ¶
Changes (request)
{'dataDestinationConfigs': {'mqttTopicConfig': {'executionRoleArn': 'string',
                                                'mqttTopicArn': 'string'}},
 'dataPartitions': [{'id': 'string',
                     'storageOptions': {'maximumSize': {'unit': 'MB | GB | TB',
                                                        'value': 'integer'},
                                        'minimumTimeToLive': {'unit': 'HOURS | '
                                                                      'DAYS | '
                                                                      'WEEKS',
                                                              'value': 'integer'},
                                        'storageLocation': 'string'},
                     'uploadOptions': {'conditionLanguageVersion': 'integer',
                                       'expression': 'string'}}],
 'signalsToCollect': {'dataPartitionId': 'string'},
 'signalsToFetch': [{'actions': ['string'],
                     'conditionLanguageVersion': 'integer',
                     'fullyQualifiedName': 'string',
                     'signalFetchConfig': {'conditionBased': {'conditionExpression': 'string',
                                                              'triggerMode': 'ALWAYS '
                                                                             '| '
                                                                             'RISING_EDGE'},
                                           'timeBased': {'executionFrequencyMs': 'long'}}}]}

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

Request Syntax

client.create_campaign(
    name='string',
    description='string',
    signalCatalogArn='string',
    targetArn='string',
    startTime=datetime(2015, 1, 1),
    expiryTime=datetime(2015, 1, 1),
    postTriggerCollectionDuration=123,
    diagnosticsMode='OFF'|'SEND_ACTIVE_DTCS',
    spoolingMode='OFF'|'TO_DISK',
    compression='OFF'|'SNAPPY',
    priority=123,
    signalsToCollect=[
        {
            'name': 'string',
            'maxSampleCount': 123,
            'minimumSamplingIntervalMs': 123,
            'dataPartitionId': 'string'
        },
    ],
    collectionScheme={
        'timeBasedCollectionScheme': {
            'periodMs': 123
        },
        'conditionBasedCollectionScheme': {
            'expression': 'string',
            'minimumTriggerIntervalMs': 123,
            'triggerMode': 'ALWAYS'|'RISING_EDGE',
            'conditionLanguageVersion': 123
        }
    },
    dataExtraDimensions=[
        'string',
    ],
    tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    dataDestinationConfigs=[
        {
            's3Config': {
                'bucketArn': 'string',
                'dataFormat': 'JSON'|'PARQUET',
                'storageCompressionFormat': 'NONE'|'GZIP',
                'prefix': 'string'
            },
            'timestreamConfig': {
                'timestreamTableArn': 'string',
                'executionRoleArn': 'string'
            },
            'mqttTopicConfig': {
                'mqttTopicArn': 'string',
                'executionRoleArn': 'string'
            }
        },
    ],
    dataPartitions=[
        {
            'id': 'string',
            'storageOptions': {
                'maximumSize': {
                    'unit': 'MB'|'GB'|'TB',
                    'value': 123
                },
                'storageLocation': 'string',
                'minimumTimeToLive': {
                    'unit': 'HOURS'|'DAYS'|'WEEKS',
                    'value': 123
                }
            },
            'uploadOptions': {
                'expression': 'string',
                'conditionLanguageVersion': 123
            }
        },
    ],
    signalsToFetch=[
        {
            'fullyQualifiedName': 'string',
            'signalFetchConfig': {
                'timeBased': {
                    'executionFrequencyMs': 123
                },
                'conditionBased': {
                    'conditionExpression': 'string',
                    'triggerMode': 'ALWAYS'|'RISING_EDGE'
                }
            },
            'conditionLanguageVersion': 123,
            'actions': [
                'string',
            ]
        },
    ]
)
type name:

string

param name:

[REQUIRED]

The name of the campaign to create.

type description:

string

param description:

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

type signalCatalogArn:

string

param signalCatalogArn:

[REQUIRED]

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

type targetArn:

string

param targetArn:

[REQUIRED]

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

type startTime:

datetime

param startTime:

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

Default: 0

type expiryTime:

datetime

param expiryTime:

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)

type postTriggerCollectionDuration:

integer

param postTriggerCollectionDuration:

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

type diagnosticsMode:

string

param diagnosticsMode:

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

type spoolingMode:

string

param spoolingMode:

Determines 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

type compression:

string

param compression:

Determines 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

type priority:

integer

param priority:

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

type signalsToCollect:

list

param signalsToCollect:

A list of information about signals to collect.

  • (dict) --

    Information about a signal.

    • name (string) -- [REQUIRED]

      The name of the signal.

    • maxSampleCount (integer) --

      The maximum number of samples to collect.

    • minimumSamplingIntervalMs (integer) --

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

    • dataPartitionId (string) --

      The ID of the data partition this signal is associated with.

      The ID must match one of the IDs provided in dataPartitions. This is accomplished either by specifying a particular data partition ID or by using default for an established default partition. You can establish a default partition in the DataPartition data type.

type collectionScheme:

dict

param collectionScheme:

[REQUIRED]

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

  • timeBasedCollectionScheme (dict) --

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

    • periodMs (integer) -- [REQUIRED]

      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 (dict) --

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

    • expression (string) -- [REQUIRED]

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

    • minimumTriggerIntervalMs (integer) --

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

    • 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.

type dataExtraDimensions:

list

param dataExtraDimensions:

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

type tags:

list

param tags:

Metadata that can be used to manage the campaign.

  • (dict) --

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

    • Key (string) -- [REQUIRED]

      The tag's key.

    • Value (string) -- [REQUIRED]

      The tag's value.

type dataDestinationConfigs:

list

param dataDestinationConfigs:

The destination where the campaign sends data. You can send data to an MQTT topic, or store it in Amazon S3 or Amazon Timestream.

MQTT is the publish/subscribe messaging protocol used by Amazon Web Services IoT to communicate with your devices.

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.

  • (dict) --

    The destination where the campaign sends data. You can send data to an MQTT topic, or store it in Amazon S3 or Amazon Timestream.

    • s3Config (dict) --

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

      • bucketArn (string) -- [REQUIRED]

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

        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 (dict) --

      The Amazon Timestream table where the campaign sends data.

      • timestreamTableArn (string) -- [REQUIRED]

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

      • executionRoleArn (string) -- [REQUIRED]

        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.

    • mqttTopicConfig (dict) --

      The MQTT topic to which the Amazon Web Services IoT FleetWise campaign routes data.

      • mqttTopicArn (string) -- [REQUIRED]

        The ARN of the MQTT topic.

      • executionRoleArn (string) -- [REQUIRED]

        The ARN of the role that grants Amazon Web Services IoT FleetWise permission to access and act on messages sent to the MQTT topic.

type dataPartitions:

list

param dataPartitions:

The data partitions associated with the signals collected from the vehicle.

  • (dict) --

    The configuration for signal data storage and upload options. You can only specify these options when the campaign's spooling mode is TO_DISK.

    • id (string) -- [REQUIRED]

      The ID of the data partition. The data partition ID must be unique within a campaign. You can establish a data partition as the default partition for a campaign by using default as the ID.

    • storageOptions (dict) -- [REQUIRED]

      The storage options for a data partition.

      • maximumSize (dict) -- [REQUIRED]

        The maximum storage size of the data stored in the data partition.

        • unit (string) -- [REQUIRED]

          The data type of the data to store.

        • value (integer) -- [REQUIRED]

          The maximum amount of time to store data.

      • storageLocation (string) -- [REQUIRED]

        The folder name for the data partition under the campaign storage folder.

      • minimumTimeToLive (dict) -- [REQUIRED]

        The amount of time that data in this partition will be kept on disk.

        • After the designated amount of time passes, the data can be removed, but it's not guaranteed to be removed.

        • Before the time expires, data in this partition can still be deleted if the partition reaches its configured maximum size.

        • Newer data will overwrite older data when the partition reaches the maximum size.

        • unit (string) -- [REQUIRED]

          The time increment type.

        • value (integer) -- [REQUIRED]

          The minimum amount of time to store the data.

    • uploadOptions (dict) --

      The upload options for the data partition.

      • expression (string) -- [REQUIRED]

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

      • conditionLanguageVersion (integer) --

        The version of the condition language. Defaults to the most recent condition language version.

type signalsToFetch:

list

param signalsToFetch:

A list of information about signals to fetch.

  • (dict) --

    Information about the signal to be fetched.

    • fullyQualifiedName (string) -- [REQUIRED]

      The fully qualified name of the signal to be fetched.

    • signalFetchConfig (dict) -- [REQUIRED]

      The configuration of the signal fetch operation.

      • timeBased (dict) --

        The configuration of a time-based signal fetch operation.

        • executionFrequencyMs (integer) -- [REQUIRED]

          The frequency with which the signal fetch will be executed.

      • conditionBased (dict) --

        The configuration of a condition-based signal fetch operation.

        • conditionExpression (string) -- [REQUIRED]

          The condition that must be satisfied to trigger a signal fetch.

        • triggerMode (string) -- [REQUIRED]

          Indicates the mode in which the signal fetch is triggered.

    • conditionLanguageVersion (integer) --

      The version of the condition language used.

    • actions (list) -- [REQUIRED]

      The actions to be performed by the signal fetch.

      • (string) --

rtype:

dict

returns:

Response Syntax

{
    'name': 'string',
    'arn': 'string'
}

Response Structure

  • (dict) --

    • name (string) --

      The name of the created campaign.

    • arn (string) --

      The ARN of the created campaign.

CreateDecoderManifest (updated) Link ¶
Changes (request)
{'defaultForUnmappedSignals': 'CUSTOM_DECODING',
 'networkInterfaces': {'customDecodingInterface': {'name': 'string'},
                       'type': {'CUSTOM_DECODING_INTERFACE'}},
 'signalDecoders': {'customDecodingSignal': {'id': 'string'},
                    'type': {'CUSTOM_DECODING_SIGNAL'}}}

Creates the decoder manifest associated with a model manifest. To create a decoder manifest, the following must be true:

  • Every signal decoder has a unique name.

  • Each signal decoder is associated with a network interface.

  • Each network interface has a unique ID.

  • The signal decoders are specified in the model manifest.

See also: AWS API Documentation

Request Syntax

client.create_decoder_manifest(
    name='string',
    description='string',
    modelManifestArn='string',
    signalDecoders=[
        {
            'fullyQualifiedName': 'string',
            'type': 'CAN_SIGNAL'|'OBD_SIGNAL'|'MESSAGE_SIGNAL'|'CUSTOM_DECODING_SIGNAL',
            'interfaceId': 'string',
            'canSignal': {
                'messageId': 123,
                'isBigEndian': True|False,
                'isSigned': True|False,
                'startBit': 123,
                'offset': 123.0,
                'factor': 123.0,
                'length': 123,
                'name': 'string'
            },
            'obdSignal': {
                'pidResponseLength': 123,
                'serviceMode': 123,
                'pid': 123,
                'scaling': 123.0,
                'offset': 123.0,
                'startByte': 123,
                'byteLength': 123,
                'bitRightShift': 123,
                'bitMaskLength': 123
            },
            'messageSignal': {
                'topicName': 'string',
                'structuredMessage': {
                    'primitiveMessageDefinition': {
                        'ros2PrimitiveMessageDefinition': {
                            'primitiveType': 'BOOL'|'BYTE'|'CHAR'|'FLOAT32'|'FLOAT64'|'INT8'|'UINT8'|'INT16'|'UINT16'|'INT32'|'UINT32'|'INT64'|'UINT64'|'STRING'|'WSTRING',
                            'offset': 123.0,
                            'scaling': 123.0,
                            'upperBound': 123
                        }
                    },
                    'structuredMessageListDefinition': {
                        'name': 'string',
                        'memberType': {'... recursive ...'},
                        'listType': 'FIXED_CAPACITY'|'DYNAMIC_UNBOUNDED_CAPACITY'|'DYNAMIC_BOUNDED_CAPACITY',
                        'capacity': 123
                    },
                    'structuredMessageDefinition': [
                        {
                            'fieldName': 'string',
                            'dataType': {'... recursive ...'}
                        },
                    ]
                }
            },
            'customDecodingSignal': {
                'id': 'string'
            }
        },
    ],
    networkInterfaces=[
        {
            'interfaceId': 'string',
            'type': 'CAN_INTERFACE'|'OBD_INTERFACE'|'VEHICLE_MIDDLEWARE'|'CUSTOM_DECODING_INTERFACE',
            'canInterface': {
                'name': 'string',
                'protocolName': 'string',
                'protocolVersion': 'string'
            },
            'obdInterface': {
                'name': 'string',
                'requestMessageId': 123,
                'obdStandard': 'string',
                'pidRequestIntervalSeconds': 123,
                'dtcRequestIntervalSeconds': 123,
                'useExtendedIds': True|False,
                'hasTransmissionEcu': True|False
            },
            'vehicleMiddleware': {
                'name': 'string',
                'protocolName': 'ROS_2'
            },
            'customDecodingInterface': {
                'name': 'string'
            }
        },
    ],
    defaultForUnmappedSignals='CUSTOM_DECODING',
    tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type name:

string

param name:

[REQUIRED]

The unique name of the decoder manifest to create.

type description:

string

param description:

A brief description of the decoder manifest.

type modelManifestArn:

string

param modelManifestArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the vehicle model (model manifest).

type signalDecoders:

list

param signalDecoders:

A list of information about signal decoders.

  • (dict) --

    Information about a signal decoder.

    • fullyQualifiedName (string) -- [REQUIRED]

      The fully qualified name of a signal decoder as defined in a vehicle model.

    • type (string) -- [REQUIRED]

      The network protocol for the vehicle. For example, CAN_SIGNAL specifies a protocol that defines how data is communicated between electronic control units (ECUs). OBD_SIGNAL specifies a protocol that defines how self-diagnostic data is communicated between ECUs.

    • interfaceId (string) -- [REQUIRED]

      The ID of a network interface that specifies what network protocol a vehicle follows.

    • canSignal (dict) --

      Information about signal decoder using the Controller Area Network (CAN) protocol.

      • messageId (integer) -- [REQUIRED]

        The ID of the message.

      • isBigEndian (boolean) -- [REQUIRED]

        Whether the byte ordering of a CAN message is big-endian.

      • isSigned (boolean) -- [REQUIRED]

        Whether the message data is specified as a signed value.

      • startBit (integer) -- [REQUIRED]

        Indicates the beginning of the CAN signal. This should always be the least significant bit (LSB).

        This value might be different from the value in a DBC file. For little endian signals, startBit is the same value as in the DBC file. For big endian signals in a DBC file, the start bit is the most significant bit (MSB). You will have to calculate the LSB instead and pass it as the startBit.

      • offset (float) -- [REQUIRED]

        The offset used to calculate the signal value. Combined with factor, the calculation is value = raw_value * factor + offset.

      • factor (float) -- [REQUIRED]

        A multiplier used to decode the CAN message.

      • length (integer) -- [REQUIRED]

        How many bytes of data are in the message.

      • name (string) --

        The name of the signal.

    • obdSignal (dict) --

      Information about signal decoder using the on-board diagnostic (OBD) II protocol.

      • pidResponseLength (integer) -- [REQUIRED]

        The length of the requested data.

      • serviceMode (integer) -- [REQUIRED]

        The mode of operation (diagnostic service) in a message.

      • pid (integer) -- [REQUIRED]

        The diagnostic code used to request data from a vehicle for this signal.

      • scaling (float) -- [REQUIRED]

        A multiplier used to decode the message.

      • offset (float) -- [REQUIRED]

        The offset used to calculate the signal value. Combined with scaling, the calculation is value = raw_value * scaling + offset.

      • startByte (integer) -- [REQUIRED]

        Indicates the beginning of the message.

      • byteLength (integer) -- [REQUIRED]

        The length of a message.

      • bitRightShift (integer) --

        The number of positions to shift bits in the message.

      • bitMaskLength (integer) --

        The number of bits to mask in a message.

    • messageSignal (dict) --

      The decoding information for a specific message which supports higher order data types.

      • topicName (string) -- [REQUIRED]

        The topic name for the message signal. It corresponds to topics in ROS 2.

      • structuredMessage (dict) -- [REQUIRED]

        The structured message for the message signal. It can be defined with either a primitiveMessageDefinition, structuredMessageListDefinition, or structuredMessageDefinition recursively.

        • primitiveMessageDefinition (dict) --

          Represents a primitive type node of the complex data structure.

          • ros2PrimitiveMessageDefinition (dict) --

            Information about a PrimitiveMessage using a ROS 2 compliant primitive type message of the complex data structure.

            • primitiveType (string) -- [REQUIRED]

              The primitive type (integer, floating point, boolean, etc.) for the ROS 2 primitive message definition.

            • offset (float) --

              The offset used to calculate the signal value. Combined with scaling, the calculation is value = raw_value * scaling + offset.

            • scaling (float) --

              A multiplier used to decode the message.

            • upperBound (integer) --

              An optional attribute specifying the upper bound for STRING and WSTRING.

        • structuredMessageListDefinition (dict) --

          Represents a list type node of the complex data structure.

          • name (string) -- [REQUIRED]

            The name of the structured message list definition.

          • memberType (dict) --

            The member type of the structured message list definition.

          • listType (string) -- [REQUIRED]

            The type of list of the structured message list definition.

          • capacity (integer) --

            The capacity of the structured message list definition when the list type is FIXED_CAPACITY or DYNAMIC_BOUNDED_CAPACITY.

        • structuredMessageDefinition (list) --

          Represents a struct type node of the complex data structure.

          • (dict) --

            Represents a StructureMessageName to DataType map element.

            • fieldName (string) -- [REQUIRED]

              The field name of the structured message. It determines how a data value is referenced in the target language.

            • dataType (dict) --

              The data type.

    • customDecodingSignal (dict) --

      Information about a custom signal decoder.

      • id (string) -- [REQUIRED]

        The ID of the signal.

type networkInterfaces:

list

param networkInterfaces:

A list of information about available network interfaces.

  • (dict) --

    Represents a node and its specifications in an in-vehicle communication network. All signal decoders must be associated with a network node.

    To return this information about all the network interfaces specified in a decoder manifest, use the API operation.

    • interfaceId (string) -- [REQUIRED]

      The ID of the network interface.

    • type (string) -- [REQUIRED]

      The network protocol for the vehicle. For example, CAN_SIGNAL specifies a protocol that defines how data is communicated between electronic control units (ECUs). OBD_SIGNAL specifies a protocol that defines how self-diagnostic data is communicated between ECUs.

    • canInterface (dict) --

      Information about a network interface specified by the Controller Area Network (CAN) protocol.

      • name (string) -- [REQUIRED]

        The unique name of the interface.

      • protocolName (string) --

        The name of the communication protocol for the interface.

      • protocolVersion (string) --

        The version of the communication protocol for the interface.

    • obdInterface (dict) --

      Information about a network interface specified by the on-board diagnostic (OBD) II protocol.

      • name (string) -- [REQUIRED]

        The name of the interface.

      • requestMessageId (integer) -- [REQUIRED]

        The ID of the message requesting vehicle data.

      • obdStandard (string) --

        The standard OBD II PID.

      • pidRequestIntervalSeconds (integer) --

        The maximum number message requests per second.

      • dtcRequestIntervalSeconds (integer) --

        The maximum number message requests per diagnostic trouble code per second.

      • useExtendedIds (boolean) --

        Whether to use extended IDs in the message.

      • hasTransmissionEcu (boolean) --

        Whether the vehicle has a transmission control module (TCM).

    • vehicleMiddleware (dict) --

      The vehicle middleware defined as a type of network interface. Examples of vehicle middleware include ROS2 and SOME/IP.

      • name (string) -- [REQUIRED]

        The name of the vehicle middleware.

      • protocolName (string) -- [REQUIRED]

        The protocol name of the vehicle middleware.

    • customDecodingInterface (dict) --

      Information about a custom network interface.

      • name (string) -- [REQUIRED]

        The name of the interface.

type defaultForUnmappedSignals:

string

param defaultForUnmappedSignals:

Use default decoders for all unmapped signals in the model. You don't need to provide any detailed decoding information.

type tags:

list

param tags:

Metadata that can be used to manage the decoder manifest.

  • (dict) --

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

    • Key (string) -- [REQUIRED]

      The tag's key.

    • Value (string) -- [REQUIRED]

      The tag's value.

rtype:

dict

returns:

Response Syntax

{
    'name': 'string',
    'arn': 'string'
}

Response Structure

  • (dict) --

    • name (string) --

      The name of the created decoder manifest.

    • arn (string) --

      The ARN of the created decoder manifest.

CreateVehicle (updated) Link ¶
Changes (request)
{'stateTemplates': [{'identifier': 'string',
                     'stateTemplateUpdateStrategy': {'onChange': {},
                                                     'periodic': {'stateTemplateUpdateRate': {'unit': 'MILLISECOND '
                                                                                                      '| '
                                                                                                      'SECOND '
                                                                                                      '| '
                                                                                                      'MINUTE '
                                                                                                      '| '
                                                                                                      'HOUR',
                                                                                              'value': 'integer'}}}}]}

Creates a vehicle, which is an instance of a vehicle model (model manifest). Vehicles created from the same vehicle model consist of the same signals inherited from the vehicle model.

For more information, see Create a vehicle (AWS CLI) in the Amazon Web Services IoT FleetWise Developer Guide.

See also: AWS API Documentation

Request Syntax

client.create_vehicle(
    vehicleName='string',
    modelManifestArn='string',
    decoderManifestArn='string',
    attributes={
        'string': 'string'
    },
    associationBehavior='CreateIotThing'|'ValidateIotThingExists',
    tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    stateTemplates=[
        {
            'identifier': 'string',
            'stateTemplateUpdateStrategy': {
                'periodic': {
                    'stateTemplateUpdateRate': {
                        'unit': 'MILLISECOND'|'SECOND'|'MINUTE'|'HOUR',
                        'value': 123
                    }
                },
                'onChange': {}

            }
        },
    ]
)
type vehicleName:

string

param vehicleName:

[REQUIRED]

The unique ID of the vehicle to create.

type modelManifestArn:

string

param modelManifestArn:

[REQUIRED]

The Amazon Resource Name ARN of a vehicle model.

type decoderManifestArn:

string

param decoderManifestArn:

[REQUIRED]

The ARN of a decoder manifest.

type attributes:

dict

param attributes:

Static information about a vehicle in a key-value pair. For example: "engineType" : "1.3 L R2"

To use attributes with Campaigns or State Templates, you must include them using the request parameters dataExtraDimensions and/or metadataExtraDimensions (for state templates only) when creating your campaign/state template.

  • (string) --

    • (string) --

type associationBehavior:

string

param associationBehavior:

An option to create a new Amazon Web Services IoT thing when creating a vehicle, or to validate an existing Amazon Web Services IoT thing as a vehicle.

Default:

type tags:

list

param tags:

Metadata that can be used to manage the vehicle.

  • (dict) --

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

    • Key (string) -- [REQUIRED]

      The tag's key.

    • Value (string) -- [REQUIRED]

      The tag's value.

type stateTemplates:

list

param stateTemplates:

Associate state templates with the vehicle. You can monitor the last known state of the vehicle in near real time.

  • (dict) --

    The state template associated with a vehicle. State templates contain state properties, which are signals that belong to a signal catalog that is synchronized between the Amazon Web Services IoT FleetWise Edge and the Amazon Web Services Cloud.

    • identifier (string) -- [REQUIRED]

      A unique, service-generated identifier.

    • stateTemplateUpdateStrategy (dict) -- [REQUIRED]

      The update strategy for the state template. Vehicles associated with the state template can stream telemetry data with either an onChange or periodic update strategy.

      • periodic (dict) --

        Vehicles associated with the state template will stream telemetry data during a specified time period.

        • stateTemplateUpdateRate (dict) -- [REQUIRED]

          The length of time between state template updates.

          • unit (string) -- [REQUIRED]

            A unit of time.

          • value (integer) -- [REQUIRED]

            A number of time units.

      • onChange (dict) --

        Vehicles associated with the state template will stream telemetry data when there is a change.

rtype:

dict

returns:

Response Syntax

{
    'vehicleName': 'string',
    'arn': 'string',
    'thingArn': 'string'
}

Response Structure

  • (dict) --

    • vehicleName (string) --

      The unique ID of the created vehicle.

    • arn (string) --

      The ARN of the created vehicle.

    • thingArn (string) --

      The ARN of a created or validated Amazon Web Services IoT thing.

GetCampaign (updated) Link ¶
Changes (response)
{'dataDestinationConfigs': {'mqttTopicConfig': {'executionRoleArn': 'string',
                                                'mqttTopicArn': 'string'}},
 'dataPartitions': [{'id': 'string',
                     'storageOptions': {'maximumSize': {'unit': 'MB | GB | TB',
                                                        'value': 'integer'},
                                        'minimumTimeToLive': {'unit': 'HOURS | '
                                                                      'DAYS | '
                                                                      'WEEKS',
                                                              'value': 'integer'},
                                        'storageLocation': 'string'},
                     'uploadOptions': {'conditionLanguageVersion': 'integer',
                                       'expression': 'string'}}],
 'signalsToCollect': {'dataPartitionId': 'string'},
 'signalsToFetch': [{'actions': ['string'],
                     'conditionLanguageVersion': 'integer',
                     'fullyQualifiedName': 'string',
                     'signalFetchConfig': {'conditionBased': {'conditionExpression': 'string',
                                                              'triggerMode': 'ALWAYS '
                                                                             '| '
                                                                             'RISING_EDGE'},
                                           'timeBased': {'executionFrequencyMs': 'long'}}}]}

Retrieves information about a campaign.

See also: AWS API Documentation

Request Syntax

client.get_campaign(
    name='string'
)
type name:

string

param name:

[REQUIRED]

The name of the campaign to retrieve information about.

rtype:

dict

returns:

Response Syntax

{
    'name': 'string',
    'arn': 'string',
    'description': 'string',
    'signalCatalogArn': 'string',
    'targetArn': 'string',
    'status': 'CREATING'|'WAITING_FOR_APPROVAL'|'RUNNING'|'SUSPENDED',
    'startTime': datetime(2015, 1, 1),
    'expiryTime': datetime(2015, 1, 1),
    'postTriggerCollectionDuration': 123,
    'diagnosticsMode': 'OFF'|'SEND_ACTIVE_DTCS',
    'spoolingMode': 'OFF'|'TO_DISK',
    'compression': 'OFF'|'SNAPPY',
    'priority': 123,
    'signalsToCollect': [
        {
            'name': 'string',
            'maxSampleCount': 123,
            'minimumSamplingIntervalMs': 123,
            'dataPartitionId': 'string'
        },
    ],
    'collectionScheme': {
        'timeBasedCollectionScheme': {
            'periodMs': 123
        },
        'conditionBasedCollectionScheme': {
            'expression': 'string',
            'minimumTriggerIntervalMs': 123,
            'triggerMode': 'ALWAYS'|'RISING_EDGE',
            'conditionLanguageVersion': 123
        }
    },
    'dataExtraDimensions': [
        'string',
    ],
    'creationTime': datetime(2015, 1, 1),
    'lastModificationTime': datetime(2015, 1, 1),
    'dataDestinationConfigs': [
        {
            's3Config': {
                'bucketArn': 'string',
                'dataFormat': 'JSON'|'PARQUET',
                'storageCompressionFormat': 'NONE'|'GZIP',
                'prefix': 'string'
            },
            'timestreamConfig': {
                'timestreamTableArn': 'string',
                'executionRoleArn': 'string'
            },
            'mqttTopicConfig': {
                'mqttTopicArn': 'string',
                'executionRoleArn': 'string'
            }
        },
    ],
    'dataPartitions': [
        {
            'id': 'string',
            'storageOptions': {
                'maximumSize': {
                    'unit': 'MB'|'GB'|'TB',
                    'value': 123
                },
                'storageLocation': 'string',
                'minimumTimeToLive': {
                    'unit': 'HOURS'|'DAYS'|'WEEKS',
                    'value': 123
                }
            },
            'uploadOptions': {
                'expression': 'string',
                'conditionLanguageVersion': 123
            }
        },
    ],
    'signalsToFetch': [
        {
            'fullyQualifiedName': 'string',
            'signalFetchConfig': {
                'timeBased': {
                    'executionFrequencyMs': 123
                },
                'conditionBased': {
                    'conditionExpression': 'string',
                    'triggerMode': 'ALWAYS'|'RISING_EDGE'
                }
            },
            'conditionLanguageVersion': 123,
            'actions': [
                'string',
            ]
        },
    ]
}

Response Structure

  • (dict) --

    • name (string) --

      The name of the campaign.

    • arn (string) --

      The Amazon Resource Name (ARN) of the campaign.

    • description (string) --

      The description of the campaign.

    • signalCatalogArn (string) --

      The ARN of a signal catalog.

    • targetArn (string) --

      The ARN of the vehicle or the fleet targeted by the campaign.

    • status (string) --

      The state of the campaign. The status can be one of: CREATING, WAITING_FOR_APPROVAL, RUNNING, and SUSPENDED.

    • startTime (datetime) --

      The time, in milliseconds, to deliver a campaign after it was approved.

    • expiryTime (datetime) --

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

    • postTriggerCollectionDuration (integer) --

      How long (in seconds) to collect raw data after a triggering event initiates the collection.

    • diagnosticsMode (string) --

      Option for a vehicle to send diagnostic trouble codes to Amazon Web Services IoT FleetWise.

    • spoolingMode (string) --

      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.

    • compression (string) --

      Whether to compress signals before transmitting data to Amazon Web Services IoT FleetWise. If OFF is specified, the signals aren't compressed. If it's not specified, SNAPPY is used.

    • priority (integer) --

      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.

    • signalsToCollect (list) --

      Information about a list of signals to collect data on.

      • (dict) --

        Information about a signal.

        • name (string) --

          The name of the signal.

        • maxSampleCount (integer) --

          The maximum number of samples to collect.

        • minimumSamplingIntervalMs (integer) --

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

        • dataPartitionId (string) --

          The ID of the data partition this signal is associated with.

          The ID must match one of the IDs provided in dataPartitions. This is accomplished either by specifying a particular data partition ID or by using default for an established default partition. You can establish a default partition in the DataPartition data type.

    • collectionScheme (dict) --

      Information about the data collection scheme associated with the campaign.

      • timeBasedCollectionScheme (dict) --

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

        • periodMs (integer) --

          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 (dict) --

        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 (integer) --

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

        • 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.

    • dataExtraDimensions (list) --

      A list of vehicle attributes associated with the campaign.

      • (string) --

    • creationTime (datetime) --

      The time the campaign was created in seconds since epoch (January 1, 1970 at midnight UTC time).

    • lastModificationTime (datetime) --

      The last time the campaign was modified.

    • dataDestinationConfigs (list) --

      The destination where the campaign sends data. You can send data to an MQTT topic, or store it in Amazon S3 or Amazon Timestream.

      MQTT is the publish/subscribe messaging protocol used by Amazon Web Services IoT to communicate with your devices.

      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.

      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.

      • (dict) --

        The destination where the campaign sends data. You can send data to an MQTT topic, or store it in Amazon S3 or Amazon Timestream.

        • s3Config (dict) --

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

            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 (dict) --

          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.

        • mqttTopicConfig (dict) --

          The MQTT topic to which the Amazon Web Services IoT FleetWise campaign routes data.

          • mqttTopicArn (string) --

            The ARN of the MQTT topic.

          • executionRoleArn (string) --

            The ARN of the role that grants Amazon Web Services IoT FleetWise permission to access and act on messages sent to the MQTT topic.

    • dataPartitions (list) --

      The data partitions associated with the signals collected from the vehicle.

      • (dict) --

        The configuration for signal data storage and upload options. You can only specify these options when the campaign's spooling mode is TO_DISK.

        • id (string) --

          The ID of the data partition. The data partition ID must be unique within a campaign. You can establish a data partition as the default partition for a campaign by using default as the ID.

        • storageOptions (dict) --

          The storage options for a data partition.

          • maximumSize (dict) --

            The maximum storage size of the data stored in the data partition.

            • unit (string) --

              The data type of the data to store.

            • value (integer) --

              The maximum amount of time to store data.

          • storageLocation (string) --

            The folder name for the data partition under the campaign storage folder.

          • minimumTimeToLive (dict) --

            The amount of time that data in this partition will be kept on disk.

            • After the designated amount of time passes, the data can be removed, but it's not guaranteed to be removed.

            • Before the time expires, data in this partition can still be deleted if the partition reaches its configured maximum size.

            • Newer data will overwrite older data when the partition reaches the maximum size.

            • unit (string) --

              The time increment type.

            • value (integer) --

              The minimum amount of time to store the data.

        • uploadOptions (dict) --

          The upload options for the data partition.

          • expression (string) --

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

          • conditionLanguageVersion (integer) --

            The version of the condition language. Defaults to the most recent condition language version.

    • signalsToFetch (list) --

      Information about a list of signals to fetch data from.

      • (dict) --

        Information about the signal to be fetched.

        • fullyQualifiedName (string) --

          The fully qualified name of the signal to be fetched.

        • signalFetchConfig (dict) --

          The configuration of the signal fetch operation.

          • timeBased (dict) --

            The configuration of a time-based signal fetch operation.

            • executionFrequencyMs (integer) --

              The frequency with which the signal fetch will be executed.

          • conditionBased (dict) --

            The configuration of a condition-based signal fetch operation.

            • conditionExpression (string) --

              The condition that must be satisfied to trigger a signal fetch.

            • triggerMode (string) --

              Indicates the mode in which the signal fetch is triggered.

        • conditionLanguageVersion (integer) --

          The version of the condition language used.

        • actions (list) --

          The actions to be performed by the signal fetch.

          • (string) --

GetVehicle (updated) Link ¶
Changes (response)
{'stateTemplates': [{'identifier': 'string',
                     'stateTemplateUpdateStrategy': {'onChange': {},
                                                     'periodic': {'stateTemplateUpdateRate': {'unit': 'MILLISECOND '
                                                                                                      '| '
                                                                                                      'SECOND '
                                                                                                      '| '
                                                                                                      'MINUTE '
                                                                                                      '| '
                                                                                                      'HOUR',
                                                                                              'value': 'integer'}}}}]}

Retrieves information about a vehicle.

See also: AWS API Documentation

Request Syntax

client.get_vehicle(
    vehicleName='string'
)
type vehicleName:

string

param vehicleName:

[REQUIRED]

The ID of the vehicle to retrieve information about.

rtype:

dict

returns:

Response Syntax

{
    'vehicleName': 'string',
    'arn': 'string',
    'modelManifestArn': 'string',
    'decoderManifestArn': 'string',
    'attributes': {
        'string': 'string'
    },
    'stateTemplates': [
        {
            'identifier': 'string',
            'stateTemplateUpdateStrategy': {
                'periodic': {
                    'stateTemplateUpdateRate': {
                        'unit': 'MILLISECOND'|'SECOND'|'MINUTE'|'HOUR',
                        'value': 123
                    }
                },
                'onChange': {}
            }
        },
    ],
    'creationTime': datetime(2015, 1, 1),
    'lastModificationTime': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --

    • vehicleName (string) --

      The ID of the vehicle.

    • arn (string) --

      The Amazon Resource Name (ARN) of the vehicle to retrieve information about.

    • modelManifestArn (string) --

      The ARN of a vehicle model (model manifest) associated with the vehicle.

    • decoderManifestArn (string) --

      The ARN of a decoder manifest associated with the vehicle.

    • attributes (dict) --

      Static information about a vehicle in a key-value pair. For example:

      "engineType" : "1.3 L R2"

      • (string) --

        • (string) --

    • stateTemplates (list) --

      State templates associated with the vehicle.

      • (dict) --

        The state template associated with a vehicle. State templates contain state properties, which are signals that belong to a signal catalog that is synchronized between the Amazon Web Services IoT FleetWise Edge and the Amazon Web Services Cloud.

        • identifier (string) --

          A unique, service-generated identifier.

        • stateTemplateUpdateStrategy (dict) --

          The update strategy for the state template. Vehicles associated with the state template can stream telemetry data with either an onChange or periodic update strategy.

          • periodic (dict) --

            Vehicles associated with the state template will stream telemetry data during a specified time period.

            • stateTemplateUpdateRate (dict) --

              The length of time between state template updates.

              • unit (string) --

                A unit of time.

              • value (integer) --

                A number of time units.

          • onChange (dict) --

            Vehicles associated with the state template will stream telemetry data when there is a change.

    • creationTime (datetime) --

      The time the vehicle was created in seconds since epoch (January 1, 1970 at midnight UTC time).

    • lastModificationTime (datetime) --

      The time the vehicle was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).

ListDecoderManifestNetworkInterfaces (updated) Link ¶
Changes (response)
{'networkInterfaces': {'customDecodingInterface': {'name': 'string'},
                       'type': {'CUSTOM_DECODING_INTERFACE'}}}

Lists the network interfaces specified in a decoder manifest.

See also: AWS API Documentation

Request Syntax

client.list_decoder_manifest_network_interfaces(
    name='string',
    nextToken='string',
    maxResults=123
)
type name:

string

param name:

[REQUIRED]

The name of the decoder manifest to list information about.

type nextToken:

string

param nextToken:

A pagination token for the next set of results.

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

type maxResults:

integer

param maxResults:

The maximum number of items to return, between 1 and 100, inclusive.

rtype:

dict

returns:

Response Syntax

{
    'networkInterfaces': [
        {
            'interfaceId': 'string',
            'type': 'CAN_INTERFACE'|'OBD_INTERFACE'|'VEHICLE_MIDDLEWARE'|'CUSTOM_DECODING_INTERFACE',
            'canInterface': {
                'name': 'string',
                'protocolName': 'string',
                'protocolVersion': 'string'
            },
            'obdInterface': {
                'name': 'string',
                'requestMessageId': 123,
                'obdStandard': 'string',
                'pidRequestIntervalSeconds': 123,
                'dtcRequestIntervalSeconds': 123,
                'useExtendedIds': True|False,
                'hasTransmissionEcu': True|False
            },
            'vehicleMiddleware': {
                'name': 'string',
                'protocolName': 'ROS_2'
            },
            'customDecodingInterface': {
                'name': 'string'
            }
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • networkInterfaces (list) --

      A list of information about network interfaces.

      • (dict) --

        Represents a node and its specifications in an in-vehicle communication network. All signal decoders must be associated with a network node.

        To return this information about all the network interfaces specified in a decoder manifest, use the API operation.

        • interfaceId (string) --

          The ID of the network interface.

        • type (string) --

          The network protocol for the vehicle. For example, CAN_SIGNAL specifies a protocol that defines how data is communicated between electronic control units (ECUs). OBD_SIGNAL specifies a protocol that defines how self-diagnostic data is communicated between ECUs.

        • canInterface (dict) --

          Information about a network interface specified by the Controller Area Network (CAN) protocol.

          • name (string) --

            The unique name of the interface.

          • protocolName (string) --

            The name of the communication protocol for the interface.

          • protocolVersion (string) --

            The version of the communication protocol for the interface.

        • obdInterface (dict) --

          Information about a network interface specified by the on-board diagnostic (OBD) II protocol.

          • name (string) --

            The name of the interface.

          • requestMessageId (integer) --

            The ID of the message requesting vehicle data.

          • obdStandard (string) --

            The standard OBD II PID.

          • pidRequestIntervalSeconds (integer) --

            The maximum number message requests per second.

          • dtcRequestIntervalSeconds (integer) --

            The maximum number message requests per diagnostic trouble code per second.

          • useExtendedIds (boolean) --

            Whether to use extended IDs in the message.

          • hasTransmissionEcu (boolean) --

            Whether the vehicle has a transmission control module (TCM).

        • vehicleMiddleware (dict) --

          The vehicle middleware defined as a type of network interface. Examples of vehicle middleware include ROS2 and SOME/IP.

          • name (string) --

            The name of the vehicle middleware.

          • protocolName (string) --

            The protocol name of the vehicle middleware.

        • customDecodingInterface (dict) --

          Information about a custom network interface.

          • name (string) --

            The name of the interface.

    • nextToken (string) --

      The token to retrieve the next set of results, or null if there are no more results.

ListDecoderManifestSignals (updated) Link ¶
Changes (response)
{'signalDecoders': {'customDecodingSignal': {'id': 'string'},
                    'type': {'CUSTOM_DECODING_SIGNAL'}}}

A list of information about signal decoders specified in a decoder manifest.

See also: AWS API Documentation

Request Syntax

client.list_decoder_manifest_signals(
    name='string',
    nextToken='string',
    maxResults=123
)
type name:

string

param name:

[REQUIRED]

The name of the decoder manifest to list information about.

type nextToken:

string

param nextToken:

A pagination token for the next set of results.

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

type maxResults:

integer

param maxResults:

The maximum number of items to return, between 1 and 100, inclusive.

rtype:

dict

returns:

Response Syntax

{
    'signalDecoders': [
        {
            'fullyQualifiedName': 'string',
            'type': 'CAN_SIGNAL'|'OBD_SIGNAL'|'MESSAGE_SIGNAL'|'CUSTOM_DECODING_SIGNAL',
            'interfaceId': 'string',
            'canSignal': {
                'messageId': 123,
                'isBigEndian': True|False,
                'isSigned': True|False,
                'startBit': 123,
                'offset': 123.0,
                'factor': 123.0,
                'length': 123,
                'name': 'string'
            },
            'obdSignal': {
                'pidResponseLength': 123,
                'serviceMode': 123,
                'pid': 123,
                'scaling': 123.0,
                'offset': 123.0,
                'startByte': 123,
                'byteLength': 123,
                'bitRightShift': 123,
                'bitMaskLength': 123
            },
            'messageSignal': {
                'topicName': 'string',
                'structuredMessage': {
                    'primitiveMessageDefinition': {
                        'ros2PrimitiveMessageDefinition': {
                            'primitiveType': 'BOOL'|'BYTE'|'CHAR'|'FLOAT32'|'FLOAT64'|'INT8'|'UINT8'|'INT16'|'UINT16'|'INT32'|'UINT32'|'INT64'|'UINT64'|'STRING'|'WSTRING',
                            'offset': 123.0,
                            'scaling': 123.0,
                            'upperBound': 123
                        }
                    },
                    'structuredMessageListDefinition': {
                        'name': 'string',
                        'memberType': {'... recursive ...'},
                        'listType': 'FIXED_CAPACITY'|'DYNAMIC_UNBOUNDED_CAPACITY'|'DYNAMIC_BOUNDED_CAPACITY',
                        'capacity': 123
                    },
                    'structuredMessageDefinition': [
                        {
                            'fieldName': 'string',
                            'dataType': {'... recursive ...'}
                        },
                    ]
                }
            },
            'customDecodingSignal': {
                'id': 'string'
            }
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • signalDecoders (list) --

      Information about a list of signals to decode.

      • (dict) --

        Information about a signal decoder.

        • fullyQualifiedName (string) --

          The fully qualified name of a signal decoder as defined in a vehicle model.

        • type (string) --

          The network protocol for the vehicle. For example, CAN_SIGNAL specifies a protocol that defines how data is communicated between electronic control units (ECUs). OBD_SIGNAL specifies a protocol that defines how self-diagnostic data is communicated between ECUs.

        • interfaceId (string) --

          The ID of a network interface that specifies what network protocol a vehicle follows.

        • canSignal (dict) --

          Information about signal decoder using the Controller Area Network (CAN) protocol.

          • messageId (integer) --

            The ID of the message.

          • isBigEndian (boolean) --

            Whether the byte ordering of a CAN message is big-endian.

          • isSigned (boolean) --

            Whether the message data is specified as a signed value.

          • startBit (integer) --

            Indicates the beginning of the CAN signal. This should always be the least significant bit (LSB).

            This value might be different from the value in a DBC file. For little endian signals, startBit is the same value as in the DBC file. For big endian signals in a DBC file, the start bit is the most significant bit (MSB). You will have to calculate the LSB instead and pass it as the startBit.

          • offset (float) --

            The offset used to calculate the signal value. Combined with factor, the calculation is value = raw_value * factor + offset.

          • factor (float) --

            A multiplier used to decode the CAN message.

          • length (integer) --

            How many bytes of data are in the message.

          • name (string) --

            The name of the signal.

        • obdSignal (dict) --

          Information about signal decoder using the on-board diagnostic (OBD) II protocol.

          • pidResponseLength (integer) --

            The length of the requested data.

          • serviceMode (integer) --

            The mode of operation (diagnostic service) in a message.

          • pid (integer) --

            The diagnostic code used to request data from a vehicle for this signal.

          • scaling (float) --

            A multiplier used to decode the message.

          • offset (float) --

            The offset used to calculate the signal value. Combined with scaling, the calculation is value = raw_value * scaling + offset.

          • startByte (integer) --

            Indicates the beginning of the message.

          • byteLength (integer) --

            The length of a message.

          • bitRightShift (integer) --

            The number of positions to shift bits in the message.

          • bitMaskLength (integer) --

            The number of bits to mask in a message.

        • messageSignal (dict) --

          The decoding information for a specific message which supports higher order data types.

          • topicName (string) --

            The topic name for the message signal. It corresponds to topics in ROS 2.

          • structuredMessage (dict) --

            The structured message for the message signal. It can be defined with either a primitiveMessageDefinition, structuredMessageListDefinition, or structuredMessageDefinition recursively.

            • primitiveMessageDefinition (dict) --

              Represents a primitive type node of the complex data structure.

              • ros2PrimitiveMessageDefinition (dict) --

                Information about a PrimitiveMessage using a ROS 2 compliant primitive type message of the complex data structure.

                • primitiveType (string) --

                  The primitive type (integer, floating point, boolean, etc.) for the ROS 2 primitive message definition.

                • offset (float) --

                  The offset used to calculate the signal value. Combined with scaling, the calculation is value = raw_value * scaling + offset.

                • scaling (float) --

                  A multiplier used to decode the message.

                • upperBound (integer) --

                  An optional attribute specifying the upper bound for STRING and WSTRING.

            • structuredMessageListDefinition (dict) --

              Represents a list type node of the complex data structure.

              • name (string) --

                The name of the structured message list definition.

              • memberType (dict) --

                The member type of the structured message list definition.

              • listType (string) --

                The type of list of the structured message list definition.

              • capacity (integer) --

                The capacity of the structured message list definition when the list type is FIXED_CAPACITY or DYNAMIC_BOUNDED_CAPACITY.

            • structuredMessageDefinition (list) --

              Represents a struct type node of the complex data structure.

              • (dict) --

                Represents a StructureMessageName to DataType map element.

                • fieldName (string) --

                  The field name of the structured message. It determines how a data value is referenced in the target language.

                • dataType (dict) --

                  The data type.

        • customDecodingSignal (dict) --

          Information about a custom signal decoder.

          • id (string) --

            The ID of the signal.

    • nextToken (string) --

      The token to retrieve the next set of results, or null if there are no more results.

UpdateDecoderManifest (updated) Link ¶
Changes (request)
{'defaultForUnmappedSignals': 'CUSTOM_DECODING',
 'networkInterfacesToAdd': {'customDecodingInterface': {'name': 'string'},
                            'type': {'CUSTOM_DECODING_INTERFACE'}},
 'networkInterfacesToUpdate': {'customDecodingInterface': {'name': 'string'},
                               'type': {'CUSTOM_DECODING_INTERFACE'}},
 'signalDecodersToAdd': {'customDecodingSignal': {'id': 'string'},
                         'type': {'CUSTOM_DECODING_SIGNAL'}},
 'signalDecodersToUpdate': {'customDecodingSignal': {'id': 'string'},
                            'type': {'CUSTOM_DECODING_SIGNAL'}}}

Updates a decoder manifest.

A decoder manifest can only be updated when the status is DRAFT. Only ACTIVE decoder manifests can be associated with vehicles.

See also: AWS API Documentation

Request Syntax

client.update_decoder_manifest(
    name='string',
    description='string',
    signalDecodersToAdd=[
        {
            'fullyQualifiedName': 'string',
            'type': 'CAN_SIGNAL'|'OBD_SIGNAL'|'MESSAGE_SIGNAL'|'CUSTOM_DECODING_SIGNAL',
            'interfaceId': 'string',
            'canSignal': {
                'messageId': 123,
                'isBigEndian': True|False,
                'isSigned': True|False,
                'startBit': 123,
                'offset': 123.0,
                'factor': 123.0,
                'length': 123,
                'name': 'string'
            },
            'obdSignal': {
                'pidResponseLength': 123,
                'serviceMode': 123,
                'pid': 123,
                'scaling': 123.0,
                'offset': 123.0,
                'startByte': 123,
                'byteLength': 123,
                'bitRightShift': 123,
                'bitMaskLength': 123
            },
            'messageSignal': {
                'topicName': 'string',
                'structuredMessage': {
                    'primitiveMessageDefinition': {
                        'ros2PrimitiveMessageDefinition': {
                            'primitiveType': 'BOOL'|'BYTE'|'CHAR'|'FLOAT32'|'FLOAT64'|'INT8'|'UINT8'|'INT16'|'UINT16'|'INT32'|'UINT32'|'INT64'|'UINT64'|'STRING'|'WSTRING',
                            'offset': 123.0,
                            'scaling': 123.0,
                            'upperBound': 123
                        }
                    },
                    'structuredMessageListDefinition': {
                        'name': 'string',
                        'memberType': {'... recursive ...'},
                        'listType': 'FIXED_CAPACITY'|'DYNAMIC_UNBOUNDED_CAPACITY'|'DYNAMIC_BOUNDED_CAPACITY',
                        'capacity': 123
                    },
                    'structuredMessageDefinition': [
                        {
                            'fieldName': 'string',
                            'dataType': {'... recursive ...'}
                        },
                    ]
                }
            },
            'customDecodingSignal': {
                'id': 'string'
            }
        },
    ],
    signalDecodersToUpdate=[
        {
            'fullyQualifiedName': 'string',
            'type': 'CAN_SIGNAL'|'OBD_SIGNAL'|'MESSAGE_SIGNAL'|'CUSTOM_DECODING_SIGNAL',
            'interfaceId': 'string',
            'canSignal': {
                'messageId': 123,
                'isBigEndian': True|False,
                'isSigned': True|False,
                'startBit': 123,
                'offset': 123.0,
                'factor': 123.0,
                'length': 123,
                'name': 'string'
            },
            'obdSignal': {
                'pidResponseLength': 123,
                'serviceMode': 123,
                'pid': 123,
                'scaling': 123.0,
                'offset': 123.0,
                'startByte': 123,
                'byteLength': 123,
                'bitRightShift': 123,
                'bitMaskLength': 123
            },
            'messageSignal': {
                'topicName': 'string',
                'structuredMessage': {
                    'primitiveMessageDefinition': {
                        'ros2PrimitiveMessageDefinition': {
                            'primitiveType': 'BOOL'|'BYTE'|'CHAR'|'FLOAT32'|'FLOAT64'|'INT8'|'UINT8'|'INT16'|'UINT16'|'INT32'|'UINT32'|'INT64'|'UINT64'|'STRING'|'WSTRING',
                            'offset': 123.0,
                            'scaling': 123.0,
                            'upperBound': 123
                        }
                    },
                    'structuredMessageListDefinition': {
                        'name': 'string',
                        'memberType': {'... recursive ...'},
                        'listType': 'FIXED_CAPACITY'|'DYNAMIC_UNBOUNDED_CAPACITY'|'DYNAMIC_BOUNDED_CAPACITY',
                        'capacity': 123
                    },
                    'structuredMessageDefinition': [
                        {
                            'fieldName': 'string',
                            'dataType': {'... recursive ...'}
                        },
                    ]
                }
            },
            'customDecodingSignal': {
                'id': 'string'
            }
        },
    ],
    signalDecodersToRemove=[
        'string',
    ],
    networkInterfacesToAdd=[
        {
            'interfaceId': 'string',
            'type': 'CAN_INTERFACE'|'OBD_INTERFACE'|'VEHICLE_MIDDLEWARE'|'CUSTOM_DECODING_INTERFACE',
            'canInterface': {
                'name': 'string',
                'protocolName': 'string',
                'protocolVersion': 'string'
            },
            'obdInterface': {
                'name': 'string',
                'requestMessageId': 123,
                'obdStandard': 'string',
                'pidRequestIntervalSeconds': 123,
                'dtcRequestIntervalSeconds': 123,
                'useExtendedIds': True|False,
                'hasTransmissionEcu': True|False
            },
            'vehicleMiddleware': {
                'name': 'string',
                'protocolName': 'ROS_2'
            },
            'customDecodingInterface': {
                'name': 'string'
            }
        },
    ],
    networkInterfacesToUpdate=[
        {
            'interfaceId': 'string',
            'type': 'CAN_INTERFACE'|'OBD_INTERFACE'|'VEHICLE_MIDDLEWARE'|'CUSTOM_DECODING_INTERFACE',
            'canInterface': {
                'name': 'string',
                'protocolName': 'string',
                'protocolVersion': 'string'
            },
            'obdInterface': {
                'name': 'string',
                'requestMessageId': 123,
                'obdStandard': 'string',
                'pidRequestIntervalSeconds': 123,
                'dtcRequestIntervalSeconds': 123,
                'useExtendedIds': True|False,
                'hasTransmissionEcu': True|False
            },
            'vehicleMiddleware': {
                'name': 'string',
                'protocolName': 'ROS_2'
            },
            'customDecodingInterface': {
                'name': 'string'
            }
        },
    ],
    networkInterfacesToRemove=[
        'string',
    ],
    status='ACTIVE'|'DRAFT'|'INVALID'|'VALIDATING',
    defaultForUnmappedSignals='CUSTOM_DECODING'
)
type name:

string

param name:

[REQUIRED]

The name of the decoder manifest to update.

type description:

string

param description:

A brief description of the decoder manifest to update.

type signalDecodersToAdd:

list

param signalDecodersToAdd:

A list of information about decoding additional signals to add to the decoder manifest.

  • (dict) --

    Information about a signal decoder.

    • fullyQualifiedName (string) -- [REQUIRED]

      The fully qualified name of a signal decoder as defined in a vehicle model.

    • type (string) -- [REQUIRED]

      The network protocol for the vehicle. For example, CAN_SIGNAL specifies a protocol that defines how data is communicated between electronic control units (ECUs). OBD_SIGNAL specifies a protocol that defines how self-diagnostic data is communicated between ECUs.

    • interfaceId (string) -- [REQUIRED]

      The ID of a network interface that specifies what network protocol a vehicle follows.

    • canSignal (dict) --

      Information about signal decoder using the Controller Area Network (CAN) protocol.

      • messageId (integer) -- [REQUIRED]

        The ID of the message.

      • isBigEndian (boolean) -- [REQUIRED]

        Whether the byte ordering of a CAN message is big-endian.

      • isSigned (boolean) -- [REQUIRED]

        Whether the message data is specified as a signed value.

      • startBit (integer) -- [REQUIRED]

        Indicates the beginning of the CAN signal. This should always be the least significant bit (LSB).

        This value might be different from the value in a DBC file. For little endian signals, startBit is the same value as in the DBC file. For big endian signals in a DBC file, the start bit is the most significant bit (MSB). You will have to calculate the LSB instead and pass it as the startBit.

      • offset (float) -- [REQUIRED]

        The offset used to calculate the signal value. Combined with factor, the calculation is value = raw_value * factor + offset.

      • factor (float) -- [REQUIRED]

        A multiplier used to decode the CAN message.

      • length (integer) -- [REQUIRED]

        How many bytes of data are in the message.

      • name (string) --

        The name of the signal.

    • obdSignal (dict) --

      Information about signal decoder using the on-board diagnostic (OBD) II protocol.

      • pidResponseLength (integer) -- [REQUIRED]

        The length of the requested data.

      • serviceMode (integer) -- [REQUIRED]

        The mode of operation (diagnostic service) in a message.

      • pid (integer) -- [REQUIRED]

        The diagnostic code used to request data from a vehicle for this signal.

      • scaling (float) -- [REQUIRED]

        A multiplier used to decode the message.

      • offset (float) -- [REQUIRED]

        The offset used to calculate the signal value. Combined with scaling, the calculation is value = raw_value * scaling + offset.

      • startByte (integer) -- [REQUIRED]

        Indicates the beginning of the message.

      • byteLength (integer) -- [REQUIRED]

        The length of a message.

      • bitRightShift (integer) --

        The number of positions to shift bits in the message.

      • bitMaskLength (integer) --

        The number of bits to mask in a message.

    • messageSignal (dict) --

      The decoding information for a specific message which supports higher order data types.

      • topicName (string) -- [REQUIRED]

        The topic name for the message signal. It corresponds to topics in ROS 2.

      • structuredMessage (dict) -- [REQUIRED]

        The structured message for the message signal. It can be defined with either a primitiveMessageDefinition, structuredMessageListDefinition, or structuredMessageDefinition recursively.

        • primitiveMessageDefinition (dict) --

          Represents a primitive type node of the complex data structure.

          • ros2PrimitiveMessageDefinition (dict) --

            Information about a PrimitiveMessage using a ROS 2 compliant primitive type message of the complex data structure.

            • primitiveType (string) -- [REQUIRED]

              The primitive type (integer, floating point, boolean, etc.) for the ROS 2 primitive message definition.

            • offset (float) --

              The offset used to calculate the signal value. Combined with scaling, the calculation is value = raw_value * scaling + offset.

            • scaling (float) --

              A multiplier used to decode the message.

            • upperBound (integer) --

              An optional attribute specifying the upper bound for STRING and WSTRING.

        • structuredMessageListDefinition (dict) --

          Represents a list type node of the complex data structure.

          • name (string) -- [REQUIRED]

            The name of the structured message list definition.

          • memberType (dict) --

            The member type of the structured message list definition.

          • listType (string) -- [REQUIRED]

            The type of list of the structured message list definition.

          • capacity (integer) --

            The capacity of the structured message list definition when the list type is FIXED_CAPACITY or DYNAMIC_BOUNDED_CAPACITY.

        • structuredMessageDefinition (list) --

          Represents a struct type node of the complex data structure.

          • (dict) --

            Represents a StructureMessageName to DataType map element.

            • fieldName (string) -- [REQUIRED]

              The field name of the structured message. It determines how a data value is referenced in the target language.

            • dataType (dict) --

              The data type.

    • customDecodingSignal (dict) --

      Information about a custom signal decoder.

      • id (string) -- [REQUIRED]

        The ID of the signal.

type signalDecodersToUpdate:

list

param signalDecodersToUpdate:

A list of updated information about decoding signals to update in the decoder manifest.

  • (dict) --

    Information about a signal decoder.

    • fullyQualifiedName (string) -- [REQUIRED]

      The fully qualified name of a signal decoder as defined in a vehicle model.

    • type (string) -- [REQUIRED]

      The network protocol for the vehicle. For example, CAN_SIGNAL specifies a protocol that defines how data is communicated between electronic control units (ECUs). OBD_SIGNAL specifies a protocol that defines how self-diagnostic data is communicated between ECUs.

    • interfaceId (string) -- [REQUIRED]

      The ID of a network interface that specifies what network protocol a vehicle follows.

    • canSignal (dict) --

      Information about signal decoder using the Controller Area Network (CAN) protocol.

      • messageId (integer) -- [REQUIRED]

        The ID of the message.

      • isBigEndian (boolean) -- [REQUIRED]

        Whether the byte ordering of a CAN message is big-endian.

      • isSigned (boolean) -- [REQUIRED]

        Whether the message data is specified as a signed value.

      • startBit (integer) -- [REQUIRED]

        Indicates the beginning of the CAN signal. This should always be the least significant bit (LSB).

        This value might be different from the value in a DBC file. For little endian signals, startBit is the same value as in the DBC file. For big endian signals in a DBC file, the start bit is the most significant bit (MSB). You will have to calculate the LSB instead and pass it as the startBit.

      • offset (float) -- [REQUIRED]

        The offset used to calculate the signal value. Combined with factor, the calculation is value = raw_value * factor + offset.

      • factor (float) -- [REQUIRED]

        A multiplier used to decode the CAN message.

      • length (integer) -- [REQUIRED]

        How many bytes of data are in the message.

      • name (string) --

        The name of the signal.

    • obdSignal (dict) --

      Information about signal decoder using the on-board diagnostic (OBD) II protocol.

      • pidResponseLength (integer) -- [REQUIRED]

        The length of the requested data.

      • serviceMode (integer) -- [REQUIRED]

        The mode of operation (diagnostic service) in a message.

      • pid (integer) -- [REQUIRED]

        The diagnostic code used to request data from a vehicle for this signal.

      • scaling (float) -- [REQUIRED]

        A multiplier used to decode the message.

      • offset (float) -- [REQUIRED]

        The offset used to calculate the signal value. Combined with scaling, the calculation is value = raw_value * scaling + offset.

      • startByte (integer) -- [REQUIRED]

        Indicates the beginning of the message.

      • byteLength (integer) -- [REQUIRED]

        The length of a message.

      • bitRightShift (integer) --

        The number of positions to shift bits in the message.

      • bitMaskLength (integer) --

        The number of bits to mask in a message.

    • messageSignal (dict) --

      The decoding information for a specific message which supports higher order data types.

      • topicName (string) -- [REQUIRED]

        The topic name for the message signal. It corresponds to topics in ROS 2.

      • structuredMessage (dict) -- [REQUIRED]

        The structured message for the message signal. It can be defined with either a primitiveMessageDefinition, structuredMessageListDefinition, or structuredMessageDefinition recursively.

        • primitiveMessageDefinition (dict) --

          Represents a primitive type node of the complex data structure.

          • ros2PrimitiveMessageDefinition (dict) --

            Information about a PrimitiveMessage using a ROS 2 compliant primitive type message of the complex data structure.

            • primitiveType (string) -- [REQUIRED]

              The primitive type (integer, floating point, boolean, etc.) for the ROS 2 primitive message definition.

            • offset (float) --

              The offset used to calculate the signal value. Combined with scaling, the calculation is value = raw_value * scaling + offset.

            • scaling (float) --

              A multiplier used to decode the message.

            • upperBound (integer) --

              An optional attribute specifying the upper bound for STRING and WSTRING.

        • structuredMessageListDefinition (dict) --

          Represents a list type node of the complex data structure.

          • name (string) -- [REQUIRED]

            The name of the structured message list definition.

          • memberType (dict) --

            The member type of the structured message list definition.

          • listType (string) -- [REQUIRED]

            The type of list of the structured message list definition.

          • capacity (integer) --

            The capacity of the structured message list definition when the list type is FIXED_CAPACITY or DYNAMIC_BOUNDED_CAPACITY.

        • structuredMessageDefinition (list) --

          Represents a struct type node of the complex data structure.

          • (dict) --

            Represents a StructureMessageName to DataType map element.

            • fieldName (string) -- [REQUIRED]

              The field name of the structured message. It determines how a data value is referenced in the target language.

            • dataType (dict) --

              The data type.

    • customDecodingSignal (dict) --

      Information about a custom signal decoder.

      • id (string) -- [REQUIRED]

        The ID of the signal.

type signalDecodersToRemove:

list

param signalDecodersToRemove:

A list of signal decoders to remove from the decoder manifest.

  • (string) --

type networkInterfacesToAdd:

list

param networkInterfacesToAdd:

A list of information about the network interfaces to add to the decoder manifest.

  • (dict) --

    Represents a node and its specifications in an in-vehicle communication network. All signal decoders must be associated with a network node.

    To return this information about all the network interfaces specified in a decoder manifest, use the API operation.

    • interfaceId (string) -- [REQUIRED]

      The ID of the network interface.

    • type (string) -- [REQUIRED]

      The network protocol for the vehicle. For example, CAN_SIGNAL specifies a protocol that defines how data is communicated between electronic control units (ECUs). OBD_SIGNAL specifies a protocol that defines how self-diagnostic data is communicated between ECUs.

    • canInterface (dict) --

      Information about a network interface specified by the Controller Area Network (CAN) protocol.

      • name (string) -- [REQUIRED]

        The unique name of the interface.

      • protocolName (string) --

        The name of the communication protocol for the interface.

      • protocolVersion (string) --

        The version of the communication protocol for the interface.

    • obdInterface (dict) --

      Information about a network interface specified by the on-board diagnostic (OBD) II protocol.

      • name (string) -- [REQUIRED]

        The name of the interface.

      • requestMessageId (integer) -- [REQUIRED]

        The ID of the message requesting vehicle data.

      • obdStandard (string) --

        The standard OBD II PID.

      • pidRequestIntervalSeconds (integer) --

        The maximum number message requests per second.

      • dtcRequestIntervalSeconds (integer) --

        The maximum number message requests per diagnostic trouble code per second.

      • useExtendedIds (boolean) --

        Whether to use extended IDs in the message.

      • hasTransmissionEcu (boolean) --

        Whether the vehicle has a transmission control module (TCM).

    • vehicleMiddleware (dict) --

      The vehicle middleware defined as a type of network interface. Examples of vehicle middleware include ROS2 and SOME/IP.

      • name (string) -- [REQUIRED]

        The name of the vehicle middleware.

      • protocolName (string) -- [REQUIRED]

        The protocol name of the vehicle middleware.

    • customDecodingInterface (dict) --

      Information about a custom network interface.

      • name (string) -- [REQUIRED]

        The name of the interface.

type networkInterfacesToUpdate:

list

param networkInterfacesToUpdate:

A list of information about the network interfaces to update in the decoder manifest.

  • (dict) --

    Represents a node and its specifications in an in-vehicle communication network. All signal decoders must be associated with a network node.

    To return this information about all the network interfaces specified in a decoder manifest, use the API operation.

    • interfaceId (string) -- [REQUIRED]

      The ID of the network interface.

    • type (string) -- [REQUIRED]

      The network protocol for the vehicle. For example, CAN_SIGNAL specifies a protocol that defines how data is communicated between electronic control units (ECUs). OBD_SIGNAL specifies a protocol that defines how self-diagnostic data is communicated between ECUs.

    • canInterface (dict) --

      Information about a network interface specified by the Controller Area Network (CAN) protocol.

      • name (string) -- [REQUIRED]

        The unique name of the interface.

      • protocolName (string) --

        The name of the communication protocol for the interface.

      • protocolVersion (string) --

        The version of the communication protocol for the interface.

    • obdInterface (dict) --

      Information about a network interface specified by the on-board diagnostic (OBD) II protocol.

      • name (string) -- [REQUIRED]

        The name of the interface.

      • requestMessageId (integer) -- [REQUIRED]

        The ID of the message requesting vehicle data.

      • obdStandard (string) --

        The standard OBD II PID.

      • pidRequestIntervalSeconds (integer) --

        The maximum number message requests per second.

      • dtcRequestIntervalSeconds (integer) --

        The maximum number message requests per diagnostic trouble code per second.

      • useExtendedIds (boolean) --

        Whether to use extended IDs in the message.

      • hasTransmissionEcu (boolean) --

        Whether the vehicle has a transmission control module (TCM).

    • vehicleMiddleware (dict) --

      The vehicle middleware defined as a type of network interface. Examples of vehicle middleware include ROS2 and SOME/IP.

      • name (string) -- [REQUIRED]

        The name of the vehicle middleware.

      • protocolName (string) -- [REQUIRED]

        The protocol name of the vehicle middleware.

    • customDecodingInterface (dict) --

      Information about a custom network interface.

      • name (string) -- [REQUIRED]

        The name of the interface.

type networkInterfacesToRemove:

list

param networkInterfacesToRemove:

A list of network interfaces to remove from the decoder manifest.

  • (string) --

type status:

string

param status:

The state of the decoder manifest. If the status is ACTIVE, the decoder manifest can't be edited. If the status is DRAFT, you can edit the decoder manifest.

type defaultForUnmappedSignals:

string

param defaultForUnmappedSignals:

Use default decoders for all unmapped signals in the model. You don't need to provide any detailed decoding information.

rtype:

dict

returns:

Response Syntax

{
    'name': 'string',
    'arn': 'string'
}

Response Structure

  • (dict) --

    • name (string) --

      The name of the updated decoder manifest.

    • arn (string) --

      The Amazon Resource Name (ARN) of the updated decoder manifest.

UpdateVehicle (updated) Link ¶
Changes (request)
{'stateTemplatesToAdd': [{'identifier': 'string',
                          'stateTemplateUpdateStrategy': {'onChange': {},
                                                          'periodic': {'stateTemplateUpdateRate': {'unit': 'MILLISECOND '
                                                                                                           '| '
                                                                                                           'SECOND '
                                                                                                           '| '
                                                                                                           'MINUTE '
                                                                                                           '| '
                                                                                                           'HOUR',
                                                                                                   'value': 'integer'}}}}],
 'stateTemplatesToRemove': ['string']}

Updates a vehicle.

See also: AWS API Documentation

Request Syntax

client.update_vehicle(
    vehicleName='string',
    modelManifestArn='string',
    decoderManifestArn='string',
    attributes={
        'string': 'string'
    },
    attributeUpdateMode='Overwrite'|'Merge',
    stateTemplatesToAdd=[
        {
            'identifier': 'string',
            'stateTemplateUpdateStrategy': {
                'periodic': {
                    'stateTemplateUpdateRate': {
                        'unit': 'MILLISECOND'|'SECOND'|'MINUTE'|'HOUR',
                        'value': 123
                    }
                },
                'onChange': {}

            }
        },
    ],
    stateTemplatesToRemove=[
        'string',
    ]
)
type vehicleName:

string

param vehicleName:

[REQUIRED]

The unique ID of the vehicle to update.

type modelManifestArn:

string

param modelManifestArn:

The ARN of a vehicle model (model manifest) associated with the vehicle.

type decoderManifestArn:

string

param decoderManifestArn:

The ARN of the decoder manifest associated with this vehicle.

type attributes:

dict

param attributes:

Static information about a vehicle in a key-value pair. For example:

"engineType" : "1.3 L R2"

  • (string) --

    • (string) --

type attributeUpdateMode:

string

param attributeUpdateMode:

The method the specified attributes will update the existing attributes on the vehicle. Use Overwite to replace the vehicle attributes with the specified attributes. Or use Merge to combine all attributes.

This is required if attributes are present in the input.

type stateTemplatesToAdd:

list

param stateTemplatesToAdd:

Associate state templates with the vehicle.

  • (dict) --

    The state template associated with a vehicle. State templates contain state properties, which are signals that belong to a signal catalog that is synchronized between the Amazon Web Services IoT FleetWise Edge and the Amazon Web Services Cloud.

    • identifier (string) -- [REQUIRED]

      A unique, service-generated identifier.

    • stateTemplateUpdateStrategy (dict) -- [REQUIRED]

      The update strategy for the state template. Vehicles associated with the state template can stream telemetry data with either an onChange or periodic update strategy.

      • periodic (dict) --

        Vehicles associated with the state template will stream telemetry data during a specified time period.

        • stateTemplateUpdateRate (dict) -- [REQUIRED]

          The length of time between state template updates.

          • unit (string) -- [REQUIRED]

            A unit of time.

          • value (integer) -- [REQUIRED]

            A number of time units.

      • onChange (dict) --

        Vehicles associated with the state template will stream telemetry data when there is a change.

type stateTemplatesToRemove:

list

param stateTemplatesToRemove:

Remove state templates from the vehicle.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'vehicleName': 'string',
    'arn': 'string'
}

Response Structure

  • (dict) --

    • vehicleName (string) --

      The ID of the updated vehicle.

    • arn (string) --

      The ARN of the updated vehicle.