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