Skip to main content
A Google Cloud Storage source keeps a bucket, or prefixes of it, in one namespace. Each file is read as an upload is, and a file deleted from the bucket loses its documents.
1

Grant access

Conare reads buckets as one Google service account, so no key changes hands. Grant it Storage Object Viewer and create the empty object .conare/<organization id>, which shows the bucket is yours:
gcloud
2

Preview the bucket

curl
3

Connect it

curl

The account

GET /sources/gcs
Response
  • service_account, role: the account, and the role to grant it on your bucket.
  • A source stops syncing when .conare/<organization id> is removed; gcs_not_verified names the object to create.
Full schema: The account to grant a bucket to.

Preview a bucket

POST /sources/gcs/preview Lists what a source of the bucket would read; nothing is stored.
Response
Full schema: Preview a bucket.

Connect a bucket

Send "type": "gcs" to POST /sources; the first sync starts at once, and a key scoped to the namespace can connect it.
Response

Sync and disconnect

  • Each sync lists the bucket and reads new and changed files.
  • A sync that would delete over 1,000 documents and a tenth of the source waits 24 hours for a second sync to confirm it.

Documents

Each file is one document, with an upload’s id and locations, plus source_url (gs://bucket/name), bucket, object and generation in their metadata.
GET /sources/:id/documents lists its files.

Failures

GET /sources/:id/failures
curl
Response
  • A failure never stops a sync.
  • A file that failed for good is read again only when it changes.
  • One that failed for a passing reason is retried at the next 3 syncs, then daily.
Full schema: List the objects a source could not keep.

Errors