

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.

# Erste Schritte mit dem AWS SDK for Ruby
<a name="getting-started"></a>

Erfahren Sie, wie Sie das SDK installieren, einrichten und verwenden, um eine Ruby-Anwendung für den programmgesteuerten Zugriff auf eine AWS Ressource zu erstellen.

**Topics**
+ [Authentifizierung mit AWS](credentials.md)
+ [Installieren des SDK](setup-install.md)
+ [Eine einfache Anwendung erstellen](hello.md)

# Authentifizierung mit AWS AWS SDK for Ruby
<a name="credentials"></a>

Sie müssen festlegen, wie sich Ihr Code AWS bei der Entwicklung mit AWS-Services authentifiziert. Sie können den programmatischen Zugriff auf AWS Ressourcen je nach Umgebung und verfügbarem AWS Zugriff auf unterschiedliche Weise konfigurieren. 

Informationen zur Auswahl Ihrer Authentifizierungsmethode und deren Konfiguration für das SDK finden Sie unter [Authentifizierung und Zugriff](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) im *AWS SDKs Referenzhandbuch zu Tools.* 

## Verwenden von Anmeldeinformationen für die Konsole
<a name="using-con-creds"></a>

Für die lokale Entwicklung empfehlen wir neuen Benutzern, ihre vorhandenen Anmeldedaten für die AWS Management Console für den programmgesteuerten Zugriff auf Dienste zu AWS verwenden. AWS Generiert nach der browserbasierten Authentifizierung temporäre Anmeldeinformationen, die mit lokalen Entwicklungstools wie der AWS Befehlszeilenschnittstelle (AWS CLI) und dem AWS SDK for Ruby funktionieren.

Wenn Sie diese Methode wählen, folgen Sie den Anweisungen zur [Anmeldung für die AWS lokale Entwicklung mit Konsolenanmeldedaten über die AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sign-in.html).

Das AWS SDK for Ruby benötigt keine zusätzlichen Gems (wie`aws-sdk-signin`), die zu Ihrer Anwendung hinzugefügt werden müssen, um die Anmeldung mit Konsolenanmeldedaten zu verwenden.

## Verwenden der IAM Identity Center-Authentifizierung
<a name="using-iam-auth"></a>

