AWS Cloud9 の Python チュートリアル - AWS Cloud9

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Cloud9 の Python チュートリアル

このチュートリアルでは、AWS Cloud9 開発環境で Python コードを実行する方法を示します。

このチュートリアルを完了すると、AWS アカウントに料金が発生する可能性があります。これには、Amazon Elastic Compute Cloud (Amazon EC2) や Amazon Simple Storage Service (Amazon S3) などのサービスに対して発生しうる料金が含まれます。詳細については、「Amazon EC2 料金表」および「Amazon S3 料金表」を参照してください。

前提条件

このチュートリアルを使用する前に、以下の前提条件を満たしていることを確認します。

  • AWS Cloud9 EC2 開発環境がある

    このチュートリアルでは、EC2 環境があり、環境が Amazon Linux または Ubuntu Serverを実行している Amazon EC2 インスタンス に接続されているという前提を立てています。詳細については、「EC2 環境を作成する」を参照してください。

    別のタイプの環境またはオペレーティングシステムを使用している場合は、このチュートリアルの手順の調整が必要になる場合があります。

  • その環境用の AWS Cloud9 IDE を開いている

    環境を開くと、AWS Cloud9 によってその環境の IDE がウェブブラウザで開かれます。詳細については、「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‬ という名前でファイルを保存します。(ファイルを作成するには、メニューバーでファイルNew File (新しいファイル)を選択します。 ファイルを保存するには、ファイル,保存を選択します。)

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 のメニューバーで、[Run (実行)]、[Run Configurations (実行設定)]、[New Run Configuration (新しい実行設定)] の順に選択します。

  2. [新規]- 停止タブ、コマンドに、hello.py 5 9 を入力します。コード内の 5sys.argv[1] を、9sys.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 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をインストールした後、 pip install コマンドを実行して AWS SDK for Python (Boto3) を実行します。

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)」セクションの「インストール」を参照してください。

ステップ 2: 環境 で認証情報管理を設定する

AWS SDK for Python (Boto3) を使用して AWS のサービスを呼び出すたびに、呼び出しに一連の認証情報を指定する必要があります。これらの認証情報により、呼び出しに必要なアクセス許可が SDK にあるかどうかを判断します。認証情報に必要なアクセス許可がない場合、呼び出しは失敗します。

認証情報を環境に保存するには、AWS Cloud9 の環境から AWS のサービス の呼び出し の手順を実行してから、このトピックに戻ります。

詳細については、『』の「認証情報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. メニューバーで、[Run (実行)]、[Run Configurations (実行設定)]、[New Run Configuration (新しい実行設定)]の順に選択します。

  2. [Command (コマンド)] に「s3.py my-test-bucket us-west-2」と入力します。my-test-bucket は作成するバケットの名前、us-west-2 はバケットを作成する先の AWS リージョンの ID です。デフォルトでは、バケットはスクリプトが終了する前に削除されます。バケットを保持するには、コマンドに --keep_bucket を追加します。AWS リージョン ID のリストについては、「AWS 全般のリファレンス」の「Amazon Simple Storage Service のエンドポイントとクォータ」を参照してください。

    注記

    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 で環境を削除する」を参照してください。