oss 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b18056995a42219f8ec4e6d5b89276451d71db85
4
- data.tar.gz: bd2c2b1fd51045d94b340a8e4438b27bc5777f47
3
+ metadata.gz: 4b6ac21fd62a512f849f4479d6ee4e00fc905cac
4
+ data.tar.gz: 86d458df9b9f4fdb76ddf236e397a4dce01546b7
5
5
  SHA512:
6
- metadata.gz: 31d22959e6651e173e1afa5451ab4541b0e1d45645b7d0932bda415098be873afbfe4a6b225d48b480b62096d601658133b909e4d1400eafaf74f2918e330903
7
- data.tar.gz: f7c0cd2589281c402fa6785725db956fce4ffc3e3c42b59b11e08814188bfded253e6d7a1de3ab3660847fff351db38ed16d5f7806ebc0f293d7a573af84dea8
6
+ metadata.gz: 8eb1642cba5e9abbe9db0b344d596764a926803e7fdf3bcf16d27b34dec8530940f8c219d020730d1eef80b5552641b7fcd68410032f38a7085d7d9e6a88f7ba
7
+ data.tar.gz: 2dbb6f7ca282587052d6f3c28f031e704c0e101ddd87c31c9f19c65a17546fe016b18021ac5868539d602df7649249efdf8f025aabf5c662ac0e6bb7cfee218d
data/README.md CHANGED
@@ -28,19 +28,9 @@ Go to OSS website, create a new account for new user.
28
28
 
29
29
  After account created, you can create the OSS instance and get the `accessKeyId` and `accessKeySecret`.
30
30
 
31
- ### Quick Start
32
-
33
- #### 1. Initialize OSS API
34
-
35
- ```ruby
36
- # require the gem if you not set in Gemfile
37
- require 'oss'
31
+ ### Rails Application
38
32
 
39
- endpoint = 'oss-cn-hangzhou.aliyuncs.com'
40
- @api = Oss::Api.new(endpoint, access_key_id, access_key_secret)
41
- ```
42
-
43
- Rails Application Config:
33
+ Config:
44
34
 
45
35
  create `oss.yml` file in your rails application `config` path:
46
36
 
@@ -64,6 +54,22 @@ test:
64
54
  <<: *default
65
55
  ```
66
56
 
57
+ Rails Application Usage Demo:
58
+
59
+ [http://git.oschina.net/raymond/oss-rails-demo](http://git.oschina.net/raymond/oss-rails-demo)
60
+
61
+ ### Quick Start
62
+
63
+ #### 1. Initialize OSS API
64
+
65
+ ```ruby
66
+ # require the gem if you not set in Gemfile
67
+ require 'oss'
68
+
69
+ endpoint = 'oss-cn-hangzhou.aliyuncs.com'
70
+ @api = Oss::Api.new(endpoint, access_key_id, access_key_secret)
71
+ ```
72
+
67
73
  #### 2. Create New Bucket
68
74
 
69
75
  ```ruby
@@ -355,6 +361,10 @@ Success will return Hash:
355
361
  - `allow_empty_referer` {Bool} allow empty request referer or not
356
362
  - `referers` {Array} Referer white list
357
363
 
364
+ ```ruby
365
+ puts @api.get_bucket_referer('bucket_name')
366
+ ```
367
+
358
368
  #### .get_bucket_website(bucket_name)
359
369
 
360
370
  Get the bucket website config.
@@ -367,6 +377,10 @@ Success will return Hash:
367
377
  - `index_doc` {String} index page
368
378
  - `error_doc` {String} error page, maybe nil
369
379
 
380
+ ```ruby
381
+ puts @api.get_bucket_website('bucket_name')
382
+ ```
383
+
370
384
  #### .get_bucket_lifecycle(bucket_name)
371
385
 
372
386
  Get the bucket object lifecycle.
@@ -381,6 +395,10 @@ Success will return lifecycle rules Array:
381
395
  - `[days]` {Number} expire after the days
382
396
  - `[date]` {String} expire date, e.g.: `2022-10-11T00:00:00.000Z` date and days only has one.
383
397
 
398
+ ```ruby
399
+ puts @api.get_bucket_lifecycle('bucket_name')
400
+ ```
401
+
384
402
  #### .delete_bucket_logging(bucket_name)
