1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【OCI】Object Storageへのアップロードをイベント(Events)で通知する(通知編)

1
Last updated at Posted at 2026-02-06

はじめに

OCIを使っていると、

  • Object Storageにファイルが置かれたことを検知したい
  • 何か処理を走らせる前に「イベントが発生した」ことを確認したい
    という場面がよくあります。

本連載では最終的に、Object StorageにCSVファイルをアップロードすると、そのイベントをトリガーとして処理が実行され、Autonomous Databaseにデータを取り込む構成を作成します。

ただし、いきなり複雑な構成を組むのではなく、まずは一番シンプルな入口として**「ファイルアップロードを検知して通知を受け取る」**ところから始めます。本記事はその第1回です。


今回やること

  • Object Storageのバケットにファイルをアップロード
  • アップロードイベントをEventsで検知
  • Notificationsを使ってメール通知を受け取る

※本記事ではFunctionsやDatabaseとの連携は行いません。

■構成イメージ
image.png


前提条件

  • OCIアカウントを作成済み
  • Object Storage / Events / Notificationsを操作できる権限があること
  • あらかじめObject Storageのバケットを作成済みであること
  • 通知を受け取れるメールアドレスがあること

※IAMポリシーの詳細説明は省略します。


使用するOCIサービス

  • Object Storage
  • Events
  • Notifications

1. Notificationsのトピック作成

まず、通知の受け皿となるトピックを作成します。

メニュー → 開発者サービス → 通知 → トピック から、「トピックの作成」を選択し、
下記の手順で登録します。

トピックの作成

  1. 表示名を入力(例:MyMessage
  2. コンパートメントを選択して作成

サブスクリプション(メール)の追加

作成したトピックに対して、メール通知用のサブスクリプションを追加します。

  • プロトコル:電子メール
  • エンドポイント:通知を受け取りたいメールアドレス

登録後、確認メールが送信されるので必ず承認してください。
承認しない限り、通知は届きません。

image.png


2. Eventsルールの作成

次に、Object Storageのイベントを検知するルールを作成します。

メニュー → 監視および管理 → イベント・サービス(Events) → ルールから、
「ルールの作成」を選択し、下記の内容で設定します。

基本設定

  • 表示名:object-upload-event
  • コンパートメント:対象バケットが存在するもの

イベントタイプ

  • サービス名:Object Storage
  • イベントタイプ:Object - Create

※必要に応じてObject - Updateを追加しても構いません。

条件

最初はシンプルに、以下のいずれかで問題ありません。

  • 特定のバケットのみを対象にする
  • 条件を指定せず、すべてのバケットを対象にする

※本記事では詳細な条件設定は行いません。

アクション

  • アクションタイプ:通知
  • トピック:先ほど作成したトピック(MyMessage)

以上で、Object Storageへのファイルアップロードイベントを検知し、
Notificationsへ通知を送る設定は完了です。

image.png

※今回は、特定のバケットのみを対象にするため、
イベント条件に属性:bucketName = bucketNotificationを設定しています。


3. 動作確認

設定が完了したら、実際にObject Storageのバケットへファイルをアップロードします。

  • CSVファイル
  • テキストファイル
  • 中身は何でも構いません

アップロード後、数秒〜十数秒で登録したメールアドレスに通知が届けば成功です。


4. この構成のポイント

  • Object Storage単体ではイベント処理はできない
  • Eventsが「イベント検知と振り分け」を担当する
  • Notificationsは最も簡単に結果を確認できる出口

この構成ができていれば、通知先をFunctionsや他のサービスに差し替えることができます。


次回予告

次回は、通知の代わりにOCI Functionsを作成し、

  • Pythonで処理を実装
  • Autonomous Databaseに接続
  • データを登録する
    というFunctions単体の作り方にフォーカスします。

▶ 続きはこちら(第2回)
https://qiita.com/atwits/items/0992913310c4da18c99f


おわりに

OCIのイベント駆動構成は、最初から全体を組もうとすると分かりにくくなりがちです。まずはこのように**「イベントが発生していることを目で確認できる構成」**を作っておくと、後続の設計やデバッグがかなり楽になります。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?