Google Cloud Storage 是 Google Cloud Platform 中的一项云存储服务,可以存储和访问任意大小的数据对象。在前端开发中,我们可能需要使用 Google Cloud Storage 来存储和管理用户上传的文件,如图片、视频等。本文将介绍如何在 Deno 中使用 Google Cloud Storage。
注册 Google Cloud Storage
首先,我们需要在 Google Cloud Platform 上注册一个账户,并创建一个项目。然后,我们需要在该项目中启用 Google Cloud Storage API,并创建一个服务账户以便我们可以在 Deno 中使用该 API。
具体步骤如下:
- 登录 Google Cloud Platform 控制台,并创建一个项目。
- 在左侧导航栏中选择 APIs & Services > Dashboard。
- 点击“+ ENABLE APIS AND SERVICES”按钮,搜索“Google Cloud Storage”,并启用该 API。
- 在左侧导航栏中选择 APIs & Services > Credentials。
- 点击“Create Credentials”按钮,选择“Service account key”。
- 选择“New service account”,输入一个名称并选择“Storage Admin”角色。
- 点击“Create”按钮,将生成一个 JSON 文件,保存该文件以便我们在 Deno 中使用。
安装依赖库
接下来,我们需要安装一个依赖库,以便在 Deno 中使用 Google Cloud Storage API。该依赖库是 deno-google-cloud-storage,它是一个 Deno 模块,提供了对 Google Cloud Storage API 的封装。
在终端中运行以下命令安装该依赖库:
deno install --allow-net --allow-env --allow-read --allow-write --import-map=https://deno.land/x/google_cloud_storage/import_map.json -n gcstorage https://deno.land/x/google_cloud_storage/mod.ts
使用 Google Cloud Storage API
现在我们已经注册了 Google Cloud Storage,安装了依赖库,接下来我们可以开始在 Deno 中使用 Google Cloud Storage API。
首先,我们需要在 Deno 中加载服务账户 JSON 文件。可以使用 Deno 的 readJsonSync
函数来读取该文件:
import { readJsonSync } from "https://deno.land/std/fs/mod.ts"; const serviceAccount = readJsonSync("./service-account.json");
然后,我们需要创建一个 Storage
对象,并使用服务账户 JSON 文件中提供的信息进行身份验证:
// javascriptcn.com 代码示例 import { Storage } from "gcstorage/mod.ts"; const storage = new Storage({ projectId: serviceAccount.project_id, credentials: { client_email: serviceAccount.client_email, private_key: serviceAccount.private_key, }, });
现在,我们可以使用 storage
对象进行各种操作,如创建、删除、上传和下载文件等。
创建 bucket
首先,我们可以使用 createBucket
方法创建一个新的 bucket:
const bucketName = "my-bucket"; await storage.createBucket(bucketName); console.log(`Bucket ${bucketName} created.`);
上传文件
然后,我们可以使用 bucket.upload
方法上传文件到 bucket 中:
// javascriptcn.com 代码示例 const fileName = "hello.txt"; const fileContent = "Hello, world!"; const [file] = await storage.bucket(bucketName).upload(fileName, { gzip: true, metadata: { cacheControl: "public, max-age=31536000", }, public: true, }); console.log(`File ${fileName} uploaded to ${bucketName}.`);
获取文件 URL
上传文件后,我们可以使用 file.publicUrl
获取文件的 URL:
console.log(`File ${fileName} URL: ${file.publicUrl()}.`);
下载文件
最后,我们可以使用 file.download
方法下载文件:
const [fileContent] = await file.download(); console.log(`File ${fileName} content: ${fileContent}.`);
总结
本文介绍了如何在 Deno 中使用 Google Cloud Storage。我们首先注册了 Google Cloud Storage 并创建了一个服务账户,然后安装了依赖库 deno-google-cloud-storage
,最后使用该依赖库在 Deno 中进行了各种操作,如创建 bucket、上传文件、获取文件 URL 和下载文件等。
希望本文能够帮助你在前端开发中使用 Google Cloud Storage,并为你提供了深度和学习以及指导意义。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6566e9f1d2f5e1655dfd8186