我有一个简单的处理程序,它从api中获取数据,并每10分钟将JSON内容保存在GCP桶中。
export const handler: Handler = async () => {
const credentials = require("./project-name-digits.json");
const storage = new Storage({
projectId: credentials.project_id,
credentials,
});
const bucket = storage.bucket("my-bucket");
const result = await axios("example.com/api");
const file = bucket.file("my-filename");
const contents = JSON.stringify(result.data);
file.save(contents);
return {
statusCode: 200,
};
};
我的netlify.toml文件指定包含json文件
[functions]
node_bundler = "esbuild"
[functions."scheduled-lending"]
schedule = "*/10 * * * *"
included_files = ["project-name-digits.json"]
我能够在本地运行fn,它可以毫无错误地写入GCP存储桶。
我可以记录凭据,当处理程序在prod中运行时,它确实会正确显示,但它实际上并没有写入GCP桶。
我将服务帐户设置为
Storage Object Admin
bucket的角色。
我在这里错过了什么?