Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何有效地将数据二进制写入gcs?

如何有效地将数据二进制写入gcs?
EN

Stack Overflow用户
提问于 2022-03-24 22:21:13
回答 1查看 225关注 0票数 1

我希望直接将数据二进制文件上传到GCP存储,而不将文件写入磁盘。下面是我为达到我将要达到的状态而创建的代码片段。

代码语言:javascript
运行
AI代码解释
复制
require 'google/cloud/storage'

bucket_name = '-----'

data = File.open('image_block.jpg', 'rb') {|file| file.read }


storage = Google::Cloud::Storage.new("project_id": "maybe-i-will-tell-u")
bucket  = storage.bucket bucket_name, skip_lookup: true

现在,我想直接将这个data放到gcs上的一个文件中,而不必将一个文件写入磁盘。

我们有什么有效的方法吗?

我尝试了以下代码

代码语言:javascript
运行
AI代码解释
复制
to_send = StringIO.new(data).read

bucket.create_file to_send, "image_inder_11111.jpg"

但是这会抛出一个错误

代码语言:javascript
运行
AI代码解释
复制
/google/cloud/storage/bucket.rb:2898:in `file?': path name contains null byte (ArgumentError)
    from /home/inder/.gem/gems/google-cloud-storage-1.36.1/lib/google/cloud/storage/bucket.rb:2898:in `ensure_io_or_file_exists!'
    from /home/inder/.gem/gems/google-cloud-storage-1.36.1/lib/google/cloud/storage/bucket.rb:1566:in `create_file'
    from champa.rb:14:in `<main>'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-25 04:43:54

正如@stefan所建议的,应该是to_send =StringIO.new(数据),即没有.read (这将再次返回一个字符串)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71612898

