的 Python 教程 AWS Cloud9 - AWS Cloud9

AWS Cloud9 不再向新客户提供。 AWS Cloud9 的现有客户可以继续正常使用该服务。了解更多

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

的 Python 教程 AWS Cloud9

本教程向您展示如何在 AWS Cloud9 开发环境中运行 Python 代码。

遵循本教程可能会导致您的 AWS 账户被扣款。其中包括亚马逊弹性计算云(亚马逊EC2)和亚马逊简单存储服务(Amazon S3)等服务的可能费用。有关更多信息,请参阅亚马逊EC2定价和 A mazon S3 定价

先决条件

使用本教程之前,确保满足以下要求。

  • 你有一个 AWS Cloud9 EC2开发环境

    本教程假设您有一个EC2环境,并且该环境已连接到运行亚马逊 Linux 或 Ubuntu 服务器的亚马逊EC2实例。有关详细信息,请参阅 创建 EC2 环境

    如果您有不同类型的环境或操作系统,您可能需要调整本教程的说明。

  • 您已经 AWS Cloud9 IDE为该环境打开了

    打开环境时,会在 IDE Web 浏览器中 AWS Cloud9 打开该环境的。有关详细信息,请参阅 在 AWS Cloud9 中打开环境

步骤 1:安装 Python

  1. 在的终端会话中 AWS Cloud9 IDE,通过运行python --version命令来确认 Python 是否已安装。(要开始新的终端会话,请在菜单栏上依次选择 Window (窗口)New Terminal (新建终端)。) 如果已安装 Python,请向前跳至步骤 2:添加代码

  2. 运行 yum update(适用于 Amazon Linux)或 apt update(适用于 Ubuntu Server)命令,以帮助确保已安装最新的安全更新和错误修复。

    对于 Amazon Linux:

    sudo yum -y update

    对于 Ubuntu Server:

    sudo apt update
  3. 通过运行 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:运行代码

  1. 在菜单栏上 AWS Cloud9 IDE,选择 “运行”、“运行配置”、“新建运行配置”。

  2. [New] - Stopped([新建] - 已停止)选项卡中,在 Command 中输入 hello.py 5 9。在代码中,5 表示 sys.argv[1]9 表示 sys.argv[2]

  3. 选择 Run (运行),然后比较输出。

    Hello, World! The sum of 2 and 3 is 5. The sum of 5 and 9 is 14.
  4. 默认情况下, AWS Cloud9 会自动为你的代码选择一个运行器。要更改运行程序,请选择 Runner (运行程序),然后选择 Python 2Python 3

    注意

    您可以为特定版本的 Python 创建自定义运行程序。有关详细信息,请参阅创建生成器或运行程序

步骤 4:安装和配置 AWS SDK for Python (Boto3)

AWS SDK for Python (Boto3) 允许您使用 Python 代码与诸如 Amazon S3 之类的 AWS 服务进行交互。例如,您可以使用创建 Amazon S3 存储桶,列出您的可用存储桶,然后删除您刚刚创建的存储桶。SDK

安装 pip

在中 AWS Cloud9 IDE,通过运行命令确认pip是否已经为活动版本的 Python 安装了该python -m pip --version命令。如果已安装 pip,请跳到下一节。

要安装 pip,请运行以下命令。由于 sudo 与用户处于不同的环境中,因此,如果 Python 的版本与当前别名版本不同,则必须指定要使用的 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 for Python (Boto3) 用 AWS 服务时,都必须为呼叫提供一组凭据。这些证书决定了是否SDK具有拨打电话所需的权限。如果凭证没有包括必需的权限,调用将失败。

要在环境中存储凭证,请按照 AWS 服务 从中的环境中呼叫 AWS Cloud9 中的说明进行操作,然后返回到该主题。

有关其他信息,请参阅 中的凭证 AWS SDK for Python (Boto3)。

第 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代码

  1. 在菜单栏上依次选择运行运行配置新建运行配置

  2. Comman d 中s3.py my-test-bucket us-west-2,输入,其中my-test-bucketus-west-2是要创建的存储桶的名称,也是创建存储桶所在 AWS 区域的 ID。默认情况下,您的存储桶会在脚本退出之前被删除。要保留您的存储桶,请将 --keep_bucket 添加到您的命令中。有关 AWS 区域列表IDs,请参阅中的 Amazon 简单存储服务终端节点和配额AWS 一般参考

    注意

    Amazon S3 存储桶名称必须是唯一的,而 AWS不仅仅是您的 AWS 账户。

  3. 选择 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 中删除环境