Azure Event Grid の Blob Storage 用のイベント スキーマAzure Event Grid event schema for Blob storage

この記事では、Blob Storage イベントのプロパティとスキーマについて説明します。This article provides the properties and schema for blob storage events. イベント スキーマの概要については、「Azure Event Grid イベント スキーマ」を参照してください。 For an introduction to event schemas, see Azure Event Grid event schema.

サンプル スクリプトとチュートリアルの一覧については、ストレージのイベント ソースに関する記事をご覧ください。For a list of sample scripts and tutorials, see Storage event source.

BLOB REST API のイベント一覧List of events for Blob REST APIs

これらのイベントは、クライアントが BLOB REST API を呼び出して BLOB を作成、置換、または削除するときにトリガーされます。These events are triggered when a client creates, replaces, or deletes a blob by calling Blob REST APIs.

イベント名Event name 説明Description
Microsoft.Storage.BlobCreatedMicrosoft.Storage.BlobCreated BLOB が作成または置換されたときにトリガーされます。Triggered when a blob is created or replaced.
具体的には、クライアントが BLOB REST API で使用可能な PutBlobPutBlockList、または CopyBlob 操作を使用した場合に、このイベントがトリガーされます。Specifically, this event is triggered when clients use the PutBlob, PutBlockList, or CopyBlob operations that are available in the Blob REST API.
Microsoft.Storage.BlobDeletedMicrosoft.Storage.BlobDeleted BLOB が削除されたときにトリガーされます。Triggered when a blob is deleted.
具体的には、クライアントが BLOB REST API で使用可能な DeleteBlob 操作を呼び出した場合に、このイベントがトリガーされます。Specifically, this event is triggered when clients call the DeleteBlob operation that is available in the Blob REST API.

注意

ブロック BLOB が完全にコミットされた場合に限り Microsoft.Storage.BlobCreated イベントがトリガーされることを確認する場合、CopyBlobPutBlob、および PutBlockList REST API 呼び出しのイベントをフィルター処理します。If you want to ensure that the Microsoft.Storage.BlobCreated event is triggered only when a Block Blob is completely committed, filter the event for the CopyBlob, PutBlob, and PutBlockList REST API calls. データがブロック BLOB に完全にコミットされた後でのみ、これらの API によって Microsoft.Storage.BlobCreated イベントがトリガーされます。These API calls trigger the Microsoft.Storage.BlobCreated event only after data is fully committed to a Block Blob. フィルターの作成方法の詳細については、「Event Grid のイベントのフィルター処理」をご覧ください。To learn how to create a filter, see Filter events for Event Grid.

Azure Data Lake Storage Gen 2 REST API のイベント一覧List of the events for Azure Data Lake Storage Gen 2 REST APIs

ストレージ アカウントの階層型名前空間を有効にした状態でクライアントが Azure Data Lake Storage Gen2 REST API を呼び出すと、これらのイベントがトリガーされます。These events are triggered if you enable a hierarchical namespace on the storage account, and clients call Azure Data Lake Storage Gen2 REST APIs.

注意

これらのイベントはパブリック プレビュー段階で、米国西部 2および米国中西部リージョンでのみ使用できます。These events are in public preview and they are available only the West US 2 and West Central US regions.

