選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

的 Go 教學課程 AWS Cloud9

焦點模式
的 Go 教學課程 AWS Cloud9 - AWS Cloud9

AWS Cloud9 不再提供給新客戶。的現有客戶 AWS Cloud9 可以繼續正常使用服務。進一步了解

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS Cloud9 不再提供給新客戶。的現有客戶 AWS Cloud9 可以繼續正常使用服務。進一步了解

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本教學課程可讓您在 AWS Cloud9 開發環境中執行一些 Go 程式碼。

遵循本教學課程並建立此範例可能會導致 AWS 您的帳戶產生費用。這包括 Amazon EC2和 Amazon S3 等服務的可能費用。如需詳細資訊,請參閱 Amazon EC2 PricingAmazon S3 Pricing

必要條件

在您使用此範例前,請務必確認您的設定符合下列要求:

  • 您必須具有現有的 AWS Cloud9 EC2開發環境。此範例假設您已擁有連線至執行 Amazon Linux 或 的 Amazon EC2執行個體EC2的環境 Ubuntu 伺服器。如果您有不同類型的環境或作業系統,您可能需要依照此範例的說明來設定相關工具。如需詳細資訊,請參閱在 中建立環境 AWS Cloud9

  • 您已經開啟現有環境的 AWS Cloud9 IDE。當您開啟環境時,請在 Web 瀏覽器中 AWS Cloud9 開啟該環境IDE的 。如需詳細資訊,請參閱在 AWS Cloud9 中開啟環境

步驟 1:安裝必要工具

在此步驟中,您將安裝和設定 Go,這是執行此範例的必要工具。

  1. 在 的終端機工作階段中 AWS Cloud9 IDE,執行 go version命令以確認是否已安裝 Go。(若要啟動新終端機工作階段,請在選單列上,選擇 Window (視窗)、New Terminal (新增終端機)。如果成功,則輸出應該包含 Go 版本號碼。否則,應該會輸出錯誤訊息。若 Go 已安裝,請跳至步驟 2:新增程式碼

  2. 執行 yum update (適用於 Amazon Linux) 或 apt update (適用於 Ubuntu Server) 命令,協助確保已安裝最新安全性更新和錯誤修正。

    針對 Amazon Linux:

    sudo yum -y update

    針對 Ubuntu Server:

    sudo apt update
  3. 若要安裝 Go,請逐一執行這些命令。

    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.

    上述命令採用撰寫本主題時最新穩定版本的 Go。如需詳細資訊,請參閱 Go Programming Language 網站上的 Downloads

  4. 將 Go 二進位檔的路徑新增至 PATH 環境變數,如下所示。

    1. 開啟您的 shell 描述檔檔案 (例如,~/.bashrc) 以進行編輯。

    2. 在這行程式碼的結尾,輸入下列程式碼,讓程式碼現在如下所示。

      PATH=$PATH:/usr/local/go/bin
    3. 儲存檔案。

  5. 取得 ~/.bashrc 檔案,讓終端機現在可以找到您剛剛參考的 Go 二進位檔。

    . ~/.bashrc
  6. 執行 go version 命令,以確認現在已成功安裝和設定 Go。如果成功,輸出會包含 Go 版本號碼。

步驟 2:新增程式碼

在 中 AWS Cloud9 IDE,建立具有此內容的檔案,並使用名稱 儲存檔案hello.go。(若要建立檔案,請在選單列上選擇 File (檔案)、New File (新增檔案)。若要儲存檔案,請選擇 File (檔案)、Save (儲存)。)

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)) }

步驟 3:執行程式碼

  1. 在 AWS Cloud9 IDE的選單列中,選擇執行 執行組態 新執行組態

  2. [New] - Idle ([新增] - 閒置) 標籤上,選擇 Runner: Auto (執行器: 自動),然後選擇 Go

    注意

    如果未提供 Go,您可以建立 Go 的自訂執行器。

    1. [New] - Idle ([新增] - 閒置) 標籤上,選擇 Runner: Auto (執行器: 自動),然後選擇 New Runner (新執行器)。

    2. My Runner.run 標籤上,使用以下程式碼取代標籤的內容。

      { "cmd" : ["go", "run", "$file", "$args"], "info" : "Running $project_path$file_name...", "selector" : "source.go" }
    3. 從選單列選擇 File (檔案)、Save As (另存新檔),然後儲存檔案至 /.c9/runners 資料夾並命名為 Go.run

    4. [New] - Idle ([新增] - 閒置) 標籤上,選擇 Runner: Auto (執行器: 自動),然後選擇 Go

    5. 選擇 hello.go 標籤以使其作用。

  3. Command (命令) 中輸入 hello.go 5 9。此程式碼的 5 代表 os.Args[1],而 9 代表 os.Args[2]

    在 中執行 Go 程式碼的輸出 AWS Cloud9 IDE
  4. 選擇 Run (執行) 按鈕,然後對照您的輸出。

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

