AWS Product Sender
The AWS product sender uploads product contents to a S3 bucket and then sends product metadata (properties, links, etc.) to a HTTP REST endpoint. The server validates the uploaded contents and moves them to a permanent storage location for persistence.
- connectTimeout
- The duration (in milliseconds) to wait when establishing a connect to the
url
- Default:
5000
- maxPayloadBytes
- The maximum size (in Bytes) of the product json that can be sent.
- This does not include file content, but does include metadata about the file based content.
- Default:
131072
- privateKey
- The private key to use when signing products
- readTimeout
- The duration (in milliseconds) to wait when reading responses from the
url
- Default:
30000
- secretName
- The name of the secret containing the private key.
- Ignored when providing a
privateKey
, requires asecretResolver
- secretResolver
- A reference to a named configuration sub-section defining a secret resolver to use to resolve the private key value from a managed secret.
- signProducts
- Boolean flag whether to sign (possibly re-sign) products before sending
- Requires a private key be configured either using a
privateKey
orsecretName
configuration property. - Default:
false
- url
- The
scheme
andauthority
(host and optional port) to connect to when sending products using this sender. - This value excludes a path, which should be configured via
sendProductPath
andgetUploadUrlsPath
. - Optional, Default
https://earthquake.usgs.gov
- sendProductPath
- The path to use when sending a product to a hub.
- This value is used in conjunction with the
url
parameter to construct a full URL to send a product to. - This value supports an optional
{urn}
placeholder that if provided will be replaced dynamically with the URN of the - product being sent.
- Optional, Default
/pdl/east/products/{urn}
- getUploadUrlsPath
- The url path to use when retrieving presigned upload urls for a product that contains contents that need to be uploaded.
- This value is used in conjunction with the
url
parameter to construct the full URL to retrieve the presigned urls. - This value supports an optional
{urn}
placeholder that if provided will be replaced dynamically with the URN of the - product being sent.
- Optional, Default
/pdl/east/products/{urn}/uploads
- contentFormat
- The format to product contents as (case insensitive)
- Optional, Default
MAP
- Available values:
MAP
ARRAY
Example configuration
The configuration values for sendProductPath
/getUploadUrlsPath
/contentFormat
will depend on the PDL hub you are sending to.
When sending to ComCat the following parameters are to be used
1
2
3
4
5
6
7
8
9
10
senders = comcat_sender
[comcat_sender]
type = gov.usgs.earthquake.aws.AwsProductSender
url = https://earthquake.usgs.gov
privateKey = ./product-key
signProducts = true
sendProductPath = /pdl/west/send_product
getUploadUrlsPath = /pdl/west/get_upload_urls
contentFormat = ARRAY
When sending to realtime, the defaults may be used
1
2
3
4
5
6
7
senders = aws_realtime_sender
[aws_realtime_sender]
type = gov.usgs.earthquake.aws.AwsProductSender
url = https://earthquake.usgs.gov
privateKey = ./product-key
signProducts = true
The PDL Client product builder initially signs products using the global
privateKeyFile
(CLI:--privateKey
) andsignatureVersion
(CLI:--signatureVersion
) properties. The AWS product sender may re-sign products before being sent to an AWS product receiver using the configuration sub-section properties for the sender. When products are re-signed, the original signature and signature version values are moved tooriginal-signature
andoriginal-signature-version
properties on the product.
Last modified: Tue Apr 29 15:29:43 UTC 2025