复制
相关文章
python treeview行和列边框属性设置
matinal
2023/10/13
4240
如何在Linux中将文本内容追加到文件末尾?
在Linux中处理配置文件时,有时您需要将诸如配置参数之类的文本附加到现有文件中。追加只是意味着将文本添加到文件的末尾。
用户6543014
2020/03/06
14.6K0
如何在Linux中将文本内容追加到文件末尾?
【python实操】软件安装进展提示进度条如何实现的?如何设置窗体拉伸?如何获取输入框内容?
python学习之路任重而道远,要想学完说容易也容易,说难也难。 很多人说python最好学了,但扪心自问,你会用python做什么了? 刚开始在大学学习c语言,写一个飞行棋的小游戏,用dos界面来做,真是出力不讨好。 地图要自己一点一点画出来,就像这样:
20岁爱吃必胜客
2023/03/16
1.5K0
【python实操】软件安装进展提示进度条如何实现的?如何设置窗体拉伸?如何获取输入框内容?
Python使用tkinter的Treeview组件实现表格功能
from tkinter import Tk, Scrollbar, Frame from tkinter.ttk import Treeview #创建tkinter应用程序窗口 root = Tk() #设置窗口大小和位置 root.geometry('500x300+400+300') #不允许改变窗口大小 root.resizable(False, False) #设置窗口标题 root.title('通信录管理系统') #使用Treeview组件实现表格功能 frame = Frame(root)
Python小屋屋主
2018/04/16
10.2K0
Python使用tkinter的Treeview组件实现表格功能
文本左右对齐
给定一个单词数组 words 和一个长度 maxWidth ,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。
狼啸风云
2023/10/10
2340
文本左右对齐
Python修改文本列对齐
letter                   ->              LadderScore0                   ->        LadderScore1                   ->        LadderScore2                   ->        LadderScore3                   ->        LadderScore4                   ->        LadderScor
py3study
2020/01/15
2.4K0
Python修改文本列对齐
linux中将文本附加到文件末尾
在 Linux 中使用配置文件时,有时需要将诸如配置参数之类的文本附加到现有文件中。追加只是意味着将文本添加到文件的末尾或底部。 使用>>运算符附加文本 >>操作者输出重定向到一个文件,如果该文件不存在,则创建,但如果它存在,则输出将在文件的末尾追加。 例如,你可以使用echo 命令将文本附加到文件的末尾 # echo "rumenz.com" >> /root/rumenz.txt 或者,你可以使用 printf命令(不要忘记使用\n字符添加下一行) # printf "rumenz.com\n" >>
玖柒的小窝
2021/10/21
1.5K0
linux中将文本附加到文件末尾
在 Linux 中使用配置文件时,有时需要将诸如配置参数之类的文本附加到现有文件中。追加只是意味着将文本添加到文件的末尾或底部。 使用>>运算符附加文本 >>操作者输出重定向到一个文件,如果该文件不存在,则创建,但如果它存在,则输出将在文件的末尾追加。 例如,你可以使用echo 命令将文本附加到文件的末尾 # echo "rumenz.com" >> /root/rumenz.txt 或者,你可以使用 printf命令(不要忘记使用\n字符添加下一行) # printf "rumenz.com\n" >
入门笔记
2022/06/02
1.2K0
[Leetcode][python]Text Justification/文本左右对齐
来自:https://shenjie1993.gitbooks.io/leetcode-python/068%20Text%20Justification.html 把一个集合的单词按照每行L个字符存放,不足的在单词间添加空格,每行要两端对齐(即两端都要是单词),如果空格不能均匀分布在所有间隔中,那么左边的空格要多于右边的空格,最后一行靠左对齐,每个单词间一个空格。
蛮三刀酱
2019/03/26
1.8K0
LeetCode - #68 文本左右对齐
我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。
Swift社区
2022/12/10
1K0
Python GUI编程:Tkinter
Python里的图形化界面(GUI)模块主要有Tkinter(python自带)、PyQt、wxPython,我们这节主要讲解Tkinter组件:
小雨coding
2020/08/03
7.3K0
【工具】自动搜索Research网站的学术会议排名
当然也是开源的,放到了这里:GitHub - 1061700625/small_tools_v2: 使用tkinter和Python制作的小工具集,非常方便自己扩展
小锋学长生活大爆炸
2023/08/09
2220
【工具】自动搜索Research网站的学术会议排名
PyQt5 技术篇-设置alignment对齐方式。Qt Designer设置文本对齐方式。居中、左对齐、右对齐、上对齐、下对齐。
通过alignment设置,展开后可以设置水平方向或垂直方向的对齐方式。 PyQt5设置文本对齐方法: self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignVCenter) 两个参数一个是横向靠右,一个是纵向居中。
小蓝枣
2020/09/23
8.5K0
68. 文本左右对齐
给定一个单词数组和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。
张伦聪zhangluncong
2022/10/26
1K0
如何在 Python 中将数字转换为字母?
在编程中,有时我们需要将数字转换为字母,例如将数字表示的年份转换为对应的字母表示,或者将数字编码转换为字母字符。Python 提供了多种方法来实现这种转换。本文将详细介绍在 Python 中将数字转换为字母的几种常用方法,并提供示例代码帮助你理解和应用这些方法。
网络技术联盟站
2023/06/01
2K0
小程序实现TreeView树多选功能
话不多说,先上效果图: https://player.bilibili.com/player.html?aid=292282209 实现思路 源数据结构 首先我们的数据结构大概是: [ {
android_薛之涛
2021/09/07
1.6K0
如何在js中将统计代码图标隐藏
  建站时我们都会加一下网站统计,方便把控内容的内容的运营。大部分站长安装的站点统计是第三方统计代码,js形式的,很少用以服务器日志为基础分析的统计。(当然能通过网站日志来分析网站的运营者比一般的站长水平相对要高一些,也更会折腾。因为很多统计都没记录蜘蛛的轨迹)普通的js统计代码就能满足大多数的需求。安装统计代码想必大家闭着眼睛都会,但如果网站是静态页面的话,那每个页面都要添加到,即使安装在统一调用的页脚,那生成页面也需要一定的时间。有没更便捷的办法呢?将统计代码写进常用的js文件中。   将统计代码写进j
ytkah
2018/03/05
13.5K0
如何在js中将统计代码图标隐藏
点击加载更多

相似问题

更改操作栏的颜色

13

API级别8的操作栏删除

13

Android操作栏:更改操作按钮的颜色

10

如何在android中突出显示操作栏项选择

46

更改操作栏标题颜色

81
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文