385
403
 
386
404
  Delete the bucket logging settings.
@@ -390,6 +408,10 @@ parameters:
390
408
 
391
409
  Success will return true
392
410
 
411
+ ```ruby
412
+ puts @api.delete_bucket_logging('bucket_name')
413
+ ```
414
+
393
415
  #### .delete_bucket_website(bucket_name)
394
416
 
395
417
  Delete the bucket website config.
@@ -399,6 +421,10 @@ parameters:
399
421
 
400
422
  Success will return true
401
423
 
424
+ ```ruby
425
+ puts @api.delete_bucket_website('bucket_name')
426
+ ```
427
+
402
428
  #### .delete_bucket_lifecycle(bucket_name)
403
429
 
404
430
  Delete the bucket object lifecycle.
@@ -408,6 +434,10 @@ parameters:
408
434
 
409
435
  Success will return true
410
436
 
437
+ ```ruby
438
+ puts @api.delete_bucket_lifecycle('bucket_name')
439
+ ```
440
+
411
441
  #### .delete_bucket(bucket_name)
412
442
 
413
443
  Delete an empty bucket.
@@ -416,6 +446,10 @@ Delete an empty bucket.
416
446
 
417
447
  Success will return true
418
448
 
449
+ ```ruby
450
+ puts @api.delete_bucket('bucket_name')
451
+ ```
452
+
419
453
  ### Object Operations
420
454
  Class `Oss::Object`
421
455
 
@@ -438,6 +472,11 @@ parameters:
438
472
 
439
473
  Success will return true
440
474
 
475
+ ```ruby
476
+ file = File.read('/path/to/your/file')
477
+ puts @api.put_object('bucket_name', 'object_name', file)
478
+ ```
479
+
441
480
  #### .copy_object(bucket_name, object, old_bucket, old_object, options)
442
481
 
443
482
  To copy an existing object on OSS to form another object.
@@ -461,6 +500,12 @@ Success will return Hash:
461
500
  - `last_modify` the object last modify time
462
501
  - `etag` the object etag
463
502
 
503
+ ```ruby
504
+ result = @api.copy_object('bucket_name', 'object_name', 'old_bucket', 'old_object')
505
+ puts result[:last_modify]
506
+ puts result[:etag]
507
+ ```
508
+
464
509
  #### .get_object(bucket_name, object, options)
465
510
 
466
511
  Get an object from the bucket.
@@ -504,6 +549,13 @@ Success will return Hash:
504
549
  - `hash_crc64ecma` {String} append object hash crc64
505
550
  - `next_append_position` {String} next append position
506
551
 
552
+ ```ruby
553
+ file = File.read('/path/to/your/file')
554
+ result = @api.append_object('bucket_name', 'object_name', file, 'old_object', 0)
555
+ puts result[:hash_crc64ecma]
556
+ puts result[:next_append_position]
557
+ ```
558
+
507
559
  #### .delete_object(bucket_name, object_name)
508
560
 
509
561
  Delete the object.
@@ -514,6 +566,10 @@ parameters:
514
566
 
515
567
  Success will return true
516
568
 
569
+ ```ruby
570
+ puts @api.delete_object('bucket_name', 'object_name')
571
+ ```
572
+
517
573
  #### .delete_multiple_objects(bucket_name, objects)
518
574
 
519
575
  Delete multiple objects.
@@ -524,6 +580,10 @@ parameters:
524
580
 
525
581
  Success will return success deleted object names
526
582
 
583
+ ```ruby
584
+ puts @api.delete_multiple_objects('bucket_name', ['object_name1', 'object_name2'])
585
+ ```
586
+
527
587
  #### .head_object(bucket_name, object_name, options)
528
588
 
529
589
  Head an object and get the meta info.
@@ -539,6 +599,10 @@ parameters:
539
599
 
540
600
  Success will return response headers
541
601
 
602
+ ```ruby
603
+ puts @api.head_object('bucket_name', 'object_name')
604
+ ```
605
+
542
606
  #### .put_object_acl(bucket_name, object_name, acl)
543
607
 
544
608
  Set the object ACL.
@@ -550,6 +614,10 @@ parameters:
550
614
 
551
615
  Success will return true
