OSS で ZIP ファイルを解凍する
OSS コンソールは、ZIP ファイルの自動解凍をサポートしています。この機能には Function Compute も必要です。OSS コンソールの必要なバケットに、トリガーを設定する必要があります。現在、OSS は ZIP ファイルのみ解凍できます。以下のセクションでは、機能の設定方法と注意事項について説明します。
アーキテクチャ
OSS コンソールを設定する
次の図に示すように、OSS コンソールに移動して必要なバケットを選択し、[Function Compute] タブをクリックします。
注意:Function Compute を有効化していない場合は、以下の操作を実行する前に Function Compute を有効化する必要があります。
次の図に示すように、ZIP パッケージの解凍ボタンをクリックして、OSS トリガーを編集するためのページに移動します。編集ページで次のパラメーターを設定します。
- サービス許可: Function Compute が OSS との間で読み書きを行うこと、および OSS 内の指定されたバケットで関数を実行することを許可します。[許可] ボタンをクリックして RAM ユーザーを設定します。各トリガーには許可が必要です。
- トリガーロール: OSS が Function Compute にアクセスすることを許可します。この設定は一度だけ必要です。
- プレフィックス: 関数をトリガーするファイルのプレフィックスを指定します。このパラメーターを設定することを推奨します。このパラメーターを設定しないと、システムはデフォルトでバケット内のすべての ZIPファイルを照合します。その結果、関数が繰り返し実行される可能性があります。詳細については、FAQ をご参照ください。
- 解凍先ディレクトリ:抽出したファイルを置くディレクトリを指定します。このパラメーターを設定しないと、OSS はデフォルトで現在のバケットにファイルを抽出します。
- Function Compute を有効にし、Function Compute を使用して ZIP ファイルを処理することに同意します。: ZIP ファイルの解凍は付加価値サービスです。処理中、Function Compute は解凍時間に基づいて課金を計算します。詳細については、課金方法をご参照ください。
トリガーを編集する
トリガーを変更するには、次の図に示すように、必要なトリガーの横にある [トリガーの編集] をクリックして、トリガーを編集するためのページに移動します。
トリガーイベント、プレフィックス、およびサフィックスを編集できます。通常のサービスロジックを保証するために、サフィックスに基づいて関数が作成されているため、サフィックスを変更しないことを推奨します。
解凍先ディレクトリを編集する
ファイルを抽出するディレクトリを編集するには、[概要] ページの [関数プロパティ] にある [編集] をクリックします。次に、以下の図に示すように、表示される [基本設定] ダイアログボックスで環境変数を変更します。
トリガーを削除する
OSS コンソールでトリガーを削除するには、ターゲットトリガーの横にある [トリガーの編集] をクリックして、トリガーを編集するためのページに移動します。次に、[削除] をクリックしてトリガーを削除します。OSS で ZIP ファイルを解凍できないようにするために、対応する関数を削除することを推奨します。
関数を拡張する
Function Compute は、OSS コンソールで ZIP ファイルを解凍できるようにするシステム関数を生成します。必要に応じて関数コードを変更できます。たとえば、小さな ZIP ファイルは処理時間がほとんどないため、コストを節約するためにメモリを少なくすることができます。同様に、1 GB を超える ZIP ファイルの場合は、タイムアウトの発生を最小限に抑えるために、より長いタイムアウトを設定することを推奨します。ZIP ファイルに加えて他の種類のファイルを解凍するために、関数を拡張できます。現在、Function Compute はデフォルトとして、Python 2.7 で関数をサポートしています。