api 用于从 google 云存储桶中删除图像
api for deleting image from google cloud storage buckets
大家好,实际上我正在使用 google 云平台,我将我的优惠券图像存储在 gcs 存储桶中。现在 google 提供任何 api 以从 gcs 存储桶中删除现有图像。我在它的文档上搜索了很多 google docs 也看过很多博客,但每个人所做的都是从数据库中删除数据,但没有人告诉我们如何从存储桶中删除图像。如果有人这样做过,请帮助我,这将非常值得赞赏。
谢谢
当然可以。
- 通过控制台,您可以在 this way. You just should install gsutil 命令中使用 gsutil 命令。
- 通过 api 休息你可以使用 this service. You can try this api here.
- 还有 python, java or other languajes 的库。
- 来自@MikeSchwartz 的建议。使用云控制台,您可以手动管理您的对象。 Link.
更新 2:NodeJS 上的示例
我们可以在三个选项中进行选择。 Using request module, Google cloud NodeJS client or Google API NodeJS client。但首先,您应该授权您的服务器向 Google 云存储 (GCS) 发出请求。为此:
- 打开Console Credentials page
- 如果尚未 selected,select 您正在为其创建凭据的项目。
- 点击创建凭据 并选择服务帐户密钥。
- 在下拉列表中 select Compute Engine 默认服务帐户。然后点击创建。将下载 Json 个文件。
- 在左侧面板中单击 概览 并在查找器中键入云存储。
- 单击 Google 云存储并确保此 api 已 启用。
- 将下载的 json 重命名为 keyfile.json 并将其放在您的 NodeJS 代码可访问的路径中。
Google 云 NodeJS 客户端。 Here 包含大量示例的官方存储库。
var fs = require('fs');
var gcloud = require('gcloud');
var gcs = gcloud.storage({
项目编号:'your-project',
keyFilename: '/path/to/keyfile.json'
});
var bucket = gcs.bucket('your-bucket');
var 文件 = bucket.file('your-file');
file.delete(函数(错误,api响应){}):
使用请求模块。
npm 安装请求
然后在你的代码中:
var request = require('request');
request({
url: 'https://www.googleapis.com/storage/v1/b/your-bucket/o/your-file',
qs: {key: 'your-private-key'}, // you can find your private-key in your keyfile.json
method: 'DELETE'
}, function(error, response, body){});
- 使用Google API NodeJS:我不知道如何使用它,但是有很多例子here。
假设您有图像文件 public url,您可以这样做
import {Storage} from "@google-cloud/storage";
const storage = new Storage({
projectId: GCLOUD_PROJECT,
keyFilename: 'keyfile.json'
});
const bucket = storage.bucket(GCLOUD_BUCKET);
//var image_file="https://storage.googleapis.com/{bucketname}/parentfolder/childfolder/filename
var image_file="https://storage.googleapis.com/1533406597315/5be45c0b8c4ccd001b3567e9/1542186701528/depositphotos_173658708-stock-photo-hotel-room.jpg";
new Promise((resolve, reject) => {
var imageurl = image_file.split("/");
imageurl = imageurl.slice(4, imageurl.length + 1).join("/");
//imageurl=parentfolder/childfolder/filename
storage
.bucket(GCLOUD_BUCKET)
.file(imageurl)
.delete()
.then((image) => {
resolve(image)
})
.catch((e) => {
reject(e)
});
});
查看此 link https://cloud.google.com/storage/docs/deleting-objects or github https://github.com/googleapis/nodejs-storage/blob/master/samples/files.js
中代码示例下的 googles 官方文档
大家好,实际上我正在使用 google 云平台,我将我的优惠券图像存储在 gcs 存储桶中。现在 google 提供任何 api 以从 gcs 存储桶中删除现有图像。我在它的文档上搜索了很多 google docs 也看过很多博客,但每个人所做的都是从数据库中删除数据,但没有人告诉我们如何从存储桶中删除图像。如果有人这样做过,请帮助我,这将非常值得赞赏。
谢谢
当然可以。
- 通过控制台,您可以在 this way. You just should install gsutil 命令中使用 gsutil 命令。
- 通过 api 休息你可以使用 this service. You can try this api here.
- 还有 python, java or other languajes 的库。
- 来自@MikeSchwartz 的建议。使用云控制台,您可以手动管理您的对象。 Link.
更新 2:NodeJS 上的示例
我们可以在三个选项中进行选择。 Using request module, Google cloud NodeJS client or Google API NodeJS client。但首先,您应该授权您的服务器向 Google 云存储 (GCS) 发出请求。为此:
- 打开Console Credentials page
- 如果尚未 selected,select 您正在为其创建凭据的项目。
- 点击创建凭据 并选择服务帐户密钥。
- 在下拉列表中 select Compute Engine 默认服务帐户。然后点击创建。将下载 Json 个文件。
- 在左侧面板中单击 概览 并在查找器中键入云存储。
- 单击 Google 云存储并确保此 api 已 启用。
- 将下载的 json 重命名为 keyfile.json 并将其放在您的 NodeJS 代码可访问的路径中。
Google 云 NodeJS 客户端。 Here 包含大量示例的官方存储库。
var fs = require('fs'); var gcloud = require('gcloud');
var gcs = gcloud.storage({ 项目编号:'your-project', keyFilename: '/path/to/keyfile.json' }); var bucket = gcs.bucket('your-bucket'); var 文件 = bucket.file('your-file'); file.delete(函数(错误,api响应){}):
使用请求模块。
npm 安装请求
然后在你的代码中:
var request = require('request');
request({
url: 'https://www.googleapis.com/storage/v1/b/your-bucket/o/your-file',
qs: {key: 'your-private-key'}, // you can find your private-key in your keyfile.json
method: 'DELETE'
}, function(error, response, body){});
- 使用Google API NodeJS:我不知道如何使用它,但是有很多例子here。
假设您有图像文件 public url,您可以这样做
import {Storage} from "@google-cloud/storage";
const storage = new Storage({
projectId: GCLOUD_PROJECT,
keyFilename: 'keyfile.json'
});
const bucket = storage.bucket(GCLOUD_BUCKET);
//var image_file="https://storage.googleapis.com/{bucketname}/parentfolder/childfolder/filename
var image_file="https://storage.googleapis.com/1533406597315/5be45c0b8c4ccd001b3567e9/1542186701528/depositphotos_173658708-stock-photo-hotel-room.jpg";
new Promise((resolve, reject) => {
var imageurl = image_file.split("/");
imageurl = imageurl.slice(4, imageurl.length + 1).join("/");
//imageurl=parentfolder/childfolder/filename
storage
.bucket(GCLOUD_BUCKET)
.file(imageurl)
.delete()
.then((image) => {
resolve(image)
})
.catch((e) => {
reject(e)
});
});
查看此 link https://cloud.google.com/storage/docs/deleting-objects or github https://github.com/googleapis/nodejs-storage/blob/master/samples/files.js
中代码示例下的 googles 官方文档