github.com/Jeffail/benthos/v3@v3.65.0/website/docs/components/outputs/azure_blob_storage.md (about) 1 --- 2 title: azure_blob_storage 3 type: output 4 status: beta 5 categories: ["Services","Azure"] 6 --- 7 8 <!-- 9 THIS FILE IS AUTOGENERATED! 10 11 To make changes please edit the contents of: 12 lib/output/azure_blob_storage.go 13 --> 14 15 import Tabs from '@theme/Tabs'; 16 import TabItem from '@theme/TabItem'; 17 18 :::caution BETA 19 This component is mostly stable but breaking changes could still be made outside of major version releases if a fundamental problem with the component is found. 20 ::: 21 22 Sends message parts as objects to an Azure Blob Storage Account container. Each 23 object is uploaded with the filename specified with the `container` 24 field. 25 26 Introduced in version 3.36.0. 27 28 29 <Tabs defaultValue="common" values={[ 30 { label: 'Common', value: 'common', }, 31 { label: 'Advanced', value: 'advanced', }, 32 ]}> 33 34 <TabItem value="common"> 35 36 ```yaml 37 # Common config fields, showing default values 38 output: 39 label: "" 40 azure_blob_storage: 41 storage_account: "" 42 storage_access_key: "" 43 storage_sas_token: "" 44 storage_connection_string: "" 45 container: "" 46 path: ${!count("files")}-${!timestamp_unix_nano()}.txt 47 max_in_flight: 1 48 ``` 49 50 </TabItem> 51 <TabItem value="advanced"> 52 53 ```yaml 54 # All config fields, showing default values 55 output: 56 label: "" 57 azure_blob_storage: 58 storage_account: "" 59 storage_access_key: "" 60 storage_sas_token: "" 61 storage_connection_string: "" 62 public_access_level: PRIVATE 63 container: "" 64 path: ${!count("files")}-${!timestamp_unix_nano()}.txt 65 blob_type: BLOCK 66 max_in_flight: 1 67 ``` 68 69 </TabItem> 70 </Tabs> 71 72 Only one authentication method is required, `storage_connection_string` or `storage_account` and `storage_access_key`. If both are set then the `storage_connection_string` is given priority. 73 74 In order to have a different path for each object you should use function 75 interpolations described [here](/docs/configuration/interpolation#bloblang-queries), which are 76 calculated per message of a batch. 77 78 ## Performance 79 80 This output benefits from sending multiple messages in flight in parallel for 81 improved performance. You can tune the max number of in flight messages with the 82 field `max_in_flight`. 83 84 ## Fields 85 86 ### `storage_account` 87 88 The storage account to upload messages to. This field is ignored if `storage_connection_string` is set. 89 90 91 Type: `string` 92 Default: `""` 93 94 ### `storage_access_key` 95 96 The storage account access key. This field is ignored if `storage_connection_string` is set. 97 98 99 Type: `string` 100 Default: `""` 101 102 ### `storage_sas_token` 103 104 The storage account SAS token. This field is ignored if `storage_connection_string` or `storage_access_key` / `storage_sas_token` are set. 105 106 107 Type: `string` 108 Default: `""` 109 Requires version 3.38.0 or newer 110 111 ### `storage_connection_string` 112 113 A storage account connection string. This field is required if `storage_account` and `storage_access_key` are not set. 114 115 116 Type: `string` 117 Default: `""` 118 119 ### `public_access_level` 120 121 The container's public access level. The default value is `PRIVATE`. 122 123 124 Type: `string` 125 Default: `"PRIVATE"` 126 Options: `PRIVATE`, `BLOB`, `CONTAINER`. 127 128 ### `container` 129 130 The container for uploading the messages to. 131 This field supports [interpolation functions](/docs/configuration/interpolation#bloblang-queries). 132 133 134 Type: `string` 135 Default: `""` 136 137 ```yaml 138 # Examples 139 140 container: messages-${!timestamp("2006")} 141 ``` 142 143 ### `path` 144 145 The path of each message to upload. 146 This field supports [interpolation functions](/docs/configuration/interpolation#bloblang-queries). 147 148 149 Type: `string` 150 Default: `"${!count(\"files\")}-${!timestamp_unix_nano()}.txt"` 151 152 ```yaml 153 # Examples 154 155 path: ${!count("files")}-${!timestamp_unix_nano()}.json 156 157 path: ${!meta("kafka_key")}.json 158 159 path: ${!json("doc.namespace")}/${!json("doc.id")}.json 160 ``` 161 162 ### `blob_type` 163 164 Block and Append blobs are comprised of blocks, and each blob can support up to 50,000 blocks. The default value is `+"`BLOCK`"+`.` 165 This field supports [interpolation functions](/docs/configuration/interpolation#bloblang-queries). 166 167 168 Type: `string` 169 Default: `"BLOCK"` 170 Options: `BLOCK`, `APPEND`. 171 172 ### `max_in_flight` 173 174 The maximum number of messages to have in flight at a given time. Increase this to improve throughput. 175 176 177 Type: `int` 178 Default: `1` 179 180