Question: QLDB - query - Getting all documents which were inserted after some document of given UUID

"Hi. I try to build simple transaction system with transactionRequest registry. I store all transactionRequests in separate table. Some other module processes this transactions in batch. Batch process registers all id's of transactionRequest that has been processed. In each subsequent runs, I need to query for all new transactionRequests, registered (inserted) after last processed one (I know id of that request). Currently I query ledger for metadata of transactionRequest with given ID and use metadata.txTime timestamp to query all transactionRequests registered after.That's my approach to get all newest documents starting from some timestamp or documentId but, to be honest, I don't like it.  I've red in documentation that it's not good approach to query with *inequality *conditions like:SELECT data.* FROM _ql_committed_transaction_requests WHERE metadata.txTime > 'some_timestamp'Is there some better solution for that? How can I query for all documents that appeared after some document?FollowComment"

Answer: "1Yes, queries with with inequality conditions are not recommended because they don't scale well  when the amount of data in table grows. There are currently two workarounds to overcome this problem:Depending on your application architecture, you may consider using Streaming feature of Amazon QLDB to process transactionRegistry records once they created or updated in the table. Steaming sends journal updates to Amazon Kinesis, which can trigger AWS Lambda function to filter out the document and call API of another component or just store it somewhere else for further processing.Instead of an id, you may capture the timestamp of the last processed transactionRequest record. Then the batch process can trigger Export Journal feature to export Amazon QLDB journal to Amazon S3 starting from that timestamp and then process exported files.CommentShareNikolay_Vanswered a year agoAWS-User-4775838 a year agoThank you. Do you have any information if such features will be added in future (near future)?Share"


Question: RDS snapshot cleanup request - stuck in creating at 0% for 8+ months

Hi there --AWS bug appears to have resulted in an inoperable RDS snapshot stuck at 0% for many months. Can you kindly work some voodoo magic to destroy database-1-final-snapshot in us-east-1 as neither API or management console allows us to achieve this goal on our end.Appreciate the time.FollowComment

Answer: "0Hello,Thanks for reaching out in AWS Repost.This particular issue need to be investigated from the backend. So I would request you to open a AWS Support case for further troubleshooting.ThanksCommentShareSharathK-AWSanswered 6 months ago"


Question: Current month's total forecast != Forecasted month-end costs

"Every month we pay $400 - $500 for various AWS services. Today, however, my "Current month's total forecast" said USD 3,039.95. This was quite scary to see, however when I go to the cost explorer it tells me that my "Forecasted month-end costs" are $471.68, which is normal. As of yesterday, I have created one Lambda function and one DynamoDB table and when I look into my charges this far in the month, they are completely normal and expected. I have looked at my usage this month and see nothing out of the ordinary. What is causing my forecast to be so high? Did any AWS services change their pricing or billing structure as of this month?FollowComment"

Answer: "2Accepted AnswerIf you see a high forecast early in the month, It may be because some services bill a larger amount at one time, around the first of the month.Most services bill at a steady state and increase at the same rate over the entire month.CommentSharetedtrentanswered 3 months agorePost-User-5254897 3 months agoOk good, that's what I was thinking as we have two workspaces, but I had never noticed such a number on the first day of the month.Share"


Question: UPDATE_ROLLBACK_COMPLETE error after changing AMI in parameter store

"Hi,As I updated AMI ID in parameter store to the latest untested version to try to test it on our Integration and UAT environments on some infrastructure codepipeline, then it turned out that we needed to change the AMI back to the previous tested version to do another codepipeline deployment on integration, UAT and production, so the deployment was successful.I then had to change the AMI ID back to the latest version in the parameter store so that we can test  another infrastructure codepipeline for Integration and UAT, I then got an error in one of the  ECS cloudformation stack during the deployment on integration as  "UPDATE_ROLLBACK_COMPLETE"Can anyone help where I should check to find the root cause please?Many thanks in advanceDelFollowComment"

Answer: "0Hello,If your stack is in UPDATE_ROLLBACK_COMPLETE , that just means that your last stack failed to deploy but should still be updatable.For a specified stack that's in the UPDATE_ROLLBACK_FAILED state, continues rolling it back to the UPDATE_ROLLBACK_COMPLETE state. Depending on the cause of the failure, you can manually fix the error and continue the rollback. By continuing the rollback, you can return your stack to a working state (the UPDATE_ROLLBACK_COMPLETE state), and then try to update the stack again.Check this link below to find out on what are the steps involved to fix the same.Link- https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-update-rollback-failedCommentShareSUPPORT ENGINEERAWS-User-Chiraganswered 10 months ago"


Question: InvalidAMIID.NotFound  when Executing automation

"I am following this blog to create an AWS Cloud9 instance integrated with ROS Melodic and Gazebo9. When I execute the automation of the Systems Manager document however, the first step "startInstances" fails and this error pops up:Automation Step Execution fails when it is launching the instance(s). Get Exception from RunInstances API of ec2 Service. Exception Message from RunInstances API: [The image id '[ami-0e472ba40eb589f49]' does not exist (Service: AmazonEC2; Status Code: 400; Error Code: InvalidAMIID.NotFound; Request ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx; Proxy: null)]. Please refer to Automation Service Troubleshooting Guide for more diagnosis details.I have seen that the ami-0e472ba40eb589f49 is the one referred in the SSM for ROS Melodic file, but the error message says I don't have this image.How can I solve this problem?FollowComment"

Answer: "1Accepted AnswerThanks for the detailed description.May I know if you are running in the same us-east-1 region as in the blog? The image ami-0e472ba40eb589f49 is only available in that region. To find alternative AMIs in other regions, perhaps you could search for ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-20211129 and replace the AMI ID in the document content.CommentShareweidianswered 8 months agoMatteo Sartoni 8 months agoThank you for your answer. I am using eu-central-1 and I have changed to ami-0f3f0cd0c5fc276ae. The problem does not appear anymoreShare"


Question: AutoScaling based on Memory Utilization

I Created A EC2 LINUX Instance to launch Wordpress Website after launching the instance i got one more task to create a autoscaling group based on memory utilization. can i get a proper way to autoscale that instance based on memory utilization.FollowComment

Answer: 1Accepted AnswerThere's quite a detailed blog post about doing just this https://aws.amazon.com/blogs/mt/create-amazon-ec2-auto-scaling-policy-memory-utilization-metric-linux/ which will hopefully help you to achieve what you want to do.CommentShareRWCanswered 5 days ago


Question: Transfer data directly between snowball edge devices

Is it possible to transfer data directly from one snowball edge device to another without the need for intermediate storage?FollowComment

Answer: "0Hi,I understand that, you want to transfer data from one snowball edge device to another without the need for intermediate storage, unfortunately that has not been made available by AWS. I have attached a document on everything you would want to know about snowball Edge device [1].I would also advised you to keep an eye on what’s new for future releases on Snowball Edge Devices on the attached document [2].I hope this helpsResources:-[1] https://d1.awsstatic.com/whitepapers/snowball-edge-data-migration-guide.pdf[2] https://aws.amazon.com/new/CommentShareAsisiphoanswered a year ago"


Question: Can't find existing lightsail instance

I have a wordpres site I set up a while ago in Lightsailbut when I log into the lightsail console it says I have no instances. How do I find the lightsail instance? - I have the public IP address of the instance and the Wordpress site is still running so it's not been deleted.FollowComment

Answer: "1Hello,If you do not see the Lightsail instance in the console, you may be logged into the wrong account or the user you're logged into does not have the correct IAM permissions to see the Lightsail instances.Ensure you have the correct permissions and that you're logged into the right account.  Lightsail should show you all instances across all regions from the single console.CommentShareEXPERTChris_Ganswered a year ago0Thank you for the reply - I've tried all of the AWS accounts I have (in case I was logged into another account and didn't realise) but I can't see the lightsail instance in any of them - I am the root user in all the accounts and have made sure I have lightsail perms - is there a way I can find out what account the lightsail instance is associated with?CommentSharerePost-User-0454086answered 10 months ago"


Question: Amazon Managed Grafana - Google Workspace SAML SSO - "corresponding relay state is not found: https..."

"We are using Amazon Managed Grafana with Google Workspace SAML SSO.When using the Sign in with SAML login button directly from the Grafana /login route on the AWS provided domain, access is successfully permitted.However, when trying to use IdP-initiated sign-on from Google Workspace Google apps, we receive the following error message:corresponding relay state is not found: https://<name>.grafana-workspace.<region>.amazonaws.com/login/samlWithin the SAML/SSO configuration in Google Workspace, we have provided the Start URL value as https://<name>.grafana-workspace.<region>.amazonaws.com/login/saml. Additionally, we not selected the Signed response option.Any thoughts?FollowComment"


Question: Instance still running

"Hi I tried to stop this instance i-0377b96f66e152708, using linux shutdown and ec2 stop but it's still running.Could you please stop it?ThanksFollowComment"

Answer: 0I'm having the same probelm.CommentSharebabanswered 2 years ago0ThanksCommentShareHubertLanswered 2 years ago


Question: General question about creating segments

"I have read the documentation for creating segments, but I still don't completely understand.  I understand there are two segment types: Dynamic and Static.  The static is built using an import from a csv located on S3.  My understanding is that list is immutable and cannot be added to.  I believe that I need to have a dynamic segment since I will be adding/ removing users all the time and maybe updated the track attributes to be used in filter.I also see that you can add endpoints (users) from the commandline/SDK, but I don't see a parameter to assign them to a segment.My question is this, how to generate a base segment to be used for a dynamic segment without importing which I understand to be static and then how to add endpoints to the segment?  I am just unclear how to setup and it seems the document is clear to me when it comes to creating a dynamic segment.Any help is appreciated, thanksFollowComment"

Answer: "0Hi hivie,When you create your segment, you have to choose a segment to base it on. You can also base the new segment on several segments, or all of your segments. Think of the segment or segments that you choose here as the entire universe of potential customers for the dynamic segment that you want to create.Next, you can add filters to refine the segment. For example, if you want your new segment to only include users in the United States who have used your app within the last 30 days, you could add an endpoint-based filter. For the filter attributes, choose Country, and then choose United States. The filter options are limited to the values that are present in the base segment. (Note: this paragraph assumes that you're using the web-based Amazon Pinpoint console to create new segments.)As you continue to add endpoints to Amazon Pinpoint, make sure they include the attributes that your segment uses as filters. When Amazon Pinpoint detects new endpoints that meet the filter criteria for your segment, it automatically adds those endpoints to the segment.Hope this helps. Thanks for using Amazon Pinpoint!Brent @ AWSCommentShareAWS-User-4207280answered 4 years ago0Thank you Brent,This helped alot, "it automatically adds those endpoints to the segment".Just to validate, I can start with a static and use that to build my dynamic?Thanks again,HeathCommentSharehivieanswered 4 years ago0Hi Heath,Yes, that's correct!Thanks,BrentCommentShareAWS-User-4207280answered 4 years ago"


Question: Brokers per account per region limit

"Hi,The quotas page specifies a limit of 20 brokers per account per region:https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/amazon-mq-limits.htmlDoes an active/standby broker count as 1 or 2 brokers regarding this limit?FollowComment"

