streamtool submitdevicecommand
The streamtool submitdevicecommand submits a command to the container that is running on the edge tier device.
Usage
lsdevices >>-command-- --configname--configname---------------------------> >--+------------------------+--+----------------------------+---> '- --deviceid--device-id-' '- --devicetype--device-type-' >--+--------------------+--+-------------------+----------------> '-+- -d-------+--did-' '- --file--filename-' '- --domain-' >--+-------------+--+----------------------+--------------------> '-+- -h-----+-' '-+- -i---------+--iid-' '- --help-' '- --instance-' >--+---------------------+--+-----------------------+-----------> '- --trace--+-------+-' '-+- -U-----+--+------+-' '-level-' '- --User-' '-user-' >--+-----------------------+------------------------------------> '-+- -v--------+--level-' '- --verbose-' >--| Non-interactive tool options |---------------------------->< Non-interactive tool options (1) |--------+-----------------------------+------------------------| +- --embeddedzk---------------+ | .-,---------. | | V | | '- --zkconnect----host:port-+-'
- The non-interactive tool options are not supported in the interactive streamtool interface.
Authority
To run this command, you must have read authority on the application configuration security element. For more information about access control lists, see streamtool getdomainacl.
Description
Use this command to submit a command to the container that is running on the edge tier device. You can specify a JSON file with command parameters. You can also specify the device type for the command to run on.
Options and arguments
- command
Specifies the command name to submit for the edge tier device.
- --configname config-name
Specifies the name of the application configuration.
- --deviceid device-id
Specifies the device ID that is associated with the command.
- --devicetype device-type
Specifies the device type that is associated with the command.
- -d,--domain-id did
Specifies the domain identifier.
If you do not specify this option, IBM® Streams uses the domain name that is set in the STREAMS_DOMAIN_ID environment variable. By default, that domain name is StreamsDomain. If you are using the interactive streamtool interface, it uses the name of the active domain for the current streamtool session or else it prompts you for the domain name.
The active domain for the current streamtool session is set every time that you successfully run a streamtool command with a -d or --domain-id option. Alternatively, you can run the streamtool domain command in the interactive interface.
- --embeddedzk
Specifies to use the embedded copy of ZooKeeper. This option is not supported within the interactive streamtool interface.
If you are not using the interactive streamtool interface and you do not specify either this option or the --zkconnect option, IBM Streams uses the ZooKeeper connection that is associated with the active domain or the domain that is specified in the --domain-id option. IBM Streams determines which connection maps to the domain by using cached information about the domains. In this scenario, if the domain identifier is not unique in the IBM Streams configuration cache, the command fails.
- -f,--file file-name
Specifies the JSON file that contains device command parameters.
- -h,--help
Specifies to show the command syntax.
- -i, --instance-id iid
Specifies the instance identifier.
If you do not specify this option, IBM Streams uses the instance identifier that is set in the STREAMS_INSTANCE_ID environment variable. By default, that instance identifier is StreamsInstance. If you are using the interactive streamtool interface, it tries to use an instance ID that you specified in a previous command. If no such value is found, the command uses the STREAMS_INSTANCE_ID environment variable. Alternatively, you can run the streamtool instance command in the interactive interface.
- --trace level
Specifies the trace setting. The following valid levels are listed in order of increasing verbosity, which is to say that the first level in the list generates the least amount of information:
- off
- error
- warn
- info
- debug
- trace
- -U,--User user
Specifies an IBM Streams user ID that has authority to run the command.
- -v,--verbose level
Specifies to provide more detailed command output. You must specify one of the following verbosity levels:
- 0: This level disables detailed reporting.
- 1: This level provides detailed information only for resources that have problems and for situations where checks fail.
- 2: This level provides detailed information for each resource that is checked.
- 3: This level provides detailed information for everything that the command checks.
- --zkconnect host:port
The name of one or more host and port pairs that specify the configured ZooKeeper servers. This option is not supported within the interactive streamtool interface.
If you are not using the interactive streamtool interface and you do not specify this option, IBM Streams tries to use:- The --embeddedzk option
- The value from the STREAMS_ZKCONNECT environment variable
- A ZooKeeper connection string that is derived from cached information about the current domain.
The following example demonstrates how to submit the Heartbeat application to devices of type IBMlaptop:
submitdevicecommand -d myDomain -i myInstance
--configname myIOTAppConfig --devicetype
IBMlaptop --file startapp.json quarksControl
