すべてのプロダクト
Search
ドキュメントセンター

Function Compute:OSS トリガーの概要

最終更新日:Dec 27, 2025

Object Storage Service (OSS) を Function Compute と統合すると、OSS イベントを使用して関数実行をトリガーし、OSS のデータを処理できます。このトピックでは、Function Compute の OSS トリガーの制限、イベントタイプ、およびトリガールールについて説明します。

背景情報

OSS は、OSS トリガーを使用して Function Compute とシームレスに統合されます。関数を作成して OSS イベントを処理できます。OSS が指定されたタイプのイベントをキャプチャすると、関連付けられた関数が実行されます。たとえば、PutObject イベントを処理する関数を設定できます。OSS の PutObject 操作を呼び出して OSS にイメージをアップロードすると、関連付けられた関数が自動的にトリガーされ、イメージが処理されます。

Function Compute と Function Compute を統合すると、さまざまな関数を使用してイメージや音声データを処理し、その結果を複数のストレージサービスに保存できます。このアーキテクチャでは、関数ロジックの作成に集中するだけで、システムが大量のデータをリアルタイムで、信頼性高く、大規模に処理します。

OSS トリガーの制限事項

OSS イベントの定義

OSS システムが指定されたイベントをキャプチャすると、イベント情報を JSON 文字列にエンコードし、それを処理関数に渡します。OSS イベント通知のフォーマットの詳細については、「イベント通知」をご参照ください。

次の表に、サポートされている OSS イベントを示します。イベントタイプは、ObjectCreated、ObjectRemoved、ObjectModified などの API 操作に対応します。API 操作が呼び出され、正常に実行されると、関数が 1 回実行されるようにトリガーされます。

イベントタイプ

イベント名

説明

ObjectCreated

oss:ObjectCreated:PutObject

PutObject 操作を呼び出してファイルをアップロードします。詳細については、「PutObject」をご参照ください。

oss:ObjectCreated:PutSymlink

PutSymlink 操作を呼び出して、OSS 内のターゲットオブジェクトのシンボリックリンクを作成します。このシンボリックリンクを使用してターゲットオブジェクトにアクセスできます。詳細については、「PutSymlink」をご参照ください。

oss:ObjectCreated:PostObject

PostObject 操作を呼び出して、HTML フォームを使用して指定されたバケットにファイルをアップロードします。詳細については、「PostObject」をご参照ください。

oss:ObjectCreated:CopyObject

CopyObject 操作を呼び出して、OSS 内の既存のオブジェクトをコピーします。詳細については、「CopyObject」をご参照ください。

oss:ObjectCreated:InitiateMultipartUpload

MultipartUpload モードでデータを転送する前に、InitiateMultipartUpload 操作を呼び出して、マルチパートアップロードイベントを初期化するように OSS に通知する必要があります。詳細については、「InitiateMultipartUpload」をご参照ください。

oss:ObjectCreated:UploadPart

マルチパートアップロードイベントが開始された後、指定されたオブジェクト名とアップロード ID に基づいてデータをパート単位でアップロードできます。詳細については、「UploadPart」をご参照ください。

oss:ObjectCreated:UploadPartCopy

UploadPartCopy は、既存のオブジェクトからデータをコピーしてパートをアップロードします。詳細については、「UploadPartCopy」をご参照ください。

oss:ObjectCreated:CompleteMultipartUpload

すべてのデータパートがアップロードされた後、CompleteMultipartUpload 操作を呼び出して、ファイル全体のマルチパートアップロードを完了する必要があります。詳細については、「CompleteMultipartUpload」をご参照ください。

oss:ObjectCreated:AppendObject

AppendObject 操作を呼び出して、データを追加してファイルをアップロードします。詳細については、「AppendObject」をご参照ください。

oss:ObjectCreated:*

上記のいずれかの ObjectCreated API 操作が正常に呼び出された後に関数がトリガーされます。

ObjectRemoved

oss:ObjectRemoved:DeleteObject

DeleteObject 操作を呼び出してオブジェクトを削除します。詳細については、「DeleteObject」をご参照ください。

oss:ObjectRemoved:DeleteObjects

DeleteMultipleObjects 操作を呼び出して、複数のファイルをバッチで削除します。詳細については、「DeleteMultipleObjects」をご参照ください。

oss:ObjectRemoved:AbortMultipartUpload

AbortMultipartUpload 操作を呼び出して、指定されたアップロード ID に基づいてマルチパートアップロードイベントを停止します。詳細については、「AbortMultipartUpload」をご参照ください。

オブジェクト変更

oss:ObjectModified:UpdateObjectMeta

UpdateObjectMeta 操作を呼び出して、オブジェクトのプロパティを変更します。

説明

このイベントは、中国 (杭州)、中国 (上海)、中国 (青島)、中国 (北京)、中国 (張家口)、中国 (フフホト)、中国 (深セン)、および中国 (成都) のリージョンでサポートされています。

オブジェクトレプリケーション

oss:ObjectReplication:ObjectCreated

データレプリケーションプロセスに関わる書き込み操作。

oss:ObjectReplication:ObjectModified