Answer: 0Hi! An active/standby broker would count as a single broker against this quota.  If you do need to increase the quota you can submit a ticket to support.CommentSharerickramsAWSanswered 3 years ago


Question: Application ELB route traffic to new added instance before grace period

"I have setup Auto scaling group and setup grace period to 300 (5mins). My new instance takes max 2.5 mins to boot up and ready to handle HTTP requests. But I am noticing that each time my new instance is added ELB starts forwarding traffic to new instance even way before grace period i.e 5mins. Due to which I am facing 502 Bad Gateway error.Can anyone guide me why my application load balancer is behaving like it?I am using ELB type health checks and below are settings of my target group health checkProtocol : HTTPPort : 80Healthy threshold : 2Unhealthy threshold : 10Timeout : 10Interval : 150Success codes : 200Edited by: jonte72 on Jan 24, 2019 12:09 AMFollowComment"

Answer: "0Finally I resolved my issue. I am writing my solution here to help anyone else here facing same issue.In my case, my initial feeling was that Application Load Balancer is routing traffic to newly added instance before it is ready to serve. But detailed investigation showed that was not the issue. In my case new instance was able to serve traffic at start and after few mins it was generating this ELB level 502 error for around 30 seconds and after that it starts working normally.Solution:The Application has a default connection KeepAlive of 60 seconds. Apache2 has a default connection KeepAlive of 5 seconds. If the 5 seconds are over, the Apache2 closes its connection and resets the connection with the ELB. However, if a request comes in at precisely the right time, the ELB will accept it, decide which host to forward it to, and in that moment, the Apache closes the connection. This will result in said 502 error code.I set the ELB timeout to 60 seconds and the Apache2 timeout to 120 seconds. This solved my problem.CommentShareirfandanishanswered 4 years ago"


Question: AWS Device Farm fails to install the required packages when executed from a Test stage in CodePipeline

"Hi,I successfully create and execute a test run on the Device Farm that was defined using the Device Farm console, but when I try to run the same test configuration as a Test stage in CodePipeline it fails installing the required packages.Please find below the requirements.txt, the Test spec output of a successful test run (configured via the device farm console) and the parsing result file of the failed execution. I used exactly the same test_bundle.zip in both cases.Thanks:)requirements.txt -Appium-Python-Client==2.7.1py==1.10.0pytest==7.2.0selenium==4.7.2parsing result file (of the failed execution from CodePipeline) -Tried to install test dependency wheels by using the dependencies packages in the 'wheelhouse' directory, but failed. There are missing wheel dependencies in the 'wheelhouse' directory. Please make sure 'wheelhouse' directory has all the dependencies specified in 'requirements.txt' file. See the information below for more details.'/tmp/scratchWdZxe1.scratch/tmpd1xH4C/bin/pip install --no-index --find-links /tmp/scratchWdZxe1.scratch/test-packagezcLTko/wheelhouse --requirement /tmp/scratchWdZxe1.scratch/test-packagezcLTko/requirements.txt' failed.DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.Looking in links: /tmp/scratchWdZxe1.scratch/test-packagezcLTko/wheelhouseWARNING: Url '/tmp/scratchWdZxe1.scratch/test-packagezcLTko/wheelhouse' is ignored. It is either a non-existing path or lacks a specific scheme.ERROR: Could not find a version that satisfies the requirement Appium-Python-Client==2.7.1 (from -r /tmp/scratchWdZxe1.scratch/test-packagezcLTko/requirements.txt (line 1)) (from versions: none)ERROR: No matching distribution found for Appium-Python-Client==2.7.1 (from -r /tmp/scratchWdZxe1.scratch/test-packagezcLTko/requirements.txt (line 1))Tried to install test dependency wheels by downloading the dependencies packages from the internet, but failed. See the information below for more details.'/tmp/scratchWdZxe1.scratch/tmpd1xH4C/bin/pip install --requirement /tmp/scratchWdZxe1.scratch/test-packagezcLTko/requirements.txt' failed.DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.Collecting Appium-Python-Client==2.7.1Downloading Appium-Python-Client-2.7.1.tar.gz (3.4 MB)ERROR: Command errored out with exit status 1: command: /tmp/scratchWdZxe1.scratch/tmpd1xH4C/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-AOVHEH/appium-python-client/setup.py'"'"'; __file__='"'"'/tmp/pip-install-AOVHEH/appium-python-client/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-noiB8m     cwd: /tmp/pip-install-AOVHEH/appium-python-client/Complete output (8 lines):Traceback (most recent call last):  File "<string>", line 1, in <module>  File "/tmp/pip-install-AOVHEH/appium-python-client/setup.py", line 19, in <module>    from appium.common.helper import library_version  File "appium/common/helper.py", line 20    def extract_const_attributes(cls: type) -> Dict[str, Any]:                                    ^SyntaxError: invalid syntax----------------------------------------  ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.Test spec output (of a successful execution form the Device Farm console)  -NOTE: when creating the test run I chose to use AWS custom Test environment (with the default TestSpec for Android Appium Python v4.0)[DEVICEFARM] ########### Entering phase install ###########[DeviceFarm] export PYTHON_VERSION=3[DeviceFarm] cd $DEVICEFARM_TEST_PACKAGE_PATH[DeviceFarm] . bin/activate[DeviceFarm] pip install -r requirements.txtCollecting Appium-Python-Client==2.7.1 (from -r requirements.txt (line 1))Downloading https://files.pythonhosted.org/packages/a2/25/5c7ea73493fb60accc17dd680e9b91ccc35db3725c09dbdde0251955696b/Appium-Python-Client-2.7.1.tar.gz (3.4MB)Collecting py==1.10.0 (from -r requirements.txt (line 2))Downloading https://files.pythonhosted.org/packages/67/32/6fe01cfc3d1a27c92fdbcdfc3f67856da8cbadf0dd9f2e18055202b2dc62/py-1.10.0-py2.py3-none-any.whl (97kB)Collecting pytest==7.2.0 (from -r requirements.txt (line 3))Downloading https://files.pythonhosted.org/packages/67/68/a5eb36c3a8540594b6035e6cdae40c1ef1b6a2bfacbecc3d1a544583c078/pytest-7.2.0-py3-none-any.whl (316kB)Collecting selenium==4.7.2 (from -r requirements.txt (line 4))Downloading https://files.pythonhosted.org/packages/00/7b/d511219e116fd4d18b0dd6e32fb5ec7a0a169165f8132111a7422d5952f5/selenium-4.7.2-py3-none-any.whl (6.3MB)Collecting attrs>=19.2.0 (from pytest==7.2.0->-r requirements.txt (line 3))Downloading https://files.pythonhosted.org/packages/fb/6e/6f83bf616d2becdf333a1640f1d463fef3150e2e926b7010cb0f81c95e88/attrs-22.2.0-py3-none-any.whl (60kB)Collecting tomli>=1.0.0; python_version < "3.11" (from pytest==7.2.0->-r requirements.txt (line 3))Downloading https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whlCollecting exceptiongroup>=1.0.0rc8; python_version < "3.11" (from pytest==7.2.0->-r requirements.txt (line 3))Downloading https://files.pythonhosted.org/packages/e8/14/9c6a7e5f12294ccd6975a45e02899ed25468cd7c2c86f3d9725f387f9f5f/exceptiongroup-1.1.0-py3-none-any.whlCollecting pluggy<2.0,>=0.12 (from pytest==7.2.0->-r requirements.txt (line 3))Downloading https://files.pythonhosted.org/packages/9e/01/f38e2ff29715251cf25532b9082a1589ab7e4f571ced434f98d0139336dc/pluggy-1.0.0-py2.py3-none-any.whlCollecting packaging (from pytest==7.2.0->-r requirements.txt (line 3))Downloading https://files.pythonhosted.org/packages/8f/7b/42582927d281d7cb035609cd3a543ffac89b74f3f4ee8e1c50914bcb57eb/packaging-22.0-py3-none-any.whl (42kB)Collecting importlib-metadata>=0.12; python_version < "3.8" (from pytest==7.2.0->-r requirements.txt (line 3))Downloading https://files.pythonhosted.org/packages/26/a7/9da7d5b23fc98ab3d424ac2c65613d63c1f401efb84ad50f2fa27b2caab4/importlib_metadata-6.0.0-py3-none-any.whlCollecting iniconfig (from pytest==7.2.0->-r requirements.txt (line 3))Downloading https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whlCollecting certifi>=2021.10.8 (from selenium==4.7.2->-r requirements.txt (line 4))Downloading https://files.pythonhosted.org/packages/71/4c/3db2b8021bd6f2f0ceb0e088d6b2d49147671f25832fb17970e9b583d742/certifi-2022.12.7-py3-none-any.whl (155kB)Collecting urllib3[socks]=1.26 (from selenium==4.7.2->-r requirements.txt (line 4))Downloading https://files.pythonhosted.org/packages/65/0c/cc6644eaa594585e5875f46f3c83ee8762b647b51fc5b0fb253a242df2dc/urllib3-1.26.13-py2.py3-none-any.whl (140kB)Collecting trio-websocket=0.9 (from selenium==4.7.2->-r requirements.txt (line 4))Downloading https://files.pythonhosted.org/packages/db/c5/b5e8bc1f40568a354f2a9cc296b8892605a9d2f22e725290fc33836dd2a3/trio_websocket-0.9.2-py3-none-any.whlCollecting trio~=0.17 (from selenium==4.7.2->-r requirements.txt (line 4))Downloading https://files.pythonhosted.org/packages/f1/ed/3623a910f9bb7a31b067d6baef476ed6e294e92a245f94ab992988e4a666/trio-0.22.0-py3-none-any.whl (384kB)Collecting zipp>=0.5 (from importlib-metadata>=0.12; python_version < "3.8"->pytest==7.2.0->-r requirements.txt (line 3))Downloading https://files.pythonhosted.org/packages/d8/20/256eb3f3f437c575fb1a2efdce5e801a5ce3162ea8117da96c43e6ee97d8/zipp-3.11.0-py3-none-any.whlCollecting typing-extensions>=3.6.4; python_version < "3.8" (from importlib-metadata>=0.12; python_version < "3.8"->pytest==7.2.0->-r requirements.txt (line 3))Downloading https://files.pythonhosted.org/packages/0b/8e/f1a0a5a76cfef77e1eb6004cb49e5f8d72634da638420b9ea492ce8305e8/typing_extensions-4.4.0-py3-none-any.whlCollecting PySocks!=1.5.7,<2.0,>=1.5.6; extra == "socks" (from urllib3[socks]=1.26->selenium==4.7.2->-r requirements.txt (line 4))Downloading https://files.pythonhosted.org/packages/8d/59/b4572118e098ac8e46e399a1dd0f2d85403ce8bbaad9ec79373ed6badaf9/PySocks-1.7.1-py3-none-any.whlCollecting async-generator>=1.10 (from trio-websocket=0.9->selenium==4.7.2->-r requirements.txt (line 4))Downloading https://files.pythonhosted.org/packages/71/52/39d20e03abd0ac9159c162ec24b93fbcaa111e8400308f2465432495ca2b/async_generator-1.10-py3-none-any.whlCollecting wsproto>=0.14 (from trio-websocket~=0.9->selenium==4.7.2->-r requirements.txt (line 4))Downloading https://files.pythonhosted.org/packages/78/58/e860788190eba3bcce367f74d29c4675466ce8dddfba85f7827588416f01/wsproto-1.2.0-py3-none-any.whlCollecting sortedcontainers (from trio~=0.17->selenium==4.7.2->-r requirements.txt (line 4))Downloading https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whlCollecting outcome (from trio~=0.17->selenium==4.7.2->-r requirements.txt (line 4))Downloading https://files.pythonhosted.org/packages/e9/4f/2f2d3f65d851852712b4de3fd0cfdcec9c5e9a9c347430e004ba770ef4db/outcome-1.2.0-py2.py3-none-any.whlCollecting sniffio (from trio~=0.17->selenium==4.7.2->-r requirements.txt (line 4))Downloading https://files.pythonhosted.org/packages/c3/a0/5dba8ed157b0136607c7f2151db695885606968d1fae123dc3391e0cfdbf/sniffio-1.3.0-py3-none-any.whlCollecting idna (from trio~=0.17->selenium==4.7.2->-r requirements.txt (line 4))Downloading https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl (61kB)Collecting h11<1,>=0.9.0 (from wsproto>=0.14->trio-websocket~=0.9->selenium==4.7.2->-r requirements.txt (line 4))Downloading https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl (58kB)Installing collected packages: certifi, PySocks, urllib3, async-generator, typing-extensions, h11, wsproto, attrs, exceptiongroup, sortedcontainers, outcome, sniffio, idna, trio, trio-websocket, selenium, Appium-Python-Client, py, tomli, zipp, importlib-metadata, pluggy, packaging, iniconfig, pytestRunning setup.py install for Appium-Python-Client: startedRunning setup.py install for Appium-Python-Client: finished with status 'done'Successfully installed Appium-Python-Client-2.7.1 PySocks-1.7.1 async-generator-1.10 attrs-22.2.0 certifi-2022.12.7 exceptiongroup-1.1.0 h11-0.14.0 idna-3.4 importlib-metadata-6.0.0 iniconfig-2.0.0 outcome-1.2.0 packaging-22.0 pluggy-1.0.0 py-1.10.0 pytest-7.2.0 selenium-4.7.2 sniffio-1.3.0 sortedcontainers-2.4.0 tomli-2.0.1 trio-0.22.0 trio-websocket-0.9.2 typing-extensions-4.4.0 urllib3-1.26.13 wsproto-1.2.0 zipp-3.11.0You are using pip version 19.0.3, however version 22.3.1 is available.You should consider upgrading via the 'pip install --upgrade pip' command.[DeviceFarm] export NVM_DIR=$HOME/.nvm[DeviceFarm] . $NVM_DIR/nvm.sh[DeviceFarm] nvm install 14.19.1v14.19.1 is already installed.Now using node v14.19.1 (npm v6.14.16)[DeviceFarm] export APPIUM_VERSION=1.22.2[DeviceFarm] avm $APPIUM_VERSION/usr/bin/avm: line 261: appium: command not found    exists : [DeviceFarm] ln -s /usr/local/avm/versions/$APPIUM_VERSION/node_modules/.bin/appium  /usr/local/avm/versions/$APPIUM_VERSION/node_modules/appium/bin/appium.js[DEVICEFARM] ########### Entering phase pre_test ###########FollowComment"


