Firebase存储工件

Firebase存储工件,firebase,firebase-storage,Firebase,Firebase Storage,我正在试图理解eu.artifacts.%PROJECT NAME%.appspot.com是什么。目前,它占用了我每天5gb的存储容量上限的800mb。它只包含应用程序/octet流类型的文件。此bucket是自动创建的,文件路径为eu.artifacts….appspot.com/containers/images。两个最重的文件重量分别高达200mb和130mb。我试图删除它,但它又被自动创建。用户可以在我的网站上上传图片,但这个存储桶目前只需要大约10mb的容量,其中包含了所有的用户图片

我正在试图理解
eu.artifacts.%PROJECT NAME%.appspot.com
是什么。目前,它占用了我每天5gb的存储容量上限的800mb。它只包含应用程序/octet流类型的文件。此bucket是自动创建的,文件路径为eu.artifacts….appspot.com/containers/images。两个最重的文件重量分别高达200mb和130mb。我试图删除它,但它又被自动创建。用户可以在我的网站上上传图片,但这个存储桶目前只需要大约10mb的容量,其中包含了所有的用户图片

所以我的问题是:这个桶是干什么用的?为什么它这么重?

这里是firebaser

如果您使用的是云函数,那么您看到的文件与最近构建运行时(对于节点10及更高版本)的方式的更改有关

云函数现在用于为云函数创建运行时(用于节点10及以上)。云构建反过来用来存储这些运行时,这些运行时将存储在项目下的新云存储桶中

有关此方面的更多信息,请参阅上Firebase定价常见问题解答中的此条目

也可以看到这些人工制品


这里是消防队

如果您使用的是云函数,那么您看到的文件与最近构建运行时(对于节点10及更高版本)的方式的更改有关

云函数现在用于为云函数创建运行时(用于节点10及以上)。云构建反过来用来存储这些运行时,这些运行时将存储在项目下的新云存储桶中

有关此方面的更多信息,请参阅上Firebase定价常见问题解答中的此条目

也可以看到这些人工制品



我已经咨询了GCP支持部门,以下是一些事情

  • 云功能导致存储使用量激增
  • 由于这些工件不存储在默认存储桶中,因此即使存储的总字节数未达到空闲层限制,它们也会向您收费
  • 在下一步移除工件桶。据支持人员说
关于artifacts bucket,实际上可以去掉它们,因为它们存储的是函数的早期版本。但是,我不建议删除“gcf sources…”存储桶,因为它包含当前图像,因此删除此存储桶会破坏您的功能

我试着将它整体移除,但到目前为止,它并没有造成麻烦。如果它以后坏了,我会更新



编辑201118:请参阅下面的评论,您可能需要保留bucket,同时删除其中的所有内容。

我已经咨询了GCP支持部门,以下是一些事项

  • 云功能导致存储使用量激增
  • 由于这些工件不存储在默认存储桶中,因此即使存储的总字节数未达到空闲层限制,它们也会向您收费
  • 在下一步移除工件桶。据支持人员说
关于artifacts bucket,实际上可以去掉它们,因为它们存储的是函数的早期版本。但是,我不建议删除“gcf sources…”存储桶,因为它包含当前图像,因此删除此存储桶会破坏您的功能

我试着将它整体移除,但到目前为止,它并没有造成麻烦。如果它以后坏了,我会更新



编辑201118:请参阅下面的评论,您可能需要保留bucket,同时删除其中的所有内容。

添加到@yo1995的响应中,您可以删除bucket中的工件,而无需进入GCP。待在Firebase,你去仓库,然后“添加一个桶”。从那里,您将看到导入gcp和工件存储桶的选项。接下来,您可以相应地删除bucket中的工件

根据收到的一些评论,重要的是不要删除bucket。相反,只删除bucket中的工件


添加到@yo1995的响应中,您可以删除bucket中的工件,而无需进入GCP。待在Firebase,你去仓库,然后“添加一个桶”。从那里,您将看到导入gcp和工件存储桶的选项。接下来,您可以相应地删除bucket中的工件

根据收到的一些评论,重要的是不要删除bucket。相反,只删除bucket中的工件

添加到@yo1995
我咨询了Firebase支持部门,他们确认不应删除artifacts bucket。基本上,这些工件用于帮助构建最终图像,以存储在“gcf源”存储桶中

直接引用它们
您可以自由删除“XX.artifacts”中的内容,但请保持bucket不变,它将在以下部署周期中使用

如果完全删除artifacts bucket,可能会出现一些意外行为。
此外,“团队正在努力自动清理此存储桶,但在发布解决方案之前,他们需要解决一些限制。”

目前,我将bucket设置为自动删除1天以前的文件。

添加到@yo1995
我咨询了Firebase支持部门,他们确认不应删除artifacts bucket。基本上,这些工件用于帮助构建最终图像,以存储在“gcf源”存储桶中

直接引用它们
您可以自由删除“XX.artifacts”中的内容,但请保持bucket不变,它将在以下部署周期中使用

如果完全删除artifacts bucket,可能会出现一些意外行为。
此外,“团队正在努力自动清理此存储桶,但在发布解决方案之前,他们需要解决一些限制。”

目前,我将bucket设置为自动删除1天以前的文件。

作为替代方案,您可以
admin.initializeApp(functions.config().firebase)
import * as functions from 'firebase-functions'

// define the app as a cloud function called APIv1 build xxxxxx
export const APIv1b20201202 = functions.https.onRequest(main)
...
"hosting": {
    "public": "dist",
    "ignore": ["firebase.json", "**/.*", "**/node_modules/**", "**/tests/**"],
    "rewrites": [
      {
        "source": "/api/v1/**",
        "function": "APIv1b2021202"
      }
    ]
  },
...

# Deploy new function called APIv11
$ firebase deploy --only functions:APIv11

# Wait until deployment is done; now both APIv11 and APIv10 are running

# Delete APIv10
$ firebase functions:delete APIv10
{
  "lifecycle": {
    "rule": [
      {
        "action": { "type": "Delete" },
        "condition": {
          "age": 21
        }
      }
    ]
  }
}
gsutil lifecycle set ./firebase/storage_artifacts_lifecycle.json gs://us.artifacts.${MY_PROJECT_ID}.appspot.com
gsutil lifecycle get gs://us.artifacts.${MY_PROJECT_ID}.appspot.com
# finding images
gcloud container images list --repository=<your repository>

# getting metadata
gcloud container images list-tags <image name>

# deleting images
gcloud container images delete <image name>@<digest> --quiet --force-delete-tags