Blog

Wie man AWS SAM mit Go in Visual Studio Code verwendet

Joris Conijn

Aktualisiert Oktober 20, 2025
2 Minuten

Richten Sie Visual Studio Code als Ihre IDE ein, um einen AWS SAM-Stack mit Go zu erstellen und bereitzustellen.

Ich habe vor kurzem begonnen, mit Go zu experimentieren und die beste Art zu lernen ist, damit zu spielen und etwas zu bauen. Also beschloss ich, eine einfache Anwendung zu erstellen. Dabei stieß ich auf das Problem, dass meine IDE es nicht mochte, wenn ich viele Go-Module in einem Projekt hatte.

Projekt-Layout

Mit AWS SAM können Sie Ihren Stack bauen und bereitstellen oder über eine CI/CD-Pipeline, der Prozess ist derselbe. Zunächst führen Sie eine aus. Dadurch wird der Quellcode für jede in der kompiliert, gefolgt von . Dadurch werden die Artefakte hochgeladen und die Vorlage mit AWS CloudFormation bereitgestellt.

Das Problem, mit dem ich konfrontiert wurde, war, dass jede Funktion eine go.mod im Quellordner benötigt. Visual Studio Code erwartet eine einzige go.mod Datei im Projekt.

Projektstruktur

Infolgedessen werden Importe im Unit-Test nicht erkannt:

Beispielcode für den Einheitstest ohne Arbeitsbereich
  • Die RequestEvent Struktur.
  • Die Methode handler.
  • Die ResponseEvent Struktur.

Der Grund dafür ist, dass die IDE die GOPATH auf das Stammverzeichnis des Projekts gesetzt hat. Daher sind die Importe nicht korrekt. Durch die Verwendung von Arbeitsbereichsordnern können Sie dieses Verhalten ändern, so dass jeder Ordner seinen eigenen Bereich hat.

Ab Go 1.16+ ist der Standard-Build-Modus von GOPATH auf Go-Module umgestellt worden.

Zu diesem Zweck müssen Sie eine Datei workspace.code-workspace erstellen. Legen Sie diese im Stammverzeichnis Ihres Projekts mit folgendem Inhalt ab:

{
    "folders": [
        {
            "path": "functions/api"
        },
        {
            "path": "functions/confirm"
        },
        {
            "path": "functions/ship"
        },
        {
            "path": "functions/stock"
        },
        {
            "path": "."
        }
    ]
}

Da nun jedes Go-Modul in seinem eigenen Bereich lebt, sind die Importe korrekt. Daher können Sie mit der Aktion ⌘ click durch den Code navigieren.

Fazit

Wenn Sie mit vielen Go-Modulen in einem Projekt arbeiten, ist es wichtig, Ihre IDE zu konfigurieren. Dies verbessert die Lesbarkeit, reduziert Fehler und erhöht Ihre Entwicklungsgeschwindigkeit!

Verfasst von

Joris Conijn

Joris is the AWS Practise CTO of the Xebia Cloud service line and has been working with the AWS cloud since 2009 and focussing on building event-driven architectures. While working with the cloud from (almost) the start, he has seen most of the services being launched. Joris strongly believes in automation and infrastructure as code and is open to learning new things and experimenting with them because that is the way to learn and grow.

Contact

Let’s discuss how we can support your journey.