Question: Single DB backup/restore for RDS

"I am a bit confused whether customer can or cannot backup a single DB using RDS.While the official AWS document mentioned you can use .bak file to "Backup and restore single databases, instead of entire DB instances."https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.htmlBut doesn't specify howAND there are multiple answers on various communities that said backing up single DB is NOT possible using the RDS backup mechanism,The only viable option I can find is export/dump the data using export tools (and maybe DMS), which in most cases is very manual process.Can someone shed some light?ThanksFollowComment"

Answer: "0Accepted AnswerIn a simplistic high-level view: DB backups are taken in two distinct ways: logical backups or physical backups. Logical backups work by reading the data from database, they are slower and might cause some locks on some tables and/or rows while taking backups so they might not be suitable and good for system performance in some cases.Physical backups are faster and impose minimal impact on system but requires physical access to database subsystems (OS, Disks, Volumes).RDS as a managed service does not allow access to hardware or operating system thus customers can not use physical backup tools. These kind of backups are provided within the service itself (as snapshot based backups in RDS).Logical backups are easier and flexible because they only need access to database. If you can read, you can do a logical backup. The simplest example is using mysqldump and variants to take logical backups of MySQL/Aurora RDS.Long story short customers are limited in physical backups solutions but more flexible in logical tools. If this requirement is about MSSQL-RDS, yes customer can use this feature to import/export .bak files to backup individual databases in MSSQL.For an MSSQL customer the link that you shared may help.CommentShareAWS-User-0631429answered 5 years ago"


Question: Upgrade TLS to the latest secure version in Application Load balancers

"Hello,We have application load balancers that are currently using security policy ELBSecurityPolicy-2016-08How do I make sure I use the right secure policy for the latest version? I have this table in AWS https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html showing different version but I am not sure what latest secure version to use as it is a bit confusing for me.Many thanks in advance.FollowComment"

Answer: "0It all depends on what your security posture is with TLS versions and Encryption Ciphers.You can test your ALB using this website which will give you a score based on your current configuration https://www.ssllabs.com/ssltest/NOTE: Tick Do not show on public boardsThe Higher the TLS the more secure. 1.2 and 1.3 are the main standards today. A lot of those Ciphers are now weak and are seen as bad.Personally I would be looking at ELBSecurityPolicy-FS-1-2-Res-2020-10 or ELBSecurityPolicy-TLS-1-2-2017-01 if you don’t need forward secrecy.When you force a higher TLS and remove supported Ciphers, watch out for OLD Browsers/Operating systems and Applications that have not been upgraded to support the newer ciphers etc.Its unlikely today but they would experience TLS Issues when connecting and will fail if they do not support the increased TLS Settings.Use that SSL Labs to check the results after changing but I personally would go for ELBSecurityPolicy-FS-1-2-Res-2020-10 if you NEED FS or the TLS-1-2-2017-01 if not.You can also check here for details on ciphers.. https://ciphersuite.info/cs/TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384/Hope this helpsCommentShareGary Mcleananswered 2 months agoAbdel 2 months agoHi Gary, thank you very much for the detailed information. This looks really good to me.ShareGary Mclean 2 months agoAny other questions, fire away...Be sure to accept the answer if satisfactory to help others and me.. ThanksShare0I have upgraded TLS to the latest version ELBSecurityPolicy-FS-1-2-Res-2020-10  on AWS ALBs but not sure how to test the new version to ensure it has no impact from the clients?CommentShareAbdelanswered 2 months ago"


Question: Using external oAuth2 system

"I'm working on a web application. This uses API's from a 3rd party system. To authenticate with the system a plain oauth2 scheme is used. A call is made to the /authorize endpoint. This redirects to a login page. Upon successful login, the user gets redirected to a URL with am authorization-code as parameter. Using this authorization-code an access token is then requests through the /tokens endpoint. This returns a simple JSON document with the bearer token (no JWT), expiry time and refresh token. Works fine.I would now like to authenticate my own API's (API gateway REST or HTTP API's) against this 3rd party system. Would there be a way to integrate this with e.g. COGNITO is some way? Ideally Cognito should "front" this 3rd party system and just provide me app a JWT or so. Or are there solutions to authorize API gateway directly against such a 3rd party?Thanks.FollowComment"

Answer: "0In theory, this should work out of the box as a JWT authoriser with APIGW HTTP APIs [1]. Every OAuth2/OIDC implementation has quirks, though, so interoperability isn't guaranteed. You'll need to work out the issuer endpoint for your authentication provider -- it should be the iss claim in a JWT issued by the provider.Also, I'm pretty sure APIGW doesn't support redirecting unauthenticated requests to the authentication provider's authorisation endpoint. That might make things a bit trickier, depending on how your front-end app works.[1] https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-jwt-authorizer.htmlCommentSharejamessanswered 3 years ago0I reworked the architecture to handle this differently.CommentShareAwsAppDevanswered 3 years ago"


Question: AWS Cognito Email customization

"I would like to customize invitation email body with emoji but i got an error :Member must satisfy regular expression pattern: [\p{L}\p{M}\p{S}\p{N}\p{P}\s*]*\{####\}[\p{L}\p{M}\p{S}\p{N}\p{P}\s*]*I was able to solve this for email header using base64 encoding following this documentationhttps://docs.aws.amazon.com/ses/latest/dg/send-email-raw.html#send-email-mime-encoding-headers, but how am i supposed to do with the body?Thank you in advance.ClémentFollowComment"

Answer: 0The strange thing is that some emojis are working (like  🎉 ) but most of them doesn't...CommentShareAWS-User-8956848answered a year ago


Question: Cloudwatch not working for lambda function

Cloudwatch isn't consistently working for lambda function. Sometimes it works for a user and then it stops working. What can be the reason for it? Thank youFollowComment

Answer: "0When you say cloudwatch isn't working, could you elaborate - is it that cloudwatch metrics aren't being generated or entries aren't being generated in CloudWatch LogGroups?How are you running the code - locally, via console or CLI? When you says it works for a user and then stops working, do you mean that for a user it works some of the time then fails or that it works for one user, but not another?CommentShareSimon Hanmeranswered 5 months ago-1It would be helpful to dig deeper into the logs of the function, to check if any error or failure messages. You could also look at the CloudWatch Logs dashboard to see if there are any error messages, or if the logs are being delivered but not showing up in the dashboard.Generally speaking, consider the following points:Ensure that the CloudWatch Log Group associated with your function is not deleted or modified.CloudWatch has some quotas and limits on the number of log events you can send per second and the number of bytes. If your Lambda function is generating more logs than the allowed limit, CloudWatch will not be able to keep up and may stop working for that particular time.Make sure your Lambda function is running in the same region as CloudWatch Logs and that there are no network connectivity issues between them.Make sure you have correctly specified the log group and stream name for your Lambda function.CommentShareAmgadanswered 5 months ago"


Question: How to fix cross-account pass role alert for CodeDeploy CI/CD creation?

"I'm trying to make a deployment group in CodeDeploy and keep getting 'Cross-account pass role is not allowed'.I checked to see if this is regarding IAM Users and roles, and even added some to a user account, but it's not working.The weird thing is, I don't have two AWS accounts. (At least to my knowledge).I'm not sure which account i'm allegedly posting *from *or *to *when this error applies. Where can I find this information?FollowComment"


Question: Lightsail instance high cpu consumption

"Hello,We have opened this question due to an issue with a Lightsail instance (Windows Server).We have seen a high consumption of cpu at the same hour.  It's always at night, sometimes around 4:00 AM and sometimes around 5:00 AM (Spain (CET), UTC +1).Metrics screenshots:https://imgur.com/a/oeGXF8FWe configured an alarm (via email) when cpu utilization is greater than or equal to 40% for 2 times within the last 20 minutes, and we receive 2 emails everyday: one to notify when cpu utilization is greater than or equal to 40%, and other email (15-20 mins after first notification) to notify that de cpu utilization is OK again (under 40% ). In the screenshots you can see that it barely has cpu use outside of those hours.Here is the information that provided on emails:Monitored Details:MonitoredResourceType: Lightsail/InstanceMonitoredResourceName: [Name of instance]ComparisonOperator: GreaterThanOrEqualToThresholdThreshold: 40.0 PercentMetricName: CPUUtilizationPeriod: 300 SecondsStatistic: AVERAGEWe have tried with Performance Monitor, to identify any processes that they may be having that consumption, following the steps in this link (section "Use Performance Monitor to identify the source of high CPU utilization"), but the report doesn't show any high consumption -> https://aws.amazon.com/premiumsupport/knowledge-center/ec2-cpu-utilization-not-throttled/Could you help us with this?If it is necessary to provide more information, we will gladly do so.Thanks in advance.RegardsFollowComment"

Answer: "0Hello again,We update with capture of metrics: https://imgur.com/UUElXAZCommentShareGistekanswered 6 months agoyensteveAWS 6 months agoHi Gistek,Based on your updated metrics, it seems like the peak consumption dropped Nov 20 and onward. Is this issue is still occurring?Share0Hi there,If you're still seeing issues related to high CPU utilization, please take a look into this documentation:https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity#troubleshooting-high-cpu-utilizationAll the best, StevenCommentShareyensteveAWSanswered 6 months ago0Hello Steven,Thanks for the response, but it doesn't resolve our issue. We have already provided screenshots of the metrics precisely because they show the same peak of consumption at the same hour. We attach them again -> Metrics screenshots: https://imgur.com/a/oeGXF8FThanks again for the response, all help is appreciated.CommentShareGistekanswered 6 months ago"


Question: DynamoDB first request is very slow

"Hi,During building a simple serverless CRUD API using API Gateway, Lambda(Java 8) and DynamoDB. I came across a problem related to a slow response to the first DynamoDB request.Generally, responses are in the 10s of milliseconds however when I'm executing my lambda function for the first time I am seeing response time around 7s.In my lambda function I'm using Java SDK v2 I also used all the practices from this post: [https://aws.amazon.com/blogs/developer/tuning-the-aws-java-sdk-2-x-to-reduce-startup-time]I did some tests and here are the results of the Lambda execution with DynamoDB request:|| Avg Response Time || --- | --- | --- ||Lambda 512mb| 7s ||Lambda 1024mb| 5s ||Lambda 2048mb| 3.5s ||Creating only DynamoDB Client 512mb Lambda | 3s |Note: All of these responses are from cold start Lambda. The avg time for the cold start of my Java Lambdas is 1.5s.Are there any official resources that are saying that the first DynamoDB request will be so slow?ThanksFollowComment"

Answer: "3Accepted AnswerIt's worthwhile using something like X-Ray to determine where the delay is coming from. It's probable that the issue is related to the Java SDK but without actual data it's hard to say. I do a lot of work in Lambda using Python - the cold start times are very low and the time-to-first request with DynamoDB is similarly very short.The response time is lower for Lambda functions with more memory because the CPU allocated to them is proportional to the memory - more memory equals more CPU so that explains some of the difference there.In general I recommend to customers that they optimise their code to reduce the cold start time. One way of doing that is lazy-loading/initialising libraries only when they are needed rather than at function start.CommentShareEXPERTBrettski-AWSanswered a year ago3While I agree with most of what Brettski mentions, from a DynamoDB perspective you will have to understand how DynamoDB makes use of extensive metadata caching. For your initial request, you will have to create a TCP connection, as DynamoDB uses HTTP endpoints. Furthermore, you will have to do Authorization, Authentication and other metadata checks related to your tables partitions and items locations. This metadata is cached and so for subsequent requests you will notice a great reduction in latency and this is normal while interacting with DynamoDB.I do not agree with lazy loading resources in a Lambda function, as creating clients inside a Lambda handler will cause you to create the client for every invocation, and will introduce increased latencies. Ensure to create your client outside of the Lambda handler so it is shared across invocations.CommentShareEXPERTLeeroy Hannigananswered a year agoBrettski-AWS EXPERTa year agoGood point about creating the DynamoDB client connection outside the handler!ShareMaryn a year agoYeah, I'm creating all resources outside the handler. Thank you for explaining what's going on underneath.ShareBrettski-AWS EXPERTa year agoBear in mind that creating all resources outside the handler will increase the cold start time. So be judicious in what you do there.Share2Important thing to note here is that this problem is significantly more acute during development. You're making updates to your code, deploying new versions, and as a result getting cold-starts much more frequently comparing to the production environment, where your functions run unchanged for longer period of times.To add to the answers above, there are several techniques you can use to speed up cold-starts in your first function invocation. My answer is based on the assumption that you need to invoke DynamoDB (DDB) from your handler code.Raising memory allocation. Lambda allocates CPU to your function based on the memory allocation, so the more memory you allocate to your function the more CPU power it will have. With more CPU power your first request to DynamoDB (and to practically any other service) via the AWS SDK will be faster. This is a very simple step that usually results in major cold-start times improvements. Note that it MIGHT result in more cost since Lambda pricing model is based on execution time and allocated memory size.Digging a little bit deeper into the possible cause. The AWS SDK has lazily loaded components, which means some of the SDK internals will be fully initialized only once you make your first request (e.g. DDB GetItem). Subsequent requests will be faster because the client is fully initialized. During function initialization Lambda allocates more CPU resources, so your function init will happen faster. Combining these two facts, what you can do is to add a simple DDB request in your init block, right after you initialize the function. It can be a simple request to get a dummy item from DDB, but it will be enough to fully "prime" the client during the init phase, which has more CPU resources allocated. This approach will marginally raise your cold-start init time, but also significantly lower your cold-start invoke time. This approach can be very impactful under low memory condition (<=1gb), it will be less effective as you allocate more memory to your function, since as a result it will be getting more CPU as well.See a sample code snippet below just to illustrate the approach.public class App implements RequestHandler<Object, String> {    static DynamoDbClient ddbClient;    static {        ddbClient = DynamoDbClient.builder().build();        getAnyDummyItemFromDynamoDB(); // This will happen during function init    }    @Override    public String handleRequest(Object input, Context context) {        System.out.println("> function handler1");        doSomeRealDynamoDBOperations(); // This will happen during function handler invoke        return null;    }}Enabling Tiered Compilation for your Java Lambda's. This blog gives a great overview of how this can be done.Once you've applied the above optimization techniques, you can use the AWS Lambda Power Tuning tool. It can help you to identify the best memory configuration based on your execution time/cost requirements.CommentShareAnton Aleksandrovanswered a year agoMaryn a year agoWow! The Tiered Compilation speeded it up to ~4.7 seconds. Thank you!Share"


Question: No Solution Stack named X (via CloudFormation)

"Hello,We were notified to update our AMIs regarding LetsEncrypt certificates. However, when we try to do so through CloudFormation, we get the below error.No Solution Stack named '64bit Amazon Linux 2018.03 v2.27.0 running Multi-container Docker 20.10.7 (Generic)' found.We have yet to transition to Amazon Linux 2, but we should have until June 30, 2022 to do so. And, according to the below page , the above AMI should be valid until this same date. We tried a bunch of AMIs for AL1 but all fail with the same error.https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-retiring.html#platforms-retiring.mcdockerRegion: eu-central-1Edited by: thio123 on Oct 16, 2021 1:56 PMFollowComment"

Answer: "0The Beanstalk Console does list the v2.27.0 AMI as both available and recommended, by the way. That's just not an option since we are using CloudFormation.CommentSharethio123answered 2 years ago0Figured it out. The solution stack name within the documentation is wrong. This is the correct one (notice how -ce was missing):64bit Amazon Linux 2018.03 v2.27.0 running Multi-container Docker 20.10.7-ce (Generic)CommentSharethio123answered 2 years ago"


Question: "Pod Predicate NodeAffinity failed" causing the pod unable to started in a managed nodegroup. Can anyone suggests us what to investigate more?

"Hi,We received an alert due to the pod status is not Running in our system. This behavior seems randomly occur and seems not specific to anything. The context of this issue is that we have multiple managed node groups, each containing specific labels based on workload type. There are many Deployment per node group but each node will have single pod of every deployments. We implemented this using a combination of NodeAffinity to select node and podAntiAffinity to repel pod of the same kind in the same node.The Pod Predicate Node Affinity failed is the error we received when there are two Deployments that scaled out and one of them stuck in this state, another one can be scheduled on the same node and running fine. This issue occurred once a month but we want to investigate the root cause of this issue. Can anyone suggest what should we investigate further?FollowComment"


Question: AWS DataSync not really moving anything

"Hi guys,I'm trying to set up data sync between 2 EC2 instances.I'm setting up the locations, setting up mount to /Then I create the task, specifying the folder I would like to move. Tasks run, and it shows completed, but no new data appeared on my target instance. On the task, I see only one file was moved, which I can't find.Does anyone have any idea how to set it up?FollowComment"

Answer: "0DataSync provides logs through Amazon CloudWatch. Navigate to the CloudWatch console and check the logs for any errors or issues related to the DataSync task. This can help you identify the cause of the problem.CommentShareEXPERTsdtslmnanswered 2 months ago0AWS DataSync supports moving data between NFS, SMB, HDFS, and object storage locations to and from AWS storage services. DataSync does not support transferring data between EBS volumes. When you mention using Amazon EC2 instances are you configuring NFS or SMB shares as the DataSync source or destination locations?CommentShareDarryl_Dioanswered 2 months ago0I have set up two instances with the EBS volumes - so this will not work? Good to know.CommentShareLukaszanswered 2 months ago"


Question: How to check storage usage in Lightsail?

"Hello, could any please advice how to check storage usage of Lightsail instance? I want to make sure if the usage is still enough for use.Thanks,WayneFollowComment"

Answer: "0What OS are you using?If linux or bsd, you can use the 'df' command from shell.CommentShareDavid Ganswered 2 years ago0Hi David,Happy New Year! Thanks a lot for your response. It helps me solving my problem. I always get response from you quickly and professionally, and I do very appreciate it.Wish you and your beloved all the best and stay well!WayneCommentShareqidian96answered 2 years ago"


Question: How to add more than one S3 Bucket ARN to an SQS Queue Access Policy

"Hello:I'm trying to add another S3 bucket to an existing SQS Queue. Try as I might, I can't find a way to add it to the existing policy. Example:{  "Sid": "example-statement-ID",  "Effect": "Allow",  "Principal": {    "Service": "s3.amazonaws.com"  },  "Action": "SQS:SendMessage",  "Resource": "arn:aws:sqs:us-east-1:0645xxxxxxxx:HammerSQS1",  "Condition": {    "StringEquals": {      "aws:SourceAccount": "064xxxxxxxx"    },    "ArnLike": ": {[      "aws:SourceArn": "arn:aws:s3:*:*:contentdisarming-bucket-one"**          "aws:SourceArn": "arn:aws:s3:::contentdisarming-bucket-two"]**        {}}}]}When I try to add the 2nd bucket (contentdisarming-bucket-two) I get an error: "Invalid JSON" What am I doing wrong here? It's possible to add more than one S3 SourceArn to an SQS queue, correct?Thanks in advance..FollowComment"

