https://github.com/ccampbell/cloud-storage
Simple node js module for uploading and removing files from Google Cloud Storage
https://github.com/ccampbell/cloud-storage
Last synced: 3 months ago
JSON representation
Simple node js module for uploading and removing files from Google Cloud Storage
- Host: GitHub
- URL: https://github.com/ccampbell/cloud-storage
- Owner: ccampbell
- License: mit
- Created: 2014-03-31T03:24:44.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2014-04-07T00:44:12.000Z (almost 12 years ago)
- Last Synced: 2025-03-26T23:02:27.078Z (10 months ago)
- Language: JavaScript
- Size: 168 KB
- Stars: 13
- Watchers: 3
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Cloud Storage
Simple wrapper for uploading and deleting files from Google Cloud Storage.
Thanks to @bsphere for https://github.com/bsphere/node-gcs
## Installation
```
npm install cloud-storage
```
## Getting Started
1. Sign into the Google Cloud Console site: https://console.developers.google.com
2. Go to your project and under **APIs & auth** click on **Credentials**
3. Create an Oauth **Service Account** for your project if you don't already have one
4. Under the **Service Account** section copy your email address (that is your `accessId`)
5. If you do not have a private key, click `Generate new key` to generate one (this will download a .p12 file to your computer)
6. Convert the key to a .pem file
```
openssl pkcs12 -in path/to/key.p12 -nodes -nocerts > path/to/key.pem
```
7. If prompted for a password enter `notasecret`
8. Store this .pem file somewhere secret (the path to this file is your `privateKey`)
## Usage
#### Creating a cloud storage object
```javascript
var CloudStorage = require('cloud-storage');
var storage = new CloudStorage({
accessId: '1234-abcd@developer.gserviceaccount.com',
privateKey: '/path/to/private/key.pem'
});
```
#### Copying a file to cloud storage
```javascript
// copy a local file or a url
storage.copy('/path/to/something.jpg', 'gs://some-bucket/something.jpg', function(err, url) {
// public url for your file
console.log(url);
});
```
#### Deleting a file from cloud storage
```javascript
storage.remove('gs://some-bucket/something.jpg', function(err, success) {
console.log(success);
});
```
#### Custom options and metadata
```javascript
// if you want to get crazy you can pass in options and metadata
var options = {
headers: {
'Cache-Control': 'public, max-age=7200, no-transform',
'X-Goog-Acl': 'bucket-owner-full-control'
},
metadata: {
'width': 100,
'height': 100
},
// remove the original file on disk after it is copied
removeAfterCopy: true,
// force an extension to be added to the destination
forceExtension: true
};
storage.copy('http://someurl.com/path/to/file.jpg', 'gs://some-bucket/images/file', options, function(err, url) {
});
```
#### Get a url for a file
```javascript
var url = storage.getUrl('gs://some-bucket/images/file.jpg')
// expiration time in seconds
var options = {
expiration: 100,
download: true
};
var signedUrl = storage.getSignedUrl('gs://some-bucket/images/file.jpg', options)
```