edit-icon download-icon

テンプレート利用ガイド

最終更新日: Jul 03, 2018

Function Compute テンプレートは、複数のシナリオに適用可能なサンプルコードを提供します。サンプルコードを変更することも、テンプレートをそのまま使用することも可能です。テンプレートの説明は、コンソールのテンプレート選択ページに表示されます。これには、テンプレートの入力、出力および注意事項が含まれます。付け加えれば、いくつかのテンプレートは、対応するトリガーが設定された後 (たとえば、OSS オブジェクトを取得し、ダウンロードし、展開した後) でなければ使用できません。次に示す公式テンプレートのリストによって、簡単に関連情報を確認することができます。

api-gateway-nodejs6 (API Gateway 返却文字列)

このテンプレートは、API Gateway のバックエンドとして使用し、HTML ページ、JSON 文字列および画像形式を含むさまざまなデータを返す方法を示します。

  • 入力パラメーター
    {“queryParameters”:{“response”:”html / json / image”}}

  • 戻り値
    html、json または image

get-object-meta (オブジェクト属性の取得)

指定された接頭辞または接尾辞を持つオブジェクトが OSS バケットにアップロードされた後、この関数はイベントを使用してリージョン、バケット名およびオブジェクト名を取得し、取得したオブジェクトメタ情報をファイルに書き込み、ファイルを指定されたバケットにアップロードします。

  • 入力パラメーター
    OSS の PostObject API を介してファイルをアップロードし、関数の実行をトリガーします。ファイルが OSS コンソールからアップロードされる場合、一般的にこの API が呼ばれます。この関数は、更新されたファイルについて、リージョン、バケット名、オブジェクト名その他の情報を、イベントパラメーターから入手することができます。

  • 戻り値
    アップロードされたオブジェクトのメタ情報を記録するために使用されるファイルが生成され、指定された OSS バケットにアップロードされます。

  • 注意事項
    この例を実行するときは、OSS トリガーを (トリガーのイベント oss:ObjectCreated:PostObject) 設定する必要があります。また、GetObject および PutObject 権限をサービスロールに追加する必要があります。サービスロールの作成時、Function Compute は、指定された Logstore に対するログの書き込みを、デフォルトで許可されています。

image-crawler (画像クローラー)

画像クローラーデモは、ネットワークで画像をクロールします。URL が指定されれば、すべての .jpg ファイルをクロールし、OSS に格納します。

  • 入力パラメーター

    1. url: 画像を含む任意の URL
    2. EndPoint: 入力バケットのエンドポイント
    3. BucketName: 入力バケット名
  • 戻り値
    Result: ok: 操作は成功しました。 | error: エラーが発生しました。

  • 注意事項
    Log Service を有効化する必要があります。権限をgrantして、Logを確認できます。また、OSS を有効化し、読み取りおよび書き込み権限を付与する必要があります。

  • 権限付与ポリシー
    AliyunOSSFullAccess および AliyunLogFullAccess

上記のサービスレベルのロールポリシーを、サービスロールに追加する必要があります。サービスロールに、当該ポリシーがすでに含まれている場合は、この操作は不要です。

logstore-replication (ログバックアップ)

この関数は、Log Service logstore のリアルタイムデータをサブスクライブし、別の logstore にデータをコピーします。詳細については、aliyun-log-fc-functions をご覧ください。

  • 入力パラメーター
    logstore に追加された shardcursor に基づき、functionevent を取得します。入力パラメーターは、関数がデータを読み取るシャードの開始および終了位置を指定し、関数のカスタムロジックのために、データ処理内容とデータ書き込み位置のような付加的な設定を提供します。データはシャードに書き込まれると、Log Service はスケジュールされた関数の実行をトリガーします。

  • 戻り値
    関数が正常に実行されれば、ソース logstore のデータをコピーし、ingestLines (読み取りログの行数)、ingestBytes (読み取りログのバイト数)、shipLines (出力ログの行数) および shipBytes (出力ログのバイト数) を含む、JSONObject にシリアライズされた文字列を返します。たとえば関数が logstore データの読み取りや書き込みに失敗するような、実行時例外が発生した場合は、IOException がスローされ関数が終了します。

  • 注意事項
    この関数は、データを読み取り、バッチでログストアにデータを書き込みます。関数のメモリサイズを 384 MB より大きい値に設定することを推奨します。logstore における単一シャードのロギングトラフィックが重い場合には、タイムアウトを 120 秒よりも長く設定することを推奨します。

  • 権限付与ポリシー: 次の権限を追加します。

    1. AliyunLogFullAccess

oss-download-zip-upload (OSS オブジェクトのダウンロードと圧縮)

このサンプルテンプレートを使用して、OSS のバケットから画像をダウンロードし、画像を ZIP ファイルにまとめ、ZIP ファイルをバケットにアップロードできます。関数が対応するサービスの OSS を読み書きできるように、ロールのアクセスポリシーを設定する必要があります。

  • 入力パラメーター

    1. EndPoint: 入力バケットのエンドポイント
    2. BucketName: 入力バケット名
  • 戻り値
    ZipFileSize: ZIP ファイルのサイズ (バイト単位)。

  • 権限付与ポリシー: 次の権限を追加します。

    1. AliyunOSSFullAccess
    2. AliyunLogFullAccess

oss-get-object-info (オブジェクト情報の取得)

このテンプレート関数を使用して、指定した OSS のバケット内のオブジェクトの詳細を取得できます。関数が対応するサービスの OSS を読み取れるように、ロールのアクセスポリシーを設定する必要があります。

  • 入力パラメーター

    1. EndPoint: 入力バケットのエンドポイント
    2. BucketName: 入力バケット名
  • 戻り値

    1. last_modified: オブジェクトの最終更新時刻
    2. key: オブジェクト名
  • 権限付与ポリシー: 次の権限を追加します。

    1. AliyunOSSReadOnlyAccess
    2. AliyunLogFullAccess

read-write-tablestore-nodejs6 (Table Store の読み取りおよび書き込み)

関数内での Table Store の読み取りと書き込み: PutRow を使用してデータを 1 行書き込み、GetRow を使用してデータを 1 行読み取ります。

  • 入力パラメーター
    なし

  • 戻り値
    GetRow の結果

  • 注意事項
    Table Store を有効化し、事前にインスタンスとテーブルを作成する必要があります。

  • 権限付与ポリシー: 次の権限を追加します。

    1. AliyunOTSFullAccess
    2. AliyunLogFullAccess

read-write-tablestore-python27 (Table Store の読み取りおよび書き込み)

関数内での Table Store の読み取りと書き込み: PutRow を使用してデータを 1 行書き込み、GetRow を使用してデータを 1 行読み取ります。

  • 入力パラメーター
    なし

  • 戻り値
    GetRow の結果

  • 注意事項
    Table Store を有効化し、事前にインスタンスとテーブルを作成する必要があります。

  • 権限付与ポリシー: 次の権限を追加します。

    1. AliyunOTSFullAccess
    2. AliyunLogFullAccess

return-apigateway-string (API Gateway 返却文字列)

この例を使用することにより、Function Compute を使用して API Gateway から送信されたパラメーターを取得する方法と、Function Compute を使用して標準的な API Gateway レスポンス文字列を作成する方法が学べます。

  • 入力パラメーター
    APIPara: API Gateway の設定リクエストパラメーター。

  • 戻り値
    api_rep: API Gateway の標準的なレスポンス文字列が返されます。