
oittaa/gcp-storage-emulator该镜像提供Google Cloud Storage API的本地模拟功能。由于Google目前尚未像Cloud Datastore那样提供官方的Cloud Storage模拟器,此镜像作为存根模拟器,使开发者能够在不连接生产Storage API的情况下进行本地开发和测试。
注意:这是一个开发中的项目,仅支持API的有限子集。
/storage目录存储模拟数据,支持主机目录挂载以持久化数据PORT环境变量控制服务端口,默认值为8080使用以下命令启动模拟器容器:
bashdocker run -d \ -p 8080:8080 \ --name gcp-storage-emulator \ -v "$(pwd)/cloudstorage":/storage \ oittaa/gcp-storage-emulator
参数说明:
-p 8080:8080:将容器的8080端口映射到主机的8080端口--name gcp-storage-emulator:指定容器名称-v "$(pwd)/cloudstorage":/storage:将主机当前目录下的cloudstorage目录挂载到容器的/storage目录,用于持久化存储数据| 环境变量 | 描述 | 默认值 |
|---|---|---|
PORT | 服务监听端口 | 8080 |
创建测试文件emulator-test.py:
pythonfrom google.auth.credentials import AnonymousCredentials from google.cloud import storage BUCKET = "test-bucket" client = storage.Client( credentials=AnonymousCredentials(), project="test", ) bucket = client.bucket(BUCKET) bucket = client.create_bucket(bucket) blob = bucket.blob("blob1") blob.upload_from_string("test1") blob = bucket.blob("blob2") blob.upload_from_string("test2") for blob in bucket.list_blobs(): content = blob.download_as_bytes() print("Blob [{}]: {}".format(blob.name, content))
设置环境变量指向模拟器,然后执行测试脚本:
bashexport STORAGE_EMULATOR_HOST=http://localhost:8080 python3 emulator-test.py
!CI
[***]





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务