イベント名Event name 説明Description
Microsoft.Storage.BlobCreatedMicrosoft.Storage.BlobCreated BLOB が作成または置換されたときにトリガーされます。Triggered when a blob is created or replaced.
具体的には、クライアントが Azure Data Lake Storage Gen2 REST API で使用可能な CreateFile および FlushWithClose 操作を使用した場合に、このイベントがトリガーされます。Specifically, this event is triggered when clients use the CreateFile and FlushWithClose operations that are available in the Azure Data Lake Storage Gen2 REST API.
Microsoft.Storage.BlobDeletedMicrosoft.Storage.BlobDeleted BLOB が削除されたときにトリガーされます。Triggered when a blob is deleted.
具体的には、クライアントが Azure Data Lake Storage Gen2 REST API で使用可能な DeleteFile 操作を呼び出した場合に、このイベントもトリガーされます。Specifically, This event is also triggered when clients call the DeleteFile operation that is available in the Azure Data Lake Storage Gen2 REST API.
Microsoft.Storage.BlobRenamedMicrosoft.Storage.BlobRenamed BLOB の名前が変更されたときにトリガーされます。Triggered when a blob is renamed.
具体的には、クライアントが Azure Data Lake Storage Gen2 REST API で使用可能な RenameFile 操作を使用した場合に、このイベントがトリガーされます。Specifically, this event is triggered when clients use the RenameFile operation that is available in the Azure Data Lake Storage Gen2 REST API.
Microsoft.Storage.DirectoryCreatedMicrosoft.Storage.DirectoryCreated ディレクトリが作成されたときにトリガーされます。Triggered when a directory is created.
具体的には、クライアントが Azure Data Lake Storage Gen2 REST API で使用可能な CreateDirectory 操作を使用した場合に、このイベントがトリガーされます。Specifically, this event is triggered when clients use the CreateDirectory operation that is available in the Azure Data Lake Storage Gen2 REST API.
Microsoft.Storage.DirectoryRenamedMicrosoft.Storage.DirectoryRenamed ディレクトリの名前が変更されたときにトリガーされます。Triggered when a directory is renamed.
具体的には、クライアントが Azure Data Lake Storage Gen2 REST API で使用可能な RenameDirectory 操作を使用した場合に、このイベントがトリガーされます。Specifically, this event is triggered when clients use the RenameDirectory operation that is available in the Azure Data Lake Storage Gen2 REST API.
Microsoft.Storage.DirectoryDeletedMicrosoft.Storage.DirectoryDeleted ディレクトリが削除されたときにトリガーされます。Triggered when a directory is deleted.
具体的には、クライアントが Azure Data Lake Storage Gen2 REST API で使用可能な DeleteDirectory 操作を使用した場合に、このイベントがトリガーされます。Specifically, this event is triggered when clients use the DeleteDirectory operation that is available in the Azure Data Lake Storage Gen2 REST API.

注意

ブロック BLOB が完全にコミットされた場合に限り Microsoft.Storage.BlobCreated イベントがトリガーされることを確認する場合、FlushWithClose REST API 呼び出しのイベントをフィルター処理します。If you want to ensure that the Microsoft.Storage.BlobCreated event is triggered only when a Block Blob is completely committed, filter the event for the FlushWithClose REST API call. データがブロック BLOB に完全にコミットされた後でのみ、この API によって Microsoft.Storage.BlobCreated イベントがトリガーされます。This API call triggers the Microsoft.Storage.BlobCreated event only after data is fully committed to a Block Blob. フィルターの作成方法の詳細については、「Event Grid のイベントのフィルター処理」をご覧ください。To learn how to create a filter, see Filter events for Event Grid.

イベント応答の内容The contents of an event response

イベントがトリガーされると、Event Grid サービスにより、そのイベントに関するデータがサブスクライブしているエンドポイントに送信されます。When an event is triggered, the Event Grid service sends data about that event to subscribing endpoint.

このセクションには、各 BLOB ストレージ イベントでそのデータがどのように見えるかの例が含まれています。This section contains an example of what that data would look like for each blob storage event.

Microsoft.Storage.BlobCreated イベントMicrosoft.Storage.BlobCreated event

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/test-container/blobs/new-file.txt",
  "eventType": "Microsoft.Storage.BlobCreated",
  "eventTime": "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"
    }
  },
  "dataVersion": "",
  "metadataVersion": "1"
}]

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

BLOB ストレージ アカウントに階層型名前空間がある場合、以下の変更点を除き、データは前の例と同じようになります。If the blob storage account has a hierarchical namespace, the data looks similar to the previous example with the exception of the these changes:

  • dataVersion キーは値 2 に設定されます。The dataVersion key is set to a value of 2.

  • data.api キーは文字列 CreateFile または FlushWithClose に設定されます。The data.api key is set to the string CreateFile or FlushWithClose.

  • contentOffset キーはデータセットに含まれます。The contentOffset key is included in the data set.

注意

アプリケーションが PutBlockList 操作を使用してアカウントに新しい BLOB をアップロードする場合、データにこれらの変更は含まれません。If applications use the PutBlockList operation to upload a new blob to the account, the data won't contain these changes.

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/new-file.txt",
  "eventType": "Microsoft.Storage.BlobCreated",
  "eventTime": "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"
    }
  },
  "dataVersion": "2",
  "metadataVersion": "1"
}]

