CaptureGoogleDriveChanges
Description
Captures changes to a Shared Google Drive and emits a FlowFile for each change that occurs. This includes addition and deletion of files, as well as changes to file metadata and permissions. The processor is designed to be used in conjunction with the FetchGoogleDrive processor.
Tags
authorization, cdc, change data capture, cloud, drive, gcp, google, permissions, storage, unstructured
Properties
In the list below required Properties are shown with an asterisk (*). Other properties are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
Display Name | API Name | Default Value | Allowable Values | Description |
---|---|---|---|---|
GCP Credentials Service * | GCP Credentials Service | Controller Service: GCPCredentialsService Implementations: GCPCredentialsControllerService | The Controller Service used to obtain Google Cloud Platform credentials. | |
Drive ID * | Drive ID | The ID of the Shared Google Drive to monitor. |
Dynamic Properties
This component does not support dynamic properties.
Relationships
Name | Description |
---|---|
created | This Relationship is used for any files that are created. |
removed | This Relationship is used for any files that are deleted. |
updated | This Relationship is used for any files that are updated. |
Reads Attributes
This processor does not read attributes.
Writes Attributes
Name | Description |
---|---|
drive.id | The ID of the file that was changed. This is repeated for compatibility with FetchGoogleDrive's default configuration. |
google.drive.change.time | The timestamp of the change, in milliseconds since the Unix epoch. |
google.drive.change.type | The type of change that occurred. Possible values are 'CREATED', 'UPDATED', or 'DELETED'. |
google.drive.created.time | The timestamp when the file was created, in milliseconds since the Unix epoch. |
google.drive.drive.id | The ID of the Shared Google Drive. |
google.drive.file.id | The ID of the file that was changed. |
google.drive.file.name | The name of the file that was changed. |
google.drive.md5 | The MD5 checksum of the file. |
google.drive.mime.type | The MIME type of the file. |
google.drive.permissions.<role>.domains | A comma-separated list of domain names for which all users have the given role. Valid roles are 'owner', 'organizer', 'fileOrganizer', 'writer', 'commenter', 'reader'. For example, if all users in the domain datavolo.com have the role of reader, there would be an attribute namedgoogle.drive.permissions.reader.domains with the value datavolo.com |
google.drive.permissions.<role>.groups | A comma-separated list of email addresses for groups with the specified role. Valid roles are 'owner', 'organizer', 'fileOrganizer', 'writer', 'commenter', 'reader'. For example, if the owner is employees@datavolo-all-dev.iam.gserviceaccount.com and the group contractors@datavolo-all-dev.iam.gserviceaccount.com is a reader,there would be an attribute named google.drive.permissions.owner.groups with the value employees@datavolo-all-dev.iam.gserviceaccount.com , and an attribute namedgoogle.drive.permissions.reader.groups with the value contractors@datavolo-all-dev.iam.gserviceaccount.com |
google.drive.permissions.<role>.public | If a file is shared publicly, this attribute will be added with a value of 'true' for any role that applies to the public. |
google.drive.permissions.<role>.users | A comma-separated list of email addresses for users with the specified role. Valid roles are 'owner', 'organizer', 'fileOrganizer', 'writer', 'commenter', 'reader'. For example, if the owner is john.doe@gmail.com and users jane.doe@gmail.com and jake.doe@gmail.com are readers, there would be an attribute named google.drive.permissions.owner.users with the value john.doe@gmail.com , and an attribute namedgoogle.drive.permissions.reader.users with the value jane.doe@gmail.com, jake.doe@gmail.com |
google.drive.size | The size of the file in bytes. |
State Management
Scope | Description |
---|---|
CLUSTER | Stores a token/cursor to track which changes have already been processed. |
Restricted
This component is not restricted.
Input Requirement
This component does not allow an incoming relationship.
System Resource Considerations
This component does not specify system resource considerations.