Event Grid ソースとしての Azure Blob Storage

この記事では、Blob Storage イベントのプロパティとスキーマについて説明します。 イベント スキーマの概要については、「Azure Event Grid イベント スキーマ」を参照してください。 また、Azure Blob Storage をイベント ソースとして使用するためのクイック スタートとチュートリアルの一覧も示されています。

Note

イベントの統合をサポートしているのは、StorageV2 (汎用 v2)BlockBlobStorage、および BlobStorage の種類のストレージ アカウントだけです。 Storage (汎用 v1) では、Event Grid との統合はサポート "されていません"。

使用可能なイベントの種類

Blob Storage のイベント

これらのイベントは、クライアントが BLOB REST API を呼び出して BLOB を作成、置換、または削除するときにトリガーされます。

Note

$logs$blobchangefeed コンテナーは Event Grid と統合されていないため、これらのコンテナーのアクティビティからはイベントは生成されません。 また、非階層型名前空間に対応するアカウントに対して dfs エンドポイント (abfss://URI) を使用しても、イベントは生成されませんが、BLOB エンドポイント (wasb:// URI) ではイベントが生成されます。

イベント名 説明
Microsoft.Storage.BlobCreated BLOB が作成または置換されたときにトリガーされます。
具体的には、このイベントは、BLOB REST API で使用可能な PutBlobPutBlockList、または CopyBlob 操作をクライアントが使用し、なおかつブロック BLOB が完全にコミットされたときにトリガーされます。
クライアントが、階層型名前空間機能が有効になっているアカウントで CopyBlob 操作を使用した場合は、CopyBlob 操作の動作が少し異なります。 その場合、 Microsoft.Storage.BlobCreated イベントは、ブロック BLOB が完全にコミットされたときではなく、CopyBlob 操作が開始されたときにトリガーされます。
Microsoft.Storage.BlobDeleted BLOB が削除されたときにトリガーされます。
具体的には、クライアントが BLOB REST API で使用可能な DeleteBlob 操作を呼び出した場合に、このイベントがトリガーされます。
Microsoft.Storage.BlobTierChanged BLOB のアクセス層が変更されたときにトリガーされます。 具体的には、BLOB REST API で使用可能な Set Blob Tier 操作をクライアントが呼び出したときに、層の変更が完了すると、このイベントがトリガーされます。
Microsoft.Storage.AsyncOperationInitiated アーカイブ層からホット層またはクール層へのデータの移動またはコピーを伴う操作が開始されたときにトリガーされます。 具体的には、クライアントが Set Blob Tier API を呼び出して、アーカイブ層からホット層またはクール層に BLOB を移動するとき、またはクライアントが Copy Blob API を呼び出して、アーカイブ層の BLOB からホット層またはクール層の BLOB にデータをコピーするときに、このイベントがトリガーされます。

イベントの例

Microsoft.Storage.BlobCreated イベント

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/test-container/blobs/new-file.txt",
  "type": "Microsoft.Storage.BlobCreated",
  "time": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "PutBlockList",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "eTag": "\"0x8D4BCC2E4835CD0\"",
    "contentType": "text/plain",
    "contentLength": 524288,
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.blob.core.windows.net/testcontainer/new-file.txt",
    "sequencer": "00000000000004420000000000028963",
    "storageDiagnostics": {
      "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Microsoft.Storage.BlobDeleted イベント

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/testcontainer/blobs/file-to-delete.txt",
  "type": "Microsoft.Storage.BlobDeleted",
  "time": "2017-11-07T20:09:22.5674003Z",
  "id": "4c2359fe-001e-00ba-0e04-58586806d298",
  "data": {
    "api": "DeleteBlob",
    "requestId": "4c2359fe-001e-00ba-0e04-585868000000",
    "contentType": "text/plain",
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.blob.core.windows.net/testcontainer/file-to-delete.txt",
    "sequencer": "0000000000000281000000000002F5CA",
    "storageDiagnostics": {
      "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Microsoft.Storage.BlobTierChanged イベント

{
	"source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
	"subject": "/blobServices/default/containers/testcontainer/blobs/Auto.jpg",
	"type": "Microsoft.Storage.BlobTierChanged",
	"time": "2021-05-04T15:00:00.8350154Z",  
	"id": "0fdefc06-b01e-0034-39f6-4016610696f6",
	"data": {
		"api": "SetBlobTier",
		"clientRequestId": "68be434c-1a0d-432f-9cd7-1db90bff83d7",
		"requestId": "0fdefc06-b01e-0034-39f6-401661000000",
		"contentType": "image/jpeg",
		"contentLength": 105891,
		"blobType": "BlockBlob",
		"url": "https://my-storage-account.blob.core.windows.net/testcontainer/Auto.jpg",
		"sequencer": "000000000000000000000000000089A4000000000018d6ea",
		"storageDiagnostics": {
			"batchId": "3418f7a9-7006-0014-00f6-406dc6000000"
		}
	},
  "specversion": "1.0"
}

Microsoft.Storage.AsyncOperationInitiated イベント

{
	"source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
	"subject": "/blobServices/default/containers/testcontainer/blobs/00000.avro",
	"type": "Microsoft.Storage.AsyncOperationInitiated",
	"time": "2021-05-04T14:44:59.3204652Z",
	"id": "8ea4e3f2-101e-003d-5ff4-4053b2061016",
	"data": {
		"api": "SetBlobTier",
		"clientRequestId": "777fb4cd-f890-4c5b-b024-fb47300bae62",
		"requestId": "8ea4e3f2-101e-003d-5ff4-4053b2000000",
		"contentType": "application/octet-stream",
		"contentLength": 3660,
		"blobType": "BlockBlob",
		"url": "https://my-storage-account.blob.core.windows.net/testcontainer/00000.avro",
		"sequencer": "000000000000000000000000000089A4000000000018c6d7",
		"storageDiagnostics": {
			"batchId": "34128c8a-7006-0014-00f4-406dc6000000"
		}
	},
	"specversion": "1.0"
}

Data Lake Storage Gen 2 イベント

ストレージ アカウントの階層型名前空間を有効にした状態で、クライアントが Azure Data Lake Storage Gen2 REST API を使用すると、これらのイベントがトリガーされます。 Azure Data Lake Storage Gen2 の詳細については、「Azure Data Lake Storage Gen2 の概要」を参照してください。

イベント名 説明
Microsoft.Storage.BlobCreated BLOB が作成または置換されたときにトリガーされます。
具体的には、クライアントが Azure Data Lake Storage Gen2 REST API で使用可能な CreateFile および FlushWithClose 操作を使用した場合に、このイベントがトリガーされます。
Microsoft.Storage.BlobDeleted BLOB が削除されたときにトリガーされます。
具体的には、クライアントが Azure Data Lake Storage Gen2 REST API で使用可能な DeleteFile 操作を呼び出した場合に、このイベントもトリガーされます。
Microsoft.Storage.BlobRenamed BLOB の名前が変更されたときにトリガーされます。
具体的には、クライアントが Azure Data Lake Storage Gen2 REST API で使用可能な RenameFile 操作を使用した場合に、このイベントがトリガーされます。
Microsoft.Storage.DirectoryCreated ディレクトリが作成されたときにトリガーされます。
具体的には、クライアントが Azure Data Lake Storage Gen2 REST API で使用可能な CreateDirectory 操作を使用した場合に、このイベントがトリガーされます。
Microsoft.Storage.DirectoryRenamed ディレクトリの名前が変更されたときにトリガーされます。
具体的には、クライアントが Azure Data Lake Storage Gen2 REST API で使用可能な RenameDirectory 操作を使用した場合に、このイベントがトリガーされます。
Microsoft.Storage.DirectoryDeleted ディレクトリが削除されたときにトリガーされます。
具体的には、クライアントが Azure Data Lake Storage Gen2 REST API で使用可能な DeleteDirectory 操作を使用した場合に、このイベントがトリガーされます。

Note

Azure Data Lake Storage Gen2 の場合、ブロック BLOB が完全にコミットされた場合に限り Microsoft.Storage.BlobCreated イベントがトリガーされるようにするには、FlushWithClose REST API 呼び出しのイベントをフィルター処理します。 データがブロック BLOB に完全にコミットされた後でのみ、この API によって Microsoft.Storage.BlobCreated イベントがトリガーされます。 フィルターの作成方法の詳細については、「Event Grid のイベントのフィルター処理」をご覧ください。

イベントの例

Microsoft.Storage.BlobCreated イベント (Data Lake Storage Gen2)

BLOB ストレージ アカウントに階層型名前空間がある場合、これらの変更点を除き、データは前の例と同じようになります。

  • data.api キーは文字列 CreateFile または FlushWithClose に設定されます。
  • contentOffset キーはデータセットに含まれます。

Note

アプリケーションが PutBlockList 操作を使用してアカウントに新しい BLOB をアップロードする場合、データにこれらの変更は含まれません。

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/new-file.txt",
  "type": "Microsoft.Storage.BlobCreated",
  "time": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "CreateFile",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "eTag": "\"0x8D4BCC2E4835CD0\"",
    "contentType": "text/plain",
    "contentLength": 0,
    "contentOffset": 0,
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.dfs.core.windows.net/my-file-system/new-file.txt",
    "sequencer": "00000000000004420000000000028963",  
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Microsoft.Storage.BlobDeleted イベント (Data Lake Storage Gen2)

BLOB ストレージ アカウントに階層型名前空間がある場合、これらの変更点を除き、データは前の例と同じようになります。

  • data.api キーは文字列 DeleteFile に設定されます。
  • url キーはパス dfs.core.windows.net を含みます。

Note

アプリケーションが DeleteBlob 操作を使用してアカウントから BLOB を削除する場合、データにこれらの変更は含まれません。

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/file-to-delete.txt",
  "type": "Microsoft.Storage.BlobDeleted",
  "time": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
    "data": {
    "api": "DeleteFile",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "contentType": "text/plain",
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.dfs.core.windows.net/my-file-system/file-to-delete.txt",
    "sequencer": "00000000000004420000000000028963",  
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Microsoft.Storage.BlobRenamed イベント (Data Lake Storage Gen2)

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/my-renamed-file.txt",
  "type": "Microsoft.Storage.BlobRenamed",
  "time": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "RenameFile",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "destinationUrl": "https://my-storage-account.dfs.core.windows.net/my-file-system/my-renamed-file.txt",
    "sourceUrl": "https://my-storage-account.dfs.core.windows.net/my-file-system/my-original-file.txt",
    "sequencer": "00000000000004420000000000028963",  
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Microsoft.Storage.DirectoryCreated イベント (Data Lake Storage Gen2)

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/my-new-directory",
  "type": "Microsoft.Storage.DirectoryCreated",
  "time": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "CreateDirectory",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "url": "https://my-storage-account.dfs.core.windows.net/my-file-system/my-new-directory",
    "sequencer": "00000000000004420000000000028963",  
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Microsoft.Storage.DirectoryRenamed イベント (Data Lake Storage Gen2)

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/my-renamed-directory",
  "type": "Microsoft.Storage.DirectoryRenamed",
  "time": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "RenameDirectory",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "destinationUrl": "https://my-storage-account.dfs.core.windows.net/my-file-system/my-renamed-directory",
    "sourceUrl": "https://my-storage-account.dfs.core.windows.net/my-file-system/my-original-directory",
    "sequencer": "00000000000004420000000000028963",  
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Microsoft.Storage.DirectoryDeleted イベント (Data Lake Storage Gen2)

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/directory-to-delete",
  "type": "Microsoft.Storage.DirectoryDeleted",
  "time": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "DeleteDirectory",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "url": "https://my-storage-account.dfs.core.windows.net/my-file-system/directory-to-delete",
    "recursive": "true", 
    "sequencer": "00000000000004420000000000028963",  
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

SFTP イベント

ストレージ アカウントの階層型名前空間を有効にした状態で、クライアントによって SFTP API が使用されると、これらのイベントがトリガーされます。 Azure Blob Storage での SFTP のサポートの詳細については、「Azure Blob Storage での SSH ファイル転送プロトコル (SFTP)」を参照してください。

イベント名 説明
Microsoft.Storage.BlobCreated BLOB が作成または上書きされたときにトリガーされます。
具体的には、このイベントは、クライアントで put 操作が使用されるときにトリガーされます。これは、SftpCreateSftpCommit API に対応します。 ファイルを開くと空の BLOB が作成され、ファイルが閉じられたときにアップロードされた内容がコミットされます。
Microsoft.Storage.BlobDeleted BLOB が削除されたときにトリガーされます。
具体的には、このイベントは、クライアントで SftpRemove API に対応する rm 操作が呼び出されたときにもトリガーされます。
Microsoft.Storage.BlobRenamed BLOB の名前が変更されたときにトリガーされます。
具体的には、このイベントは、クライアントで SftpRename API に対応する rename 操作がファイルに対して使用されたときにトリガーされます。
Microsoft.Storage.DirectoryCreated ディレクトリが作成されたときにトリガーされます。
具体的には、このイベントは、クライアントで SftpMakeDir API に対応する mkdir 操作が使用されたときにトリガーされます。
Microsoft.Storage.DirectoryRenamed ディレクトリの名前が変更されたときにトリガーされます。
具体的には、このイベントは、クライアントで SftpRename API に対応する rename 操作がディレクトリに対して使用されたときにトリガーされます。
Microsoft.Storage.DirectoryDeleted ディレクトリが削除されたときにトリガーされます。
具体的には、このイベントは、クライアントで SftpRemoveDir API に対応する rmdir 操作が使用されたときにトリガーされます。

イベントの例

イベントがトリガーされると、Event Grid サービスにより、そのイベントに関するデータがサブスクライブしているエンドポイントに送信されます。 このセクションには、各 BLOB ストレージ イベントでそのデータがどのように見えるかの例が含まれています。

Microsoft.Storage.BlobCreated イベント (SFTP)

BLOB ストレージ アカウントで BLOB を作成または上書きする際に SFTP を使用する場合、これらの変更点を除き、データは前の例と同じようになります。

  • dataVersion キーは値 3 に設定されます。

  • data.api キーは文字列 SftpCreate または SftpCommit に設定されます。

  • clientRequestId キーは含まれていません。

  • contentType キーは application/octet-stream に設定されています。

  • contentOffset キーはデータセットに含まれます。

  • identity キーはデータセットに含まれます。 これは、SFTP 認証に使用されるローカル ユーザーに対応します。

Note

SFTP アップロードでは、2 つのイベントが生成されます。 ファイルを開くときに作成された最初の空の BLOB 用の SftpCreate が 1 つと、ファイルの内容が書き込まれるときに作成されるとき用の SftpCommit が 1 つです。

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/testcontainer/blobs/new-file.txt",
  "type": "Microsoft.Storage.BlobCreated",
  "time": "2022-04-25T19:13:00.1522383Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "SftpCommit",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "eTag": "\"0x8D4BCC2E4835CD0\"",
    "contentType": "application/octet-stream",
    "contentLength": 0,
    "contentOffset": 0,
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.blob.core.windows.net/testcontainer/new-file.txt",
    "sequencer": "00000000000004420000000000028963",
    "identity":"localuser",
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Microsoft.Storage.BlobDeleted イベント (SFTP)

BLOB ストレージ アカウントで BLOB を削除する際に SFTP を使用する場合、これらの変更点を除き、データは前の例と同じようになります。

  • dataVersion キーは値 2 に設定されます。

  • data.api キーは文字列 SftpRemove に設定されます。

  • clientRequestId キーは含まれていません。

  • contentType キーは application/octet-stream に設定されています。

  • identity キーはデータセットに含まれます。 これは、SFTP 認証に使用されるローカル ユーザーに対応します。

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/testcontainer/blobs/new-file.txt",
  "type": "Microsoft.Storage.BlobDeleted",
  "time": "2022-04-25T19:13:00.1522383Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "SftpRemove",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "contentType": "text/plain",
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.blob.core.windows.net/testcontainer/new-file.txt",
    "sequencer": "00000000000004420000000000028963",  
    "identity":"localuser",
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Microsoft.Storage.BlobRenamed イベント (SFTP)

BLOB ストレージ アカウントで BLOB に名前を変更する際に SFTP を使用する場合、これらの変更点を除き、データは前の例と同じようになります。

  • data.api キーは文字列 SftpRename に設定されます。

  • clientRequestId キーは含まれていません。

  • identity キーはデータセットに含まれます。 これは、SFTP 認証に使用されるローカル ユーザーに対応します。

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/testcontainer/blobs/my-renamed-file.txt",
  "type": "Microsoft.Storage.BlobRenamed",
  "time": "2022-04-25T19:13:00.1522383Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "SftpRename",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "destinationUrl": "https://my-storage-account.blob.core.windows.net/testcontainer/my-renamed-file.txt",
    "sourceUrl": "https://my-storage-account.blob.core.windows.net/testcontainer/my-original-file.txt",
    "sequencer": "00000000000004420000000000028963",  
    "identity":"localuser",
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Microsoft.Storage.DirectoryCreated イベント (SFTP)

BLOB ストレージ アカウントでディレクトリを作成する際に SFTP を使用する場合、これらの変更点を除き、データは前の例と同じようになります。

  • dataVersion キーは値 2 に設定されます。

  • data.api キーは文字列 SftpMakeDir に設定されます。

  • clientRequestId キーは含まれていません。

  • identity キーはデータセットに含まれます。 これは、SFTP 認証に使用されるローカル ユーザーに対応します。

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/testcontainer/blobs/my-new-directory",
  "type": "Microsoft.Storage.DirectoryCreated",
  "time": "2022-04-25T19:13:00.1522383Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "SftpMakeDir",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "url": "https://my-storage-account.blob.core.windows.net/testcontainer/my-new-directory",
    "sequencer": "00000000000004420000000000028963",  
    "identity":"localuser",
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Microsoft.Storage.DirectoryRenamed イベント (SFTP)

BLOB ストレージ アカウントでディレクトリの名前を変更する際に SFTP を使用する場合、これらの変更点を除き、データは前の例と同じようになります。

  • data.api キーは文字列 SftpRename に設定されます。

  • clientRequestId キーは含まれていません。

  • identity キーはデータセットに含まれます。 これは、SFTP 認証に使用されるローカル ユーザーに対応します。

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/testcontainer/blobs/my-renamed-directory",
  "type": "Microsoft.Storage.DirectoryRenamed",
  "time": "2022-04-25T19:13:00.1522383Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "SftpRename",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "destinationUrl": "https://my-storage-account.blob.core.windows.net/testcontainer/my-renamed-directory",
    "sourceUrl": "https://my-storage-account.blob.core.windows.net/testcontainer/my-original-directory",
    "sequencer": "00000000000004420000000000028963",  
    "identity":"localuser",
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

Microsoft.Storage.DirectoryDeleted イベント (SFTP)

BLOB ストレージ アカウントでディレクトリを削除する際に SFTP を使用する場合、これらの変更点を除き、データは前の例と同じようになります。

  • data.api キーは文字列 SftpRemoveDir に設定されます。

  • clientRequestId キーは含まれていません。

  • identity キーはデータセットに含まれます。 これは、SFTP 認証に使用されるローカル ユーザーに対応します。

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/testcontainer/blobs/directory-to-delete",
  "type": "Microsoft.Storage.DirectoryDeleted",
  "time": "2022-04-25T19:13:00.1522383Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "SftpRemoveDir",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "url": "https://my-storage-account.blob.core.windows.net/testcontainer/directory-to-delete",
    "recursive": "false", 
    "sequencer": "00000000000004420000000000028963",  
    "identity":"localuser",
    "storageDiagnostics": {
    "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "specversion": "1.0"
}]

これらのイベントは、ポリシーで定義されたアクションが実行されたときにトリガーされます。

イベント名 説明
Microsoft.Storage.BlobInventoryPolicyCompleted インベントリ ポリシーで定義されたルールに対してインベントリの実行が完了したときにトリガーされます。 このイベントは、インベントリの実行が開始前に失敗してユーザー エラーになった場合にも発生します。 たとえば、無効なポリシーによって、または送信先コンテナーが存在しないときに発生するエラーによって、このイベントがトリガーされます。
Microsoft.Storage.LifecyclePolicyCompleted ライフサイクル管理ポリシーで定義されたアクションが実行されたときにトリガーされます。

イベントの例

イベントがトリガーされると、Event Grid サービスにより、そのイベントに関するデータがサブスクライブしているエンドポイントに送信されます。 このセクションには、各 BLOB ストレージ イベントでそのデータがどのように見えるかの例が含まれています。

Microsoft.Storage.BlobInventoryPolicyCompleted イベント

{
  "source": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/BlobInventory/providers/Microsoft.EventGrid/topics/BlobInventoryTopic",
  "subject": "BlobDataManagement/BlobInventory",
  "type": "Microsoft.Storage.BlobInventoryPolicyCompleted",
  "time": "2021-05-28T15:03:18Z",  
  "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "data": {
    "scheduleDateTime": "2021-05-28T03:50:27Z",
    "accountName": "testaccount",
    "ruleName": "Rule_1",
    "policyRunStatus": "Succeeded",
    "policyRunStatusMessage": "Inventory run succeeded, refer manifest file for inventory details.",
    "policyRunId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "manifestBlobUrl": "https://testaccount.blob.core.windows.net/inventory-destination-container/2021/05/26/13-25-36/Rule_1/Rule_1.csv"
  },
  "specversion": "1.0"
}

Microsoft.Storage.LifecyclePolicyCompleted イベント

{
    "source": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/contosoresourcegroup/providers/Microsoft.Storage/storageAccounts/contosostorageaccount",
    "subject": "BlobDataManagement/LifeCycleManagement/SummaryReport",
    "type": "Microsoft.Storage.LifecyclePolicyCompleted",
    "time": "2022-05-26T00:00:40.1880331",    
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "data": {
        "scheduleTime": "2022/05/24 22:57:29.3260160",
        "deleteSummary": {
            "totalObjectsCount": 16,
            "successCount": 14,
            "errorList": ""
        },
        "tierToCoolSummary": {
            "totalObjectsCount": 0,
            "successCount": 0,
            "errorList": ""
        },
        "tierToArchiveSummary": {
            "totalObjectsCount": 0,
            "successCount": 0,
            "errorList": ""
        }
    },
    "specversion": "1.0"
}

イベントのプロパティ

イベントのトップレベルのデータを次に示します。

プロパティ タイプ 説明
source string イベント ソースの完全なリソース パス。 このフィールドは書き込み可能ではありません。 この値は Event Grid によって指定されます。
subject string 発行元が定義したイベントの対象のパス。
type string このイベント ソース用に登録されたイベントの種類のいずれか。
time string プロバイダーの UTC 時刻に基づくイベントの生成時刻。
id string イベントの一意識別子。
data object Blob Storage イベントのデータ。
specversion string CloudEvents スキーマ仕様バージョン。

データ オブジェクトには、次のプロパティがあります。

プロパティ タイプ 説明
api string イベントのトリガーとなった操作。
clientRequestId string ストレージ API 操作に対するクライアントで提供された要求 ID です。 この ID は、ログの "client-request-id" フィールドを使って Azure Storage 診断ログに関連付けるために使うことができ、クライアント要求で "x-ms-client-request-id" ヘッダーを使って提供できます。 「Storage Analytics のログの形式」をご覧ください。
requestId string ストレージ API 操作に対するサービスで生成された要求 ID です。 ログの "request-id-header" フィールドを使って Azure Storage 診断ログに関連付けるために使うことができ、開始 API 呼び出しから "x-ms-request-id" ヘッダーで返されます。 「Storage Analytics のログの形式」をご覧ください。
eTag string この値を使用することで、条件に応じて操作を実行することができます。
contentType string BLOB に関して指定されたコンテンツの種類。
contentLength 整数 (integer) BLOB のサイズ (単位: バイト)。
blobType string BLOB の種類。 有効な値は "BlockBlob" または "PageBlob" です。
contentOffset number イベントをトリガーしたアプリケーションがファイルへの書き込みを完了した時点で実行される書き込み操作のバイト単位のオフセット。
階層型名前空間を持つ BLOB ストレージ アカウントでトリガーされるイベントに対してのみ表示されます。
destinationUrl string 操作の完了後に存在するファイルの url。 たとえば、ファイルの名前が変更された場合、destinationUrl プロパティには新しいファイル名の url が含まれています。
階層型名前空間を持つ BLOB ストレージ アカウントでトリガーされるイベントに対してのみ表示されます。
sourceUrl string 操作が実行される前に存在するファイルの url。 たとえば、ファイルの名前が変更された場合、sourceUrl には、名前変更操作が行われる前の元のファイル名の url が含まれています。
階層型名前空間を持つ BLOB ストレージ アカウントでトリガーされるイベントに対してのみ表示されます。
url string BLOB へのパス。
クライアントが BLOB REST API を使用する場合、url の構造は <storage-account-name>.blob.core.windows.net\<container-name>\<file-name> です。
クライアントが Data Lake Storage REST API を使用する場合、url の構造は <storage-account-name>.dfs.core.windows.net/<file-system-name>/<file-name> です。
recursive string すべての子ディレクトリに対して操作を実行する場合は True、それ以外の場合は False
階層型名前空間を持つ BLOB ストレージ アカウントでトリガーされるイベントに対してのみ表示されます。
sequencer string 特定の BLOB 名に対するイベントの論理シーケンスを表す非透過的な文字列値です。 ユーザーは、標準的な文字列比較を使って、同じ BLOB 名での 2 つのイベントの相対的な順序を理解できます。
identity string イベントに関連付けられた ID を表す文字列値。 SFTP の場合、これがローカル ユーザー名です。
storageDiagnostics object Azure Storage サービスによって追加されることがある診断データです。 含まれる場合、イベントのコンシューマーは無視する必要があります。

チュートリアルと方法

タイトル 説明
クイック スタート: Azure CLI で Blob Storage のイベントをカスタム Web エンドポイントにルーティングする Azure CLI を使って Blob Storage イベントを Webhook に送信する方法を示します。
クイック スタート: PowerShell を使って Blob Storage のイベントをカスタム Web エンドポイントにルーティングする Azure PowerShell を使って Blob Storage イベントを Webhook に送信する方法を示します。
クイック スタート: Azure portal を使用した Blob Storage イベントの作成とルーティング ポータルを使って Blob Storage イベントを Webhook に送信する方法を示します。
Azure CLI: Blob Storage アカウントのイベントのサブスクライブ BLOB ストレージ アカウントのイベントにサブスクライブするサンプル スクリプトです。 Webhook にイベントを送信します。
PowerShell: Blob Storage アカウントのイベントのサブスクライブ BLOB ストレージ アカウントのイベントにサブスクライブするサンプル スクリプトです。 Webhook にイベントを送信します。
Resource Manager テンプレート:BLOB ストレージとサブスクリプションの作成 Azure Blob Storage アカウントをデプロイし、そのストレージ アカウントのイベントをサブスクライブします。 Webhook にイベントを送信します。
概要: Blob Storage イベントへの対応 Blob Storage と Event Grid の統合の概要です。

次のステップ