Function Compute コンソールには、Web クローラー、画像自動分類など、関数サービスを迅速に作成したり、Alibaba Cloud Object Storage Service (OSS) または Table Store (OTS) へアクセスするためのテンプレートが用意されています。以下に、Web クローラーテンプレートを使用して Web クローラー関数を作成する方法の例を示します。この例では、関数テンプレートの意味と使い方を知ることができます。
手順
コンソールに DEMO という名前のサービスを作成します。
DEMO で関数を作成し、image-crawler関数テンプレートを選択し、トリガー設定をトリガーなしに設定します。
関数の基本設定フィールドで、関数名と関数の説明 (オプション) を入力します。
コードメニューに切り替えて、コードをオンラインで編集し、カスタマイズします (コード内のお客様のリージョンとバケット名を実際のリージョンとバケット名に置き換えてください)。
イベントをクリックし、イベントパラメーターを変更します。
関数には OSS インスタンスでの読み取り/書き込み操作が含まれるため、関数サービスにはロールの承認が必要です。
注:セキュリティ上の理由から、関数は Alibaba Cloud 上で他のリソースを直接読み書きすることはできず、関数サービスにはそのような操作を実行する権限が必要です。つまり、次の表で示すように、指定したリソースにアクセスするために、関数は特定のロールを使用する (あるリソースへのアクセス許可をもつ) 必要があります。
次の例では、RAMコンソールでOSSに読み込みと書き込みの権限があるロールを作成します。
RAMコンソールにログインして、”ロール管理”メニューに入って、”新規ロール”をクリックします。
“Function Compute” を選択し、 ロール fc-oss-rw を作成します。
“ロールの詳細”に入って基本情報を編集します。次の例をご参考ください。
“権限付与ポリシー管理” メニュに入って, “権限付与ポリシーを作成” をクリックします。 OSS に書き込みと読み込み権限があるポリシー
fc-oss-rw-policy
を作成します。ポリシーの詳細はこちらです: (ポリシー言語の詳細について、 こちらをご覧ください。 ポリシー言語.)
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:GetObject",
"oss:PutObject"
],
"Resource": "*"
}
]
}
ポリシー
fc-oss-rw-policy
をロールfc-oss-rw
に付与します。 そうするとロールfc-oss-rw
はOSSに書き込みと読み込み権限を持つようになります。ポリシーを付与した後に、 こちらのような対応関係になります:
fc-oss-rw を DEMO サービスのロールとして設定します。
関数を実行します。
結論
この例では、Function Compute で関数テンプレートを使用する方法を紹介しています。関数テンプレートを使用して、独自の関数サービスを素早く作成し、作業の繰り返しを避けることができます。