「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
AWS Cloud9 の Python チュートリアル
このチュートリアルでは、AWS Cloud9 開発環境 で Python コードを実行する方法を示します。
このチュートリアルを完了すると、AWS アカウントに料金が発生する可能性があります。これには、Amazon Elastic Compute Cloud (Amazon
EC2) や Amazon Simple Storage Service (Amazon S3) などのサービスの料金も含まれる場合があります。詳細については、「Amazon EC2 料金表
トピック
Prerequisites
このチュートリアルを使用する前に、以下の前提条件を満たしていることを確認します。
-
前提条件AWS Cloud9 EC2 開発環境
このチュートリアルでは、EC2 環境があり、その環境が Amazon Linux を実行する Amazon EC2 インスタンスまたは Ubuntu Server に接続されていることを前提としています。詳細については、「」を参照してください。
別のタイプの環境またはオペレーティングシステムを使用している場合は、このチュートリアルの手順の調整が必要になる場合があります。
-
その環境用の AWS Cloud9 IDE を開いている
環境 を開くと、AWS Cloud9 によってその 環境 の IDE がウェブブラウザで開かれます。詳細については、「で環境を開く AWS Cloud9」を参照してください。
ステップ 1. Python をインストールします。
-
AWS Cloud9 IDE のターミナルセッションで、
python --version
コマンドを実行して Python 3.6 がインストール済みであるかどうかを確認します。(新しいターミナルセッションを開始するには、メニューバーで ウィンドウ、 新しいターミナル) Pythonがインストールされている場合は、先に進む ステップ 2. コードの追加. -
yum update
for (Amazon Linux) またはapt update
(for Ubuntu Server) コマンドを実行して、最新のセキュリティ更新プログラムおよびバグ修正がインストールされていることを確認します。Amazon Linux の場合:
sudo yum -y update
Ubuntu Server の場合:
sudo apt update
-
Pythonをインストールするには、
install
コマンド。Amazon Linux の場合:
sudo yum -y install python36
Ubuntu Server の場合:
sudo apt -y install python3
ステップ 2. コードの追加
の AWS Cloud9 IDE、次の内容のファイルを作成し、ファイル名を付けてファイルを保存します。 hello.py
。 (ファイルを作成するには、メニューバーで ファイル、 新規ファイル。 ファイルを保存するには、 ファイル、 保存。)
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 のメニューバーで、[Run (実行)]、[Run Configurations (実行設定)]、[New Run Configuration (新しい実行設定)] の順に選択します。
-
[[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
コマンドを実行し、アクティブなバージョンの Python 用に pip
がインストール済みであるかどうかを確認します。pip
がインストール済みである場合は、次のセクションに進みます。
次のコマンドを実行して pip
をインストールします。sudo の環境はユーザーの環境と異なるため、使用する Python のバージョンが現在のエイリアスバージョンと異なる場合は、バージョンを指定する必要があります。
curl -O https://bootstrap.pypa.io/get-pip.py # Get the install script. sudo python36 get-pip.py # Install pip for Python 3.6. 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 python36 -m pip install boto3 # Install boto3 for Python 3.6. 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 の手順を実行してから、このトピックに戻ります。
詳細については、AWS SDK for Python (Boto3) の「認証情報
ステップ 5. 追加 AWS SDK(SDK) Code
Amazon S3 を使用してバケットを作成し、使用可能なバケットを一覧表示して、必要に応じて作成したバケットを削除するためのコードを追加します。
AWS Cloud9 IDE で、以下の内容のファイルを作成し、s3.py
という名前でファイルを保存します。
import sys import boto3 from botocore.exceptions import ClientError def get_s3(region=None): """ Get a Boto 3 Amazon S3 resource with a specific AWS Region or with your default AWS Region. """ return boto3.resource('s3', region_name=region) if region else boto3.resource('s3') def list_my_buckets(s3): print('Buckets:\n\t', *[b.name for b in s3.buckets.all()], sep="\n\t") def create_and_delete_my_bucket(bucket_name, region, keep_bucket): s3 = get_s3(region) list_my_buckets(s3) try: print('\nCreating new bucket:', bucket_name) bucket = s3.create_bucket( Bucket=bucket_name, CreateBucketConfiguration={ 'LocationConstraint': region } ) except ClientError as e: print(e) sys.exit('Exiting the script because bucket creation failed.') bucket.wait_until_exists() list_my_buckets(s3) if not keep_bucket: print('\nDeleting bucket:', bucket.name) bucket.delete() bucket.wait_until_not_exists() list_my_buckets(s3) 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() create_and_delete_my_bucket(args.bucket_name, args.region, args.keep_bucket) if __name__ == '__main__': main()
ステップ 6. を実行する AWS SDK コード
-
メニューバーで、[Run (実行)]、[Run Configurations (実行設定)]、[New Run Configuration (新しい実行設定)] の順に選択します。
-
[Command (コマンド)] に「
s3.py my-test-bucket us-west-2
」と入力します。my-test-bucket
は作成するバケットの名前、us-west-2
はバケットを作成する先の AWS リージョンの ID です。デフォルトでは、バケットはスクリプトが終了する前に削除されます。バケットを保持するには、コマンドに--keep_bucket
を追加します。一覧については、 AWS 地域 ID、を参照 Amazon Simple Storage Service エンドポイントとクォータ の AWS General Reference.注記 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」を参照してください。