Shared Buckets

Bucket sharing allows you to share data between projects within an organization, giving you far greater organizational control over your data. You can now decide which projects, and therefore which users, have access to which data. This also helps speed up your data workflow and reduce your project usage totals because the data size and rows are counted only in the source project.

  • Shared bucket — source project bucket with Sharing enabled; it contains data to be available in other projects.
  • Linked bucket — reference to a shared bucket in any of the destination projects.

All changes and events in a shared bucket are propagated to its linked buckets; any tables you create in the shared bucket become immediately available in the destination projects.

Limitations

There are some limitations to how shared buckets can be used:

  • Source and destination projects must belong to the same organization.
  • To manage shared buckets, your user account must be an organization member — i.e. it is not enough to be a project member.
  • Table and bucket attributes are not shared.
  • Table aliases are not shared.
  • Tables in linked buckets work like aliases — i.e. all tables are read-only in the destination project.

If your bucket is already linked in other projects, you cannot drop it. Nor can you drop any of its children, tables or columns.

Working with Shared Buckets

If you want to share project data, first share a bucket and then link it into the project.

Enable Sharing

Go to Storage and navigate to the detail of the bucket you want to share. Then click Enable sharing and confirm your action.

Screenshot -- Enable sharing

Screenshot -- Confirm action

The bucket is now marked as Shared to organization and is available for other projects. Remember to add (link) it to each project manually.

Once your organization has shared buckets, the link button will become available in the Storage section. Click on it to link the bucket to the project.

Screenshot -- Link button

Select shared bucket and specify the new bucket name and stage. The buckets list is grouped by the project name, and buckets are identified by their id and description.

Screenshot -- Select shared bucket

This is all you need to do. The bucket is now linked into the project, and users can use its tables and data.

Screenshot -- Linked bucket detail

Removing a linked bucket from a project is as easy as deleting a standard bucket. Only the link gets deleted without affecting the shared bucket in any way.

Please keep in mind that before you can disable sharing or delete a shared bucket, you first have to unlink the bucket from all projects.