

 AWS Cloud9 ist für Neukunden nicht mehr verfügbar. Bestehende Kunden von AWS Cloud9 können den Dienst weiterhin wie gewohnt nutzen. [Weitere Informationen](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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.

# Gehe zum Tutorial für AWS Cloud9
<a name="sample-go"></a>

In diesem Tutorial können Sie Go-Code in einer AWS Cloud9 Entwicklungsumgebung ausführen.

Wenn Sie diesem Tutorial folgen und dieses Beispiel erstellen, kann dies zu Gebühren für Ihr AWS Konto führen. Dies umfasst mögliche Kosten für Services wie Amazon EC2 und Amazon S3. Weitere Informationen finden Sie unter [Amazon EC2 – Preise](https://aws.amazon.com/ec2/pricing/) und [Amazon S3 – Preise](https://aws.amazon.com/s3/pricing/).

**Topics**
+ [Voraussetzungen](#sample-go-prereqs)
+ [Schritt 1: Installieren der erforderlichen Tools](#sample-go-install)
+ [Schritt 2: Code hinzufügen](#sample-go-code)
+ [Schritt 3: Ausführen des Codes](#sample-go-run)
+ [Schritt 4: Installieren und konfigurieren Sie den AWS SDK für Go](#sample-go-sdk)
+ [Schritt 5: AWS SDK-Code hinzufügen](#sample-go-sdk-code)
+ [Schritt 6: Führen Sie den AWS SDK-Code aus](#sample-go-sdk-run)
+ [Schritt 7: Bereinigen](#sample-go-clean-up)

## Voraussetzungen
<a name="sample-go-prereqs"></a>

Bevor Sie dieses Beispiel verwenden, stellen Sie sicher, dass Ihre Einrichtung die folgenden Anforderungen erfüllt:
+ **Sie müssen über eine bestehende AWS Cloud9 EC2-Entwicklungsumgebung verfügen.** Bei diesem Beispiel wird davon ausgegangen, dass Sie bereits eine EC2-Umgebung eingerichtet haben, die mit einer Amazon-EC2-Instance verbunden ist, die Amazon Linux oder Ubuntu Server ausführt. Wenn Sie ein andere Art von Umgebung oder ein anderes Betriebssystem verwenden, müssen Sie die Anweisungen dieses Beispiels zum Einrichten zugehöriger Tools möglicherweise anpassen. Weitere Informationen finden Sie unter [Schaffung einer Umgebung in AWS Cloud9](create-environment.md).
+ **Sie haben die AWS Cloud9 IDE für die bestehende Umgebung bereits geöffnet.** Wenn Sie eine Umgebung AWS Cloud9 öffnen, wird die IDE für diese Umgebung in Ihrem Webbrowser geöffnet. Weitere Informationen finden Sie unter [Öffnen einer Umgebung in AWS Cloud9](open-environment.md).

## Schritt 1: Installieren der erforderlichen Tools
<a name="sample-go-install"></a>

In diesem Schritt installieren und konfigurieren Sie Go, das erforderlich ist, um dieses Beispiel auszuführen.

1. Vergewissern Sie sich in einer Terminalsitzung in der AWS Cloud9 IDE, ob Go bereits installiert ist, indem Sie den **`go version`**Befehl ausführen. (Um eine neue Terminalsitzung zu starten, wählen Sie in der Menüleiste **Window** (Fenster), **New Terminal** (Neues Terminal) aus. Bei Erfolg enthält die Ausgabe die Go-Versionsnummer. Andernfalls wird eine Fehlermeldung ausgegeben. Wenn Go installiert ist, gehen Sie weiter zu [Schritt 2: Code hinzufügen](#sample-go-code).

1. Führen Sie den Befehl ** `yum update` ** für (Amazon Linux) oder ** `apt update` ** für (Ubuntu Server) aus, um sicherzustellen, dass die Sicherheitsupdates und Bugfixes auf dem aktuellen Stand sind.

   Für Amazon Linux:

   ```
   sudo yum -y update
   ```

   Für Ubuntu Server:

   ```
   sudo apt update
   ```

1. Führen Sie zum Installieren von Go nacheinander die folgenden Befehle aus.

   ```
   wget https://storage.googleapis.com/golang/go1.9.3.linux-amd64.tar.gz # Download the Go installer.
   sudo tar -C /usr/local -xzf ./go1.9.3.linux-amd64.tar.gz              # Install Go.
   rm ./go1.9.3.linux-amd64.tar.gz                                       # Delete the installer.
   ```

   Bei den vorangegangenen Befehlen wird die letzte stabile Version von Go zum Erstellungszeitpunkt dieses Themas angenommen. Weitere Informationen finden Sie unter [Downloads](https://golang.org/dl/) auf der Website der Go-Programmiersprache.

1. Fügen Sie den Pfad zur Go-Binärdatei wie folgt zu Ihrer Umgebungsvariablen `PATH` hinzu.

   1. Öffnen Sie Ihre Shell-Profildatei (z. B. `~/.bashrc`) zur Bearbeitung.

   1. Geben Sie am Ende dieser Codezeile Folgendes ein. Der Code sollte nun so aussehen.

      ```
      PATH=$PATH:/usr/local/go/bin
      ```

   1. Speichern Sie die Datei.

1. Führen sie die Datei `~/.bashrc` aus, damit die Go-Binärdatei, auf die Sie gerade verwiesen haben, im Terminal gefunden werden kann.

   ```
   . ~/.bashrc
   ```

1. Überprüfen Sie mit dem Befehl ** `go version` **, dass Go erfolgreich installiert und konfiguriert wurde. Bei Erfolg enthält die Ausgabe die Go-Versionsnummer.

## Schritt 2: Code hinzufügen
<a name="sample-go-code"></a>

Erstellen Sie in der AWS Cloud9 IDE eine Datei mit diesem Inhalt und speichern Sie die Datei unter dem Namen`hello.go`. (Um eine Datei zu erstellen, wählen Sie in der Menüleiste **File (Datei)**, **New File (Neue Datei)** aus. Um die Datei zu speichern, wählen Sie **Datei**, **Save (Speichern)**.)

```
package main

import (
  "fmt"
  "os"
  "strconv"
)

func main() {
  fmt.Printf("Hello, World!\n")

  fmt.Printf("The sum of 2 and 3 is 5.\n")

  first, _ := strconv.Atoi(os.Args[1])
  second, _ := strconv.Atoi(os.Args[2])
  sum := first + second

  fmt.Printf("The sum of %s and %s is %s.",
    os.Args[1], os.Args[2], strconv.Itoa(sum))
}
```

## Schritt 3: Ausführen des Codes
<a name="sample-go-run"></a>

1. Wählen Sie in der Menüleiste der AWS Cloud9 IDE die Optionen **Ausführen**, **Konfigurationen ausführen**, **Neue Ausführungskonfiguration aus**.

1. Wählen Sie auf der Registerkarte **[New] - Idle ([Neu] – Leerlauf)** die Option **Runner: Auto** und dann **Go** aus.
**Anmerkung**  
Wenn **Go** nicht verfügbar ist, können Sie einen benutzerdefinierten Runner für Go erstellen.  
Wählen Sie auf der Registerkarte **[New] - Idle ([Neu] - Leerlauf)** die Option **Runner: Auto** und dann **New Runner (Neuer Runner)** aus.
Ersetzen Sie auf der Registerkarte **My Runner.run (Mein Runner.run)** den Inhalt der Registerkarte durch diesen Code.  

      ```
      {
        "cmd" : ["go", "run", "$file", "$args"],
        "info" : "Running $project_path$file_name...",
        "selector" : "source.go"
      }
      ```
Klicken Sie in der Menüleiste auf **File (Datei)**, **Save As (Speichern unter)** und speichern Sie die Datei unter dem Namen `Go.run` im Verzeichnis `/.c9/runners`.
Wählen Sie auf der Registerkarte **[New] - Idle ([Neu] – Leerlauf)** die Option **Runner: Auto** und dann **Go** aus.
Klicken Sie auf die Registerkarte **hello.go**, um sie zu aktivieren.

1. Geben Sie für **Command (Befehl)** `hello.go 5 9` ein. Im Code repräsentiert `5` `os.Args[1]` und `9` repräsentiert `os.Args[2]`.  
![\[Ausgabe der Ausführung des Go-Codes in der AWS Cloud9 IDE\]](http://docs.aws.amazon.com/de_de/cloud9/latest/user-guide/images/ide-go-simple.png)

1. Klicken Sie auf **Run (Ausführen)** und vergleichen Sie die Ausgabe.

   ```
   Hello, World!
   The sum of 2 and 3 is 5.
   The sum of 5 and 9 is 14.
   ```

## Schritt 4: Installieren und konfigurieren Sie den AWS SDK für Go
<a name="sample-go-sdk"></a>

Sie können dieses Beispiel erweitern, um mit dem einen Amazon S3 S3-Bucket AWS SDK für Go zu erstellen, Ihre verfügbaren Buckets aufzulisten und dann den gerade erstellten Bucket zu löschen.

In diesem Schritt installieren und konfigurieren Sie den AWS SDK für Go, der eine bequeme Möglichkeit bietet, mit AWS Diensten wie Amazon S3 über Ihren Go-Code zu interagieren. Bevor Sie das AWS SDK für Go installieren, müssen Sie Ihre Umgebungsvariable `GOPATH` konfigurieren. Nach der Installation des AWS SDK für Go und der Konfiguration der `GOPATH`-Umgebungsvariablen müssen Sie die Verwaltung von Anmeldeinformationen in Ihrer Umgebung einrichten. The AWS SDK für Go benötigt diese Anmeldeinformationen, um mit AWS Diensten zu interagieren.

### So konfigurieren Sie Ihre GOPATH-Umgebungsvariable
<a name="sample-go-sdk-set-gopath"></a>

1. Öffnen Sie Ihre `~/.bashrc`-Datei zur Bearbeitung.

1. Geben Sie hinter der letzten Zeile in der Datei den folgenden Code ein.

   ```
   GOPATH=~/environment/go
      
   export GOPATH
   ```

1. Speichern Sie die Datei.

1. Führen sie die Datei `~/.bashrc` aus, damit die `GOPATH`-Umgebungsvariable, auf die Sie gerade verwiesen haben, im Terminal gefunden werden kann.

   ```
   . ~/.bashrc
   ```

1. Führen Sie den Befehl `GOPATH` ** `echo $GOPATH` aus, um sicherzustellen, dass die **-Umgebungsvariable erfolgreich konfiguriert wurde. Bei Erfolg wird `/home/ec2-user/environment/go` oder `/home/ubuntu/environment/go` ausgegeben.

### Um das zu installieren AWS SDK für Go
<a name="sample-go-sdk-install-sdk"></a>

Führen Sie den **`go get`**Befehl aus und geben Sie den Speicherort der AWS SDK für Go Quelle an.

```
go get -u github.com/aws/aws-sdk-go/...
```

Go installiert die AWS SDK für Go Quelle an dem in Ihrer `GOPATH` Umgebungsvariablen angegebenen Speicherort, dem `go` Ordner in Ihrer Umgebung.

### So richten Sie die Anmeldeinformationsverwaltung in Ihrer Umgebung ein
<a name="sample-go-sdk-creds"></a>

Jedes Mal, wenn Sie den verwenden, AWS SDK für Go um einen AWS Dienst aufzurufen, müssen Sie bei dem Anruf eine Reihe von Anmeldeinformationen angeben. Diese Anmeldeinformationen bestimmen, ob der AWS SDK für Go über die entsprechenden Berechtigungen verfügt, um diesen Anruf zu tätigen. Wenn die Anmeldeinformationen nicht die entsprechenden Berechtigungen haben, schlägt der Aufruf fehl.

In diesem Schritt speichern Sie Ihre Anmeldeinformationen innerhalb der Umgebung. Befolgen Sie stattdessen die Anweisungen unter [AWS-Services Aus einer Umgebung anrufen in AWS Cloud9](credentials.md) und kehren Sie dann zu diesem Thema zurück.

Weitere Informationen finden Sie unter [Festlegen von Anmeldeinformationen](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/configuring-sdk.html#specifying-credentials) im*AWS SDK für Go Entwicklerhandbuch*.

## Schritt 5: AWS SDK-Code hinzufügen
<a name="sample-go-sdk-code"></a>

In diesem Schritt fügen Sie weiteren Code hinzu. Dieses Mal für die Interaktion mit Amazon S3, um einen Bucket zu erstellen, Ihre verfügbaren Buckets aufzulisten und anschließend den Bucket zu löschen, den Sie zuvor erstellt haben. Sie führen diesen Code später aus.

Erstellen Sie in der AWS Cloud9 IDE eine Datei mit diesem Inhalt und speichern Sie die Datei unter dem Namen`s3.go`.

```
package main

import (
	"fmt"
	"os"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/s3"
)

func main() {

	if len(os.Args) < 3 {
		fmt.Printf("Usage: go run s3.go <the bucket name> <the AWS Region to use>\n" +
			"Example: go run s3.go my-test-bucket us-east-2\n")
		os.Exit(1)
	}

	sess := session.Must(session.NewSessionWithOptions(session.Options{
		SharedConfigState: session.SharedConfigEnable,
	}))
	svc := s3.New(sess, &aws.Config{
		Region: aws.String(os.Args[2]),
	})

	listMyBuckets(svc)
	createMyBucket(svc, os.Args[1], os.Args[2])
	listMyBuckets(svc)
	deleteMyBucket(svc, os.Args[1])
	listMyBuckets(svc)
}

// List all of your available buckets in this AWS Region.
func listMyBuckets(svc *s3.S3) {
	result, err := svc.ListBuckets(nil)

	if err != nil {
		exitErrorf("Unable to list buckets, %v", err)
	}

	fmt.Println("My buckets now are:\n")

	for _, b := range result.Buckets {
		fmt.Printf(aws.StringValue(b.Name) + "\n")
	}

	fmt.Printf("\n")
}

// Create a bucket in this AWS Region.
func createMyBucket(svc *s3.S3, bucketName string, region string) {
	fmt.Printf("\nCreating a new bucket named '" + bucketName + "'...\n\n")

	_, err := svc.CreateBucket(&s3.CreateBucketInput{
		Bucket: aws.String(bucketName),
		CreateBucketConfiguration: &s3.CreateBucketConfiguration{
			LocationConstraint: aws.String(region),
		},
	})

	if err != nil {
		exitErrorf("Unable to create bucket, %v", err)
	}

	// Wait until bucket is created before finishing
	fmt.Printf("Waiting for bucket %q to be created...\n", bucketName)

	err = svc.WaitUntilBucketExists(&s3.HeadBucketInput{
		Bucket: aws.String(bucketName),
	})
}

// Delete the bucket you just created.
func deleteMyBucket(svc *s3.S3, bucketName string) {
	fmt.Printf("\nDeleting the bucket named '" + bucketName + "'...\n\n")

	_, err := svc.DeleteBucket(&s3.DeleteBucketInput{
		Bucket: aws.String(bucketName),
	})

	if err != nil {
		exitErrorf("Unable to delete bucket, %v", err)
	}

	// Wait until bucket is deleted before finishing
	fmt.Printf("Waiting for bucket %q to be deleted...\n", bucketName)

	err = svc.WaitUntilBucketNotExists(&s3.HeadBucketInput{
		Bucket: aws.String(bucketName),
	})
}

// If there's an error, display it.
func exitErrorf(msg string, args ...interface{}) {
	fmt.Fprintf(os.Stderr, msg+"\n", args...)
	os.Exit(1)
}
```

## Schritt 6: Führen Sie den AWS SDK-Code aus
<a name="sample-go-sdk-run"></a>

1. Wählen Sie in der Menüleiste der AWS Cloud9 IDE die Optionen **Ausführen**, **Konfigurationen ausführen**, **Neue Ausführungskonfiguration aus**.

1. Wählen Sie auf der Registerkarte **[New] - Idle ([Neu] – Leerlauf)** die Option **Runner: Auto** und dann **Go** aus.

1. Geben Sie unter **Command** den Namen des Buckets ` YOUR_BUCKET_NAME ` ein`s3.go YOUR_BUCKET_NAME THE_AWS_REGION `, den Sie erstellen und dann löschen möchten, und ` THE_AWS_REGION ` geben Sie die ID der AWS Region ein, in der Sie den Bucket erstellen möchten. Verwenden Sie zum Beispiel für die Region "USA Ost (Ohio)" `us-east-2`. Weitere Informationen IDs finden Sie unter [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in der *Allgemeine Amazon Web Services-Referenz*.
**Anmerkung**  
Amazon S3 S3-Bucket-Namen müssen überall eindeutig sein AWS— nicht nur in Ihrem AWS Konto.

1. Klicken Sie auf **Run (Ausführen)** und vergleichen Sie die Ausgabe.

   ```
   My buckets now are:
   
   Creating a new bucket named 'my-test-bucket'...
   
   My buckets now are:
   
   my-test-bucket
   
   Deleting the bucket named 'my-test-bucket'...
   
   My buckets now are:
   ```

## Schritt 7: Bereinigen
<a name="sample-go-clean-up"></a>

Um zu verhindern, dass Ihr AWS Konto weiterhin belastet wird, nachdem Sie dieses Beispiel nicht mehr verwendet haben, sollten Sie die Umgebung löschen. Detaillierte Anweisungen finden Sie unter [Löschen einer Umgebung in AWS Cloud9](delete-environment.md).