Google Cloud的python客户端库界面允许您指定远程Blob名称(即/my/file.txt
-> gs://bucket/newName.txt
)。但是,我在节点客户端库中看不到执行此操作的方法。
我有在python中工作的示例,但是我依赖能够在时间戳上在存储服务器上添加文件名。由于(AFAIK)节点库仅使用本地文件名,因此出现了问题。
Python example-具有源/目标名称
def upload_blob(bucket_name, source_file_name, destination_blob_name):
"""Uploads a file to the bucket."""
storage_client = storage.Client()
bucket = storage_client.get_bucket(bucket_name)
blob = bucket.blob(destination_blob_name)
blob.upload_from_filename(source_file_name)
print('File {} uploaded to {}.'.format(
source_file_name,
destination_blob_name))
Node example-使用本地文件名
// Uploads a local file to the bucket
await storage.bucket(bucketName).upload(filename, {
// Support for HTTP requests made with `Accept-Encoding: gzip`
gzip: true,
metadata: {
// Enable long-lived HTTP caching headers
// Use only if the contents of the file will never change
// (If the contents will change, use cacheControl: 'no-cache')
cacheControl: 'public, max-age=31536000',
},
});
有什么方法可以指定节点客户端库上传的文件名是什么?
谢谢。
答案 0 :(得分:1)
使用节点SDK,您可以在传递的选项对象中指定目标文件作为要上传的第二个对象。 API docs for upload()中有一个示例。
storage.bucket(bucketName).upload(localFilePath, {
destination: remoteFilePath
})