{Alibaba Function Compute} Quickly create a function

https://qiita.com/morozumi_h/items/d3f22b79729d1c7ba03f
https://www.bigriver.jp/?p=16889
https://www.bigriver.jp/?p=16912

https://www.alibabacloud.com/help/en/fc/developer-reference/cli-reference
https://www.alibabacloud.com/help/en/functioncompute/latest/quick-function-creation

 


前提: 
画面のメッセージに従い、下記実施済み

1. Function Compute有効化

2. 下記サービスにリンクされたロール作成

ロール名:AliyunServiceRoleForFC
ロール権限:AliyunServiceRolePolicyForFC
ロール種別: サービス連携ロール


3. 「アプリ」を選択して、下記ロールを作成

ロール名:AliyunFcDefaultRole 
ロール権限:AliyunFCDefaultRolePolicy
ロール種別: 一般ロール

 

-- 1. サービスの作成

aliyun fc-open GET /2021-04-06/services 


aliyun fc-open POST /2021-04-06/services \
--body "{\"serviceName\":\"service01\",\"description\":\"service01\"}"

 

-- 2. Create a bucket for code package upload

aliyun oss ls -s

aliyun oss mb oss://bucket123 \
--storage-class Standard \
--redundancy-type LRS \
--acl private 

 

cat <<-'EOF' > test.py
# -*- coding: utf-8 -*-
import json
def handler(event, context):
  print ('hello world');
  return 'OK'

EOF


cat test.py 

zip test.zip test.py


aliyun oss cp test.zip oss://bucket123

aliyun oss ls oss://bucket123 -s

 


-- 3. 関数の作成

aliyun fc-open GET /2021-04-06/services/service01/functions

aliyun fc-open POST /2021-04-06/services/service01/functions \
--body "{\"functionName\": \"func01\",\"runtime\": \"python3\",\"handler\": \"test.handler\",\"code\": {\"ossBucketName\": \"bucket123\",\"ossObjectName\": \"test.zip\"}}"

 


-- 4. 関数の実行

aliyun fc-open POST /2021-04-06/services/service01/functions/func01/invocations

 


-- 5. クリーンアップ


aliyun fc-open GET /2021-04-06/services/service01/functions

aliyun fc-open DELETE /2021-04-06/services/service01/functions/func01


バケットの削除
※最初にバケットを空にする必要がある

aliyun oss rm oss://bucket123 --recursive --force 
aliyun oss ls oss://bucket123 -s

aliyun oss rm oss://bucket123 --bucket --force
aliyun oss ls -s


aliyun fc-open GET /2021-04-06/services 

aliyun fc-open DELETE /2021-04-06/services/service01