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
Note: If sending products with multiple AwsProductSender configurations, turn off parrellel sending with the
--disableParallelSend
flag
The configuration values for sendProductPath
/getUploadUrlsPath
/contentFormat
will depend on the PDL hub you are sending to.
When sending to ComCat (products associated with events that occurred more than 30 days ago) 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 (products associated with events that occurred within the last 30 days), 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: Mon Jun 23 14:53:56 UTC 2025