[JAWS-UG CLI] Lambda:#2 Lambda関数設定の変更

 
 

前提条件
========


Lambdaへの権限
--------------

Lambdaに対してフル権限があること。


AWS CLI
-------

以下のバージョンで動作確認済

* AWS CLI 1.9.0

```bash:コマンド:
aws --version
```

```text:結果(例):
      aws-cli/1.9.0 Python/2.7.5 Darwin/13.4.0 botocore/1.3.0
```


0. 準備
=======


0.1. 変数の確認
----------

プロファイルが想定のものになっていることを確認します。

```bash:変数の確認:
aws configure list
```

```text:結果(例):

            Name                    Value             Type    Location
            ----                    -----             ----    --------
         profile       administrator-prjz-mbp13        env    AWS_DEFAULT_PROFILE
      access_key     ****************XXXX shared-credentials-file
      secret_key     ****************XXXX shared-credentials-file
          region                ap-northeast-1        env    AWS_DEFAULT_REGION
```

0.2. Lambda関数名の決定
-----------------------

```bash:コマンド:
aws lambda list-functions \
        --query 'Functions[].FunctionName'
```

```json:結果(例):
      [
        "HelloWorld"
      ]
```

```bash:変数の設定:
LAMBDA_FUNC_NAME='HelloWorld'
```


1. 事前作業
===========




1.1. Lambda関数の設定確認
-------------------------

```bash:コマンド:
aws lambda get-function-configuration \
        --function-name ${LAMBDA_FUNC_NAME}
```

```json:結果(例):
      {
        "CodeSha256": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=",
        "FunctionName": "HelloWorld",
        "CodeSize": 350,
        "MemorySize": 128,
        "FunctionArn": "arn:aws:lambda:ap-northeast-1:XXXXXXXXXXXX:function:HelloWorld",
        "Version": "$LATEST",
        "Role": "arn:aws:iam::XXXXXXXXXXXX:role/lambdaBasicExecution",
        "Timeout": 3,
        "LastModified": "2015-10-26T01:23:45.678+0000",
        "Handler": "HelloWorld.handler",
        "Runtime": "nodejs",
        "Description": "A starter AWS Lambda function."
      }
```


1.2. Lambda関数のディスクリプション確認
---------------------------------------

```bash:コマンド:
aws lambda get-function-configuration \
        --function-name ${LAMBDA_FUNC_NAME} \
        --query 'Description' \
        --output text
```

```text:結果(例):
      A starter AWS Lambda function.
```


2. Lambda関数の設定変更
=======================

```bash:変数の設定:
LAMBDA_FUNC_DESC='Hello World with AWS Lambda function.'
```

```bash:変数の確認:
cat << ETX

        LAMBDA_FUNC_NAME:  ${LAMBDA_FUNC_NAME}
        LAMBDA_FUNC_DESC: "${LAMBDA_FUNC_DESC}"

ETX
```

```bash:コマンド:
aws lambda update-function-configuration \
        --function-name ${LAMBDA_FUNC_NAME} \
        --description "${LAMBDA_FUNC_DESC}"
```

```json:結果(例):
      {
        "CodeSha256": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=",
        "FunctionName": "HelloWorld",
        "CodeSize": 350,
        "MemorySize": 128,
        "FunctionArn": "arn:aws:lambda:ap-northeast-1:XXXXXXXXXXXX:function:HelloWorld",
        "Version": "$LATEST",
        "Role": "arn:aws:iam::XXXXXXXXXXXX:role/lambdaBasicExecution",
        "Timeout": 3,
        "LastModified": "2015-10-26T03:08:28.302+0000",
        "Handler": "HelloWorld.handler",
        "Runtime": "nodejs",
        "Description": "Hello World with AWS Lambda function."
      }
```


3. Lambda関数の設定確認
=======================

```bash:コマンド:
aws lambda get-function-configuration \
        --function-name ${LAMBDA_FUNC_NAME} \
        --query 'Description' \
        --output text
```

```text:結果(例):
      Hello World with AWS Lambda function.
```


完了
====