У меня есть приложение, которое использует мой собственный API (облачные функции Google) и мое собственное хранилище (есть изображения).
Теперь у меня есть пара клиентов, которые хотят использовать мой API и мойХранилище (облачное хранилище Google).
Облачное хранилище - это хранилище, содержащее много фотографий с открытым доступом для чтения.
Я пытаюсь определить модель ценообразования на уровнецена зависит от двух вещей:
- Количество вызовов API,
- Пропускная способность облачного хранилища
Значение, я хочу установить некоторые ценыв отношении затрат, которые они потребляют в моей учетной записи Google Cloud.
Для примера: если клиент выполняет от 1 до 500 000 вызовов API, я заменю их на 10 долларов.Между 500.001 и 1.000.000 я буду взимать 18 долларов и т. Д. И т. Д.
То же самое для пропускной способности облачного хранилища, если они потребляют от 0 ГБ до 10 ГБ, это будет стоить 10 долларов.Если они потребляют от 10 до 100 ГБ, это будет стоить 18 долларов и т. Д. И т. Д.
Как я могу это сделать с помощью Google Cloud?Как я могу узнать, как потребляют мои клиенты?И есть ли способ поделиться этой информацией с ними, чтобы они могли отслеживать использование каждый день?
Я думаю, что измерить использование API не так уж сложно, потому что я могу простоСохраняйте значение в БД каждый раз, когда пользователь вызывает API, но если есть способ избежать этого, будет хорошо, потому что Google Cloud собирается взимать плату за это действие записи в БД (которое я использую для отслеживания APIиспользование).
С другой стороны, для измерения облачного хранилища я думал примерно так:
Предположим, у меня есть общедоступное ведро с фотографиями в URL: buckets.google.ком / фотографии.Если мой клиент хочет получить фотографию /cats/ugly-cat.jpg
, я могу попросить его вызвать функцию FUNCTION в /api/get-photo/?url=/cats/ugly-cat.jpg
, чтобы в этой функции a можно было отследить, что пользователь просто получил фотографию, а затем я перенаправил вызов реальномуURL, по которому пользователь увидит фотографию (buckets.google.com/photos/cats/ugly-cat.jpg
).Как вы можете видеть, эта идея кажется слишком производительной из-за того, что она будет взимать плату за использование функции, запись в БД, а также за использование пропускной способности хранилища.И даже этот способ не отслеживает пропускную способность.Он только отслеживает количество фотографий, которые клиент хочет показать.
Как видите, обе идеи немного уродливы с низкой производительностью.Там должно быть что-то уже сделано, что делает его красивым.
Очевидно, что вызов API (а также ссылка на фотографию) может иметь клиентский API-KEY, чтобы помочь измерить использование.Что-то вроде:
functions.google.com/api/search-photos/?api-key=111
и bucket.google.com/photos/cats/ugly-cat.jpg?api-key=111
Где 111
идентифицирует клиента 111
.
Итак, вопрос: знаете ли вы, существует ли «самый известный» способ измерения этих употреблений?