Cloud Storage 支持流式对象读取,这允许应用或进程通过网络连接实时直接使用对象字节流,而无需将数据副本保存到本地磁盘或永久性存储空间。
如果您想下载对象并将其保存到本地文件系统,请参阅将对象下载为文件。
流式传输读取时使用校验和验证
如果您需要在处理数据之前进行校验和验证,则不应使用流式读取。由于流式读取通常使用 HTTP Range 标头,因此 Cloud Storage 不会返回仅适用于任意所请求的对象数据部分的校验和。服务器校验和会验证整个对象,这意味着在完整的数据流完成并验证之前,可能会读取和处理损坏的数据。
所需的角色
为了获得流式读取所需的权限,请让您的管理员向您授予存储桶的 Storage Object Viewer (roles/storage.objectViewer) 角色。
此角色包含流式读取所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
storage.objects.get
如需了解如何授予存储桶的角色,请参阅为存储桶设置和管理 IAM 政策。
以流式传输方式读取对象
以下示例展示了如何执行从 Cloud Storage 对象到进程的流式读取:
控制台
Cloud de Confiance 控制台不支持流式读取。请改用 Google Cloud CLI。
命令行
运行
gcloud storage cp命令(注意使用短划线表示目标网址),然后将数据传输到该进程:gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME - | PROCESS_NAME
其中:
BUCKET_NAME是包含对象的存储分区的名称。例如my_app_bucket。OBJECT_NAME是您要流式传输到进程的对象的名称。例如data_measurements。PROCESS_NAME是您要向其输送数据的进程的名称。例如analyze_data。
您还可以将数据从 Cloud Storage 对象流式传输到标准 Linux 命令,比如 sort:
gcloud storage cp gs://my_app_bucket/data_measurements - | sort
客户端库
C++
如需了解详情,请参阅 Cloud Storage C++ API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
C#
如需了解详情,请参阅 Cloud Storage C# API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
Go
如需了解详情,请参阅 Cloud Storage Go API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
Java
如需了解详情,请参阅 Cloud Storage Java API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
Node.js
如需了解详情,请参阅 Cloud Storage Node.js API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
PHP
如需了解详情,请参阅 Cloud Storage PHP API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
Python
如需了解详情,请参阅 Cloud Storage Python API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
Ruby
如需了解详情,请参阅 Cloud Storage Ruby API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。