Wenn Sie sich für diese Methode entscheiden, führen Sie das Verfahren für die [IAM Identity Center-Authentifizierung](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html) im Referenzhandbuch *AWS SDKs und im Tools-Referenzhandbuch* durch. Danach sollte Ihre Umgebung die folgenden Elemente enthalten:
+ Die AWS CLI, mit der Sie eine AWS Access-Portal-Sitzung starten, bevor Sie Ihre Anwendung ausführen.
+ Eine [gemeinsam genutzte AWS`config` Datei](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) mit einem `[default]` Profil mit einer Reihe von Konfigurationswerten, auf die vom SDK aus verwiesen werden kann. Informationen zum Speicherort dieser Datei finden Sie unter [Speicherort der gemeinsam genutzten Dateien](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html) im Referenzhandbuch *AWS SDKs und im Tools-Referenzhandbuch*.
+  Die gemeinsam genutzte `config` Datei legt die [https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html](https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html)Einstellung fest. Dies legt die Standardeinstellung AWS-Region fest, die das SDK für AWS Anfragen verwendet. Diese Region wird für SDK-Dienstanforderungen verwendet, für die keine zu verwendende Region angegeben ist. 
+  Das SDK verwendet die [Konfiguration des SSO-Token-Anbieters](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html#feature-sso-credentials-profile) des Profils, um Anmeldeinformationen abzurufen, bevor Anfragen an gesendet AWS werden. Der `sso_role_name` Wert, bei dem es sich um eine IAM-Rolle handelt, die mit einem IAM Identity Center-Berechtigungssatz verbunden ist, ermöglicht den Zugriff auf die in Ihrer AWS-Services Anwendung verwendeten.

  Die folgende `config` Beispieldatei zeigt ein Standardprofil, das mit der Konfiguration des SSO-Token-Anbieters eingerichtet wurde. Die `sso_session` Einstellung des Profils bezieht sich auf den genannten [`sso-session`Abschnitt](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#section-session). Der `sso-session` Abschnitt enthält Einstellungen zum Initiieren einer AWS Access-Portal-Sitzung.

  ```
  [default]
  sso_session = my-sso
  sso_account_id = 111122223333
  sso_role_name = SampleRole
  region = us-east-1
  output = json
  
  [sso-session my-sso]
  sso_region = us-east-1
  sso_start_url = https://provided-domain.awsapps.com/start
  sso_registration_scopes = sso:account:access
  ```

Das AWS SDK for Ruby benötigt keine zusätzlichen Gems (wie `aws-sdk-sso` und`aws-sdk-ssooidc`), die zu Ihrer Anwendung hinzugefügt werden müssen, um die IAM Identity Center-Authentifizierung zu verwenden.

### Starten Sie eine AWS Access-Portal-Sitzung
<a name="accessportal"></a>

Bevor Sie eine Zugriffsanwendung ausführen AWS-Services, benötigen Sie eine aktive AWS Access-Portal-Sitzung, damit das SDK die IAM Identity Center-Authentifizierung zur Auflösung von Anmeldeinformationen verwenden kann. Abhängig von Ihrer konfigurierten Sitzungsdauer läuft Ihr Zugriff irgendwann ab und das SDK wird auf einen Authentifizierungsfehler stoßen. Um sich beim AWS Zugriffsportal anzumelden, führen Sie den folgenden Befehl in der aus AWS CLI.

```
aws sso login
```

Wenn Sie die Anweisungen befolgt haben und ein Standardprofil eingerichtet haben, müssen Sie den Befehl nicht mit einer `--profile` Option aufrufen. Wenn die Konfiguration Ihres SSO-Token-Anbieters ein benanntes Profil verwendet, lautet der Befehl `aws sso login --profile named-profile`.

Führen Sie den folgenden AWS CLI Befehl aus, um optional zu testen, ob Sie bereits eine aktive Sitzung haben.

```
aws sts get-caller-identity
```

Wenn Ihre Sitzung aktiv ist, werden in der Antwort auf diesen Befehl das in der gemeinsam genutzten `config` Datei konfigurierte IAM Identity Center-Konto und der Berechtigungssatz gemeldet.

**Anmerkung**  
Wenn Sie bereits eine aktive AWS Access-Portal-Sitzung haben und ausführen`aws sso login`, müssen Sie keine Anmeldeinformationen angeben.   
Beim Anmeldevorgang werden Sie möglicherweise aufgefordert, den AWS CLI Zugriff auf Ihre Daten zu gewähren. Da AWS CLI das auf dem SDK für Python aufbaut, können Berechtigungsnachrichten Variationen des `botocore` Namens enthalten.

## Weitere Authentifizierungsinformationen
<a name="credother"></a>

Menschliche Benutzer, auch bekannt als *menschliche Identitäten,* sind die Personen, Administratoren, Entwickler, Betreiber und Verbraucher Ihrer Anwendungen. Sie benötigen eine Identität, um auf Ihre AWS Umgebungen und Anwendungen zugreifen zu können. Menschliche Benutzer, die Mitglieder Ihres Unternehmens sind, also Sie, der Entwickler, werden als *Personalidentitäten* bezeichnet. 

Verwenden Sie beim Zugriff AWS temporäre Anmeldeinformationen. Sie können einen Identitätsanbieter für Ihre menschlichen Benutzer verwenden, um Verbundzugriff auf AWS Konten zu ermöglichen, indem Sie Rollen übernehmen, die temporäre Anmeldeinformationen bereitstellen. Für eine zentralisierte Zugriffsverwaltung empfehlen wir Ihnen, AWS IAM Identity Center (IAM Identity Center) zu verwenden, um den Zugriff auf Ihre Konten und die Berechtigungen innerhalb dieser Konten zu verwalten. Weitere Alternativen finden Sie im Folgenden:
+ Weitere Informationen zu bewährten Methoden finden Sie unter [Bewährte Methoden für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.
+ Informationen zum Erstellen kurzfristiger AWS Anmeldeinformationen finden Sie unter [Temporäre Sicherheitsanmeldeinformationen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) im *IAM-Benutzerhandbuch*.
+ Weitere Informationen über die Anmeldeinformationsanbieterkette des AWS SDK for Ruby und darüber, wie verschiedene Authentifizierungsmethoden vom SDK automatisch nacheinander versucht werden, finden Sie unter[Kette von Anbietern von Anmeldeinformationen](credential-providers.md#credchain). 
+ Informationen zu den Konfigurationseinstellungen des AWS SDK-Anmeldeinformationsanbieters finden Sie unter [Standardisierte Anmeldeinformationsanbieter](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) im Referenzhandbuch *AWS SDKs und im Tools-Referenzhandbuch*.

# Das AWS SDK for Ruby installieren
<a name="setup-install"></a>

Dieser Abschnitt enthält Voraussetzungen und Installationsanweisungen für das AWS SDK for Ruby.

## Voraussetzungen
<a name="aws-ruby-sdk-prerequisites"></a>

Bevor Sie das AWS SDK for Ruby verwenden, müssen Sie sich mit AWS authentifizieren. Informationen zum Einrichten der Authentifizierung finden Sie unter[Authentifizierung mit AWS AWS SDK for Ruby](credentials.md).

## Installieren des SDK
<a name="installing-the-sdk"></a>

Sie können das AWS SDK for Ruby wie jedes Ruby-Gem installieren. Die Edelsteine sind erhältlich unter [RubyGems](https://rubygems.org/gems/aws-sdk/). Das AWS SDK for Ruby ist modular konzipiert und wird durch getrennt AWS-Service. Die Installation des gesamten `aws-sdk` Edelsteins ist umfangreich und kann über eine Stunde dauern. 

Wir empfehlen, die Edelsteine nur für das zu installieren, AWS-Services was Sie verwenden. Diese sind wie benannt `aws-sdk-service_abbreviation` und die vollständige Liste finden Sie in der Tabelle [Unterstützte Dienste](https://github.com/aws/aws-sdk-ruby/#supported-services) der README-Datei AWS SDK for Ruby. Zum Beispiel ist das Gem für die Schnittstelle mit dem Amazon S3 S3-Service direkt verfügbar unter [https://rubygems.org/gems/aws-sdk-s3](https://rubygems.org/gems/aws-sdk-s3).

### Ruby-Versionsmanager
<a name="installing-rvm"></a>

Anstatt System-Ruby zu verwenden, empfehlen wir, einen Ruby-Versionsmanager wie den folgenden zu verwenden: 
+ [RVM](http://rvm.io/)
+ [Chruby](https://github.com/postmodern/chruby)
+ [rbenv](https://github.com/rbenv/rbenv)

Wenn Sie beispielsweise ein Amazon Linux 2-Betriebssystem verwenden, können Sie die folgenden Befehle verwenden, um RVM zu aktualisieren, die verfügbaren Ruby-Versionen aufzulisten und dann die Version auszuwählen, die Sie für die Entwicklung mit dem AWS SDK for Ruby verwenden möchten. Die mindestens erforderliche Ruby-Version ist 2.5.

```
$ rvm get head
$ rvm list known
$ rvm install ruby-3.1.3
$ rvm --default use 3.1.3
```

### Bundler
<a name="bundler"></a>

 Wenn Sie [Bundler](http://bundler.io/) verwenden, installieren Sie mit den folgenden Befehlen das AWS SDK for Ruby Gem für Amazon S3:

1. Installieren Sie Bundler und erstellen Sie: `Gemfile`

   ```
   $ gem install bundler
   $ bundle init
   ```

1. Öffnen Sie das erstellte `Gemfile` und fügen Sie eine `gem` Zeile für jedes AWS Service-Gem hinzu, das Ihr Code verwenden wird. Um dem Amazon S3 S3-Beispiel zu folgen, fügen Sie am Ende der Datei die folgende Zeile hinzu:

   ```
   gem "aws-sdk-s3"
   ```

1. Speichern Sie das Gemfile.

1. Installieren Sie die Abhängigkeiten, die in Ihrem`Gemfile`:

   ```
   $ bundle install
   ```

# Erstellen einer einfachen Anwendung mit dem AWS SDK for Ruby
<a name="hello"></a>

Begrüßen Sie Amazon S3 mithilfe des AWS SDK for Ruby. Im folgenden Beispiel wird eine Liste Ihrer Amazon S3 S3-Buckets angezeigt.

## Den Code schreiben
<a name="aws-ruby-sdk-hello-world-code"></a>

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 Das SDK for 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 [Unterstützte Dienste](https://github.com/aws/aws-sdk-ruby/#supported-services) der README-Datei AWS SDK for Ruby.

```
require 'aws-sdk-s3'
```

## Das Programm wird ausgeführt
<a name="aws-ruby-sdk-hello-world-running"></a>

Öffnen Sie eine Eingabeaufforderung, 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
<a name="aws-ruby-sdk-quick-start-windows"></a>

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 Aufruf.

```
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
<a name="aws-ruby-sdk-hello-world-next-steps"></a>

Um viele andere Amazon S3 S3-Operationen zu testen, schauen Sie sich das [AWS Code Examples Repository](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/ruby/example_code//s3) auf an GitHub.