AWS Product Sender

« Back to sending

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 a secretResolver
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 or secretName configuration property.
Default: false
url
The scheme and authority (host and optional port) to connect to when sending products using this sender.
This value excludes a path, which should be configured via sendProductPath and getUploadUrlsPath.
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) and signatureVersion (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 to original-signature and original-signature-version properties on the product.



Last modified: Tue Apr 29 15:29:43 UTC 2025