mirror of https://github.com/apache/cassandra
64 lines
1.6 KiB
Plaintext
64 lines
1.6 KiB
Plaintext
Cassandra Trigger Example
|
|
==========================
|
|
|
|
The `AuditTrigger` class will create a basic audit of
|
|
activity on a table.
|
|
|
|
Installation
|
|
-------------
|
|
|
|
----
|
|
$ cd <cassandra_src_dir>/examples/triggers
|
|
$ ant install
|
|
----
|
|
|
|
It will build the trigger and copy it to `conf/triggers`. `AuditTrigger.properties`
|
|
in `conf` directory of this example will be automatically bundled into built jar file.
|
|
It is not needed to copy it to `conf/triggers` directory.
|
|
|
|
Usage
|
|
-----
|
|
|
|
Create the keyspace and table configured in `AuditTrigger.properties`:
|
|
|
|
----
|
|
cqlsh> CREATE KEYSPACE test WITH REPLICATION =
|
|
{ 'class' : 'SimpleStrategy', 'replication_factor' : '1' };
|
|
cqlsh> CREATE TABLE test.audit (key timeuuid, keyspace_name text,
|
|
table_name text, primary_key text, PRIMARY KEY(key));
|
|
----
|
|
|
|
Create a table to add the trigger to:
|
|
|
|
Note: The example currently only handles non-composite partition keys
|
|
----
|
|
cqlsh> CREATE TABLE test.test (key text, value text, PRIMARY KEY(key));
|
|
----
|
|
|
|
Configure the trigger on the table:
|
|
|
|
----
|
|
cqlsh> CREATE TRIGGER test1 ON test.test USING 'org.apache.cassandra.triggers.AuditTrigger';
|
|
----
|
|
|
|
Start inserting data to the table that has the trigger. For each
|
|
partition added to the table an entry should appear in the 'audit' table:
|
|
|
|
----
|
|
cqlsh> INSERT INTO test.test (key, value) VALUES ('1', '1');
|
|
----
|
|
|
|
An entry will be automatically added to `test.audit` table:
|
|
|
|
----
|
|
cqlsh> SELECT * FROM test.audit ;
|
|
|
|
@ Row 1
|
|
---------------+--------------------------------------
|
|
key | 885141d0-ad7c-11ed-b917-9958320828b8
|
|
keyspace_name | test
|
|
primary_key | 1
|
|
table_name | test
|
|
----
|
|
|