Skip to main content

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 NameAPI NameDefault ValueAllowable ValuesDescription
GCP Credentials Service *GCP Credentials ServiceController Service:
GCPCredentialsService

Implementations:
GCPCredentialsControllerService
The Controller Service used to obtain Google Cloud Platform credentials.
Drive ID *Drive IDThe ID of the Shared Google Drive to monitor.

Dynamic Properties

This component does not support dynamic properties.

Relationships

NameDescription
createdThis Relationship is used for any files that are created.
removedThis Relationship is used for any files that are deleted.
updatedThis Relationship is used for any files that are updated.

Reads Attributes

This processor does not read attributes.

Writes Attributes

NameDescription
drive.idThe ID of the file that was changed. This is repeated for compatibility with FetchGoogleDrive's default configuration.
google.drive.change.timeThe timestamp of the change, in milliseconds since the Unix epoch.
google.drive.change.typeThe type of change that occurred. Possible values are 'CREATED', 'UPDATED', or 'DELETED'.
google.drive.created.timeThe timestamp when the file was created, in milliseconds since the Unix epoch.
google.drive.drive.idThe ID of the Shared Google Drive.
google.drive.file.idThe ID of the file that was changed.
google.drive.file.nameThe name of the file that was changed.
google.drive.md5The MD5 checksum of the file.
google.drive.mime.typeThe MIME type of the file.
google.drive.permissions.<role>.domainsA 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 named
google.drive.permissions.reader.domains with the value datavolo.com
google.drive.permissions.<role>.groupsA 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 named
google.drive.permissions.reader.groups with the value contractors@datavolo-all-dev.iam.gserviceaccount.com
google.drive.permissions.<role>.publicIf 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>.usersA 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 named
google.drive.permissions.reader.users with the value jane.doe@gmail.com, jake.doe@gmail.com
google.drive.sizeThe size of the file in bytes.

State Management

ScopeDescription
CLUSTERStores 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.

See Also

CaptureSharepointChanges, FetchGoogleDrive