Я пытаюсь получить URL-адрес загрузки для новых загруженных файлов, чтобы я мог записать это в свою базу данных. Я следовал за этим ответом и официальными документами , но я получаю ошибки в своей функции.
Это мой импорт:
import * as functions from "firebase-functions";
import * as admin from "firebase-admin";
import { FieldValue } from "@google-cloud/firestore";
import { _namespaceWithOptions } from "firebase-functions/lib/providers/firestore";
admin.initializeApp(functions.config().firebase);
const db = admin.firestore();
const defaultStorage = admin.storage();
Это в настоящее время моя желаемая облачная функция:
exports.writeFileToDatabase = functions.storage
.object()
.onFinalize(object => {
const bucket = defaultStorage.bucket();
const file = bucket.file(object.name as string);
const options = {
action: 'read',
expires: '03-17-2025'
};
return file.getSignedUrl(options)
.then(results => {
const url = results[0];
console.log(`The signed url is ${url}.`);
return true;
})
});
Но при передаче options
в getSignedUrl
я получаю эту ошибку:
Argument of type '{ action: string; expires: string; }' is not assignable to parameter of type 'GetSignedUrlConfig'
Также я получаю ошибку при results
говоря:
Parameter 'results' implicitly has an 'any' type
Я не вижу, что я делаю иначе, чем примеры, которые я использовал в качестве ссылки.