StorePick HFSS Adapter Lambda - Infrastructure

Components

Component

Description

Ref

<<config_service>>

this is to fetch the configuration from the service json

Configuration(from config service)

<<Range_Lambda>>

this function poll SQS messages and send it to Ocean HFSS product PUT API

AWS Range Lambda

<<Product_Lambda>>

this function poll SQS messages and send it to Ocean HFSS product PUT API

AWS Product Lambda

<<SSM>>

SSM for Product V1 service.

SSM for Product V1 service

<<SSM>>

SSM for GCP Big Query.

SSM for GCP Big Query

<<SSM>>

SSM for OSP HFSS service.

SSM for OSP HFSS service

<<RANGE_SQS>>

SQS to poll range events

AWS Range SQS

<<PRODUCT_SQS>>

SQS to poll product / hfss events

AWS Product SQS

<<Range Cloudwatch Log Group>>

Cloudwatch log to show logger messages

AWS Range Adapter Cloudwatch Log

<<Product Cloudwatch Log Group>>

Cloudwatch log to show logger messages

AWS Product Adapter Cloudwatch Log

<<DynamoDB>>

Payload Dedup DynamoDB

AWS Payload Dedup DynamoDB

<<DLQ>>

HFSS Adapt DLQ

AWS HFSS Adapter SQS Dead Letter Queue

Configuration(from config service)

Config File Name

storepick-hfss-adapter-lambda-config.json

Value:

{
"RANGE_SQS": "sqs-euw1-$ENV-storepick-hfss-adapter-range-events-001",
"PRODUCT_SQS": "sqs-euw1-$ENV-storepick-hfss-adapter-product-events-001",
"MORI_BASE_URL": "https://$ENV-api.morrisons.com",
"PRODUCTELASTICSEARCH_URL": "product/v1/items",
"API_RETRY_COUNT": 5,
"API_RETRY_EXPONENTIAL_BACKOFF": 1000,
"BQ_SINK_ENABLED": true,
"BIG_QUERY_DATASET": "store_pick",
"BIG_QUERY_TABLE": "hfss_product_details",
"HFSS_PRODUCT_RESPONSE_TYPE": "error",
"OSP_BASE_URL": "https://api.morrisons.osp.tech/externalapi",
"OSP_HFSS_PRODUCT_URL": "v1/products/hfss",
"DEAD_QUEUE": "sqs-euw1-$ENV-storepick-hfss-adapter-deadletter-001"
"DYNAMODB_DEDUP_TABLE": "$ENV.xxwmm.storepick.hfss-payload-dedup",
"OCADO_PUT_PAYLOAD_DEDUP_EXPIRY_TIME": 30,
"OCADO_PUT_PAYLOAD_DEDUP_ENABLED": true
}

SSM for Product V1 service

SSM Name

storepick_hfss_product_service_secret

Value:

{
    "API_KEY": "__EXISTS__",
    "AUTHORISATION": "__EXISTS__"
}

SSM for OSP HFSS service

SSM Name

storepick_hfss_ocean_secret

Value:

{
    "OSP_HFSS_USER_NAME": "__EXISTS__",
    "OSP_HFSS_PASSWORD": "__EXISTS__",
    "OSP_HFSS_X_API_KEY": "__EXISTS__"
}

SSM for GCP Big Query

SSM Name

storepick_google_secret

Value:

{
    "type": "__EXISTS__",
    "project_id": "__EXISTS__",
    "private_key_id": "__EXISTS__",
    "private_key": "__EXISTS__",
    "client_email": "__EXISTS__",
    "client_id": "__EXISTS__",
    "auth_uri": "__EXISTS__",
    "token_uri": "__EXISTS__",
    "auth_provider_x509_cert_url": "__EXISTS__",
    "client_x509_cert_url": "__EXISTS__"
}

AWS Product Lambda

Environment

Lambda

dev

lmb-euw1-dev-storepick-hfss-adapter-product-events-trigger-001

sit

lmb-euw1-sit-storepick-hfss-adapter-product-events-trigger-001

prd

lmb-euw1-prd-storepick-hfss-adapter-product-events-trigger-001

AWS Range Lambda

Environment

Lambda

dev

lmb-euw1-dev-storepick-hfss-adapter-range-events-trigger-001

sit

lmb-euw1-sit-storepick-hfss-adapter-range-events-trigger-001

prd

lmb-euw1-prd-storepick-hfss-adapter-range-events-trigger-001

AWS Range SQS

Environment

Range SQS

dev

sqs-euw1-dev-storepick-hfss-adapter-range-events-001

sit

sqs-euw1-sit-storepick-hfss-adapter-range-events-001

prd

sqs-euw1-prd-storepick-hfss-adapter-range-events-001

AWS Product SQS

Environment

Product SQS

dev

sqs-euw1-dev-storepick-hfss-adapter-product-events-001

sit

sqs-euw1-sit-storepick-hfss-adapter-product-events-001

prd

sqs-euw1-prd-storepick-hfss-adapter-product-events-001

AWS Range Adapter Cloudwatch Log

Environment

Cloudwatch Log Group

dev

lmb-euw1-dev-storepick-hfss-adapter-range-events-trigger-001

sit

lmb-euw1-sit-storepick-hfss-adapter-range-events-trigger-001

prd

lmb-euw1-prd-storepick-hfss-adapter-range-events-trigger-001

AWS Product Adapter Cloudwatch Log

Environment

Cloudwatch Log Group

dev

lmb-euw1-dev-storepick-hfss-adapter-product-events-trigger-001

sit

lmb-euw1-sit-storepick-hfss-adapter-product-events-trigger-001

prd

lmb-euw1-prd-storepick-hfss-adapter-product-events-trigger-001

AWS Payload Dedup DynamoDB

Environment

DynamoDB

dev

dev.xxwmm.storepick.hfss-payload-dedup

sit

sit.xxwmm.storepick.hfss-payload-dedup

prd

prd.xxwmm.storepick.hfss-payload-dedup

AWS HFSS Adapter SQS Dead Letter Queue

Environment

SQS DLQ

dev

sqs-euw1-dev-storepick-hfss-adapter-deadletter-001

sit

sqs-euw1-sit-storepick-hfss-adapter-deadletter-001

prd

sqs-euw1-prd-storepick-hfss-adapter-deadletter-001