Answer: "1It seems some of the policy you posted is formatted outside of the code block so it looks like there's a lot wrong with it (e.g. "**", "{ }", lack of comma between the bucket ARNs).  Can you try re-posting your complete policy with the 2nd bucket included, and no special formatting etc?CommentShareEXPERTskinsmananswered 8 months agorePost-User-9015990 8 months agoOk, here goes:{"Version": "2012-10-17","Id": "example-ID","Statement": [{"Sid": "example-statement-ID","Effect": "Allow","Principal": {"Service": "s3.amazonaws.com"},"Action": "SQS:SendMessage","Resource": "arn:aws:sqs:us-east-1:0645********:HammerSQS1","Condition": {"StringEquals": {"aws:SourceAccount": "0645********"},"ArnLike": {["aws:SourceArn": "arn:aws:s3:::contentdisarming-bucket-one""aws:SourceArn": "arn:aws:s3:::contentdisarming-bucket-two"]}}}]}ThanksShare0Hi Folks:Figured it out. The brackets were in the wrong places, here is the JSON for the SQS Access Policy that works. What I wanted to achieve was to get two S3 buckets connected to the same SQS Queue:"Version": "2012-10-17","Id": "example-ID","Statement": [{"Sid": "example-statement-ID","Effect": "Allow","Principal": {"Service": "s3.amazonaws.com"},"Action": "SQS:SendMessage","Resource": "arn:aws:sqs:us-east-1:0645********:HammerSQS1","Condition": {"StringEquals": {"aws:SourceAccount": "0645********"},"ArnLike": {"aws:SourceArn": ["arn:aws:s3:*:*:contentdisarming-bucket-one","arn:aws:s3:*:*:contentdisarming-bucket-two"]}}}]}Hope this saves someone else some time & frustration :)CommentSharerePost-User-9015990answered 8 months ago"


Question: Sending SES emails using UTF-8 characters in the address

"I was curious if there was any update to this Stackoverflow question but noticed that the original post has been archived and I could not find any details on what is supported by SES in the current documentation.Basically, is it possible today to send an email to myemail+✖@gmail.com (where ✖ is a UTF-8 character) or is SES still limited by RFC-822 that only supports ASCII characters?FollowComment"

Answer: "1Accepted AnswerFrom the following document, it seems that you can send an email to a UTF-8 email address by using Punycode encoding.https://docs.aws.amazon.com/ses/latest/dg/send-email-raw.html*Basically, the email address string must be 7-bit ASCII.https://docs.aws.amazon.com/ses/latest/dg/send-email-formatted.htmlCommentShareokadarhianswered a year agonbouvrette a year agoAwesome this is exactly what I was looking for. Thanks!Share"


Question: Write to host DDR on EC2 F1 Instance

Is there any utility in the aws-fpga github repository that helps transfering data to host DDR memory?I would like to use a DMA in the FPGA to transfer data directly to the host using the "S_AXI_PCIM" interface instead of writing the data to the FPGA DDR memory and then read that data from the host.I'm wondering if there is any utility provided that helps with this or I must develop a linux driver from scratch in order to get the physical address in host DDR where the FPGA DMA can write to.Thanks in advance.Ismael.FollowComment

Answer: "0Hi Ismael,Could you share some more information on the design you're planning to implement? Do you plan to implement a DMA for the Host -> FPGA over PCIS as well as a DMA for FPGA -> Host over PCIM?Thanks!-JoeCommentShareAWS-joelucanswered 4 months ago0Hello,Thank you for reaching out to AWS with your question. The S_AXI_PCIM interface provides a way for the Customer Design to initiate PCIe transaction cycles to the Host memory. The interface supports full AXI4 protocol with 512-bit wide datapath. Customers can easily interface their kernel, custom DMA, Xilinx IP with AXI4, etc, to S_AXI_PCIM interface to reach Host Memory.AWS provides Streaming Data Mover, a custom Data Mover with AXI4-to-AXIS conversion to move data between FPGA and Host. Important links regarding SDE below:SDE IP GuideExample CL design using SDE IPPlease note, while the S_AXI_PCIM and above SDE IPs allow customer design to access host memory directly, they require Physical Memory Address of the Host and not the virtual memory address. Please refer to your Operating System details for Virtual-to-Physical Memory Address Translation.Please let us know if you have any questions.Thanks!ChakraCommentShareawschakraanswered 4 months ago"


Question: I need some help about lightsail wordpress. Plz give me some advice!

"I have created my wordpress instance on Lightsail, but I found that the website URL in the wordPress Settings cannot be changed. How do I change itFollowCommentiwasa EXPERTa year agoHi.Please tell us a little more about your problem.Did you try to change the URL in the WordPress admin screen? Why couldn't you?Share"

Answer: 0I think you need a domain to config the URL of the WordPress site. Below is the document how you can config the domains on Lightsail WordPress multisite.https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-add-blogs-as-domains-to-your-wordpress-multisiteCommentShareAWS-User-2776000answered a year ago


Question: CloudFormation and GET requests

"I have a cloudformation template that does a lot of things, plus deploying an API Gateway GET route integrated with a lambda function. The result is:(80390c37-5d4a-46cb-b7f0-e38684943499) Execution failed due to configuration error: 2022-02-09T12:19:34.819+00:00(80390c37-5d4a-46cb-b7f0-e38684943499) Method completed with status: 500Then, after googling this, i stumble on this article and just cannot believe what i read:https://aws.amazon.com/premiumsupport/knowledge-center/api-gateway-lambda-template-invoke-error/Is this correct????????How can i then integrate a get request with cloudformation? It does work manuallyFollowComment"

Answer: "1Accepted AnswerNot knowing your cloud formation is difficult, anyway the article that you linked is talking about the integration between API gateway and Lambda, it's not talking about the method that you expose from the API gatewayTo give you one example, you can see there is "HttpMethod" and "IntegrationHttpMethod"HttpMethod can be any of the API gateway methods allowed, but the IntegrationHttpMethod needs to be POST  apiGatewayRootMethod:    Type: AWS::ApiGateway::Method    Properties:      AuthorizationType: NONE      HttpMethod: GET      Integration:        IntegrationHttpMethod: POST        Type: AWS_PROXY        Uri: !Sub          - arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${lambdaArn}/invocations          - lambdaArn: !GetAtt lambdaFunction.Arn      ResourceId: !GetAtt apiGateway.RootResourceId      RestApiId: !Ref apiGatewayCommentShareMikianswered a year ago0Another example with AWS::ApiGatewayV2::ApiReference: AWS::ApiGatewayV2::ApiYou will have to define:An APIA Stage, is a deployment of your API, you can have several per API, use Stages to deploy to your environments (Development, QA, Production)An Integration with your Lambda Function, you can have several of this. Remember to integrate with a Lambda Function Alias, not with the function itself, to make easier the handling of the version of the lambda function per environment. You also specify here the HTTP Method.A route, representing the web resource and HTTP Method you will use to expose the Lambda Function, you can have several of thisRemember, each Lambda Function you define will require an Alias to handle the environments correctly (Development, QA, Production).  ReceiveCallbackApi:    Type: AWS::ApiGatewayV2::Api    Properties:      Name: ReceiveCallbackApi      ProtocolType: HTTP      CorsConfiguration:        AllowOrigins:          - '*'        AllowMethods:          - OPTIONS          - GET  ReceiveCallbackApiStage:    Type: AWS::ApiGatewayV2::Stage    Properties:      ApiId: !Ref ReceiveCallbackApi      AutoDeploy: true      StageName: !Ref EnvironmentPrm  # This is a parameter you can define  ReceiveCallbackApiNotificationIntegration:    Type: AWS::ApiGatewayV2::Integration    DependsOn:      - YourLambdaFunctionAlias  # You have to define an Alias for the Lambda Function    Properties:      ApiId: !Ref ReceiveCallbackApi      IntegrationType: AWS_PROXY      IntegrationUri: !Join [ '', ['arn:', !Ref 'AWS::Partition', ':apigateway:', !Ref 'AWS::Region', ':lambda:path/2015-03-31/functions/', !Join [ ':', [!GetAtt YourLambdaFunction.Arn, !Ref EnvironmentPrm]], '/invocations' ] ]      IntegrationMethod: GET      PayloadFormatVersion: '2.0'  ReceiveCallbackApiNotificationRoute:    Type: AWS::ApiGatewayV2::Route    Properties:      ApiId: !Ref ReceiveCallbackApi      RouteKey: 'GET /receive_callback'      Target: !Join [ "/", [integrations, !Ref ReceiveCallbackApiNotificationIntegration] ]CommentShareeduardo_j_yanez_panswered a year ago"


Question: SQL greater than or equal to does not work with DATE on Amazon Athena

"I have a table on Amazon Athena and one of the columns is "sessiondate" whose data type is varchar.Column1Column2sessiondateData1Data62022-06-27Data2Data72022-06-27Data3Data82022-07-25Data4Data92022-12-19Data5Data122023-01-11I've used the following SQL query for almost 6 months until last night (4/13 10PM).Since last night, the SQL query errors out complaining '>=' cannot be applied to varchar, dateSELECT * FROM MyDatabase.MyTableWHERE sessiondate >= DATE('2022-12-18')Does anyone know why the greater than or equal to symbol does not work anymore?FollowComment"

Answer: "0Accepted AnswerHello,To understand your issue better, I tried to reproduce the issue referring your above mentioned schema. I created a table with above value and a date column with data type is varchar.I was getting the same error with Athena engine version 2 and as well as 3: '>=' cannot be applied to varcharThen I tried to run the query by removing 'DATE' from sql and it got successful.Additionally, You can query in the below format, I have tested at my end and it is working fine.SELECT * FROM MyDatabase.MyTable WHERE sessiondate >= ('2022-12-18')SELECT * FROM MyDatabase.MyTable WHERE cast(sessiondate as date) >= date('2022-12-18')We are unable to provide you the root cause why your query was working fine earlier as we need to check your query logs, meanwhile please check if there is any new data of different type is added recently in your date column.Or check if there is any change in query execution like Athena version 2 or 3 being used, IAM role or any IAM permissions etc, or if there is any change in schema of 'sessiondate' column.You can check and confirm the column schema from Glue or Athena console.For further investigation and to find the root cause of the issue , we require details that are non-public information. Please open a support case with AWS using the followinghttps://support.console.aws.amazon.com/support/home#/case/createCommentShareSUPPORT ENGINEERShahrukh_Kanswered a month agorePost-User-1630087 a month agoHello Shahrukh,A couple of answers in this [1] post also indicate that >= DATE('2022-12-18') works. I believe something changed in Athena.I am not able to open a support case, it says "User: my userID is not authorized to perform: support:DescribeServices because no identity-based policy allows the support:DescribeServices action." That is fine because your answer works for me.Thanks for your help[1] https://stackoverflow.com/questions/51269919/athena-greater-than-condition-in-date-columnShare"


