AWS Cloud9 不再提供給新客戶。的現有客戶 AWS Cloud9 可以繼續正常使用服務。進一步了解
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
的 Python 教學課程 AWS Cloud9
本教學課程說明如何在 AWS Cloud9 開發環境中執行 Python 程式碼。
遵循本教學課程可能會向 AWS 您的帳戶收取費用。這包括 Amazon Elastic Compute Cloud (Amazon EC2) 和 Amazon Simple Storage Service (Amazon S3) 等服務的可能費用。如需詳細資訊,請參閱 Amazon EC2 Pricing
主題
必要條件
在您使用此教學前,請務必符合下列要求。
-
您有 AWS Cloud9 EC2開發環境
本教學課程假設您有一個EC2環境,且該環境連接至執行 Amazon Linux 或 Ubuntu Server 的 Amazon EC2執行個體。如需詳細資訊,請參閱 建立 EC2 環境。
如果您有不同類型的環境或作業系統,您可能需要調整此教學的操作指示。
-
您已開啟該環境的 AWS Cloud9 IDE
當您開啟環境時,請在 Web 瀏覽器中 AWS Cloud9 開啟該環境IDE的 。如需詳細資訊,請參閱 在 AWS Cloud9 中開啟環境。
步驟 1:安裝 Python
-
在 的終端機工作階段中 AWS Cloud9 IDE,執行
python --version
命令以確認是否已安裝 Python。(若要啟動新終端機工作階段,請在選單列上,選擇 Window (視窗)、New Terminal (新增終端機)。) 若 Python 已安裝,請跳至步驟 2:新增程式碼。 -
執行
yum update
(適用於 Amazon Linux) 或apt update
(適用於 Ubuntu Server) 命令,協助確保已安裝最新安全性更新和錯誤修正。針對 Amazon Linux:
sudo yum -y update
針對 Ubuntu Server:
sudo apt update
-
執行
install
命令以安裝 Python。針對 Amazon Linux:
sudo yum -y install python3
針對 Ubuntu Server:
sudo apt-get install python3
步驟 2:新增程式碼
在 中 AWS Cloud9 IDE,建立具有下列內容的檔案,並使用名稱 儲存檔案hello.py
。(若要建立檔案,請在選單列上選擇 File (檔案)、New File (新增檔案)。若要儲存檔案,請選擇 File (檔案)、Save (儲存)。)
import sys print('Hello, World!') print('The sum of 2 and 3 is 5.') sum = int(sys.argv[1]) + int(sys.argv[2]) print('The sum of {0} and {1} is {2}.'.format(sys.argv[1], sys.argv[2], sum))
步驟 3:執行程式碼
-
在 中 AWS Cloud9 IDE,在選單列選擇執行 、執行組態 、新執行組態 。
-
在 [New] - Stopped ([新增] - 已停止) 索引標籤中,為 Command (命令) 輸入
hello.py 5 9
。此程式碼的5
代表sys.argv[1]
,而9
代表sys.argv[2]
。 -
選擇 Run (執行),然後比較您的輸出。
Hello, World! The sum of 2 and 3 is 5. The sum of 5 and 9 is 14.
-
根據預設, AWS Cloud9 會自動為您的程式碼選取執行器。若要變更執行器,請選擇 Runner (執行器),然後選擇 Python 2 或 Python 3。
注意
您可以為特定版本的 Python 建立自訂的執行器。如需詳細資訊,請參閱 建立建置器或執行器。
步驟 4:安裝和設定 AWS SDK for Python (Boto3)
AWS SDK for Python (Boto3) 可讓您使用 Python 程式碼與 Amazon S3 等 AWS 服務互動。例如,您可以使用 SDK建立 Amazon S3 儲存貯體、列出可用的儲存貯體,然後刪除剛建立的儲存貯體。
安裝 pip
在 中 AWS Cloud9 IDE,執行 python -m pip --version
命令,確認pip
是否已為作用中版本的 Python 安裝 。如果已安裝 pip
,請跳到下一節。
若要安裝 pip
,請執行以下命令。由於 sudo 與使用者的環境不同,如果它與目前別名版本不同,則必須指定要使用的 Python 版本。
curl -O https://bootstrap.pypa.io/get-pip.py # Get the install script. sudo python3 get-pip.py # Install pip for Python 3. python -m pip --version # Verify pip is installed. rm get-pip.py # Delete the install script.
如需詳細資訊,請參閱 pip
網站文章安裝
安裝 AWS SDK for Python (Boto3)
安裝 之後pip
, AWS SDK for Python (Boto3) 請執行 pip install
命令來安裝 。
sudo python3 -m pip install boto3 # Install boto3 for Python 3. python -m pip show boto3 # Verify boto3 is installed for the current version of Python.
如需詳細資訊,請參閱《》
在環境中設定憑證
每次使用 AWS SDK for Python (Boto3) 呼叫 AWS 服務時,您必須隨呼叫提供一組憑證。這些憑證會判斷 是否SDK具有撥打電話所需的許可。如果登入資料未涵蓋必要的許可,呼叫會失敗。
若要將憑證存放在環境中,請遵循 AWS 服務 從 中的環境呼叫 AWS Cloud9 中的指示,然後返回本主題。
如需詳細資訊,請參閱《》章節
步驟 5:新增 AWS SDK程式碼
新增使用 Amazon S3 來建立儲存貯體的程式碼、列出可用的儲存貯體,並選擇性刪除您剛建立的儲存貯體。
在 中 AWS Cloud9 IDE,建立具有下列內容的檔案,並使用名稱 儲存檔案s3.py
。
import sys import boto3 from botocore.exceptions import ClientError def list_my_buckets(s3_resource): print("Buckets:\n\t", *[b.name for b in s3_resource.buckets.all()], sep="\n\t") def create_and_delete_my_bucket(s3_resource, bucket_name, keep_bucket): list_my_buckets(s3_resource) try: print("\nCreating new bucket:", bucket_name) bucket = s3_resource.create_bucket( Bucket=bucket_name, CreateBucketConfiguration={ "LocationConstraint": s3_resource.meta.client.meta.region_name }, ) except ClientError as e: print( f"Couldn't create a bucket for the demo. Here's why: " f"{e.response['Error']['Message']}" ) raise bucket.wait_until_exists() list_my_buckets(s3_resource) if not keep_bucket: print("\nDeleting bucket:", bucket.name) bucket.delete() bucket.wait_until_not_exists() list_my_buckets(s3_resource) else: print("\nKeeping bucket:", bucket.name) def main(): import argparse parser = argparse.ArgumentParser() parser.add_argument("bucket_name", help="The name of the bucket to create.") parser.add_argument("region", help="The region in which to create your bucket.") parser.add_argument( "--keep_bucket", help="Keeps the created bucket. When not " "specified, the bucket is deleted " "at the end of the demo.", action="store_true", ) args = parser.parse_args() s3_resource = ( boto3.resource("s3", region_name=args.region) if args.region else boto3.resource("s3") ) try: create_and_delete_my_bucket(s3_resource, args.bucket_name, args.keep_bucket) except ClientError: print("Exiting the demo.") if __name__ == "__main__": main()
步驟 6:執行 AWS SDK程式碼
-
在選單列上,選擇 Run (執行)、Run Configurations (執行組態)、New Run Configuration (新增執行組態)。
-
對於命令 ,輸入
s3.py my-test-bucket us-west-2
,其中my-test-bucket
是要建立的儲存貯體名稱,而us-west-2
是建立儲存貯體 AWS 的區域 ID。預設情況下,指令碼結束之前,會先刪除您的儲存貯體。若要要保留您的儲存貯體,請將--keep_bucket
新增到您的命令中。如需 AWS 區域 的清單IDs,請參閱 中的 Amazon Simple Storage Service 端點和配額AWS 一般參考。注意
Amazon S3 儲存貯體名稱必須是唯一的 AWS,而不只是您的帳戶 AWS 。
-
選擇 Run (執行),然後比較您的輸出。
Buckets: a-pre-existing-bucket Creating new bucket: my-test-bucket Buckets: a-pre-existing-bucket my-test-bucket Deleting bucket: my-test-bucket Buckets: a-pre-existing-bucket
步驟 7:清除
若要避免在完成本教學課程後持續向 AWS 您的帳戶收取費用,請刪除 AWS Cloud9 環境。如需說明,請參閱「刪除 AWS Cloud9 中的環境」。