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 for Ruby
Sagen Sie Hallo zu Amazon S3 mit dem AWS SDK for Ruby. Im folgenden Beispiel wird eine Liste Ihrer Amazon S3-Buckets angezeigt.
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 SDK for Ruby ist so konzipiert, dass es modular ist und durch getrennt istAWS-Service. Nachdem das Gem installiert wurde, importiert die -require
Anweisung oben in Ihrer Ruby-Quelldatei die AWS SDK-Klassen und -Methoden für den Amazon S3-Service. Eine vollständige Liste der verfügbaren AWS Service-Gems finden Sie in der Tabelle Unterstützte Services
require 'aws-sdk-s3'
Ausführen des Programms
Öffnen Sie eine Eingabeaufforderung, um Ihr Ruby-Programm auszuführen. Die typische Befehlssyntax zum Ausführen eines Ruby-Programms ist:
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 eine Fehlermeldung ähnlich der 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 irgendwo vor Ihrem ersten AWS Aufruf die folgende Zeile hinzu.
Aws.use_bundled_cert!
Wenn Sie nur das aws-sdk-s3
Gem in Ihrem Ruby-Programm verwenden und das gebündelte Zertifikat verwenden möchten, müssen Sie auch das aws-sdk-core
Gem hinzufügen.
Nächste Schritte
Um viele andere Amazon S3-Operationen auszuprobieren, sehen Sie sich das AWS Code Examples Repository