Question: SSL certificates

My activated ssl certificates for my site do not work well in different  browsers especially with chrome and  for safari it does not work totally.. I have followed  all tutorials  to setup with no success...What can be the source of this problem?.FollowComment

Answer: "0Are you using AWS Certificate Manager ? With AWS Certificate Manager (ACM) you can provision and manage SSL/TLS certificates for your AWS based websites and applications. You use ACM to create or import and then manage a certificate.Also, what kind of errors are you getting ? When you say ti does not work ?Is ti possible for you to open up an AWS Support case and provide the HAR file of the browser and provide the same so that the team can check ?Link on how to generate HAR file - https://aws.amazon.com/premiumsupport/knowledge-center/support-case-browser-har-file/CommentShareSUPPORT ENGINEERAWS-User-Chiraganswered 9 months ago"


Question: Who created the S3 bucket

"Hi Team,I am trying to check who created the S3 bucket. In cloudTrail, the events showing only for 3 months. If i try to check it in S3 bucker where cloudtrail logs getting stored. It's more difficult.Is there a way to check who created the S3 bucket before 3 months.Regards,Rajesh BFollowCommentSuraj Kumar Nanda a month agoTo check who created an S3 bucket in AWS, you can use the AWS CloudTrail service.Share"

Answer: 1Accepted AnswerYou can use Athena to query the CloudTrail logs that are in an S3 bucket. See: Querying AWS CloudTrail logs.CommentShareEXPERTkentradanswered a month agoEXPERTJonathan_Dreviewed a month ago


Question: Amazon QuickSight- Exclude elements from Visualizations.

"Hello,When I tried to exclude elements from the visual, the Filter pane gets popped up.Is it possible to prevent this pop-up?Thanks.FollowComment"

Answer: "1Hi there,When you exclude an element from a visual, the filter pane appears to notify you that the corresponding filter has been applied. You can enlarge the filter pane but not minimize it during this time. If you choose to delete the filter, the element will pop up in your visualization again.CommentShareCHELSEA IPanswered 9 months ago"


Question: aurora 2.10.1 crashed and reboot with 'mysqld got signal 6'

"aurora 2.10.1 crashed every night, makes a failover and rebooted after a few seconds.terminate called after throwing an instance of 'std::out_of_range'  what():  vector::_M_range_check: __n (which is 4294967295) >= this->size() (which is 0)00:02:12 UTC - mysqld got signal 6 ;This could be because you hit a bug. It is also possible that this binaryor one of the libraries it was linked against is corrupt, improperly built,or misconfigured. This error can also be caused by malfunctioning hardware.Attempting to collect some information that could help diagnose the problem.As this is a crash and something is definitely wrong, the informationcollection process might fail.key_buffer_size=16777216read_buffer_size=262144max_used_connections=189max_threads=3000thread_count=33connection_count=33connection_count=28It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 13123173 K  bytes of memoryHope that's ok; if not, decrease some variables in the equation.The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html containsinformation that should help you find out what is causing the crash.aurora backtrace compare flag : 1Writing a core file2022-02-01T00:02:42.648128Z 0 [Warning] The syntax '--secure-auth' is deprecated and will be removed in a future release2022-02-01T00:02:42.648345Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.2022-02-01T00:02:42.649173Z 0 [Note] /rdsdbbin/oscar/bin/mysqld (mysqld 5.7.12) starting as process 12965 ...2022-02-01T00:02:42.662116Z 0 [Warning] InnoDB: Setting innodb_checksums to OFF is DEPRECATED. This option may be removed in future releases. You should set innodb_checksum_algorithm=NONE instead.2022-02-01T00:02:42.662195Z 0 [Note] InnoDB: Started in read only mode2022-02-01T00:02:42.662212Z 0 [Note] InnoDB: PUNCH HOLE support available2022-02-01T00:02:42.662216Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins2022-02-01T00:02:42.662219Z 0 [Note] InnoDB: Uses event mutexes2022-02-01T00:02:42.662222Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier2022-02-01T00:02:42.662225Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.112022-02-01 00:02:42 0x400039a33160[IB_LOG_LEVEL_INFO]:Initializing buffer pool, size = 43.0G (srv0start.cc:4406)2022-02-01T00:02:42.662286Z 0 [Note] InnoDB: == Add SYNC_FAST DDL...2022-02-01T00:02:42.663027Z 0 [Note] InnoDB: Number of pools: 12022-02-01T00:02:42.663127Z 0 [Note] InnoDB: Not using CPU crc32 instructions2022-02-01T00:02:42.663132Z 0 [Note] InnoDB: Disabling background log and ibuf IO write threads.2022-02-01T00:02:42.663936Z 0 [Note] InnoDB: Initializing buffer pool, total size = 42.9512G, instances = 8, chunk size = 5.3689GFollowComment"

Answer: "0Hi there, I'm sorry that your Aurora cluster crashed.From the logs you posted, your cluster hit Community MySQL Bug #24585978, which was fixed in Aurora MySQL release 2.10.2.See the 2.10.2 release notes:Integration of MySQL Community Edition bug fixesFixed an issue in InnoDB where an error in code related to table statistics raised an assertion in the dict0stats.cc source file. (Bug #24585978)We recommend that you patch your cluster up to 2.10.2 or higher to avoid future crashes.CommentShareValter_Ranswered a year ago"


Question: Unable to map AWS SSO Attributes to SAML Assertion values