Microsoft.Storage.BlobDeleted イベントMicrosoft.Storage.BlobDeleted event

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/testcontainer/blobs/file-to-delete.txt",
  "eventType": "Microsoft.Storage.BlobDeleted",
  "eventTime": "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"
    }
  },
  "dataVersion": "",
  "metadataVersion": "1"
}]

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

BLOB ストレージ アカウントに階層型名前空間がある場合、以下の変更点を除き、データは前の例と同じようになります。If the blob storage account has a hierarchical namespace, the data looks similar to the previous example with the exception of the these changes:

  • dataVersion キーは値 2 に設定されます。The dataVersion key is set to a value of 2.

  • data.api キーは文字列 DeleteFile に設定されます。The data.api key is set to the string DeleteFile.

  • url キーはパス dfs.core.windows.net を含みます。The url key contains the path dfs.core.windows.net.

注意

アプリケーションが DeleteBlob 操作を使用してアカウントから BLOB を削除する場合、データにこれらの変更は含まれません。If applications use the DeleteBlob operation to delete a blob from the account, the data won't contain these changes.

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/file-to-delete.txt",
  "eventType": "Microsoft.Storage.BlobDeleted",
  "eventTime": "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"
    }
  },
  "dataVersion": "2",
  "metadataVersion": "1"
}]

Microsoft.Storage.BlobRenamed イベントMicrosoft.Storage.BlobRenamed event

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/my-renamed-file.txt",
  "eventType": "Microsoft.Storage.BlobRenamed",
  "eventTime": "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"
    }
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Microsoft.Storage.DirectoryCreated イベントMicrosoft.Storage.DirectoryCreated event

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/my-new-directory",
  "eventType": "Microsoft.Storage.DirectoryCreated",
  "eventTime": "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"
    }
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Microsoft.Storage.DirectoryRenamed イベントMicrosoft.Storage.DirectoryRenamed event

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/my-renamed-directory",
  "eventType": "Microsoft.Storage.DirectoryRenamed",
  "eventTime": "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"
    }
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Microsoft.Storage.DirectoryDeleted イベントMicrosoft.Storage.DirectoryDeleted event

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/directory-to-delete",
  "eventType": "Microsoft.Storage.DirectoryDeleted",
  "eventTime": "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"
    }
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

イベントのプロパティEvent properties

イベントのトップレベルのデータを次に示します。An event has the following top-level data:

プロパティProperty TypeType 説明Description
topictopic stringstring イベント ソースの完全なリソース パス。Full resource path to the event source. このフィールドは書き込み可能ではありません。This field is not writeable. この値は Event Grid によって指定されます。Event Grid provides this value.
subjectsubject stringstring 発行元が定義したイベントの対象のパス。Publisher-defined path to the event subject.
eventTypeeventType stringstring このイベント ソース用に登録されたイベントの種類のいずれか。One of the registered event types for this event source.
eventTimeeventTime stringstring プロバイダーの UTC 時刻に基づくイベントの生成時刻。The time the event is generated based on the provider's UTC time.
idid stringstring イベントの一意識別子。Unique identifier for the event.
datadata objectobject Blob Storage イベントのデータ。Blob storage event data.
dataVersiondataVersion stringstring データ オブジェクトのスキーマ バージョン。The schema version of the data object. スキーマ バージョンは発行元によって定義されます。The publisher defines the schema version.
metadataVersionmetadataVersion stringstring イベント メタデータのスキーマ バージョン。The schema version of the event metadata. 最上位プロパティのスキーマは Event Grid によって定義されます。Event Grid defines the schema of the top-level properties. この値は Event Grid によって指定されます。Event Grid provides this value.

データ オブジェクトには、次のプロパティがあります。The data object has the following properties:

