To initialize the Connect CCP using amazon-connect-streams api in a webpage locally there are several steps to configure. The most likely errors if you haven’t followed all the steps is a X-Frame-Options sameorigin error which you’ll see in your devtools console:
… or a Content Security Policy error if you haven’t added your origin url to Connect’s allowed origins:
Add your origin url to Connect following steps here. If you’re loading from an http server locally, you need to add the full url and port, e.g. https://localhost:8080
Allow cookies: if your default browser settings are to block third-party cookies from different origins, this will prevent the app from loading (you’ll get the same X-Frame-Options error which is confusing). Make sure you allow all the cookies from [your-connect-instance-name].awsapps.com – in the screenshot these should all be allowed:
If you attempt to browse https://localhost:8080 though, Chrome will block self-signed certs by default. To allow self-signed certs, enter in your Chrome address bar:
AWS Lambdas can be packaged and deployed using a Docker image, described in the docs here.
Serverless Framework makes building and deploying a Docker based Lambda incredibly simple. If you have a simplest Dockerfile like this (from the docs here):
FROM public.ecr.aws/lambda/nodejs:14
# Assumes your function is named "app.js", and there is a package.json file in the app directory
COPY app.js package.json ${LAMBDA_TASK_ROOT}
# Install NPM dependencies for function
RUN npm install
# Set the CMD to your handler (could also be done as a parameter override outside of the Dockerfile)
CMD [ "app.handler" ]
The handler to be packaged in this image is this simplest hello world function:
To define a Lambda using this image, with Serverless define an ECR section like this to define your image, which will get built using the above Dockerfile in the same folder: