This plugin is used to retrieve AWS Q Developer usage data from AWS S3, process and analyze it, and resolve user display names through AWS IAM Identity Center.
Configuration items include:
You can create a connection using the following curl command:
curl 'http://localhost:8080/plugins/q_dev/connections' \ --header 'Content-Type: application/json' \ --data-raw '{ "name": "q_dev_connection", "accessKeyId": "<YOUR_ACCESS_KEY_ID>", "secretAccessKey": "<YOUR_SECRET_ACCESS_KEY>", "region": "<AWS_REGION>", "bucket": "<YOUR_S3_BUCKET_NAME>", "identityStoreId": "<YOUR_IDENTITY_STORE_ID>", "identityStoreRegion": "<YOUR_IDENTITY_CENTER_REGION>", "rateLimitPerHour": 20000 }'
Please replace the following placeholders with actual values: <YOUR_ACCESS_KEY_ID>: Your AWS access key ID <YOUR_SECRET_ACCESS_KEY>: Your AWS secret access key <YOUR_S3_BUCKET_NAME>: The S3 bucket name you want to use <AWS_REGION>: The region where your S3 bucket is located <YOUR_IDENTITY_STORE_ID>: Your IAM Identity Center Store ID (format: d-xxxxxxxxxx) <YOUR_IDENTITY_CENTER_REGION>: The region where your Identity Center is deployed
You can get all connections using the following curl command:
curl Get 'http://localhost:8080/plugins/q_dev/connections'
The plugin includes the following tasks:
collectQDevS3Files: Collects file metadata information from S3, without downloading file contentextractQDevS3Data: Uses S3 file metadata to download CSV data, parse it into the database, and resolve user display names via Identity CenterconvertQDevUserMetrics: Converts user data into aggregated metrics, calculating averages and totals_tool_q_dev_connections: Stores AWS S3 connection information_tool_q_dev_s3_file_meta: Stores S3 file metadata_tool_q_dev_user_data: Stores user data parsed from CSV files_tool_q_dev_user_metrics: Stores aggregated user metricsNote: _tool_q_dev_user_data and _tool_q_dev_user_metrics tables now include display_name fields for human-readable user identification.
Steps to collect data:
Advanced Mode on the left, click BlueprintsJSON Configuration:[ [ { "plugin": "q_dev", "subtasks": null, "options": { "connectionId": 5, "s3Prefix": "" } } ] ]