"Hi,I am sending the following user level attributes as part of SAML assertion from Okta.Attribute 1 name: https://aws.amazon.com/SAML/Attributes/AccessControl:team Attribute 1 value: user.teamAttribute 2 name: https://aws.amazon.com/SAML/Attributes/AccessControl:Division Attribute 2 value: user.divisionBelow are configured  Attributes for access control in SSO (tried many combinations):Key Valueteam${path:team}Division${path:division}ad${path:appdiv}Mteam${path:user.team}MDivision${path:user.division}Mname${path:name.givenName}Cloud trail history entry for SAML:“requestParameters": {        "sAMLAssertionID": "_1f0a7019-a9bb-461d-afc3-4e468e29f36c",        "roleSessionName": "saxxxxxla@xxxx.com ",        "principalTags": {            "MDivision": "",            "Mname": "Sandeep",            "Mteam": "",            "Division": "",            "team": "",            "ad":""        },Cannot see team and Division getting populatedUsed SAML tracer to see assertion detail going from Okta to AWS: Okta is sending Attributes with values populatedAny thoughts on where am I going wrong?ThanksFollowComment"

Answer: "1I'm wondering if it's because attributes for access control have a list of supported attributes.From documentation, "The following table lists all external identity provider (IdP) attributes that are supported and that can be mapped to attributes you can use when configuring Attributes for access control in AWS SSO. When using SAML assertions, you can use whichever attributes your IdP supports."https://docs.aws.amazon.com/singlesignon/latest/userguide/attributemappingsconcept.html#supportedidpattributesCould you try ${path:enterprise.division} and see if that works?Examples of supported values:${path:enterprise.employeeNumber}${path:enterprise.costCenter}${path:enterprise.organization}${path:enterprise.division}${path:enterprise.department}${path:enterprise.manager.value}CommentSharejsoncanswered a year ago1Just delete all configured attributes from Attributes for access control in the AWS web console. It will just works with SAML assertions.CommentShareEXPERTposquit0answered a year ago0Accepted AnswerBoth jsonc@ and posquit0@ are correct here.jsonc@ is correct in saying that the reason why your values are not populating is because you're passing them as attributes of 'user'. If you wish to see them reflected in AWS SSO, then move to using the following, instead:${path:name.familyName} for the first name of your user.${path:enterprise.division} for the division name that the user belongs to.posquit0@ is correct, too. If you don't care about seeing the fields and values reflected in AWS SSO, but want to pass them in the assertion and leverage them for ABAC in IAM Policies, then simply remove all attribute configurations in AWS SSO ABAC (leaving it enabled) and build your policies to expect the attributes & values that you're passing. AWS STS will pick up on these as they're passed in the SAML Response and they will be used against any applicable/enforced IAM Policies.Whichever works best for you, but I would think that if you're going to the effort of passing the attributes and values, you would want to see them reflected in AWS SSO. It also means that you can see what is configured in AWS SSO ABAC and what values each user has, and don't then have to simply remember what you're passing over from Okta.CommentShareCiaran Carragheranswered a year ago0Hi Jsonc/Pos/Ciaran,Thank you for your responses. I managed to get it working but could not update my findings here in time. Apologies.I was able to make the below changes to AWS SSO App in Okta with attribute mappings.===============WorkedOkta - AWS SSO APP (Sign On attribute mappings)Name => Valuehttps://aws.amazon.com/SAML/Attributes/AccessControl:user.team => user.teamhttps://aws.amazon.com/SAML/Attributes/AccessControl:enterprise.division => user.divisionAWS SSO Changes:Key    =>       Value team =>${path:user.team} division =>${path:enterprise.division} Mname =>${path:name.givenName}Cloud trail history entry for SAML:  "requestParameters": {        "sAMLAssertionID": "_409ef549-04ab-4bd5-9f0d-3d8f06e7ce14",        "roleSessionName": "sanxxxxx@xxxx.com",        "principalTags": {            "division": "IT",            "Mname": "Sandeep",            "user.team": "red",        }This did the trick. It was interesting to see AWS only recognized these values only when it has user or enterprise in the name of attributes passed through SAML Assertion.===============Did NOT workOkta - AWS SSO APP (Sign On attribute mappings)Name => Valuehttps://aws.amazon.com/SAML/Attributes/AccessControl:team => user.teamhttps://aws.amazon.com/SAML/Attributes/AccessControl:division => user.divisionAWS SSO Changes:Key    =>       Value team =>${path:team} division =>${path:division} One follow-up, do I need to map attributes in SSO for profile attributes passed through SCIM or do those automatically get passed on as Session Tags & can I just use them in policies as "PrincipalTag/user.city"?Thanks,SandeepCommentShareSandeepanswered a year agoCiaran Carragher a year agoGlad that you got sorted, Sandeep.As for your follow-up question - If the attribute and value are present on the user principal in AWS SSO, and you have them in the AWS SSO ABAC list, then you can use them in ABAC IAM Policies, yes. You won't hav to go down the route of using "user.city" in your IAM Policy, however. Have a look at this blog on the matter, as it explains and demos it quite nicely.Share0Thank you @Ciaran Carragher. Will look at the blog.CommentShareSandeepanswered a year ago"


Question: 400 / Invalid Response status when querying through Reader Replica

"We have a Neptune graph with 1 writer and 1 reader.   We are using gremlinpython connector and can successfully query Neptune when connecting to the writer endpoint. However, when we attempt the exact same connection and (read) query using the reader endpoint, we get a 400 / Invalid Response status from Neptune.The connection and query code is pretty straightforward:    access_key = os.getenv('AWS_ACCESS_KEY_ID')     secret_key = os.getenv('AWS_SECRET_ACCESS_KEY')    credentials = Credentials(access_key, secret_key)    endpoint = '{OUR_ENDPOINT}.us-east-1.neptune.amazonaws.com'    endpoints = Endpoints(neptune_endpoint=endpoint,credentials=credentials)    gremlin_utils = GremlinUtils(endpoints)    conn = gremlin_utils.remote_connection()    g = gremlin_utils.traversal_source(connection=conn)    g.V().count().next()This works when OUR_ENDPOINT is pointing to the writer instance, but it throws the 400 error when connecting to the Reader instance.  Any idea why this could be?FollowCommentTaylor-AWS a year agoFrom the same instance where your code is running, can you use awscurl and hit the https://<endpoint>:<port>/status API? For both the writer and reader endpoint?  That would validate that this is not a misconfigured security group or otherwise blocking connectivity.  The code above should work, so long as you're running through the entire process for both endpoints, as each would need to generate a Signature for the initial http/websocket connection to the corresponding Neptune instance(s).Share"


Question: Automatic resource creation and ID checking.

"Hey guys! Need a solution for a simple issue.Is there an automatic process to create resources on AWS and check its IDs on whether it has particular numbers and letters? Like having a VPC, EC2, RDS, or S3, where the ID doesn’t have the letter S or have the number 8s in it.Like having a preferred id of YcdrbA57Zfs6y5t28, and not, ZoqhRtgfDfg4089g45.Maybe setting a stack or cloudformations, or with policies.If not, then delete the resource and create a new one. Keep repeating it until it achieves the target IDs.Thanks!FollowComment"

Answer: "0Accepted AnswerBackgroundWhen resources are created, we assign each resource a unique resource ID. A resource ID takes the form of a resource identifier (such as snap for a snapshot) followed by a hyphen and a unique combination of letters and numbers. Each resource identifier, such as an AMI ID, instance ID, EBS volume ID, or EBS snapshot ID, is tied to its Region and can be used only in the Region where you created the resource.Prior to January 2016, the IDs assigned to newly created resources of certain resource types used 8 characters after the hyphen (for example, i-1a2b3c4d). From January 2016 to June 2018, we changed the IDs of these resource types to use 17 characters after the hyphen (for example, i-1234567890abcdef0). Depending on when your account was created, you might have some existing resources with short IDs, however, any new resources will receive the longer IDs.SummaryThere's no native solution provided by AWS to check the resource ID of a resource. The resource IDs are random and unique in nature. You may create a custom bash/python script to check the resource ID's. The use-case shared, i.e. delete the resource and keep creating a new one until it achieves the target ID's is not a palatable approach.CommentShareSUPPORT ENGINEERVarunanswered 7 months ago"


Question: CDK V2 remote Docker Images building

"In my CDK project, I use a lot of Docker images for various services. These images are for different platforms, since Fargate doesn't support Spot ARM64. Building all of these images on my own machine (an Apple M1 Pro) can be quite cumbersome.Out of curiosity, I was wondering if there is a convenient way to build these Docker images on AWS. Ideally, when I run 'cdk deploy --all', it would upload my assets to AWS, build the Docker images, and publish the results on ECR.Do you have any ideas on how I could achieve this?FollowComment"

Answer: "0Hi Smotrov,Typically CDK is meant for infrastructure as code, so building the image per se is not part of that.What you can do is to provision native cloud pipelines in cdk, that allow you to build the images.An example is code pipeline and code build where you can build a docker image: https://github.com/aws-samples/aws-cdk-examples/blob/master/python/codepipeline-docker-build/ReadMe.mdSo if you wish to execute the building of the image with cdk, I d create a script that executes both cdk deploy and that triggers a code pipeline starts.Hope it helps and fits your caseCommentShareEXPERTalatechanswered 2 months ago"


Question: shadow manager configuration

"I create a named shadow on each of my greengrass devices on the server, for the devices to use (call it config1)i would like to use these named shadows locally on the greengrass device so i am trying to install the shadow managerin the documentation regarding the configuration it shows an example configuration like:{"synchronize":{"coreThing":{"classic":true,"namedShadows":["MyCoreShadowA","MyCoreShadowB"]},"shadowDocuments":[{"thingName":"MyDevice1","classic":false,"namedShadows":["MyShadowA","MyShadowB"]},{"thingName":"MyDevice2","classic":true,"namedShadows":[ ]}]},"rateLimits": {"maxOutboundSyncUpdatesPerSecond":100,"maxTotalLocalRequestsRate":200,"maxLocalRequestsPerSecondPerThing":20},"shadowDocumentSizeLimitBytes":8192}if i would like to use shadow manager to syncronise every config1 shadow for all my devices, do i need to list all my devices in the shadowDocuments ? this doesn't seem right as we may add and remove devices from a deployment at any stage.I've tried to only add the config1 named shadow in 'coreThing' but it immediately deletes the server created named shadow as soon as the device connects:even if i don't specify a configuration, the server created shadows get deleted by the shadow manager:2021-10-07T00:53:29.666Z [INFO] (pool-2-thread-26) com.aws.greengrass.shadowmanager.sync.SyncHandler: sync. Executing sync request. {Type=LocalUpdateSyncRequest, thing name=smartdvr-1423019132001, shadow name=config1}2021-10-07T00:53:29.682Z [WARN] (pool-2-thread-26) com.aws.greengrass.shadowmanager.sync.SyncHandler: sync. Received conflict when processing request. Retrying as a full sync. {thing name=smartdvr-1423019132001, shadow name=config1}software.amazon.awssdk.aws.greengrass.model.ConflictError: Missed update(s) from the cloudat com.aws.greengrass.shadowmanager.sync.model.LocalUpdateSyncRequest.execute(LocalUpdateSyncRequest.java:142)at com.aws.greengrass.shadowmanager.sync.SyncHandler.lambda$new$0(SyncHandler.java:136)at com.aws.greengrass.util.RetryUtils.runWithRetry(RetryUtils.java:49)at com.aws.greengrass.shadowmanager.sync.SyncHandler.lambda$new$1(SyncHandler.java:134)at com.aws.greengrass.shadowmanager.sync.SyncHandler.syncLoop(SyncHandler.java:270)at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)at java.base/java.lang.Thread.run(Thread.java:829)2021-10-07T00:53:29.683Z [INFO] (pool-2-thread-26) com.aws.greengrass.shadowmanager.sync.SyncHandler: sync. Executing sync request. {Type=FullShadowSyncRequest, thing name=smartdvr-1423019132001, shadow name=config1}2021-10-07T00:53:30Z [INFO] (pool-2-thread-26) com.aws.greengrass.shadowmanager.sync.model.FullShadowSyncRequest: Deleting cloud shadow document. {thing name=smartdvr-1423019132001, shadow name=config1}2021-10-07T00:53:30.211Z [INFO] (pool-2-thread-26) com.aws.greengrass.shadowmanager.ShadowManagerDAOImpl: Updating sync info. {thing name=smartdvr-1423019132001, shadow name=config1, cloud-version=121, local-version=0}2021-10-07T00:53:30.245Z [INFO] (pool-2-thread-26) com.aws.greengrass.shadowmanager.sync.SyncHandler: sync. Executing sync request. {Type=LocalDeleteSyncRequest, thing name=smartdvr-1423019132001, shadow name=config1}2021-10-07T00:53:30.259Z [WARN] (pool-2-thread-26) com.aws.greengrass.shadowmanager.ipc.DeleteThingShadowRequestHandler: handle-delete-thing-shadow. Unable to process delete shadow since shadow does not exist. {thing name=smartdvr-1423019132001, shadow name=config1}software.amazon.awssdk.aws.greengrass.model.ResourceNotFoundError: No shadow foundat com.aws.greengrass.shadowmanager.ipc.DeleteThingShadowRequestHandler.lambda$handleRequest$0(DeleteThingShadowRequestHandler.java:106)at com.aws.greengrass.ipc.common.ExceptionUtil.translateExceptions(ExceptionUtil.java:33)at com.aws.greengrass.shadowmanager.ipc.DeleteThingShadowRequestHandler.handleRequest(DeleteThingShadowRequestHandler.java:87)at com.aws.greengrass.shadowmanager.sync.model.LocalDeleteSyncRequest.execute(LocalDeleteSyncRequest.java:74)at com.aws.greengrass.shadowmanager.sync.SyncHandler.lambda$new$0(SyncHandler.java:136)at com.aws.greengrass.util.RetryUtils.runWithRetry(RetryUtils.java:49)at com.aws.greengrass.shadowmanager.sync.SyncHandler.lambda$new$1(SyncHandler.java:134)at com.aws.greengrass.shadowmanager.sync.SyncHandler.syncLoop(SyncHandler.java:270)at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)at java.base/java.lang.Thread.run(Thread.java:829)2021-10-07T00:53:30.260Z [INFO] (pool-2-thread-26) com.aws.greengrass.shadowmanager.sync.model.LocalDeleteSyncRequest: Attempted to delete shadow that was already deleted. {thing name=smartdvr-1423019132001, shadow name=config1}software.amazon.awssdk.aws.greengrass.model.ResourceNotFoundError: No shadow foundat com.aws.greengrass.shadowmanager.ipc.DeleteThingShadowRequestHandler.lambda$handleRequest$0(DeleteThingShadowRequestHandler.java:106)at com.aws.greengrass.ipc.common.ExceptionUtil.translateExceptions(ExceptionUtil.java:33)at com.aws.greengrass.shadowmanager.ipc.DeleteThingShadowRequestHandler.handleRequest(DeleteThingShadowRequestHandler.java:87)at com.aws.greengrass.shadowmanager.sync.model.LocalDeleteSyncRequest.execute(LocalDeleteSyncRequest.java:74)at com.aws.greengrass.shadowmanager.sync.SyncHandler.lambda$new$0(SyncHandler.java:136)at com.aws.greengrass.util.RetryUtils.runWithRetry(RetryUtils.java:49)at com.aws.greengrass.shadowmanager.sync.SyncHandler.lambda$new$1(SyncHandler.java:134)at com.aws.greengrass.shadowmanager.sync.SyncHandler.syncLoop(SyncHandler.java:270)at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)at java.base/java.lang.Thread.run(Thread.java:829)Edited by: clogwog on Oct 6, 2021 5:55 PMFollowComment"

Answer: "0Hello,Thank you for your interested in Greengrass V2. For the first question of whether "you would need to use shadow manager to syncronise every config1 shadow for all my devices, do i need to list all my devices in the shadowDocuments?", the answer is yes. For the current version of Shadow manager you would need to provide the complete list of shadows that need to be synced in the synchronize configuration. That said, we are working on adding support for wild cards in the synchronize configuration so alleviate the issue you mentioned.For the issue you mentioned where the shadow is getting deleted, we are already aware of this issue and are working actively to resolve it. We plan to release have a patch release with that fix.Cheers,NikkhilCommentSharenikkhilatawsanswered 2 years ago0Thank you for that reply,will the wildcards be on the 'namedShadows' level or the 'thingName' levelIs there a bug ticket that i can follow for the deleting of the named shadow ?Also, once i have installed the shadow manager with the configuration, and i add the right configuration for the topics, can i list the named topics directly in my lambda usingimport greengrasssdkclient = greengrasssdk.client("iot-data")device = os.environ\['AWS_IOT_THING_NAME']the_shadow = client.get_thing_shadow(thingName = device, shadowName = "config1")or do i also need to add"accessControl": {"aws.greengrass.ShadowManager": {"mtdshadowconfiglambda-dev-sync_remote_config::1": {"policyDescription": "allow access to config# shadow","operations": ["aws.greengrass#GetThingShadow","aws.greengrass#UpdateThingShadow","aws.greengrass#ListNamedShadowsForThing"],"resources": ["$aws/things/thingName/shadow/name/config1"]}}}to the lambda confiuration ?I'm asking because even after all this i still get errors.:2021-10-07T06:20:14.502Z [ERROR] (nioEventLoopGroup-5-4) com.aws.greengrass.lambdamanager.LambdaRequestHandler: {}com.aws.greengrass.lambdamanager.LambdaNotFoundException: Lambda arn:aws:lambda:::function:GGShadowService does not existat com.aws.greengrass.lambdamanager.WorkManager.appendWorkToLambda(WorkManager.java:297)at com.aws.greengrass.lambdamanager.LambdaRequestHandler.handlePostWorkItem(LambdaRequestHandler.java:268)at com.aws.greengrass.lambdamanager.LambdaRequestHandler.channelRead(LambdaRequestHandler.java:113)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)at com.aws.greengrass.lambdamanager.lib.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)at com.aws.greengrass.lambdamanager.lib.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)at com.aws.greengrass.lambdamanager.lib.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581)at com.aws.greengrass.lambdamanager.lib.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)at com.aws.greengrass.lambdamanager.lib.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)at com.aws.greengrass.lambdamanager.lib.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)at com.aws.greengrass.lambdamanager.lib.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)at java.base/java.lang.Thread.run(Thread.java:829)==> mtdshadowconfiglambda-dev-sync_remote_config.log <==2021-10-07T06:20:14.508Z [ERROR] (pool-2-thread-91) mtdshadowconfiglambda-dev-sync_remote_config: ipc_client.py:64,HTTP Error 404:Not Found, b'Lambda arn:aws:lambda:::function:GGShadowService does not exist'. {serviceInstance=0, serviceName=mtdshadowconfiglambda-dev-sync_remote_config, currentState=RUNNING}2021-10-07T06:20:14.510Z [ERROR] (pool-2-thread-91) mtdshadowconfiglambda-dev-sync_remote_config: Lambda.py:149,HTTP Error 404: Not Found. {serviceInstance=0, serviceName=mtdshadowconfiglambda-dev-sync_remote_config, currentState=RUNNING}2021-10-07T06:20:14.510Z [ERROR] (pool-2-thread-91) mtdshadowconfiglambda-dev-sync_remote_config: Traceback (most recent call last):. {serviceInstance=0, serviceName=mtdshadowconfiglambda-dev-sync_remote_config, currentState=RUNNING}2021-10-07T06:20:14.510Z [ERROR] (pool-2-thread-91) mtdshadowconfiglambda-dev-sync_remote_config:   File "/runtime/python/greengrass_ipc_python_sdk/ipc_client.py", line 59, in wrapped. {serviceInstance=0, serviceName=mtdshadowconfiglambda-dev-sync_remote_config, currentState=RUNNING}2021-10-07T06:20:14.510Z [ERROR] (pool-2-thread-91) mtdshadowconfiglambda-dev-sync_remote_config:     return func(*args, **kwargs). {serviceInstance=0, serviceName=mtdshadowconfiglambda-dev-sync_remote_config, currentState=RUNNING}2021-10-07T06:20:14.510Z [ERROR] (pool-2-thread-91) mtdshadowconfiglambda-dev-sync_remote_config:   File "/runtime/python/greengrass_ipc_python_sdk/ipc_client.py", line 192, in post_work. {serviceInstance=0, serviceName=mtdshadowconfiglambda-dev-sync_remote_config, currentState=RUNNING}2021-10-07T06:20:14.510Z [ERROR] (pool-2-thread-91) mtdshadowconfiglambda-dev-sync_remote_config:     response = urlopen(request). {serviceInstance=0, serviceName=mtdshadowconfiglambda-dev-sync_remote_config, currentState=RUNNING}2021-10-07T06:20:14.510Z [ERROR] (pool-2-thread-91) mtdshadowconfiglambda-dev-sync_remote_config:   File "/usr/lib/python3.6/urllib/request.py", line 223, in urlopen. {serviceInstance=0, serviceName=mtdshadowconfiglambda-dev-sync_remote_config, currentState=RUNNING}2021-10-07T06:20:14.510Z [ERROR] (pool-2-thread-91) mtdshadowconfiglambda-dev-sync_remote_config:     return opener.open(url, data, timeout). {serviceInstance=0, serviceName=mtdshadowconfiglambda-dev-sync_remote_config, currentState=RUNNING}2021-10-07T06:20:14.511Z [ERROR] (pool-2-thread-91) mtdshadowconfiglambda-dev-sync_remote_config:   File "/usr/lib/python3.6/urllib/request.py", line 532, in open. {serviceInstance=0, serviceName=mtdshadowconfiglambda-dev-sync_remote_config, currentState=RUNNING}2021-10-07T06:20:14.511Z [ERROR] (pool-2-thread-91) mtdshadowconfiglambda-dev-sync_remote_config:     response = meth(req, response). {serviceInstance=0, serviceName=mtdshadowconfiglambda-dev-sync_remote_config, currentState=RUNNING}2021-10-07T06:20:14.511Z [ERROR] (pool-2-thread-91) mtdshadowconfiglambda-dev-sync_remote_config:   File "/usr/lib/python3.6/urllib/request.py", line 642, in http_response. {serviceInstance=0, serviceName=mtdshadowconfiglambda-dev-sync_remote_config, currentState=RUNNING}2021-10-07T06:20:14.511Z [ERROR] (pool-2-thread-91) mtdshadowconfiglambda-dev-sync_remote_config:     'http', request, response, code, msg, hdrs). {serviceInstance=0, serviceName=mtdshadowconfiglambda-dev-sync_remote_config, currentState=RUNNING}Is there a complete walkthrough for accessing the named shadows in greengrass v2 ?Edited by: clogwog on Oct 7, 2021 5:21 PMEdited by: clogwog on Oct 7, 2021 5:22 PMCommentShareclogwoganswered 2 years ago0The wildcard design has not been completely etched out yet. But we will keep this use case in mind when finalizing it.There is no ticket for the deleting shadow issue. But I have a PR out for that fix. Once that is merged in, we will plan to release a patch release for Shadow Manager. PR link -> https://github.com/aws-greengrass/aws-greengrass-shadow-manager/pull/96For the other question regarding, you seem to be using the GG v1 SDK. Currently, we do not support using the GG v1 SDK for shadow operation in GG v2. I would suggest using the GG v2 SDK to perform shadow operations in GG v2. We have a roadmap item to support GG v1 SDK for shadow in the future.Example code for the GG v2 SDK can be found here -> https://docs.aws.amazon.com/greengrass/v2/developerguide/ipc-local-shadows.htmlAlso, is there any reason you are using a lambda instead of a python script component in GG v2? We recommend using the native GG v2 component instead of a lambda.Cheers,NikkhilCommentSharenikkhilatawsanswered 2 years ago0Hello Nokkhill,thank you for that.I didn't realise i was using the V1 api instead of the v2. I've switched now and am reading up on the install lifecycle step to install  python3 -m pip install awsiotsdkUsing a lambda because that is what i am used to, but since you challenged it i will go to using a straight python script. not sure if it makes any difference , but it may be a bit easier.thank you for your help !! Also thank you for jumping on the deletion issue, much appreciated !!CommentShareclogwoganswered 2 years ago0Hi,I am also getting this error :Lambda arn:aws:lambda:::function:GGShadowService does not exist.Now, I have 2 questions :i) How can I perform Shadow operation in GGV2 ?ii) This document https://docs.aws.amazon.com/greengrass/v2/developerguide/ipc-local-shadows.html does not contain SDK for Nodejs and my entire code (of Lambda Component which runs on Thin Client on which GGV2 is installed) is in Nodejs. How can I proceed ?CommentSharerePost-User-8194111answered a year ago"


Question: Trouble sending approved promotional message through Amazon SNS in India

I have approved all the templates both transactional and promotional message thorugh Indian DOT. Transactional message are being send successfully but when I try to send message using Amazon console "publish text message" than it is not sending. It is saying "Phone carrier has blocked your message" while this is approved template with proper entitity id and template id. Please guide me how to resolve it.FollowComment

Answer: "0It sounds like you already registered your organization and templates with the Telecom Regulatory Authority of India (TRAI). However, you also have to register your entity and template IDs with AWS Support in order to be able to send messages. The Pinpoint documentation has more information. Even though these instructions are for Pinpoint, they apply equally to SMS messaging through SNS.Also, when you use the console to send messages, make sure that the console is set to use the same AWS Region that you specified when you registered your entity and template IDs with AWS Support.CommentShareEXPERTBrentAtAWSanswered 3 months ago"


Question: Ground truth labeling job - unable to submit annotations

"Hi,I've been experiencing this issue when I tried to submit a response on the worker portal. The browser kept popping up a message saying "something went wrong" and instructed me to refresh. However, nothing changed after refreshing. Does anyone know what might be causing this? Thanks!FollowComment"

Answer: 0The issue turned out to be that I used a template from Mturk and some of the crowd-form attributes were not compatible with sage makerCommentSharecchen1111answered 4 years ago


Question: How do I hide AWS Managed AD default users from Workspaces directory?

"I recently deployed Amazon workspaces and AWS Managed AD.How do I hide the default AD users (Administrator, Guest, krbtgt) objects from showing up in the Workspaces Directory user search?Thank you,Matt M.FollowComment"

Answer: "0CommentShareMatt Manswered 6 months ago0Hello Matt,Thank you for your query. Unfortunately there is no option to prevent the default AD users from appearing in the list. The API call will read and list all the users in the domain on the "Identify Users" page when creating Workspaces from the console.CommentShareMayank_Janswered 5 months ago"


Question: DMS Restart removes the delete markers. - how to handle in GLUE

"Our Transaction application has a hard delete implemented on MySQL DB on record inactivation scenarios . For the lakehouse , The RDS CDC is exported to S3 through DMS . The problem is , if the DMS is restarted for some reason , the Delete marker of the records get erased , causing orphan records and duplicates in the datalake.What is the best way to handle this scenario ? Should the glue job transforming data from S3 to the datalake handle such data ? Like a source to target comparison and discard records that are present in the Datalake but not in Source ?FollowComment"

Answer: "0To answer your question, we require details that are non-public information. Please open a support case with AWS using the following link:https://support.console.aws.amazon.com/support/home?#/case/createCommentShareSUPPORT ENGINEERAWS-User-5780258answered 8 months ago"