

 AWS Cloud9 は新規顧客には利用できなくなりました。 AWS Cloud9 の既存のお客様は、通常どおりサービスを引き続き使用できます。[詳細はこちら](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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

# の Python チュートリアル AWS Cloud9
<a name="sample-python"></a>

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

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

**Topics**
+ [前提条件](#sample-python-prereqs)
+ [ステップ 1: Python をインストールする](#sample-python-install)
+ [ステップ 2: コードを追加する](#sample-python-code)
+ [ステップ 3: コードを実行する](#sample-python-run)
+ [ステップ 4: をインストールして設定する AWS SDK for Python (Boto3)](#sample-python-sdk)
+ [ステップ 5: AWS SDK コードを追加する](#sample-python-sdk-code)
+ [ステップ 6: AWS SDK コードを実行する](#sample-python-sdk-run)
+ [ステップ 7: クリーンアップする](#sample-python-clean-up)

## 前提条件
<a name="sample-python-prereqs"></a>

このチュートリアルを使用する前に、以下の前提条件を満たしていることを確認します。
+ ** AWS Cloud9 EC2 開発環境がある**

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

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

  環境を開くと、 はウェブブラウザでその環境の IDE AWS Cloud9 を開きます。詳細については、「[で環境を開く AWS Cloud9](open-environment.md)」を参照してください。

## ステップ 1: Python をインストールする
<a name="sample-python-install"></a>

1.  AWS Cloud9 IDE のターミナルセッションで、 ** `python --version` ** コマンドを実行して Python が既にインストールされているかどうかを確認します。(新しいターミナルセッションを開始するには、メニューバーで、[**Window (ウィンドウ)**]、[**New Terminal (新しいターミナル)**] の順に選択します。) Python がインストール済みである場合は、[ステップ 2: コードを追加する](#sample-python-code) に進んでください。

1. ** `yum update`** (Amazon Linux 用) または **`apt update`** (Ubuntu Server 用) コマンドを実行して、最新のセキュリティ更新プログラムおよびバグ修正がインストールされていることを確認します。

   Amazon Linux の場合:

   ```
   sudo yum -y update
   ```

   Ubuntu Server の場合:

   ```
   sudo apt update
   ```

1. **`install`** コマンドを実行して Python をインストールします。

   Amazon Linux の場合:

   ```
   sudo yum -y install python3
   ```

   Ubuntu Server の場合:

   ```
   sudo apt-get install python3
   ```

## ステップ 2: コードを追加する
<a name="sample-python-code"></a>

 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: コードを実行する
<a name="sample-python-run"></a>

1.  AWS Cloud9 IDE のメニューバーで、**Run**、**Run Configurations**、**New Run Configuration** を選択します。

1. **［新規］- 停止**タブ、**コマンド**に、`hello.py 5 9` を入力します。コード内の `5` は `sys.argv[1]` を、`9` は `sys.argv[2]` を表します。

1. [**Run (実行)**] を選択して、出力を比較します。

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

1. デフォルトでは、 はコードのランナー AWS Cloud9 を自動的に選択します。ランナーを変更するには、[**Runner (ランナー)**] を選択し、[**Python 2**] または [**Python 3**] を選択します。
**注記**  
特定のバージョンの Python 用にカスタムランナーを作成できます。詳細については、「[ビルダーまたはランナーを作成する](build-run-debug.md#build-run-debug-create-builder-runner)」を参照してください。

## ステップ 4: をインストールして設定する AWS SDK for Python (Boto3)
<a name="sample-python-sdk"></a>

 AWS SDK for Python (Boto3) を使用すると、Python コードを使用して Amazon S3 などの AWS サービスとやり取りできます。たとえば、SDK を使用して Amazon S3 バケットを作成し、利用可能なバケットを一覧表示して、作成したばかりのバケットを削除できます。

### pip をインストールします。
<a name="sample-python-sdk-install-pip"></a>

 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` ウェブサイトの「[インストール](https://pip.pypa.io/en/stable/installing/)」を参照してください。

### のインストール AWS SDK for Python (Boto3)
<a name="sample-python-sdk-install-sdk"></a>

をインストールしたら`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.
```

詳細については、[の「](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html)クイックスタート AWS SDK for Python (Boto3)」セクションの「インストール」を参照してください。

### ステップ 2: 環境 で認証情報管理を設定する
<a name="sample-python-sdk-credentials"></a>

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

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

詳細については、『[』の「](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html)認証情報 AWS SDK for Python (Boto3)」を参照してください。

## ステップ 5: AWS SDK コードを追加する
<a name="sample-python-sdk-code"></a>

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 コードを実行する
<a name="sample-python-sdk-run"></a>

1. メニューバーで、［**Run (実行)**］、［**Run Configurations (実行設定)**］、［**New Run Configuration (新しい実行設定)**］の順に選択します。

1. **コマンド**には、 と入力します。ここで`s3.py my-test-bucket us-west-2`、 `my-test-bucket` は作成するバケットの名前、 `us-west-2`はバケットが作成される AWS リージョンの ID です。デフォルトでは、バケットはスクリプトが終了する前に削除されます。バケットを保持するには、コマンドに `--keep_bucket` を追加します。 AWS リージョン IDs、の[「Amazon Simple Storage Service のエンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/s3.html)」を参照してください*AWS 全般のリファレンス*。
**注記**  
Amazon S3 バケット名は、アカウント AWS だけでなく AWS、 全体で一意である必要があります。

1. [**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: クリーンアップする
<a name="sample-python-clean-up"></a>

このチュートリアルを完了した後、 AWS アカウントへの継続的な課金を防ぐには、 AWS Cloud9 環境を削除します。手順については、「[での環境の削除 AWS Cloud9](delete-environment.md)」を参照してください。