552
616
 
617
+ ```ruby
618
+ puts @api.put_object_acl('bucket_name', 'object_name', 'public-read')
619
+ ```
620
+
553
621
  #### .get_object_acl(bucket_name, object_name)
554
622
 
555
623
  Get the object ACL.
@@ -563,6 +631,10 @@ Success will return Hash:
563
631
  - `grant` {String} acl settings string
564
632
  - `owner` {Hash} object owner, including `id` and `display_name`
565
633
 
634
+ ```ruby
635
+ puts @api.get_object_acl('bucket_name', 'object_name')
636
+ ```
637
+
566
638
  #### .post_object(bucket_name, key, options)
567
639
 
568
640
  Create form post upload parameters.
@@ -574,6 +646,11 @@ parameters:
574
646
 
575
647
  return form post need parameters including `OSSAccessKeyId` `Signature`
576
648
 
649
+ ```ruby
650
+ @form_info = @api.post_object('bucket_name', 'object_name', options)
651
+ # render @form_info in views
652
+ ```
653
+
577
654
  ### Multipart Upload Operations
578
655
  Class `Oss::Multipart`
579
656
 
@@ -596,6 +673,13 @@ Success will return Hash:
596
673
  - `key` {String} key
597
674
  - `upload_id` {String} upload_id
598
675
 
676
+ ```ruby
677
+ result = @api.initiate_multipart_upload('bucket_name', 'object_name')
678
+ put result[:bucket]
679
+ put result[:key]
680
+ put result[:upload_id]
681
+ ```
682
+
599
683
  #### .upload_part(bucket_name, object_name, upload_id, file, part_number, options)
600
684
 
601
685
  After a Multipart Upload is initialized, data can be uploaded by part according to the specified Object name and Upload ID. Each part uploaded has an identification number (Part number, range: 1-10,000).
@@ -612,6 +696,13 @@ Success will return Hash:
612
696
  - `etag` {String} part etag
613
697
  - `part_number` {String} part_number
614
698
 
699
+ ```ruby
700
+ file = File.read('/file/to/path')
701
+ result = @api.upload_part('bucket_name', 'object_name', upload_id, 1, file)
702
+ put result[:etag]
703
+ put result[:part_number]
704
+ ```
705
+
615
706
  #### .upload_part_copy(bucket_name, object_name, upload_id, old_bucket, old_object, part_number, options)
616
707
 
617
708
  The interface Upload Part Copy is used to upload a Part data by copying the data from an existing Object.
@@ -634,6 +725,13 @@ Success will return Hash:
634
725
  - `etag` {String} part etag
635
726
  - `last_modify` {String} object last modify time
636
727
 
728
+ ```ruby
729
+ options = {copy_source_begin: 0, copy_source_end: 1024}
730
+ result = @api.upload_part_copy('bucket_name', 'object_name', upload_id, 'old_bucket', 'old_object', 1, options)
731
+ put result[:etag]
732
+ put result[:last_modify]
733
+ ```
734
+
637
735
  #### .complete_multipart_upload(bucket_name, object_name, upload_id, parts)
638
736
 
639
737
  After all the Part data are uploaded, the API of Complete Multipart Upload must be called to complete the Multipart Upload of the entire file.
@@ -650,6 +748,15 @@ Success will return Hash:
650
748
  - `key` {String} object key
651
749
  - `etag` {String} object etag
652
750
 
751
+ ```ruby
752
+ parts = [{etag: 'etag1', part_number: 1}, {etag: 'etag2', part_number: 2}]
753
+ result = @api.complete_multipart_upload('bucket_name', 'object_name', upload_id, parts)
754
+ put result[:location]
755
+ put result[:bucket]
756
+ put result[:key]
757
+ put result[:etag]
758
+ ```
759
+
653
760
  #### .abort_multipart_upload(bucket_name, object_name, upload_id)
654
761
 
655
762
  This interface can be used to abort a Multipart Upload event according to the corresponding Upload ID offered by the user.
@@ -661,6 +768,10 @@ parameters:
661
768
 
662
769
  Success will return true
663
770
 
771
+ ```ruby
772
+ puts @api.abort_multipart_upload('bucket_name', 'object_name', upload_id)
773
+ ```
774
+
664
775
  #### .list_multipart_upload(bucket_name, options)