步驟 4:安裝和設定 AWS SDK for Go

您可以增強此範例,以使用 AWS SDK for Go 建立 Amazon S3 儲存貯體、列出可用的儲存貯體,然後刪除剛建立的儲存貯體。

在此步驟中,您會安裝並設定 AWS SDK for Go,它提供一種方便的方式,讓您從您的 Go 程式碼與 Amazon S3 等 AWS 服務互動。安裝 AWS SDK for Go前,您必須設定 GOPATH環境變數。安裝 AWS SDK for Go 並設定 GOPATH 環境變數之後,您必須在環境中設定憑證管理。 AWS SDK for Go 需要這些憑證才能與服務 AWS 互動。

設定GOPATH環境變數

  1. 開啟 ~/.bashrc 檔案進行編輯。

  2. 在檔案的最後一行後面,輸入此程式碼。

    GOPATH=~/environment/go export GOPATH
  3. 儲存檔案。

  4. 取得 ~/.bashrc 檔案,讓終端機現在可以找到您剛剛參考的 GOPATH 環境變數。

    . ~/.bashrc
  5. 執行 echo $GOPATH 命令,以確認已成功設定 GOPATH 環境變數。如果成功,應該會輸出 /home/ec2-user/environment/go/home/ubuntu/environment/go

安裝 AWS SDK for Go

執行 go get命令,指定 AWS SDK for Go 來源的位置。

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

Go 會將 AWS SDK for Go 來源安裝到GOPATH環境變數指定的位置,這是您環境中的go資料夾。

在環境中設定憑證管理

每次使用 AWS SDK for Go 呼叫 AWS 服務時,您必須隨呼叫提供一組憑證。這些憑證會判斷 是否 AWS SDK for Go 具有適當的許可來進行該呼叫。如果登入資料未涵蓋適當許可,呼叫即會失敗。

在此步驟中,您會在環境中存放您的憑證。若要這麼做,請遵循 AWS 服務 從 中的環境呼叫 AWS Cloud9 中的指示,然後返回本主題。

如需詳細資訊,請參閱 AWS SDK for Go 開發人員指南中的指定憑證

步驟 5:新增 AWS SDK程式碼

在此步驟中,您會再新增其他程式碼,這次是要與 Amazon S3 互動,藉此建立儲存貯體、列出可用的儲存貯體,然後刪除您剛建立的儲存貯體。您稍後將執行此程式碼。

在 中 AWS Cloud9 IDE,使用此內容建立檔案,並使用名稱 儲存檔案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) }

步驟 6:執行 AWS SDK程式碼

  1. 在 AWS Cloud9 IDE的選單列中,選擇執行 執行組態 新執行組態

  2. [New] - Idle ([新增] - 閒置) 標籤上,選擇 Runner: Auto (執行器: 自動),然後選擇 Go

  3. 對於命令 ,輸入 s3.go YOUR_BUCKET_NAME THE_AWS_REGION ,其中 YOUR_BUCKET_NAME 是您要建立和刪除的儲存貯體名稱,而 THE_AWS_REGION 是您要建立儲存貯體 AWS 的區域 ID。例如,若為美國東部 (俄亥俄) 區域,則使用 us-east-2。如需更多 IDs,請參閱 中的 Amazon Simple Storage Service (Amazon S3)Amazon Web Services 一般參考

    注意

    Amazon S3 儲存貯體名稱必須是唯一的 AWS,而不只是您的帳戶 AWS 。

  4. 選擇 Run (執行) 按鈕,然後對照您的輸出。

    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:

步驟 7:清除

為了避免在您使用此範例之後持續向 AWS 您的帳戶收取費用,您應該刪除環境。如需說明,請參閱「刪除 AWS Cloud9 中的環境」。

下一個主題:

TypeScript 教學課程

上一個主題:

Ruby
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。