プロパティProperty TypeType 説明Description
apiapi stringstring イベントのトリガーとなった操作。The operation that triggered the event.
clientRequestIdclientRequestId stringstring ストレージ API 操作に対するクライアントで提供された要求 ID です。a client-provided request id for the storage API operation. この ID は、ログの "client-request-id" フィールドを使って Azure Storage 診断ログに関連付けるために使うことができ、クライアント要求で "x-ms-client-request-id" ヘッダーを使って提供できます。This id can be used to correlate to Azure Storage diagnostic logs using the "client-request-id" field in the logs, and can be provided in client requests using the "x-ms-client-request-id" header. Storage Analytics のログの形式」をご覧ください。See Log Format.
requestIdrequestId stringstring ストレージ API 操作に対するサービスで生成された要求 ID です。Service-generated request id for the storage API operation. ログの "request-id-header" フィールドを使って Azure Storage 診断ログに関連付けるために使うことができ、開始 API 呼び出しから "x-ms-request-id" ヘッダーで返されます。Can be used to correlate to Azure Storage diagnostic logs using the "request-id-header" field in the logs and is returned from initiating API call in the 'x-ms-request-id' header. Storage Analytics のログの形式」をご覧ください。See Log Format.
eTageTag stringstring この値を使用することで、条件に応じて操作を実行することができます。The value that you can use to perform operations conditionally.
contentTypecontentType stringstring BLOB に関して指定されたコンテンツの種類。The content type specified for the blob.
contentLengthcontentLength integerinteger BLOB のサイズ (単位: バイト)。The size of the blob in bytes.
blobTypeblobType stringstring BLOB の種類。The type of blob. 有効な値は "BlockBlob" または "PageBlob" です。Valid values are either "BlockBlob" or "PageBlob".
contentOffsetcontentOffset numbernumber イベントをトリガーしたアプリケーションがファイルへの書き込みを完了した時点で実行される書き込み操作のバイト単位のオフセット。The offset in bytes of a write operation taken at the point where the event-triggering application completed writing to the file.
階層型名前空間を持つ BLOB ストレージ アカウントでトリガーされるイベントに対してのみ表示されます。Appears only for events triggered on blob storage accounts that have a hierarchical namespace.
destinationUrldestinationUrl stringstring 操作の完了後に存在するファイルの url。The url of the file that will exist after the operation completes. たとえば、ファイルの名前が変更された場合、destinationUrl プロパティには新しいファイル名の url が含まれています。For example, if a file is renamed, the destinationUrl property contains the url of the new file name.
階層型名前空間を持つ BLOB ストレージ アカウントでトリガーされるイベントに対してのみ表示されます。Appears only for events triggered on blob storage accounts that have a hierarchical namespace.
sourceUrlsourceUrl stringstring 操作の前に存在するファイルの url。The url of the file that exists prior to the operation. たとえば、ファイルの名前が変更された場合、sourceUrl には名前変更操作が行われる前の元のファイル名の url が含まれています。For example, if a file is renamed, the sourceUrl contains the url of the original file name prior to the rename operation.
階層型名前空間を持つ BLOB ストレージ アカウントでトリガーされるイベントに対してのみ表示されます。Appears only for events triggered on blob storage accounts that have a hierarchical namespace.
urlurl stringstring BLOB へのパス。The path to the blob.
クライアントが BLOB REST API を使用する場合、url は <storage-account-name>.blob.core.windows.net/<container-name>/<file-name> という構造になります。If the client uses a Blob REST API, then the url has this structure: <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> という構造になります。If the client uses a Data Lake Storage REST API, then the url has this structure: <storage-account-name>.dfs.core.windows.net/<file-system-name>/<file-name>.
recursiverecursive stringstring すべての子ディレクトリに対して操作を実行する場合は True、それ以外の場合は FalseTrue to perform the operation on all child directories; otherwise False.
階層型名前空間を持つ BLOB ストレージ アカウントでトリガーされるイベントに対してのみ表示されます。Appears only for events triggered on blob storage accounts that have a hierarchical namespace.
sequencersequencer stringstring 特定の BLOB 名に対するイベントの論理シーケンスを表す非透過的な文字列値です。An opaque string value representing the logical sequence of events for any particular blob name. ユーザーは、標準的な文字列比較を使って、同じ BLOB 名での 2 つのイベントの相対的な順序を理解できます。Users can use standard string comparison to understand the relative sequence of two events on the same blob name.
storageDiagnosticsstorageDiagnostics objectobject Azure Storage サービスによって追加されることがある診断データです。Diagnostic data occasionally included by the Azure Storage service. 含まれる場合、イベントのコンシューマーは無視する必要があります。When present, should be ignored by event consumers.
プロパティProperty TypeType 説明Description

次の手順Next steps