使用 gcloud-python 在 Google Cloud Storage 中设置元数据

2023-11-07Python开发问题
4

本文介绍了使用 gcloud-python 在 Google Cloud Storage 中设置元数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在尝试使用 gcloud-python 将文件上传到 Google Cloud Storage 并设置一些自定义元数据属性.为了尝试这个,我创建了一个简单的脚本.

I am trying to upload a file to Google Cloud Storage using gcloud-python and set some custom metadata properties. To try this I have created a simple script.

import os

from gcloud import storage

client = storage.Client('super secret app id')
bucket = client.get_bucket('super secret bucket name')

blob = bucket.get_blob('kirby.png')
blob.metadata = blob.metadata or {}
blob.metadata['Color'] = 'Pink'
with open(os.path.expanduser('~/Pictures/kirby.png'), 'rb') as img_data:        
    blob.upload_from_file(img_data)

我可以上传文件内容.上传文件后,我可以从开发者控制台手动设置元数据并检索它.

I am able to upload the file contents. After uploading the file I am able to manually set metadata from the developer console and retrieve it.

我不知道如何以编程方式上传元数据.

I can't figure out how to upload the metadata programmatically.

推荐答案

我们讨论过 在问题跟踪器上,它在实现中出现了一个错误",或者至少是让用户措手不及的东西.

We discussed on the issue tracker and it surfaced a "bug" in the implementation, or at the very least something which catches users off guard.

通过 blob.metadata 访问 metadata 是只读的.因此,当通过

Accessing metadata via blob.metadata is read-only. Thus when mutating that result via

blob.metadata['Color'] = 'Pink'

它实际上并没有改变存储在 blob 上的元数据.

it doesn't actually change the metadata stored on blob.

目前的修复"是建立起来

The current "fix" is to just build up

metadata = {'Color': 'Pink'}
blob.metadata = metadata

这篇关于使用 gcloud-python 在 Google Cloud Storage 中设置元数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

在xarray中按单个维度的多个坐标分组
groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)...
2024-08-22 Python开发问题
15

Pandas中的GROUP BY AND SUM不丢失列
Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)...
2024-08-22 Python开发问题
17

GROUP BY+新列+基于条件的前一行抓取值
Group by + New Column + Grab value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)...
2024-08-22 Python开发问题
18

PANDA中的Groupby算法和插值算法
Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)...
2024-08-22 Python开发问题
11

PANAS-基于列对行进行分组,并将NaN替换为非空值
Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)...
2024-08-22 Python开发问题
10

按10分钟间隔对 pandas 数据帧进行分组
Grouping pandas DataFrame by 10 minute intervals(按10分钟间隔对 pandas 数据帧进行分组)...
2024-08-22 Python开发问题
11