我正在尝试为我的firebase项目设置存储模拟器。我正在使用Go admin sdk。然而,尽管遵循了文档中的过程,它似乎被忽略了。
应用程序初始化:
func App(ctx context.Context) (*firebase.App, error) {
opt := option.WithCredentialsFile("firebase-service-account.json")
config := firebase.Config{
StorageBucket: "<my-project-id>.appspot.com",
}
app, err := firebase.NewApp(ctx, &config, opt)
if err != nil {
return nil, fmt.Errorf("error initializing app: %v", err)
}
return app, nil
}
启动时加载的.env文件:
FIRESTORE_EMULATOR_HOST="localhost:8081"
FIREBASE_STORAGE_EMULATOR_HOST="localhost:9199"
GCLOUD_PROJECT="my-project-id"
我还尝试通过运行以下命令手动设置这些参数:export FIREBASE_STORAGE_EMULATOR_HOST="localhost:9199"
和export GCLOUD_PROJECT="my-project-id"
中的一个或多个。
但是,当写入默认存储桶时,我的blob出现在实际的firestore控制台中进行存储,而不是存储模拟器中。
我从我的服务帐户json文件中提取了GCLOUD_PROJECT
值,具体是project_id
字段。还确认了9199
是存储运行的端口。
除了设置那些FIREBASE_STORAGE_EMULATOR_HOST
和GCLOUD_PROJECT
之外,我还遗漏了什么吗?
2条答案
按热度按时间fwzugrvs1#
变数名称为STORAGE_EMULATOR_HOST。
请参阅:https://pkg.go.dev/cloud.google.com/go/storage
hgncfbus2#
这里,
你是正确的,你目前的设置应该已经足够了。我已经提交了an issue in the GO SDK Repo,以便这个问题可以得到解决。
与此同时,正如@mabg指出的,当前的修复方法是设置
STORAGE_EMULATOR_HOST
变量以及代码示例