データレプリケーションプロセスに関わる上書き操作。

oss:ObjectReplication:ObjectRemoved

データレプリケーションプロセスに関わる削除操作。

OSS トリガーのルール

ループトリガーの回避

警告

OSS トリガーを使用する場合、トリガーのループを作成しないようにしてください。典型的なループトリガーのシナリオは、OSS バケットへのファイルアップロードイベントが関数をトリガーする場合に発生します。関数が実行された後、1 つ以上のファイルを生成し、それらを同じ OSS バケットに書き込みます。この書き込み操作が再び関数をトリガーし、ループが発生します。

ループトリガーによる不要なコストを回避するために、ファイルプレフィックスまたはサフィックスを設定できます。たとえば、トリガーファイルのファイルプレフィックスを src に設定し、生成されるファイルのファイルプレフィックスを dst に設定します。この場合、生成されたファイルは再び関数をトリガーしません。ファイルプレフィックスまたはサフィックスを設定しない場合、任意のプレフィックスまたはサフィックスを持つファイルが一致します。詳細については、「ステップ 1: OSS トリガーの作成」をご参照ください。

ネイティブ OSS トリガーの設定ルール

同じバケット内で重複したトリガーが作成され、1 つのイベントが複数のトリガーを起動するのを防ぐため、Function Compute ではバケット内のトリガー設定が次の条件を満たす必要があります:

  • トリガーイベント、ファイルプレフィックス、ファイルサフィックスの組み合わせは一意である必要があります。

  • 新しいトリガーは、そのトリガーイベント、ファイルプレフィックス、ファイルサフィックスの組み合わせが既存のトリガーと競合しない場合にのみ作成できます。

次の表は、ネイティブ OSS トリガーの設定ルールの例を示しています。

既存のトリガー

新しいトリガー

作成は成功しますか?

説明

トリガーイベント

ファイルプレフィックス

拡張子

トリガーイベント

ファイルプレフィックス

ファイルサフィックス

oss:ObjectCreated:PutObject

source

zip

oss:ObjectCreated:*

source

zip

失敗

oss:ObjectCreated:* は、すべての ObjectCreated イベントタイプの上位セットです。新しいトリガーのイベント oss:ObjectCreated:* は、同じファイルプレフィックスとサフィックスを持つ既存のトリガーのイベント oss:ObjectCreated:PutObject と一致します。

source1

zip1

成功

新しいトリガーのイベントタイプとファイルプレフィックスは既存のトリガーと一致しますが、ファイルサフィックスは一致しません。

oss:ObjectCreated:PutObject

source

zip

失敗

新しいトリガーのイベントタイプ、ファイルプレフィックス、およびファイルサフィックスはすべて既存のトリガーと一致します。

source

1zip

失敗

source1

zip

失敗

source

なし

失敗

新しいトリガーのイベントタイプとファイルプレフィックスは既存のトリガーと一致します。ファイルサフィックスが設定されていない場合、zip サフィックスを持つオブジェクトが含まれます。これは、ファイルサフィックスも一致することを意味します。

なし

zip

いいえ

新しいトリガーのイベントタイプとファイルサフィックスは既存のトリガーと一致します。ファイルプレフィックスが設定されていない場合、source プレフィックスを持つオブジェクトが含まれます。これは、ファイルプレフィックスも一致することを意味します。

source1

zip1

成功

新しいトリガーのイベントタイプとファイルプレフィックスは既存のトリガーと一致しますが、ファイルサフィックスは一致しません。

1source

1zip

成功

新しいトリガーのイベントタイプとファイルサフィックスは既存のトリガーと一致しますが、ファイルプレフィックスは一致しません。

oss:ObjectCreated:PostObject

source

zip

成功

新しいトリガーのイベントタイプは、既存のトリガーのイベントタイプと一致しません。

説明

ファイルプレフィックスはオブジェクト名の先頭から、ファイルサフィックスは末尾から照合されます。

次のセクションでは、2 種類の競合について説明します。両方の種類の競合が存在する場合、新しいトリガーは作成できません。一方またはどちらの競合も存在しない場合、新しいトリガーを作成できます。

イベントタイプの競合

既存のトリガーイベントタイプ

新しいトリガーイベントタイプ

競合の説明

oss:ObjectCreated:PutObject

oss:ObjectCreated:*

oss:ObjectCreated:* には oss:ObjectCreated:PutObject が含まれます。これによりイベントの競合が発生します。

oss:ObjectCreated:*

oss:ObjectCreated:PostObject

パス一致の競合

既存のトリガーパス

新しいトリガーパス

競合の説明

source/.zip

1source/.zip

プレフィックスは一致せず、サフィックスは一致します。パスの競合はありません。

source/.zip

source/.zip1

プレフィックスは一致しますが、サフィックスは一致しません。パスの競合はありません。

source/.zip

source/.zip

プレフィックスとサフィックスが一致します。パスの競合があります。

重要

同じ OSS イベントタイプを使用して、異なる処理タスクのために異なる関数をトリガーしたい場合は、EventBridge ベースの OSS トリガーを作成できます。

よくある質問

関連ドキュメント