oss 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +34 -0
- data/lib/oss/api.rb +8 -0
- data/lib/oss/client.rb +2 -1
- data/lib/oss/object.rb +10 -0
- data/lib/oss/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 53b76dcb6eda5200470085a9a112a9751979dadb
|
4
|
+
data.tar.gz: c4cce5232d9eed38d8f0204b7ee1ef0a137c6d06
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6afc3388fb358c37d7b65ccd75dc853cb42293e48acbd26a0ce0507c7b8aeeb21f922b7295afdf92bd008185e7492fb529b07d85625ec4c460e8b6941d5d4ee5
|
7
|
+
data.tar.gz: ee6f7bdeab74380de7850eeff4785f8ae264141b99526ce6873c8ffc0b9e19ec14541c829131e693449edd1d63faaa89cf6b8b0a7d652242a628c3c35740b8c0
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# OSS Ruby SDK
|
2
2
|
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/oss.svg)](https://badge.fury.io/rb/oss)
|
4
|
+
|
3
5
|
Aliyun Open Storage Service Ruby SDK.
|
4
6
|
|
5
7
|
Being Aliyun-launched cloud storage service for users, the Open Storage Service (OSS for short) features mass capacity, security, high cost-effectiveness and reliability. It enables users to upload or download data to or from any device on the Internet at any time and place, and manage data on the WEB page by using the simple REST interface.
|
@@ -113,6 +115,18 @@ file.close
|
|
113
115
|
```
|
114
116
|
you can find more api options in API Doc `OSS::Object`
|
115
117
|
|
118
|
+
#### 6. Get Object URL
|
119
|
+
|
120
|
+
```ruby
|
121
|
+
# get default url
|
122
|
+
puts @api.get_object_url('bucket_name', 'object_name')
|
123
|
+
# get internal url
|
124
|
+
puts @api.get_object_url('bucket_name', 'object_name', :from => 'internal')
|
125
|
+
# get cdn url
|
126
|
+
puts @api.get_object_url('bucket_name', 'object_name', :from => 'cdn', :cdn_domain => 'your.cdn.domain')
|
127
|
+
```
|
128
|
+
|
129
|
+
|
116
130
|
## API
|
117
131
|
|
118
132
|
### Service Operations
|
@@ -506,6 +520,23 @@ puts result[:last_modify]
|
|
506
520
|
puts result[:etag]
|
507
521
|
```
|
508
522
|
|
523
|
+
#### .get_object_url(bucket_name, object, options)
|
524
|
+
|
525
|
+
Get an object url from the bucket.
|
526
|
+
|
527
|
+
parameters:
|
528
|
+
- `bucket_name` {String} bucket name
|
529
|
+
- `object` {String} object key name
|
530
|
+
- `options` {Hash} optional parameters
|
531
|
+
- `from` {String} default nil, `internal` get url from ECS internal network, `cdn` get url from custom CDN network
|
532
|
+
- `cdn_domain` {String} if `from` set with `cdn`, set your custom CDN domain
|
533
|
+
|
534
|
+
Success will return url string
|
535
|
+
|
536
|
+
```ruby
|
537
|
+
puts @api.get_object_url('bucket_name', 'object_name')
|
538
|
+
```
|
539
|
+
|
509
540
|
#### .get_object(bucket_name, object, options)
|
510
541
|
|
511
542
|
Get an object from the bucket.
|
@@ -896,6 +927,9 @@ result = @api.option_object('bucket_name', 'object_name', 'Origin', 'GET', reque
|
|
896
927
|
puts result.headers
|
897
928
|
```
|
898
929
|
|
930
|
+
## Gem API DOC
|
931
|
+
[http://www.rubydoc.info/gems/oss/0.1.4/Oss](http://www.rubydoc.info/gems/oss/0.1.4/Oss)
|
932
|
+
|
899
933
|
## Run Rake Unit Test
|
900
934
|
|
901
935
|
`id=accessKeyId secret=accessKeyIdSecret rake test -I --order=a`
|
data/lib/oss/api.rb
CHANGED
@@ -186,6 +186,14 @@ module Oss
|
|
186
186
|
Object.new(@client).get_object(bucket_name, object, options)
|
187
187
|
end
|
188
188
|
|
189
|
+
# params:
|
190
|
+
# - bucket_name
|
191
|
+
# - object
|
192
|
+
# - options
|
193
|
+
def get_object_url(bucket_name, object, options = {})
|
194
|
+
Object.new(@client).get_object_url(bucket_name, object, options)
|
195
|
+
end
|
196
|
+
|
189
197
|
# params:
|
190
198
|
# - bucket_name
|
191
199
|
# - object_name
|
data/lib/oss/client.rb
CHANGED
@@ -4,6 +4,7 @@ require 'openssl'
|
|
4
4
|
require 'base64'
|
5
5
|
require 'nokogiri'
|
6
6
|
require 'oss/error'
|
7
|
+
require 'open-uri'
|
7
8
|
|
8
9
|
module Oss
|
9
10
|
|
@@ -98,7 +99,7 @@ module Oss
|
|
98
99
|
end
|
99
100
|
|
100
101
|
def request(host, path, headers, as = :xml, &block)
|
101
|
-
url = "http://#{host}#{path}"
|
102
|
+
url = "http://#{host}#{URI::encode(path)}"
|
102
103
|
|
103
104
|
# send request and rescue errors
|
104
105
|
begin
|
data/lib/oss/object.rb
CHANGED
@@ -98,6 +98,16 @@ module Oss
|
|
98
98
|
}
|
99
99
|
end
|
100
100
|
|
101
|
+
def get_object_url(bucket_name, object, options = {})
|
102
|
+
if options[:from].to_s == 'internal'
|
103
|
+
"http://#{bucket_name}.#{client.endpoint.gsub('-internal', '').gsub('.aliyuncs.com', '-internal.aliyuncs.com')}/#{object}"
|
104
|
+
elsif options[:from].to_s == 'cdn'
|
105
|
+
"http://#{options[:cdn_domain]}/#{object}"
|
106
|
+
else
|
107
|
+
"http://#{bucket_name}.#{client.endpoint}/#{object}"
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
101
111
|
def get_object(bucket_name, object, options = {})
|
102
112
|
# set header
|
103
113
|
headers = Util.hash_filter(options, {
|
data/lib/oss/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oss
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- RaymondChou
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|