Difference between revisions of "Actions"

From AMTech WikiDocs
Jump to: navigation, search
(Create thing)
(Update thing)
Line 25: Line 25:
 
* Things aren't immediately updated. The update action is queued as a promise. See [[CRUD promises]].
 
* Things aren't immediately updated. The update action is queued as a promise. See [[CRUD promises]].
 
* In the configuration context (and also at execution time) the object referencing "the thing" doesn't change after the action update. It means that any further action using "the current thing" object will work with the same object that the observer retrieved from the DAP.
 
* In the configuration context (and also at execution time) the object referencing "the thing" doesn't change after the action update. It means that any further action using "the current thing" object will work with the same object that the observer retrieved from the DAP.
 +
* Security properties can be set using the guest tenant and guest users bindings in the action
  
 
=== Delete thing ===
 
=== Delete thing ===

Revision as of 10:00, 22 March 2021

Actions are added to reasoners, in order to be executed. All reasoners must have al least one action to be valid for publication in an activity

Create action workflow

Select action from actions menu

Actions editor

Set action's general properties

Action general properties

Recipients

Media

Continue on failured

Bind action's properties

Types of actions

Create thing

  • This action is configured to create a new thing.
  • The name property will be used to generate a unique ID for this thing.
  • Things aren't immediately created. The creation action is queued as a promise. See CRUD promises.
  • Security is copied from the observation (guest tenants and guest users)

Update thing

  • This is only available in a for-each reasoner.
  • This action is configured to update an existing thing: the thing that is currently being visited by the for-each reasoner.
  • Things aren't immediately updated. The update action is queued as a promise. See CRUD promises.
  • In the configuration context (and also at execution time) the object referencing "the thing" doesn't change after the action update. It means that any further action using "the current thing" object will work with the same object that the observer retrieved from the DAP.
  • Security properties can be set using the guest tenant and guest users bindings in the action

Delete thing

  • This action is only available in a for-each reasoner.
  • This action is configured to delete the thing that is currently being visited by the for-each reasoner.
  • The thing is not immediately deleted. The deletion action is queued as a promise instead. See CRUD promises.

Send observation

Send command

  • This action can be configured to send a command.
  • Command objects have no differences with observation objects. In fact, you will be asked to provide an observation type as if you were sending a regular observation.
  • At configuration time you must supply a thing type (the thing type that will receive the command) and an observation type to be send as command.
Thing and observation type
  • You can bind a thing id (target uri) of the thing type previously specified in order to be more specific about the thing instance that will receive the command.
thing id

Send notification

  • This action can be configured to send a notification. Notifications are configured as global objects under the activity's scope.
  • Once the notification action is created you can configure:
    • Media: is a comma separated list of the following values:
      • dap: notify based on the security for the execution of this action through the SaaS experience. If the security is taken from the observation that triggered this reasoner then the notification will be sent to the same tenant that owns the observation. On the other hand, if the security is taken from the iterated thing (in a foreach reasoner) then the observation will be sent to the same tenant that owns the thing being iterated when this notification was originated.
      • mail: notify by mail. The list of email addresses that will receive the notification is specified in the Recipients property. In the case of foreach reasoners, the email address list specified in the emaillist property of the thing being iterated is also used to enrich the list of recipients.
      • text: not in use yet.
    • Recipients: accept a list of email addresses that will be notified by email.
  • You will need to provide string bindings for all the configured placeholders in the notification object.

Send scheduled observation

  • Very similar to send observations action.
  • You will be required to specify the following:
    • An identifier for this scheduled observation.
    • Start date: a starting point in the future where the send observation action will actually be executed.
    • Occurrence: a number of repetitions: 0 for unlimmited repetitions
    • A frequency of repetitions specified as a combination of years, months, days, hours, minutes, seconds. For instance, 3 days, 4 hours, 30 minutes will specify that the observation will be sent each time a period of 3 days 4 hours and 30 minutes is elapsed.


Action security context

The security info for executing actions is taken from the observation that triggered the reasoner.

  • all actions are executed with the user and tenant of the observation
  • for actions that create resources, the guest tenants, guest users and guest services of the observation are copied to the new resource