Skip to main content

Monitoring of Synapse Entity changes with the use of File Views.

Project description

Synapse Monitoring

Get synapsemonitor from PyPI

Provides tools for monitoring modified Synapse entities.

Installation

pip install synapsemonitor

Usage

usage: synapsemonitor [-h] [-c file] [--log {debug,info,warning,error}] {monitor,create} ...

Checks for new or modified Synapse entities. If a Project or Folder entity is specified, all File entity
descendants will be monitored. Users can create a Synapse File View to track the contents of Projects or
Folders with many file entities more efficiently. You can use the `create` function provided in this package
to create a File View.

optional arguments:
  -h, --help            show this help message and exit
  -c file, --synapse_config file
                        Synapse config file with user credentials: (default
                        /Users/hhunterzinck/.synapseConfig)
  --log {debug,info,warning,error}, -l {debug,info,warning,error}
                        Set logging output level (default: error)

commands:
  The following commands are available:

  {monitor,create}      For additional help: "synapsemonitor <COMMAND> -h"
    monitor             Find new or modified File entities.
    create              Creates a File View that will list all the File entities under the specified scopes
                        (Synapse Folders or Projects). This will allow you to query for the files contained in
                        your specified scopes. This will NOT track the other entities currently: PROJECT,
                        TABLE, FOLDER, VIEW, DOCKER.

Monitor File entities and send email notifications

Monitors Synapse entities for modifications and sends an email through the Synapse messaging system to the user specified when modified entities are detected. Prints a list of modified File entities. If the specified entity is a container (Project or Folder), all descendant File entities are monitored. If the specified entity is a File View, all contained enties are monitored.

usage: synapsemonitor monitor [-h] [--users USERS [USERS ...]] [--output OUTPUT] [--email_subject EMAIL_SUBJECT] [--rate rate] synapse_id

positional arguments:
  synapse_id            Synapse ID of entity to be monitored.

optional arguments:
  -h, --help            show this help message and exit
  --users USERS [USERS ...], -u USERS [USERS ...]
                        User Id or username of individuals to send report. If not specified, defaults to logged in Synapse user.
  --output OUTPUT, -o OUTPUT
                        Output modified entities into this csv file. (default: None)
  --email_subject EMAIL_SUBJECT, -e EMAIL_SUBJECT
                        Sets the subject heading of the email sent out. (default: New Synapse Files)
  --value value, -v value
                        Find modifications to File entities in the last
                        {value} {unit}. (default: 1)
  --unit unit, -t unit  Find modifications to File entities in the last
                        {value} {unit}. (default: 'day')

Create File View

Creates a File View that will list all the File entities under the specified scopes (Synapse Folders or Projects). This will allow you to query for the files contained in your specified scopes. This will NOT track the other entities currently: PROJECT, TABLE, FOLDER, VIEW, DOCKER.

usage: synapsemonitor create [-h] --scope_ids SCOPE_IDS [SCOPE_IDS ...] NAME project_id

positional arguments:
  NAME                  File View name
  project_id            Synapse Project Id to store file view in

optional arguments:
  -h, --help            show this help message and exit
  --scope_ids SCOPE_IDS [SCOPE_IDS ...]
                        Synapse Folder / Project Ids

Docker

There is a Docker repository that is automatically build: sagebionetworks/synapsemonitor. See the available tags here. It is always recommended to use a tag other than latest because the latest tag can change. This package requires authentication to Synapse and we highly recommend using a Synapse PAT. For more information on the PAT.

docker run -e SYNAPSE_AUTH_TOKEN={your_auth_token_here} sagebionetworks/synapsemonitor:v0.0.2 -h

Cronjobs

Often times you will want to run this code periodically to continuously track changes. One way you can do this is to set up a cronjob. Follow this beginners guide. Note: you will most likely want to create an ec2 to run your cronjob instead of your laptop.

There are also other technologies that support scheduled execution of code such as AWS lambdas, AWS batch, Kubernetes and etc. The above is a way of setting a cronjob on your laptop or ec2.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

synapsemonitor-1.1.0.tar.gz (16.4 kB view details)

Uploaded Source

Built Distribution

synapsemonitor-1.1.0-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file synapsemonitor-1.1.0.tar.gz.

File metadata

  • Download URL: synapsemonitor-1.1.0.tar.gz
  • Upload date:
  • Size: 16.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for synapsemonitor-1.1.0.tar.gz
Algorithm Hash digest
SHA256 f698dc7a6e9decb352dfe3779a2191bbbdbcc9203df1c5dbf0a7273e572640c5
MD5 3bcff994252b1f1ad178513e6242f939
BLAKE2b-256 e128488bffb6bdd72e4e616151c07b02dea722ba256d460d868b0604db683812

See more details on using hashes here.

File details

Details for the file synapsemonitor-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for synapsemonitor-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9f98acffb1610970fc168c952f385cbd877118498fbcd799c7cfca01dd2fd8d3
MD5 96e66a7a3d61a4301c7fd5b102215a55
BLAKE2b-256 b0312e19685869e74fc67aead5dd13e6de778caff3feaf07b331bd17366b6ce7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page