665
776
 
666
777
  This interface can list all Multipart Upload events under execution, which means all the events initialized but neither completed nor aborted.
@@ -683,6 +794,15 @@ return uploads Array including Hash:
683
794
  - `upload_id` {String} upload id
684
795
  - `initiated` {String} initiated time
685
796
 
797
+ ```ruby
798
+ list = @api.list_multipart_upload('bucket_name', upload_id)
799
+ list.uploads.each do |object|
800
+ puts object[:key]
801
+ puts object[:upload_id]
802
+ puts object[:initiated]
803
+ end
804
+ ```
805
+
686
806
  #### .list_parts(bucket_name, object_name, options)
687
807
 
688
808
  The interface List Parts can be used to list all Parts corresponding to a specified Upload ID which have been successfully uploaded.
@@ -704,6 +824,16 @@ return parts Array including Hash:
704
824
  - `etag` {String} part etag
705
825
  - `size` {String} part size
706
826
 
827
+ ```ruby
828
+ list = @api.list_parts('bucket_name', 'object_name')
829
+ list.parts.each do |part|
830
+ puts part[:part_number]
831
+ puts part[:last_modified]
832
+ puts part[:etag]
833
+ puts part[:size]
834
+ end
835
+ ```
836
+
707
837
  ### CORS (Cross-Origin Resource Sharing) Operations
708
838
  Class `Oss::Cors`
709
839
 
@@ -717,6 +847,11 @@ parameters:
717
847
 
718
848
  Success will return true
719
849
 
850
+ ```ruby
851
+ rules = [[{key: 'AllowedOrigin', value: '*'}, {key: 'AllowedMethod', value: 'GET'}], [{key: 'AllowedOrigin', value: 'http://www.a.com'}, {key: 'AllowedMethod', value: 'PUT'}]]
852
+ puts @api.put_bucket_cors('bucket_name', rules)
853
+ ```
854
+
720
855
  #### .get_bucket_cors(bucket_name)
721
856
 
722
857
  The operation of Get Bucket cors operation is used to get the current CORS rules in the specified Bucket.
@@ -726,6 +861,10 @@ parameters:
726
861
 
727
862
  Success will return rules Array
728
863
 
864
+ ```ruby
865
+ puts @api.get_bucket_cors('bucket_name')
866
+ ```
867
+
729
868
  #### .delete_bucket_cors(bucket_name)
730
869
 
731
870
  The Delete Bucket cors operation is used to disable the CORS function corresponding to the specified Bucket and remove all the rules.
@@ -735,6 +874,10 @@ parameters:
735
874
 
736
875
  Success will return true
737
876
 
877
+ ```ruby
878
+ puts @api.delete_bucket_cors('bucket_name')
879
+ ```
880
+
738
881
  #### .option_object(bucket_name, object_name, origin, request_method, request_headers)
739
882
 
740
883
  Before sending the cross-origin request, the browser will first send a preflight request (OPTIONS) with specific source origin, HTTP method, and header information to OSS so that it can decide whether to send the real request.
@@ -748,6 +891,11 @@ parameters:
748
891
 
749
892
  Success will return response headers
750
893
 
894
+ ```ruby
895
+ result = @api.option_object('bucket_name', 'object_name', 'Origin', 'GET', request_headers)
896
+ puts result.headers
897
+ ```
898
+
751
899
  ## Run Rake Unit Test
752
900
 
753
901
  `id=accessKeyId secret=accessKeyIdSecret rake test -I --order=a`
@@ -41,7 +41,7 @@ module Oss
41
41
  :location => bucket.xpath('Bucket/Location').text,
42
42
  :name => bucket.xpath('Bucket/Name').text,
43
43
  :creation_date => bucket.xpath('Bucket/CreationDate').text
44
- }
44
+ } if bucket.xpath('Bucket/Name').text != ''
45
45
  end
46
46
  results
47
47
  end
@@ -1,3 +1,3 @@
1
1
  module Oss
2
- VERSION = '0.1.3'
2
+ VERSION = '0.1.4'
3
3
  end
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.3
4
+ version: 0.1.4
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-04 00:00:00.000000000 Z
11
+ date: 2015-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler