Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Hallo Tutorial für das AWS SDK für Ruby
Begrüßen Sie Amazon S3 mit dem AWS SDK for Ruby. Das folgende Beispiel zeigt eine Liste Ihrer Amazon S3 S3-Buckets.
Schreiben des Codes
Kopieren Sie den folgenden Code und fügen Sie ihn in eine neue Quelldatei ein. Benennen Sie die Datei hello-s3.rb
.
require 'aws-sdk-s3' # Wraps Amazon S3 resource actions. class BucketListWrapper attr_reader :s3_resource # @param s3_resource [Aws::S3::Resource] An Amazon S3 resource. def initialize(s3_resource) @s3_resource = s3_resource end # Lists buckets for the current account. # # @param count [Integer] The maximum number of buckets to list. def list_buckets(count) puts 'Found these buckets:' @s3_resource.buckets.each do |bucket| puts "\t#{bucket.name}" count -= 1 break if count.zero? end true rescue Aws::Errors::ServiceError => e puts "Couldn't list buckets. Here's why: #{e.message}" false end end # Example usage: def run_demo wrapper = BucketListWrapper.new(Aws::S3::Resource.new) wrapper.list_buckets(25) end run_demo if $PROGRAM_NAME == __FILE__
AWS SDKfor Ruby ist modular konzipiert und wird durch getrennt AWS-Service. Nach der Installation des Gems importiert die require
Anweisung oben in Ihrer Ruby-Quelldatei die AWS SDK Klassen und Methoden für den Amazon S3 S3-Service. Eine vollständige Liste der verfügbaren AWS
Service-Gems finden Sie in der Tabelle mit den unterstützten Diensten
require 'aws-sdk-s3'
Das Programm wird ausgeführt
Öffnen Sie eine Befehlszeile, um Ihr Ruby-Programm auszuführen. Die typische Befehlssyntax zum Ausführen eines Ruby-Programms lautet:
ruby
[source filename] [arguments...]
Dieser Beispielcode verwendet keine Argumente. Um diesen Code auszuführen, geben Sie Folgendes in die Befehlszeile ein:
$
ruby hello-s3.rb
Hinweis für Benutzer von Windows
Wenn Sie SSL Zertifikate unter Windows verwenden und Ihren Ruby-Code ausführen, wird möglicherweise ein Fehler ähnlich dem folgenden angezeigt.
C:\Ruby>ruby buckets.rb C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:921:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (Seahorse::Client::NetworkingError) from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:921:in `block in connect' from C:/Ruby200-x64/lib/ruby/2.0.0/timeout.rb:66:in `timeout' from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:921:in `connect' from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:862:in `do_start' from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:857:in `start' ...
Um dieses Problem zu beheben, fügen Sie Ihrer Ruby-Quelldatei die folgende Zeile hinzu, und zwar irgendwo vor Ihrem ersten AWS Anruf.
Aws.use_bundled_cert!
Wenn Sie nur das aws-sdk-s3
Gem in Ihrem Ruby-Programm verwenden und das mitgelieferte Zertifikat verwenden möchten, müssen Sie auch das aws-sdk-core
Gem hinzufügen.
Nächste Schritte
Um viele andere Amazon S3 S3-Operationen zu testen, schauen Sie sich das AWS Code Examples Repository