Единственное, о чем я могу думать, это иметь что-то посередине, которое будет отвечать за имя «swap».
Например, Google App Engine с триггером http или облачная функция с триггером хранения, который всякий раз, когда вам нужно, чтобы он извлек объект, переименовал его и либо предоставил его непосредственно пользователю, либо сохранил его с новым именем в другом контейнере.
Помните, что вещи, которые вы хотите временно сохранить в GAE или Cloud Функции должны храниться в каталоге "/ tmp".
Затем для переименования, если вы используете GAE, возможно, вы можете использовать что-то вроде:
import os os.system ([YOUR_SHELL_COMMAND])
Однако самый простой, но более затратный подход - установить функцию с триггером хранения, который при каждой загрузке объекта будет сохранять его копию с нужным новым именем в другом контейнере, который вы будете использовать для пользователи.