Question: Macbook Pro 14 and Workspaces full screen issue

"Hi, does anyone know of an existing issue with MBP14 M1Pro laptops and AWS Workspaces? If I do the AWS WS app to the full screen, I'm losing part of the upper menu - i.e. MS Outlook search bar not visible, Google Chrome, FF tabs above the address bar aren't visible. Is there a workaround to get rid of it? I already tried to set "scale to fit below built-in camera" - didn't help either.Thanks for thoughtsFollowComment"

Answer: "1This is due to the MacBook notch. The simple fix is to right-click Amazon Workspace in Applications, click Get Info, and then check the box for "Scale to fit below built-in camera".CommentShareJoseph Gruberanswered a year agoHector Luis 9 months agoTried checking the box for "Scale to fit below built-in camera"., and it still did not solve the problem.  Running MacOS Monterey 12.5, AWS Workspace Client 4.0.7.2248.  Workspace runs below the notch, but the Linux graphical menu system does not resize to the new size but rather the size with the notch.ShareAlexGD 6 months agoThank you this solve the problem. Open finder, go to folder applications, look for 'WorkSpaces' app. Close complete the current session and launch a new session.Share0Hi AZ,A few things you should check:Are you running the latest macOS client version 4.0.6? If not, download the latest version.Does this issue happen when you Exit Full Screen Mode on the WorkSpace Client?Is your WorkSpace running a Graphic Bundle? If so, Graphics bundles support only a single monitor configuration with a maximum resolution of 2560x1600.If your screen resolution in WorkSpaces is low and objects look blurry, you need to turn on high DPI mode and adjust the display scaling settings on your Mac. See WorkSpaces high DPI display support.CommentShareEXPERTDzung_Nanswered a year agoAZ a year agoHi Dzung,Yes, I'm running the latest available Workspaces client on macOS 12.2.1 (Macbook Pro 14 with M1 Pro CPU)This issue happens only when the Workspaces client is in full-screen mode (with or without an external monitor - same)No, my WorkSpace is not a Graphic BundleTried to enable DPI - no changesA couple of screenshots uploaded here - https://imgur.com/a/p8kB6inIn the screenshots, please take attention to Outlook's search bar - in the maximized Workspaces client, I can see a search bar in Outlook. If I do full screen - the search bar is "half cut" and not fully visible. The same applies to program buttons (minimize, maximize, close). If I do full screen of the WorkSpaces client, i.e. Google Chrome tabs are not visible at all.Share0I got this issue too. (MacBook Pro (16-inch, 2019)), v.12.3tried to delete the workspace and create new one, but it still exist.tried to login from other device (iMac), ther are no problem with the same login.seems to issue only persist at the MacBook Pro that I use. however, i delete the workspace app and re-install. it still doesn't help solve the problemCommentShareAWS-User-4159363answered a year ago"


Question: Train machine learning model using reserved instance

"Hi.Is it possible to train a machine learning model with SageMaker using a reserved instance that is already up and running instead of provisioning a new instance every time which is somewhat time consuming? I'm familiar with local mode, but I understand this is not supported when using AWS SageMaker machine learning estimators.Appreciate any suggestions for how to make the model training process in SageMaker go faster when using AWS SageMaker machine learning estimators.Thanks,StefanFollowComment"

Answer: "0Accepted AnswerAs of today, it's not possible to train a machine learning model with SageMaker using a reserved instance that is already up and running instead of provisioning a new instance. The service team is currently working on it, unfortunately I don't have an ETA as to when the feature will be released.Local Mode is supported for frameworks images (TensorFlow, MXNet, Chainer, PyTorch, and Scikit-Learn) and images you supply yourself.Using the SageMaker Python SDK — sagemaker 2.72.3 documentationIf you want to train Built-in algorithm models simply faster, you should check the recommendation in the SageMaker document.Example Blazingtext-instances, Deepar-instancesIf the algorithm supports it, one can also try using Pipe mode or FastFile mode. These offer some fast training job startup time. Accelerate-model-training-using-faster-pipe-mode-on-amazon-sagemakerCommentShareSUPPORT ENGINEERStewyn_Canswered a year agoAWS-User-2093412 a year agoThis is very helpful. Thanks for getting back to me.Regards,StefanShare"


Question: "How come when I add AdministratorAccess to a group, the user in the group  still didn't have full access until I attached AdministratorAccess to it directly?"

"How come when I add AdministratorAccess to a group, the user in the group  still didn't have full access until I attached AdministratorAccess to it directly?Hi everyone, I'm currently learning a course on Udemy called the AWS cloud practitioner. I don't have a technical background and time to time I'll questions that seem very basic but would appreciate any guidance from this community :)FollowComment"

Answer: "0Accepted AnswerIf you have an AdministratorAccess policy attached to a User Group then any User who is a member of that User Group will be using that policy, same as if the policy is attached directly to the User.  If you think that's the setup you have and it's not working, please double-check and make sure there aren't any Deny statements overriding access.CommentShareEXPERTskinsmananswered 4 months agoEXPERTTushar_Jreviewed 4 months agoKv3 4 months agoThank you for your help !Share"


Question: "AWS Redshift Serverless - How to flush cache to see cold execution time, please?"

"Hi! In Oracle I could issue  ALTER SYSTEM FLUSH SHARED_POOL;  command  to clear existing data and re-load fresh data. Is there an alternative for AWS Redshift and AWS Redshift Serverless? I searched but perhaps not using the right terminology.Many thanks in advance,MZFollowComment"

Answer: "2Accepted AnswerHello,In Redshift and Serverless, the cache can be cleared at database level using “alter database db_name result cache [on|off];” and the existing results will be flushed and can be verified by system tables:Redshift Provisioned : select userid, query, elapsed, source_query from svl_qlog where userid > 1 order by query desc;column source_query will have the query id of cached resultRedshift Serverless : select user_id, query_id, elapsed_time,result_cache_hit,query_text from SYS_QUERY_HISTORY where user_id > 1 order by start_time  desc;column result_cache_hit will be set to true/falseOnce you turned off the cache, it will flush all the cache and it won’t rebuild the cache until you set to on. Please note if you use the alter database command it won’t clear the cache at cluster level for provisioned and instance level for serverless.You can also enable and disable cache at session level. set enable_result_cache_for_session to [on|off];Reference:https://docs.aws.amazon.com/redshift/latest/dg/r_SVL_QLOG.htmlhttps://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_HISTORY.htmlhttps://docs.aws.amazon.com/redshift/latest/dg/r_enable_result_cache_for_session.htmlThanksCommentShareBharathanswered 5 months agoEXPERTFabrizio@AWSreviewed 5 months ago-1Saw this in a team i consulted with, Seems like you are very well to do , not to know the term vaccum ( kidding)In Amazon Redshift and Amazon Redshift Serverless, you can use the VACUUM command to reclaim space and sort rows in tables and materialized views. This can be useful for removing deleted rows and updating distribution statistics, which can help improve query performance.You can use the VACUUM command in the following ways:VACUUM DELETE ONLY: This option reclaims space from deleted rows only, without sorting rows or updating distribution statistics.VACUUM SORT ONLY: This option sorts rows only, without reclaiming space or updating distribution statistics.VACUUM FULL: This option reclaims space and sorts rows, and also updates distribution statistics. This is the most resource-intensive option and should be used with caution.VACUUM REINDEX: This option re-creates the sort keys and distribution keys for the table or materialized view, which can help improve query performance.*You can also use the ANALYZE command to update statistics for a table or materialized view, which can help improve query performance.Sample codeVACUUM FULL mytable;ANALYZE mytable;CommentShareSeanSianswered 5 months agoMZ 5 months agoThis is 100% irrelevant answer.Share"


Question: Load Balancer host based on User's CloudFront-Viewer-Country

"We have a Cloudfront distribution whose origin is set to an application load balancer(by default). We want to set this load balancer host based on user's CloudFront-Viewer-Country. Below is the lambda that we're using to do the redirectioneu_lb = "EU_LB_HOST"ap_lb = "AP_LB_HOST"def lambda_handler(event, context):request = event['Records'][0]['cf']['request']viewer_country = request['headers'].get('cloudfront-viewer-country')if viewer_country:    country_code = viewer_country[0]['value']    if country_code == 'GB' or country_code == 'DE' or country_code == 'IE':        domain_name = eu_lb        request['origin']['custom']['domainName'] = domain_name        request['headers']['host'] = [{'key': 'host', 'value': domain_name}]return requestThe issue is that we've setup a Route53 record to mask the url so let's say xyz.com is the url which points to Cloudfront host and from Cloudfront we want the request to go to load balancer but since there's a redirection at lambda@edge it changes the url to Load Balancer's host (xyz.com -> lb_host.com) We have some URL dependency at our code level which we cannot rectify as of now. Is there any way at Lambda@Edge level so that the URL doesn't change? Or is there any other solution to this?Kindly help us! Thanks in advance!FollowComment"

Answer: "0There is no redirection configured in your Lambda function - it's just changing the Origin and the host header used when CloudFront sends the request to the Origin. If the viewer is getting redirected to a different domain name, that must be happening somewhere else.CommentSharePaul_Lanswered 9 months ago"


Question: How do I get the incoming voice contact's number they dialed from amazon-connect-streams API?

"When we have multiple phone numbers that customers can reach us at, it's important for us to know which one they dialed. I can see that the incoming contact object shows their phone number and which queue they're coming from, but I need to know exactly what number they dialed to reach us.Update: Thanks to @dmacias for pointing me in the right direction. I should've mentioned that I've got a custom CCP and am using amazon-connect-streams JS API. From his link I found this article that seems to be what I need. It says, "You can use all user-defined attributes, in addition to the customer number and the dialed number, in the CCP using the Amazon Connect Streams JavaScript library." Unfortunately, I can't find anywhere in the streams API docs that mentions the dialed number and when I call contact.getAttributes() they're empty.FollowComment"

Answer: "1Accepted AnswerYou can use a set contact attributes block in your inbound flow to create a user-defined attribute, which will be available in your custom CCP when  you call getAttributes().Alternatively (or additionally), you could consider using a check contact attributes to branch on the dialed number, and set a contact attribute like DialedNumberDescription that you display in the CCP, so agents don't have to remember the mapping between dialed number and enquiry type.CommentSharelukwarneanswered 2 months agoEXPERTAWS-samfredreviewed 2 months ago1$.CustomerEndpoint.Address from https://docs.aws.amazon.com/connect/latest/adminguide/connect-attrib-list.htmlDavidCommentSharedmaciasanswered 2 months agosaavyone 2 months agoThis was helpful, thanks. I should've specified that I'm using amazon-connect-streams and have a custom CCP UI. I'll update my question accordingly.Share"


Question: "Attempting to use Sagemaker to generate pt file, I am given params file."

"When running the tutorial code at https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/semantic_segmentation_pascalvoc/semantic_segmentation_pascalvoc.html the model.tar.gz file that is generated contains three files:hyperparams.jsonmodel_algo-1model_best.paramsI assume that model_best.params is the model, but I have no familiarity with params files and am attempting to load the model locally for inference with PyTorch. I have no intentions of running inference in AWS, I intend to run inference locally on an NVIDIA Jetson device. Is there any way to make AWS Sagemaker generate a .pt file? Is there any way to convert a .params file to a .pt file? Is there any way for PyTorch to natively import a .params file? I am very new to AWS and am desperately attempting to train a deeplab image segmentation model that can be used for local PyTorch inference. Is this possible with AWS?FollowComment"

Answer: "0Hi, Yes the model_best.params is the model. As described in the AWS documentation, the semantic segmentation algorithm used by SageMaker is buit using the MXNet Gluon framework and the Gluon CV toolkit so I would recommend that you try using MXNet instead of pytorch to run inference locally as converting the MXNet model into a pytorch model can be very tedious. However if you prefer to stick with pytorch then I would suggest you use something like MMdnn and refer to this example for converting your model from MXNet to pytorch. Your results may vary when changing frameworks and MMdnn is not quite user friendly (you will need to rename your .params and .json file to be in a similar format as the example otherwise MMdnn will throw errors at you).CommentShareSUPPORT ENGINEERThayin_Manswered 6 months ago"


Question: How to create multiple sessions for NICE DCV?

"I have 15 users I need to create sessions for all of them. Sometimes session is being created sometimes its not, and moreover session randomly closes. How can I create sessions for all the users. I have tried creating sessions from root as well as userFollowComment"

Answer: "0Hi, thanks for posting your question.Could you please elaborate on your setup? Are you trying to create Linux virtual sessions?  What Linux distribution are you using?When sessions are not created, do you see any error? https://docs.aws.amazon.com/dcv/latest/adminguide/managing-sessions-start.htmlCommentShareAWS-Reyanswered 9 months ago"


Question: VAT ID number on previous invoices

"Hi,Ive just noticed that on my invoices there is no my VAT ID numer: PL6312671960. Ive just made a request to update my account to add this information. Now it is veryfied as I see in the service. However, is there any possibility to put this number on the previous invoices? Especially to those from November and December 2022 and January 2023?FollowComment"

Answer: "0It is possible to re-issue invoices with the new VAT number. However, note that this process might not be super straight-forward. That's mostly because editing/changing tax-related information on any official documents (such as invoices) might have serious implications if the right process is not followed.First thing you should do - open a support case from your account (if you have only one account - then open it from there... if you have Organization with multile accounts, then open a case from the Management Payer root account). Choose the billing category - the case will go to the relevant customer service team to handle your request.Generally, (on a high level) support team would have to "cancel" your old invoices. And then re-creating those invoices (with the same original cost) with the new invoice ID, but including your new VAT number.Though, it's possible that the total bill might differ from your original invoice, in case you had wrong address in the wrong country, and without a tax number set up on the account... If you updated correct VAT number, then the amount of tax that was originally charged on the invoice in this example might be different from the amount of tax you'll have on your updated invoice (the billing system wouldn't know that the tax charges are incorrect, if the account settings such as billing address are incorrect).CommentShareEXPERTNataliya_Ganswered 4 months ago"


Question: How to block all file types other than ZIP on an S3 Bucket

"Hi, I made a bucket on S3 that is connected to my website where users could upload ZIP files to the bucket.I already configured it on the server level to only enable uploading .zip but I also want to configure it on the S3 bucket level to ensure security.Any ideas what bucket policy do I need to enter to allow only .zip and reject everything else?FollowComment"

Answer: 2The following AWS Knowledge Center article may be helpful. [1][1] Restrict Amazon S3 bucket uploads to certain file typeshttps://aws.amazon.com/premiumsupport/knowledge-center/s3-allow-certain-file-types/?nc1=h_lsCommentSharemn87answered 8 months agoEXPERTToni_Sreviewed 8 months ago


Question: yum fails on ecs ami

"I have an instance on a public IP. This instance is running the latest ecs optimized AMI. The instance fails to run yum. It has the following error:Loaded plugins: priorities, update-motd, upgrade-helper  Could not retrieve mirrorlist http://repo.us-west-2.amazonaws.com/nightly/main/mirror.list error was  14: HTTP Error 403 - Forbidden  Even if I curl on my local computer at home:curl -sL http://repo.us-west-2.amazonaws.com/nightly/main/mirror.listFrom anywhere comes back as Forbidden. And yes, I can CURL https://www.google.com and ping 8.8.8.8 just fine on the instance itself. Just can't run yum to update and install packages.All my ec2 linux ami's are failing to buildFollowComment"

Answer: "0We have identified an issue in ECS optimized AMI: amzn-ami-2018.03.20191014-amazon-ecs-optimized, where calls for yum update will fail. We have fixed this issue and released new AMIs. Please update to the latest ECS optimized AMI: amzn-ami-2018.03.20191016-amazon-ecs-optimized.CommentShareSam-AWSanswered 4 years ago"


Question: ForbiddenException error when using the boto3 publish method with IoTDataPlane

"I'm attempting to publish to an IoT topic within a lambda using the publish method for the boto3 IoTDataPlane client. However when I invoke the lambda, I get the following exception:[ERROR] ClientError: An error occurred (ForbiddenException) when calling the Publish operation: NoneI have also added an AWS IoT policy to the lambda.Here's a snippet of the lambda:import boto3import jsonimport logginglogger = logging.getLogger(__name__)logger.setLevel("DEBUG")iot_client = boto3.client('iot', region_name='us-east-1')endpoint_response = iot_client.describe_endpoint(endpointType='iot:Data-ATS')endpoint_url = f"https://{endpoint_response['endpointAddress']}"logger.debug(endpoint_url)client = boto3.client('iot-data', region_name='us-east-1', endpoint_url=endpoint_url)def handler(event, context):    topic = "test/topic"    datum = json.dumps({"a": "b"})    logger.debug(datum)    response = client.publish(        topic=topic,        qos=0,        payload=datum,        retain=True    )    logger.debug(response)And this is the policy statement associated with the lambda:self._handler.add_to_role_policy(    iam.PolicyStatement(        actions=[            "iot-data:Publish",            "iot-data:Close",            "iot-data:AttachPolicy",            "iot-data:ListNamedShadowsForThing",            "iot:DescribeEndpoint"        ],        resources=[            "*"        ],    ))FollowComment"

Answer: "0Accepted AnswerHi. I can see why you might assume there is, but there's no iot-data service. You can replace all iot-data references in the policy with just iot. Then you'll be able to publish. BTW, there's no iot:Close action.Additionally (if the Lambda is in the same account and region as the IoT Core endpoint you want to use), you don't have to explicitly set the endpoint or the region so you could reduce the code down to something like:import boto3import jsonimport logginglogger = logging.getLogger(__name__)logger.setLevel("DEBUG")client = boto3.client('iot-data')def handler(event, context):    topic = "test/topic"    datum = json.dumps({"a": "b"})    logger.debug(datum)    response = client.publish(        topic=topic,        qos=0,        payload=datum,        retain=True    )    logger.debug(response)Then you could delete the DescribeEndpoint action from the policy too. And presently, you aren't using the ListNamedShadowsForThing or AttachPolicy actions so these could be deleted too (but you probably know that).CommentShareEXPERTGreg_Banswered 10 months agorePost-User-7586353 10 months agoThank you! That did the jobShare"


Question: How much for manual snapshot RDS?

"Hello everybody,Example:I have RDS MySQL allocate 20GB.I will need manually snapshot manual RDS 4 times / 1 month.Will the price of manual snapshot RDS be 20 * $0.095(Region Tokyo) for each time? Or manual snapshot RDS is 20 * $0.095(Region Tokyo) for the first time. Subsequence time, How much will I price pay?I have researched on document RDS Pricing but I don't understand it. Please help me explain the price of Manual snapshot RDS MySQL.Thank everybody.FollowComment"

Answer: "1Accepted AnswerHelloRDS snapshot will be taken based on the size of your database and not based on the total storage size of your database. First snapshot will be full backup and subsequent snapshot will be incremental.For example, if your database total storage size is 20 GB and you have the data of only 10 GB, first snapshot will be 10 GB and the next snapshot will be based on what changes occurred since last backup (it can be 1 GB/2GB/3GB, depends on the changes).Best regards,CommentShareVetrivelanswered 6 months ago1There is no additional charge for backup storage up to 100% of your total database storage for the region. In your case this means you get 20GiB/month of backup storage at no additional cost.Anything above this is charged at $0.095 per GiB/month. The size of these backups will vary depending on the storage usage, so there will be some variation each time you take the backup depending on the change rate and total storage consumed.Without knowing your storage consumption and change rate it's extremely difficult to provide an estimate of cost.CommentShareEXPERTAndrew_Ranswered 6 months agoEXPERTTushar_Jreviewed 6 months ago0Thank you so much Andrew_R and Vetrivel.CommentShareAWS-User-7754781answered 6 months ago"


Question: RDS Postgres engine upgraded to unsupported version 14.3

"A few days ago my company started upgrading  engine versions to our RDS postgres databases and version  14.3 was available as we looked both trough the UI and the CLI describe-db-engine-versions command.Today when we were accessing the RDS instance trough the graphical interface we noticed that almost no functionality was working properly. After some investigation we found out that version 14.3 was no longer available.Now we are stuck in a position where we cannot properly modify our instances anymore, restore or downgrade our database.What would be an advisable action plan to restore those databases to a supported engine version? They are not production databases, so downtime would not be a huge issue. Also, if this new version is soon to be released we could wait for a few days if that would auto solve our issuer.Follow up screen shots showing the current state our instances are in and the UI behavior when the database has an engine version that should not be available.Neither the DB Engine Version, DB Instance class and Storage Class allow any selection. Hindering the modify page in a broken state.FollowComment"

Answer: "0If you have a support agreement with AWS, your best course of action in something like this is to open a support case for advise, especially since you got into a state you shouldn't have been able to trigger.  Waiting for RDS Postgres engine 14.3 to be released may or may not help you given the undefined state you're in, and you have no way of knowing exactly that will happen. Aurora for Postgres supports 14.3 as of June 21st, in case you want to use that together with whatever glitch you hit as an indication, but you'll have to wait and see.If you have a pre-upgrade snapshot, I'd suggest you restore your database from that if that's an option in terms of the potential data loss.CommentSharestaringAWSanswered 10 months ago0We have reached to you on your registered email with guidance. Please feel free to correspond with us over email. We are happy to schedule a call and provide additional help if needed.CommentShareAWS-RDS-Product Manageranswered 10 months ago"


Question: WAF blocking file download from S3

"Hi Team,We are getting 403 error while downloading file from S3. Only one file having this issue, other files we are able to download.FIle name having special characters like spaces and , and # etcSample file name:new thing, some month (1) #.new.pdf.Will the WAF blocks file names like this. The file also contain certain words too. Please help here.Regards,Rajesh Khanna BFollowComment"

Answer: "0Hi!Assume S3 is the source of the error, then check for this (specially if the offending file is in a new bucket created recently):S3 Block Public Access settingsIf the failed request involves public access or public policies, then check the S3 Block Public Access settings on your account, bucket, or S3 access point. Starting in April 2023, all Block Public Access settings are enabled by default for new buckets.You can look up this article for more details:Troubleshoot Access Denied (403 Forbidden) errors in Amazon S3Does this help solve your issue?CommentShareAWS-User-5160897answered a month ago0You will not have waf in front of an s3 bucket unless your accessing the bucket via cloudfront.You would have to explain your setup if you this waf is included.However it sounds like a bucket policy could be the issue  here.CommentShareGary Mcleananswered a month ago0Hi,I understand you are getting 403 error while downloading file from S3.Lets start with troubleshooting options. Lets explore this two options to add CORS headers on WAF blocked responses:try using the feature of WAF - Custom Responses, where you can specify not only the error code to be returned but response headers too. So you can statically set CORS headers too. This approach won't be suitable though if you can't return static values in the cases where you want to honor multiple origin values and you can't return wildcard - *.Use CloudFront's custom error pages that would intercept 403 errors that WAF would generate. Then, define a cache behavior corresponding to that custom error page with Lambda@Edge function attached to Origin Request/Response trigger which would add CORS headers to the responseI hope this helps. Let me know if I answered your question by up voting my response as accepted or if you have any follow-up.Kind regards,AhmedReference:[1] https://docs.aws.amazon.com/waf/latest/developerguide/customizing-the-response-for-blocked-requests.html[2] https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/GeneratingCustomErrorResponses.htmlCommentSharerePost-User-5076019answered a month ago"


Question: software.amazon.awssdk.crt.mqtt.MqttException: TLS (SSL) negotiation failed

"I built an MQTT client in Java using Amazon's provided SDK (software.amazon.awssdk.crt.mqtt.MqttClientConnection, and related classes).I've been testing it by running it on my workstation, and it's been working fine.Today I tried running the same code on an EC2 instance, and got this exception. I can't figure out why.java.util.concurrent.ExecutionException: software.amazon.awssdk.crt.mqtt.MqttException: TLS (SSL) negotiation failedat java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1928)at cgp.aws.IOTSubscriber.<init>(IOTSubscriber.java:105)at cgp.Thing.main(Thing.java:23)Caused by: software.amazon.awssdk.crt.mqtt.MqttException: TLS (SSL) negotiation failedat software.amazon.awssdk.crt.mqtt.MqttClientConnection.onConnectionComplete(MqttClientConnection.java:139)FollowComment"

Answer: "0Hi Frank. Are you sure you're using the same device cert, same private key, same root CA, same endpoint and same client ID as what you used on your workstation?CommentShareEXPERTGreg_Banswered a year agoFrank a year agoYes, I double-checked all of those things. Could it be some sort of a permissions issue where the EC2 user doesn't have permission to open the required TCP ports?ShareGreg_B EXPERTa year agoTLS negotiation occurs after the TCP connection is established. So if the error can be taken it face value, it strongly suggests a problem with one of the certificates or with the private key. TLS handshake can also fail due to a timeout, but if your EC2 instance and IoT Core are in the same region, this should not be a factor. What timeout are you using?ShareFrank a year agoTen seconds, but the error appears much sooner than that. I'll check the certificates again. Maybe it's a permissions issue on the certificate files.ShareFrank a year agoI tried renaming my certificate and key files to see if this would produce a different error, and it did. So that tells me that Java is able to read the files. I also tried editing the files and changing one of the characters in the key or certificate itself, and this again produced a different error. So that tells me it's probably interpreting the key and certificate correctly.ShareFrank a year agoI also tried running the Java command as superuser, figuring the issue might be related to permissions, but that didn't help.ShareShow 1 more comment"


Question: Error message: Unsupported destination country

"I want to test sending SMS messages to the mobile phone number, so I need to add the mobile phone number to the sandbox first. When I used the Chinese mobile phone number to add it to the sandbox, the addition failed, and the error message was as follows:An error occurred while attempting to add a phone number to the SMS sandbox. The phone number was not added.Error code: InvalidParameter - Error message: Invalid parameter: Unsupported destination countryFollowComment"

Answer: "0To add Chinese number, you will first need to register SMS templates with AWS support and request for an approval. Once request is granted, you will be able to add Chinese number for your sandbox account.Please refer to the note section here: https://docs.aws.amazon.com/sns/latest/dg/sns-supported-regions-countries.html#sms-support-note-2CommentSharerePost-User-4180316answered a month ago"


Question: how to return a random ThingName in provision by claim

"Hello there AWS team!I'm currently doing provision by claim and it works correctly.The problem I'm facing is that I need to send a serialNumber from my device to AWS.I want to do the opposite: I need AWS to send me a random ThingName. Is this possible?The policy JSON I'm using is:{  "Parameters": {    "SerialNumber": {      "Type": "String"    },    "AWS::IoT::Certificate::Id": {      "Type": "String"    }  },  "Resources": {    "policy_esp32_fleet_policy": {      "Type": "AWS::IoT::Policy",      "Properties": {        "PolicyName": "esp32_fleet_policy"      }    },    "certificate": {      "Type": "AWS::IoT::Certificate",      "Properties": {        "CertificateId": {          "Ref": "AWS::IoT::Certificate::Id"        },        "Status": "Active"      }    },    "thing": {      "Type": "AWS::IoT::Thing",      "OverrideSettings": {        "AttributePayload": "MERGE",        "ThingGroups": "DO_NOTHING",        "ThingTypeName": "REPLACE"      },      "Properties": {        "AttributePayload": {},        "ThingGroups": [],        "ThingName": {          "Fn::Join": [            "",            [              "",              {                "Ref": "SerialNumber"              }            ]          ]        }      }    }  }}Thanks a lot in advance!FollowComment"

Answer: "0Hi - Thanks for checking. It would be great to know what is the requirement to return a random ThingName. A thing is a representation of a specific device or logical entity. It can be a physical device or sensor (for example, a light bulb or a switch on a wall). It can also be a logical entity like an instance of an application or physical entity that does not connect to AWS IoT but is related to other devices that do (for example, a car that has engine sensors or a control panel). The solution should enable each device (or Thing) to have a unique name (or ThingName) in the device registry and identified of what they are. So giving a proper name, or serial number or other identifier based on your organization is a best practice.The thingName is a required attribute which needs to be provided and you can't change a thing's name after you create it. To change a thing's name, you must create a new thing, give it the new name, and then delete the old thing.CommentShareEXPERTAWS-User-Nitinanswered 2 months ago"


Question: Is it possible to use Protocol Buffers with DynamoDB.

"Hi,I an trying to use Protocol Buffers in AWS lambda to generate java class and data object. how can I use Protocol Buffers generated data to store in dynamo DB, so that I can reduce the data size.FollowComment"

Answer: "2Your question is a little vague, are you asking how to store the protobuf data in DynamoDB? You can store binary data in DynamoDB using the Binary Data Type listed here.I've not used protobufs in Java, but I have in Node using the protobufjs NPM package. I am sure you can do likewise by adding a needed package to your pom file.CommentShareEXPERTLeeroy Hannigananswered a year ago1DynamoDB API only support JSON, hence to store binary data, that is your Protobuf encoded payload, you need to first convert it to Base64. https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html#Programming.LowLevelAPI.BinaryThe stored binary data occupies the raw byte length.https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/CapacityUnitCalculations.htmlYou can also handle binary data in Java using the Document API. https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/JavaDocumentAPIBinaryTypeExample.htmlCommentShareEXPERTMassimilianoAWSanswered a year ago"


Question: Per-Second Billing Clarification

"Hi All,I'm trying to estimate hosting costs for a high intensity, frequent, short burst application.I would like to know is if the per-second billing is calculated per-second with a minimum monthly or daily charge of 60 seconds, or calculated per-second with a minimum interval of 60 seconds.I.e. if the application uses all the system resources for 30 seconds every minute, will the charge be for the 30 seconds or for the 60 second period?Thanks in advance,StephenFollowComment"

Answer: "0Hi,Hopefully, I am following your question correctly. With ElasticBeanstalk you will be paying for the underlying EC2 and storage resources. For EC2 CPU utilization, it does not matter if you are running at capacity versus idle, you will still be paying the per second billing charges. There is no monthly minimum or daily charge. For example, if you have an EC2 instance running for 2 seconds at capacity, and the rest of the time the EC2 instance is idle for 1 hour, and the other EC2 instance, you have running at full capacity for 1 hour, you will still be charged the same amount.Perhaps, you were thinking about running your application in AWS Lambda? Then you only have to pay for the CPU that you use.  However, at some point there will be an inflection point where it will be cheaper with running with an EC2 instance if your application is running more often than being idle.Hope that helps,-randyCommentShareRandyTakeshitaanswered 4 years ago0Hi Randy,Thanks for the information, I think I might be getting confused with the wording on https://aws.amazon.com/ec2/pricing/on-demand/ : "With On-Demand instances, you pay for compute capacity by per hour or per second depending on which instances you run."i have just received this response from AWS Support, which supports per second billing of instances:"I have confirmed that EC2 usage is billed on one second increments, with a minimum of 60 seconds. I also found that it takes cost of unused minutes and seconds in an hour off of the bill, so you can focus on improving your applications instead of maximizing usage to the hour."Using the cost calculator ( https://calculator.s3.amazonaws.com/index.html ) a 50% utilization of an EC2 instance costs half that of a 100% utilization, this doesn't track with your example unless billing was calculated per hour.I guess the easiest way is going to be to launch it and see.Cheers,StephenEdited by: StephenWNZ on Sep 22, 2019 2:38 PMCommentShareStephenWNZanswered 4 years ago"


Question: Unprivileged root user

"Suddenly the root user no longer has privileges and we cannot perform any action within the console, not even create a ticket.How can we regain access?We don't have another user with root privileges.FollowComment"

Answer: "2Hi,I understand you would like to know why suddenly the root user no longer has privileges and cannot perform any action within the console.My understanding is that this is not a sign-in issue. First, lets start with troubleshooting issues with the root user. If you can't complete tasks when you are signed in as the root user for the account, confirm if your account might be a member of an organization in AWS Organizations. If so, and your organizational administrator used a service control policy (SCP) to limit the permissions of your account, then all users, including the root user, are affected.I hope this helps. Let me know if I answered your question by up voting my response as accepted or if you have any follow-up.Kind regards,AhmedReferences:[1] https://docs.aws.amazon.com/accounts/latest/reference/troubleshooting_root-user.html[2] https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.htmlCommentSharerePost-User-5076019answered a month agoEXPERTkentradreviewed a month ago"


Question: .id Domain Name Registration

"Hi Everyone,Can help with how .id domain name can become our official AWS partner in selling .id domain names?.id domain name currently has many international users, not only in Indonesia, this will be an excellent potential, Thank you.Best,Ferdi.FollowComment"

Answer: "0Registering domains with Route 53TLD registries have assigned special or premium prices to some domain names. You can't use Route 53 to register a domain that has a special or premium price. The TLDs that you can register with Route 53 are included in the following lists. If the TLD isn't included, you can't register the domain with Route 53.https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.htmlCommentShareEXPERTiBehranswered a month ago"


Question: Could you add any link or specific info how to use FPolicy on FSx for ONTAP officially supported?

"I checked the following info in Amazon FSx for NetApp ONTAP FAQs, but could not find how to use it.Could you check and update AWS Website? Other one, "vscan" is in the same situation as well.https://aws.amazon.com/fsx/netapp-ontap/faqs/?nc1=h_lsYou can then read that log file using applications such as Windows Event Viewer. Amazon FSx for NetApp ONTAP also fully supports ONTAP’s FPolicy feature, which you can use to monitor for file access events using AWS Partner solutions.FollowComment"

Answer: "0Amazon FSx for NetApp ONTAP is fully-featured NetApp ONTAP. As such, you can use the FPolicy documentation in the NetApp Documentation center to configure FPolicy for FSx for ONTAP:Determining and creating your FPolicy configurationvserver fpolicy commands for ONTAP 9.10.1 (FSx for ONTAP file systems are currently running version 9.10.1).CommentSharedcinglis-awsanswered a year agoYoshikiF a year agoThank you for the link.Where are they mentioned in AWS site? We need this link or guide in AWS website as a user.Share"


Question: not able to connect to EC2 instance

"HiI am not able to connect EC2 instance via EC2 connect as well as via SSH.for EC2 connect it is giving me error " Failed to connect to your instanceEC2 Instance Connect is unable to connect to your instance. Ensure your instance network settings are configured correctly for EC2 Instance Connect. For more information, see Set up EC2 Instance Connect at https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-set-up.html."and for SSH error is " connection timed out"I have checked everything, all looks good but not able to connect.Please help me out.FollowComment"

Answer: "0Please review the following documents.In particular, mistakes in security group or network ACL settings will result in timeout errors.https://repost.aws/knowledge-center/ec2-linux-resolve-ssh-connection-errorsCommentShareEXPERTRiku_Kobayashianswered 2 months ago"


Question: How to refresh dags quickly?

"Is the only way to modify a dag, or upload new dags, to update environment? This takes 15-30 minutes and is quite a long time to wait if nothing has changed otherwise.Thanks!Edited by: krisp on Dec 3, 2020 5:22 AMFollowComment"

Answer: "0Hi!DAGs synchronize automatically from the S3 you have selected.  You do not need to update the environment.  A new DAG should be recognized from your Airflow instance within a minute, updated DAGs should be recognized within 10 seconds or so.Please see https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html for more information.Regards,JohnCommentShareJohn_Janswered 2 years ago0Thank you!CommentSharekrispanswered 2 years ago"


Question: Unable to Connect to EC2 Instance and Ping Timeout

"I am unable to connect to my EC2 instance even though the instance status shows it is running. Ping also does not receive any response. There are no error messages or warnings. I have tried restarting the instance, but the issue persists. I am receiving the error message "Failed to connect to your instance. Error establishing SSH connection to your instance. Try again later."FollowComment"

Answer: "0do this stepson ec2:check the security group associated with the instance is listening SSH and ICMPcheck if the instance is in a public subnet, otherwise you won't be able to connectcheck if the instance has a public IP associated or an Elastic IPon VPC:Check the public subnet has an Internet Gateway attached, and the routing table is well configuredCheck the VPC Network ACL and look if you have anyone denying traffic to the subnetprobably with this steps you will be able to identify the issue and fix itCommentShareEXPERTDamian Olguinanswered 15 days agoEXPERTRiku_Kobayashireviewed 15 days agoEXPERTkentradreviewed 15 days ago"


Question: Killed the wrong process.  Now I can't boot my environment.

"Hello,When trying to run "rails test", I was getting an error, "Listen error: unable to monitor directories for changes."  The top answer on StackOverflow directed me to fix this error by killing some of my processes.  So I tried killing some processes under the Tools menu.  Apparently, I killed the wrong ones.  Now, when trying to load my environment, the program spins indefinitely and gives the message, "This is taking longer than expected. It might be caused by VPC configuration issues."How can I get back to working on my app?FollowComment"

Answer: 0Hello!You can try to reboot corresponding EC2 instance (it has environment name in it) in AWS EC2 console.It might help to resolve your issue.CommentShareanester-awsanswered 4 years ago0That did the trick.  Thank you!CommentShareMrZivkovicanswered 4 years ago


Question: SCIM Automatic Provisioning

"I followed this procedure, but I wasnt able to find the option of Automatic Provisioning, where can I find it?In Step 3, it says for an Information Box which is also not available on IAM Console.FollowComment"

Answer: 0Is there a Manage provisioning item on the Identity source tab in Settings page?CommentSharehayao-kanswered 2 months ago


Question: Setting up imap and smtp on iOS Apple Mail

"Greetings,Can I use imap and smtp instead of exchange with iOS Apple Mail?  If so, please link to the instructions.ThanksFollowComment"


Question: The is no AWSAppSync module error in generated API.swift iOS

"We are using Amplify-swift framework for auth, also added API plugin. So we could add the Api to our amplify project in backend using codegen. when done with codegen an API.swift file is generated, which includes #import AWSAppSync.It seems that there is no AWSAppSync framework in Amplify . I see that some suggested to uses aws-mobile-appsync-sdk-ios framework.But if I try to include this package using SPM we get resolution failure error.We want to use both Auth from amplify framework as it is already setup in our project and API Appsync. How to solve this issue?FollowComment"

Answer: "0The API.swift file is generated,→ During $. amplify push operation, when we answer: “Yes" to the CLI question: "Do you want to generate code for your newly created GraphQL API"or→ If you imported an existing API: running various amplify codegen flows after adding your API.AmplifyModels.swiftThe AmplifyModels.swift file and the associated model and schema files are are used by Amplify API and DataStore.This file is generated, when you run amplify codegen models and the Amplify CLI writes them to the amplify/generated/models.If you are using Amplify API or DataStore, you can answer "No" to the CLI question "Do you want to generate code for your newly created GraphQL API" and it will not generate the API.swift file. As you note, you can also simply remove it and it will not affect anything in your Amplify app.Please refer to the below Github issues:[+] https://github.com/aws-amplify/docs/issues/2768#issuecomment-743315401[+] https://github.com/aws-amplify/amplify-codegen/issues/505#issuecomment-1297309379Now, if you would like to use API Appsync, you need to add the dependency as mentioned here:[+] https://github.com/awslabs/aws-mobile-appsync-sdk-ios#installing-the-sdk[+] https://github.com/aws-amplify/amplify-codegen/issues/505#issuecomment-1319000253Thanks!CommentShareSUPPORT ENGINEERrePost-User-4843893answered 12 days agorePost-User-2227556 11 days agoThank you for the response. Just to clarify from your comment.It means we can't use the auto-generated API.swift/AmplifyModels.swift alongside with amplify.My scenario is that we have already created an API with all the schemas, queries etc  in backend.So I was looking for option  similar to the one available with auth i.e."amplify import auth".  But it seems the only way to configure amplify with the existing API is through "amplify codegen". And this will auto-generate the model swift file based on the existing schema , queries etc.But this auto-generated file cannot be used alongside amplify as it uses AWSAppSync framework which is available only as separate package and cannot be included along with amplify framework.So as you mentioned we can remove this auto-generated file from the project and it will build. This is fine. But in that case what is the way to make a queries/update backend to API using Amplify?There are some examples shown in the amplify document for API, but it seems not sufficient and clear, it describes solely with respect to new schemas that are created via "amplify add api" and is operated on this data.So is there any iOS sample that uses pure amplify to make queries and retrieve data and also update the data to backend to the schemas that is created the way that I had explained above (i.e. by "amplify codegen"). If you can provide this it will be of great help.Share"


Question: Greengrass V2 S3 export problem

"Hi,I'm trying to develop a component that will be exporting media files from IoT device (nvidia jetson nano). I wanted to start with a simple example provided in this repo: https://github.com/aws-greengrass/aws-greengrass-stream-manager-sdk-python/blob/main/samples/stream_manager_s3.pyI basically copy/pasted this example with one change. I had to configure stream manager client to connect to different port that default one (8099) because 8088 is already taken. The change looks like this:client = StreamManagerClient(port=8099)Everything else looks the same as in the example. The issue I'm having is that the code is not able to read the status messages. I'm getting this in the logs:2021-01-08T16:25:20.633Z [INFO] (pool-2-thread-35) media_exporter: shell-runner-start. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=STARTING, command=["python3 /home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/ex..."]}2021-01-08T16:25:21.199Z [WARN] (Copier) media_exporter: stderr. INFO:root:Successfully appended S3 Task Definition to stream with sequence number 0. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.211Z [WARN] (Copier) media_exporter: stderr. ERROR:root:Exception while running. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.211Z [WARN] (Copier) media_exporter: stderr. Traceback (most recent call last):. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.211Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/exporter.py", line 89, in main. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.211Z [WARN] (Copier) media_exporter: stderr. status_stream_name, ReadMessagesOptions(min_message_count=1, read_timeout_millis=5000). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.211Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/streammanagerclient.py", line 460, in read_messages. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.211Z [WARN] (Copier) media_exporter: stderr. return UtilInternal.sync(self._read_messages(stream_name, options), loop=self.__loop). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.211Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/utilinternal.py", line 39, in sync. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. return asyncio.run_coroutine_threadsafe(coro, loop=loop).result(). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. File "/usr/lib/python3.7/concurrent/futures/_base.py", line 435, in result. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. return self.__get_result(). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. File "/usr/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. raise self._exception. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/streammanagerclient.py", line 415, in _read_messages. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. UtilInternal.raise_on_error_response(read_messages_response). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/utilinternal.py", line 202, in raise_on_error_response. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. raise NotEnoughMessagesException(response.error_message, response.status, response.request_id). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. stream_manager.exceptions.NotEnoughMessagesException: not enough messages to return before time out. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}I understand the error (not enough messages to return before time out.) but why this is happening?At the end the files are being exported but this read status part it's not working at all.Here is the snippet of the code that creates the streams:Try deleting the status stream (if it exists) so that we have a fresh start    try:          client.delete_message_stream(stream_name=status_stream_name)      except ResourceNotFoundException:          pass      # Try deleting the stream (if it exists) so that we have a fresh start      try:          client.delete_message_stream(stream_name=stream_name)      except ResourceNotFoundException:          pass      exports = ExportDefinition(          s3_task_executor=\[              S3ExportTaskExecutorConfig(                  identifier="S3TaskExecutor" + stream_name,  # Required                  # Optional. Add an export status stream to add statuses for all S3 upload tasks.                  status_config=StatusConfig(                      status_level=StatusLevel.INFO,  # Default is INFO level statuses.                      # Status Stream should be created before specifying in S3 Export Config.                      status_stream_name=status_stream_name,                  ),              )          ]      )            # Create the Status Stream.      client.create_message_stream(          MessageStreamDefinition(name=status_stream_name, strategy_on_full=StrategyOnFull.OverwriteOldestData)      )      # Create the message stream with the S3 Export definition.      client.create_message_stream(          MessageStreamDefinition(              name=stream_name,               strategy_on_full=StrategyOnFull.OverwriteOldestData,               export_definition=exports          )      )      # Append a S3 Task definition and print the sequence number      s3_export_task_definition = S3ExportTaskDefinition(input_url=file_url, bucket=bucket_name, key=key_name)      logger.info(          "Successfully appended S3 Task Definition to stream with sequence number %d",          client.append_message(stream_name, Util.validate_and_serialize_to_json_bytes(s3_export_task_definition)),      )FollowComment"

Answer: "0Hi szymon888,The error seems to be coming from: https://github.com/aws-greengrass/aws-greengrass-stream-manager-sdk-python/blob/main/samples/stream_manager_s3.py#L115The way I see it is this error should be harmless. The status is not immediately appear in the status stream and hence NotEnoughMessagesException is expected. But the status should eventually appear.So:Can you include the complete logs? I hope to see the log string "Successfully uploaded file at path" in the logs.Also to further debug, please include the GG V2 logs. You can find them here: /greengrass/v2/logsCommentSharesushantAtAWSanswered 2 years ago0Hi,Exactly. I know that the error comes from thehttps://github.com/aws-greengrass/aws-greengrass-stream-manager-sdk-python/blob/main/samples/stream_manager_s3.py#L115The exception is thrown and is caught by except StreamManagerException:The problem is that the status never appear in the status stream.Here are the logs:2021-01-08T16:25:20.633Z [INFO] (pool-2-thread-35) media_exporter: shell-runner-start. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=STARTING, command=["python3 /home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/ex..."]}2021-01-08T16:25:21.199Z [WARN] (Copier) media_exporter: stderr. INFO:root:Successfully appended S3 Task Definition to stream with sequence number 0. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.211Z [WARN] (Copier) media_exporter: stderr. ERROR:root:Exception while running. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.211Z [WARN] (Copier) media_exporter: stderr. Traceback (most recent call last):. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.211Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/exporter.py", line 89, in main. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.211Z [WARN] (Copier) media_exporter: stderr. status_stream_name, ReadMessagesOptions(min_message_count=1, read_timeout_millis=5000). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.211Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/streammanagerclient.py", line 460, in read_messages. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.211Z [WARN] (Copier) media_exporter: stderr. return UtilInternal.sync(self._read_messages(stream_name, options), loop=self.__loop). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.211Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/utilinternal.py", line 39, in sync. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. return asyncio.run_coroutine_threadsafe(coro, loop=loop).result(). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. File "/usr/lib/python3.7/concurrent/futures/_base.py", line 435, in result. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. return self.__get_result(). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. File "/usr/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. raise self._exception. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/streammanagerclient.py", line 415, in _read_messages. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. UtilInternal.raise_on_error_response(read_messages_response). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/utilinternal.py", line 202, in raise_on_error_response. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. raise NotEnoughMessagesException(response.error_message, response.status, response.request_id). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:26.212Z [WARN] (Copier) media_exporter: stderr. stream_manager.exceptions.NotEnoughMessagesException: not enough messages to return before time out. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:31.218Z [WARN] (Copier) media_exporter: stderr. ERROR:root:Exception while running. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:31.218Z [WARN] (Copier) media_exporter: stderr. Traceback (most recent call last):. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:31.218Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/exporter.py", line 89, in main. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:31.218Z [WARN] (Copier) media_exporter: stderr. status_stream_name, ReadMessagesOptions(min_message_count=1, read_timeout_millis=5000). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:31.218Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/streammanagerclient.py", line 460, in read_messages. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:31.218Z [WARN] (Copier) media_exporter: stderr. return UtilInternal.sync(self._read_messages(stream_name, options), loop=self.__loop). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:31.219Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/utilinternal.py", line 39, in sync. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:31.219Z [WARN] (Copier) media_exporter: stderr. return asyncio.run_coroutine_threadsafe(coro, loop=loop).result(). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:31.219Z [WARN] (Copier) media_exporter: stderr. File "/usr/lib/python3.7/concurrent/futures/_base.py", line 435, in result. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:31.219Z [WARN] (Copier) media_exporter: stderr. return self.__get_result(). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:31.219Z [WARN] (Copier) media_exporter: stderr. File "/usr/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:31.219Z [WARN] (Copier) media_exporter: stderr. raise self._exception. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:31.219Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/streammanagerclient.py", line 415, in _read_messages. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:31.219Z [WARN] (Copier) media_exporter: stderr. UtilInternal.raise_on_error_response(read_messages_response). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:31.220Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/utilinternal.py", line 202, in raise_on_error_response. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:31.220Z [WARN] (Copier) media_exporter: stderr. raise NotEnoughMessagesException(response.error_message, response.status, response.request_id). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:31.220Z [WARN] (Copier) media_exporter: stderr. stream_manager.exceptions.NotEnoughMessagesException: not enough messages to return before time out. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:36.225Z [WARN] (Copier) media_exporter: stderr. ERROR:root:Exception while running. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:36.225Z [WARN] (Copier) media_exporter: stderr. Traceback (most recent call last):. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:36.225Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/exporter.py", line 89, in main. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:36.225Z [WARN] (Copier) media_exporter: stderr. status_stream_name, ReadMessagesOptions(min_message_count=1, read_timeout_millis=5000). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:36.225Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/streammanagerclient.py", line 460, in read_messages. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:36.225Z [WARN] (Copier) media_exporter: stderr. return UtilInternal.sync(self._read_messages(stream_name, options), loop=self.__loop). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:36.225Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/utilinternal.py", line 39, in sync. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:36.226Z [WARN] (Copier) media_exporter: stderr. return asyncio.run_coroutine_threadsafe(coro, loop=loop).result(). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:36.226Z [WARN] (Copier) media_exporter: stderr. File "/usr/lib/python3.7/concurrent/futures/_base.py", line 435, in result. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:36.226Z [WARN] (Copier) media_exporter: stderr. return self.__get_result(). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:36.226Z [WARN] (Copier) media_exporter: stderr. File "/usr/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:36.226Z [WARN] (Copier) media_exporter: stderr. raise self._exception. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:36.226Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/streammanagerclient.py", line 415, in _read_messages. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:36.226Z [WARN] (Copier) media_exporter: stderr. UtilInternal.raise_on_error_response(read_messages_response). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:36.226Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/utilinternal.py", line 202, in raise_on_error_response. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:36.226Z [WARN] (Copier) media_exporter: stderr. raise NotEnoughMessagesException(response.error_message, response.status, response.request_id). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:36.226Z [WARN] (Copier) media_exporter: stderr. stream_manager.exceptions.NotEnoughMessagesException: not enough messages to return before time out. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.233Z [WARN] (Copier) media_exporter: stderr. ERROR:root:Exception while running. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.233Z [WARN] (Copier) media_exporter: stderr. Traceback (most recent call last):. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.233Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/exporter.py", line 89, in main. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.233Z [WARN] (Copier) media_exporter: stderr. status_stream_name, ReadMessagesOptions(min_message_count=1, read_timeout_millis=5000). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.233Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/streammanagerclient.py", line 460, in read_messages. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.233Z [WARN] (Copier) media_exporter: stderr. return UtilInternal.sync(self._read_messages(stream_name, options), loop=self.__loop). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.233Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/utilinternal.py", line 39, in sync. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.233Z [WARN] (Copier) media_exporter: stderr. return asyncio.run_coroutine_threadsafe(coro, loop=loop).result(). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.234Z [WARN] (Copier) media_exporter: stderr. File "/usr/lib/python3.7/concurrent/futures/_base.py", line 435, in result. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.234Z [WARN] (Copier) media_exporter: stderr. return self.__get_result(). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.234Z [WARN] (Copier) media_exporter: stderr. File "/usr/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.234Z [WARN] (Copier) media_exporter: stderr. raise self._exception. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.234Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/streammanagerclient.py", line 415, in _read_messages. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.234Z [WARN] (Copier) media_exporter: stderr. UtilInternal.raise_on_error_response(read_messages_response). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.234Z [WARN] (Copier) media_exporter: stderr. File "/home/greengrass/packages/artifacts-unarchived/media_exporter/1.6.0/exporter/stream_manager/utilinternal.py", line 202, in raise_on_error_response. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.235Z [WARN] (Copier) media_exporter: stderr. raise NotEnoughMessagesException(response.error_message, response.status, response.request_id). {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.235Z [WARN] (Copier) media_exporter: stderr. stream_manager.exceptions.NotEnoughMessagesException: not enough messages to return before time out. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:41.240Z [WARN] (Copier) media_exporter: stderr. INFO:root:Successfully uploaded file at path file:/home/recordings/35513fae-4e82-4282-b17d-2c95a952a1f4/2020-12-10/23-58.mp4 to S3.. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}And a GGC logs from that time:2021-01-08T16:25:12.607Z [INFO] (Serialized listener processor) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-config-change. Requesting restart for component. {configNode=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=FINISHED}2021-01-08T16:25:12.607Z [INFO] (Serialized listener processor) com.aws.greengrass.lifecyclemanager.GenericExternalService: Waiting for the desired state list. {serviceName=media_exporter, currentState=FINISHED}2021-01-08T16:25:12.607Z [INFO] (media_exporter-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-report-state. {serviceName=media_exporter, currentState=FINISHED, newState=INSTALLED}2021-01-08T16:25:12.607Z [INFO] (media_exporter-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=media_exporter, currentState=FINISHED, newState=INSTALLED}2021-01-08T16:25:12.608Z [INFO] (media_exporter-lifecycle) com.aws.greengrass.config.Configuration: Configuration currently updating, will wait for the update to complete.. {}2021-01-08T16:25:12.616Z [INFO] (Serialized listener processor) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-config-change. Requesting reinstallation for component. {configNode=services.media_exporter.version, serviceName=media_exporter, currentState=INSTALLED}2021-01-08T16:25:20.588Z [INFO] (Serialized listener processor) com.aws.greengrass.componentmanager.GreengrassComponentServiceClientFactory: initialize-greengrass-client. {service-region=eu-central-1, service-endpoint=https://greengrass-ats.iot.eu-central-1.amazonaws.com:8443}2021-01-08T16:25:20.622Z [INFO] (media_exporter-lifecycle) com.aws.greengrass.config.Configuration: Config update finished.. {}2021-01-08T16:25:20.623Z [INFO] (media_exporter-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-report-state. {serviceName=media_exporter, currentState=INSTALLED, newState=NEW}2021-01-08T16:25:20.623Z [INFO] (media_exporter-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=media_exporter, currentState=INSTALLED, newState=NEW}2021-01-08T16:25:20.623Z [INFO] (aws.greengrass.Cli-lifecycle) com.aws.greengrass.config.Configuration: Config update finished.. {}2021-01-08T16:25:20.623Z [INFO] (media_exporter-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-report-state. {serviceName=media_exporter, currentState=NEW, newState=INSTALLED}2021-01-08T16:25:20.623Z [INFO] (media_exporter-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=media_exporter, currentState=NEW, newState=INSTALLED}2021-01-08T16:25:20.624Z [INFO] (pool-2-thread-35) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-awaiting-start. waiting for dependencies to start. {serviceName=media_exporter, currentState=INSTALLED}2021-01-08T16:25:20.624Z [INFO] (pool-2-thread-35) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-starting. {serviceName=media_exporter, currentState=INSTALLED}2021-01-08T16:25:20.624Z [INFO] (pool-2-thread-35) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-report-state. {serviceName=media_exporter, currentState=INSTALLED, newState=STARTING}2021-01-08T16:25:20.625Z [INFO] (media_exporter-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=media_exporter, currentState=INSTALLED, newState=STARTING}2021-01-08T16:25:20.625Z [INFO] (pool-2-thread-34) com.aws.greengrass.cli.CLIService: Set up symlink to CLI binary. {binary=/home/greengrass/packages/artifacts-unarchived/aws.greengrass.Cli/2.0.3/aws.greengrass.cli.client/cliclient-1.0-SNAPSHOT/bin/greengrass-cli, link=/home/greengrass/bin/greengrass-cli, serviceName=aws.greengrass.Cli, currentState=NEW}2021-01-08T16:25:20.625Z [INFO] (aws.greengrass.Cli-lifecycle) com.aws.greengrass.cli.CLIService: service-report-state. {serviceName=aws.greengrass.Cli, currentState=NEW, newState=INSTALLED}2021-01-08T16:25:20.625Z [INFO] (aws.greengrass.Cli-lifecycle) com.aws.greengrass.cli.CLIService: service-set-state. {serviceName=aws.greengrass.Cli, currentState=NEW, newState=INSTALLED}2021-01-08T16:25:20.626Z [INFO] (pool-2-thread-34) com.aws.greengrass.cli.CLIService: service-awaiting-start. waiting for dependencies to start. {serviceName=aws.greengrass.Cli, currentState=INSTALLED}2021-01-08T16:25:20.626Z [INFO] (pool-2-thread-34) com.aws.greengrass.cli.CLIService: service-starting. {serviceName=aws.greengrass.Cli, currentState=INSTALLED}2021-01-08T16:25:20.626Z [INFO] (pool-2-thread-34) com.aws.greengrass.cli.CLIService: service-report-state. {serviceName=aws.greengrass.Cli, currentState=INSTALLED, newState=STARTING}2021-01-08T16:25:20.627Z [INFO] (aws.greengrass.Cli-lifecycle) com.aws.greengrass.cli.CLIService: service-set-state. {serviceName=aws.greengrass.Cli, currentState=INSTALLED, newState=STARTING}2021-01-08T16:25:20.628Z [INFO] (pool-2-thread-34) com.aws.greengrass.cli.CLIService: Auth tokens have been revoked. {serviceName=aws.greengrass.Cli, currentState=STARTING}2021-01-08T16:25:20.629Z [INFO] (pool-2-thread-34) com.aws.greengrass.cli.CLIService: service-report-state. {serviceName=aws.greengrass.Cli, currentState=STARTING, newState=RUNNING}2021-01-08T16:25:20.629Z [INFO] (aws.greengrass.Cli-lifecycle) com.aws.greengrass.cli.CLIService: service-set-state. {serviceName=aws.greengrass.Cli, currentState=STARTING, newState=RUNNING}2021-01-08T16:25:20.650Z [INFO] (pool-2-thread-35) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-report-state. {serviceName=media_exporter, currentState=STARTING, newState=RUNNING}2021-01-08T16:25:20.650Z [INFO] (media_exporter-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=media_exporter, currentState=STARTING, newState=RUNNING}2021-01-08T16:25:21.488Z [INFO] (pool-2-thread-35) com.aws.greengrass.tes.CredentialRequestHandler: Received IAM credentials that will be cached until 2021-01-08T17:20:21Z. {iotCredentialsPath=/role-aliases/GreengrassV2TokenExchangeRoleAlias/credentials}2021-01-08T16:25:21.624Z [INFO] (pool-2-thread-33) com.aws.greengrass.deployment.DeploymentConfigMerger: merge-config. Removing services. {service-to-remove=[]}2021-01-08T16:25:21.624Z [INFO] (pool-2-thread-33) com.aws.greengrass.deployment.activator.DeploymentActivator: merge-config. All services updated. {deploymentId=arn:aws:greengrass:eu-central-1:494176211087:configuration:thinggroup/safeway-stg:7}2021-01-08T16:25:21.624Z [INFO] (pool-2-thread-33) com.aws.greengrass.lifecyclemanager.UpdateSystemPolicyService: service-update-finish. {serviceName=UpdateSystemPolicyService, currentState=RUNNING}2021-01-08T16:25:21.624Z [INFO] (pool-2-thread-32) com.aws.greengrass.deployment.DeploymentService: deployment-task-execution. Finished deployment task. {deploymentId=arn:aws:greengrass:eu-central-1:494176211087:configuration:thinggroup/safeway-stg:7, serviceName=DeploymentService, currentState=RUNNING}2021-01-08T16:25:33.842Z [INFO] (pool-2-thread-14) com.aws.greengrass.deployment.DeploymentService: Current deployment finished. {DeploymentId=8e060f8e-4c58-494f-846e-c0d6801531a1, serviceName=DeploymentService, currentState=RUNNING}2021-01-08T16:25:33.919Z [INFO] (pool-2-thread-14) com.aws.greengrass.deployment.IotJobsHelper: Updating status of persisted deployment. {Status=SUCCEEDED, StatusDetails={detailed-deployment-status=SUCCESSFUL}, ThingName=nano-core-V3, JobId=8e060f8e-4c58-494f-846e-c0d6801531a1}2021-01-08T16:25:38.771Z [INFO] (Thread-10) com.aws.greengrass.deployment.IotJobsHelper: Job status update was accepted. {Status=SUCCEEDED, ThingName=nano-core-V3, JobId=8e060f8e-4c58-494f-846e-c0d6801531a1}2021-01-08T16:25:38.885Z [INFO] (pool-2-thread-14) com.aws.greengrass.status.FleetStatusService: fss-status-update-published. Status update published to FSS. {serviceName=FleetStatusService, currentState=RUNNING}2021-01-08T16:25:38.885Z [INFO] (pool-2-thread-14) com.aws.greengrass.deployment.DeploymentDirectoryManager: Persist link to last deployment. {link=/home/greengrass/deployments/previous-success}2021-01-08T16:25:38.885Z [INFO] (pool-2-thread-14) com.aws.greengrass.deployment.DeploymentDirectoryManager: Clean up link to earlier deployment. {link=/home/greengrass/deployments/previous-success}2021-01-08T16:25:39.843Z [INFO] (Thread-10) com.aws.greengrass.deployment.IotJobsHelper: Received empty jobs in notification . {ThingName=nano-core-V3}2021-01-08T16:25:42.290Z [INFO] (Copier) com.aws.greengrass.lifecyclemanager.GenericExternalService: Run script exited. {exitCode=0, serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:42.291Z [INFO] (Copier) com.aws.greengrass.lifecyclemanager.GenericExternalService: generic-service-stopping. Service finished running. {serviceName=media_exporter, currentState=RUNNING}2021-01-08T16:25:42.291Z [INFO] (media_exporter-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-report-state. {serviceName=media_exporter, currentState=RUNNING, newState=STOPPING}2021-01-08T16:25:42.292Z [INFO] (media_exporter-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=media_exporter, currentState=RUNNING, newState=STOPPING}2021-01-08T16:25:42.292Z [INFO] (pool-2-thread-32) com.aws.greengrass.lifecyclemanager.GenericExternalService: Shutdown initiated. {serviceName=media_exporter, currentState=STOPPING}2021-01-08T16:25:42.292Z [INFO] (pool-2-thread-32) com.aws.greengrass.lifecyclemanager.GenericExternalService: generic-service-shutdown. {serviceName=media_exporter, currentState=STOPPING}2021-01-08T16:25:42.292Z [INFO] (media_exporter-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-report-state. {serviceName=media_exporter, currentState=STOPPING, newState=FINISHED}2021-01-08T16:25:42.293Z [INFO] (media_exporter-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=media_exporter, currentState=STOPPING, newState=FINISHED}CommentShareszymon888answered 2 years ago0Hi szymon888,It looks like the upload status is put into the status stream and read by your code successfully, as shown by the log line:"2021-01-08T16:25:41.240Z https://forums.aws.amazon.com/ (Copier) media_exporter: stderr. INFO:root:Successfully uploaded file at path file:/home/recordings/35513fae-4e82-4282-b17d-2c95a952a1f4/2020-12-10/23-58.mp4 to S3.. {scriptName=services.media_exporter.lifecycle.Run, serviceName=media_exporter, currentState=RUNNING}"The error you saw is because it took many seconds to upload your file to s3 and while loop (https://github.com/aws-greengrass/aws-greengrass-stream-manager-sdk-python/blob/main/samples/stream_manager_s3.py#L90) needs to run multiple times.Edited by: fengaws on Jan 11, 2021 10:10 AMCommentShareAWS-User-5965613answered 2 years ago0Hi,I understand that perfectly but I was expecting to have some other status while the file is being uploaded. There is a Status.InProgress and to be honest I was expecting to have InProgress while the file is being uploaded. Maybe I'm getting it wrong....Here is a snippet of my code:try:messages_list = client.read_messages(status_stream_name, ReadMessagesOptions(min_message_count=1, read_timeout_millis=1000))for message in messages_list:# Deserialize the status message first.status_message = Util.deserialize_json_bytes_to_obj(message.payload, StatusMessage)                if status_message.status == Status.Success:                      logger.info("Successfully uploaded file at path " _ file_url _ " to S3.")                      is_file_uploaded_to_s3 = True                  elif status_message.status == Status.InProgress:                      logger.info(f'File is being uploaded!')                  elif status_message.status == Status.Failure or status_message.status == Status.Canceled:                      logger.info(                          "Unable to upload file at path " _ file_url _ " to S3. Message: " + status_message.message                      )                      is_file_uploaded_to_s3 = True              time.sleep(5)          except NotEnoughMessagesException as nem:              logger.debug('No messages in the status queue for the task')          except StreamManagerException:              logger.exception("Exception while running")  I took 30M file on purpose to validate the status change.CommentShareszymon888answered 2 years ago0Hi,From the document: https://docs.aws.amazon.com/greengrass/latest/developerguide/stream-export-configurations.html#export-streams-to-s3Specifically, set the status configuration property of the stream’s S3ExportTaskExecutorConfig export configuration. This tells stream manager to write status messages about the export tasks to the status stream. In the StatusConfig object, specify the name of the status stream and the level of verbosity. The following supported values range from least verbose (ERROR) to most verbose (TRACE). The default is INFO.To get the IN PROGRESS status, you will have to set the status level to TRACE. Sorry this is not covered in the document.I will get the documentation rectified.Please try this out and let us know.CommentSharesushantAtAWSanswered 2 years ago0Hi,I checked the status_level=StatusLevel.TRACE and indeed I was able to get the message status InProgress but now the status check loop is infinite. The status 'Success' is never set by the stream manager. The message status is constantly InProgress. I can confirm that the file is successfully uploaded to S3 after 40sec but the status is not changed.This is very strange. I thought that it's a simple check but it's a nightmare to use.Is there a source code of StreamManager? (Not python sdk - StreamManager itself).CommentShareszymon888answered 2 years ago0Hi,I apologies for the bug in the sample. The sample is not checkpointing the desired_start_sequence_number. Here is the corrected version. I will get the samples updated too. Thanks for catching this issue.# Read the statuses from the export status stream          stop_checking = False          checkpoint = 0          while not stop_checking:              try:                  messages_list = client.read_messages(                      status_stream_name, ReadMessagesOptions(desired_start_sequence_number=checkpoint, min_message_count=1, read_timeout_millis=1000)                  )                  for message in messages_list:                      # Deserialize the status message first.                      status_message = Util.deserialize_json_bytes_to_obj(message.payload, StatusMessage)                        # Check the status of the status message. If the status is "Success",                      # the file was successfully uploaded to S3.                      # If the status was either "Failure" or "Cancelled", the server was unable to upload the file to S3.                      # We will print the message for why the upload to S3 failed from the status message.                      # If the status was "InProgress", the status indicates that the server has started uploading                      # the S3 task.                      if status_message.status == Status.Success:                          logger.info("Successfully uploaded file at path " _ file_url _ " to S3.")                          stop_checking = True                      elif status_message.status == Status.InProgress:                          logger.info("File upload is in Progress.")                          checkpoint = message.sequence_number                      elif status_message.status == Status.Failure or status_message.status == Status.Canceled:                          logger.info(                              "Unable to upload file at path " _ file_url _ " to S3. Message: " + status_message.message                          )                          stop_checking = True                  if not stop_checking:                      time.sleep(5)                      checkpoint += 1              except StreamManagerException:                  logger.exception("Exception while running")  Edited by: sushantAtAws on Jan 14, 2021 4:45 PMCommentSharesushantAtAWSanswered 2 years ago0Hi,Thanks for the example. I came up with an almost exactly the same approach with local 'start_sequence' incrementing when something has been succesfully delivered to s3.CommentShareszymon888answered 2 years ago0Hi szymon888,I also use this stream manager SDK in in my GG V2.in the stream_manager_s3.py,  I need to define the key_name and file url, I have a little confuse in the guide.  I see your log you already upload successfuly with file_url"file:/home/recordings/35513fae-4e82-4282-b17d-2c95a952a1f4/2020-12-10/23-58.mp4",  how do you set your key_name in your code?key_name = "SomeKey"file_url = "file:/path/to/some/file.someExtension"2021-01-08T16:25:41.240Z https://forums.aws.amazon.com/ (Copier) media_exporter: stderr. INFO:root:Successfully uploaded file at path file:/home/recordings/35513fae-4e82-4282-b17d-2c95a952a1f4/2020-12-10/23-58.mp4 to S3.**CommentSharekennyGaoanswered 2 years ago0hi @sushantAtAwsI use the sample code to test,  I create a file at  path /home/ubuntu/data.txt.and set the file_url = "file:/home/ubuntu/data.txt" in the code ,  but when run the code, see the errrstream_manager.exceptions.InvalidRequestException: File does not exist at path /home/ubuntu/data.txt.do you know why?2021-02-04T10:02:43.626Z [WARN] (Copier) com.example.StreamManager: stderr. UtilInternal.raise_on_error_response(append_message_response). {scriptName=services.com.example.StreamManager.lifecycle.Run, serviceName=com.example.StreamManager, currentState=RUNNING}2021-02-04T10:02:43.626Z [WARN] (Copier) com.example.StreamManager: stderr. File "/greengrass/v2/packages/artifacts/com.example.StreamManager/1.0.0/aws-greengrass-stream-manager-sdk-python/stream_manager/utilinternal.py", line 188, in raise_on_error_response. {scriptName=services.com.example.StreamManager.lifecycle.Run, serviceName=com.example.StreamManager, currentState=RUNNING}2021-02-04T10:02:43.626Z [WARN] (Copier) com.example.StreamManager: stderr. raise InvalidRequestException(response.error_message, response.status, response.request_id). {scriptName=services.com.example.StreamManager.lifecycle.Run, serviceName=com.example.StreamManager, currentState=RUNNING}2021-02-04T10:02:43.626Z [WARN] (Copier) com.example.StreamManager: stderr. stream_manager.exceptions.InvalidRequestException: File does not exist at path /home/ubuntu/data.txt.CommentSharekennyGaoanswered 2 years ago0Hi,I'm not sure If I get you right but here is what I did:Firstly I'm preparing s3_key:s3_key = f'{dt.year}/{dt.month}/{dt.day}/{self.hostname}/{filename}'and thenAppend a S3 Task definition and print the sequence number        user_data = {              'camera_id': camera_id or 'none' # User data cannot be null/None that's why adding 'none'          }          s3_export_task_definition = S3ExportTaskDefinition(input_url=file_url, bucket=self.S3_BUCKET_NAME, key=s3_key, user_metadata=user_data)          seq_num = self._stream_manager_client.append_message(self.S3_STREAM_NAME, Util.validate_and_serialize_to_json_bytes(s3_export_task_definition))          logger.info(f'Successfully appended S3 Task Definition to stream with sequence number {seq_num}')CommentShareszymon888answered 2 years ago0Hello @kennyGao,I'm experiencing the same issue on a EC2 Linux instance that's running greengrass and the sample example. Have you managed to find a solution?CommentSharefbiancoanswered 2 years ago0fbianco, kennyGao,I would request you to open a new forum question for Stream Manager is GG V2.Please provide detailed logs and description of the components involved. Also please mention if you are using Lambdas in GG V2.CommentSharesushantAtAWSanswered 2 years ago"


Question: PutParameter Permission Error

"Hi,I'm trying to run this command in powershell in my Microsoft EC2 instance:aws ssm put-parameter --name "WindowsAgentConfig" --type "String" --value file://C:\ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json --overwrite --tier Intelligent-TieringHowever I'm getting the following error:An error occurred (AccessDeniedException) when calling the PutParameter operation: User: arn:aws:sts::480607316411:assumed-role/CloudWatchAgentAdminRole/i-071eb9d7a32d10801 is not authorized to perform: ssm:PutParameter on resource: arn:aws:ssm:us-east-1:480607316411:parameter/WindowsAgentConfig because no identity-based policy allows the ssm:PutParameter actionI checked my AIM Role for permissions and I see this:For that same role I also use the folowing policies:CloudWatchAgentServerPolicyAmazonSSMManagedInstanceCoreIs there something obvious I'm doing wrong here? Any help will be very appreciated.Adrian.FollowComment"

Answer: "0Hi, could be the resource. It’s complaining about “ arn:aws:ssm:us-east-1:480607316411:parameter/WindowsAgentConfig” but your expression is “ arn:aws:ssm:us-east-1:480607316411:parameter/Amazon-Cloudwatch..”Can you try with “ arn:aws:ssm:us-east-1:480607316411:parameter/*” as test?CommentShareEXPERTalatechanswered 3 months agoEXPERTskinsmanreviewed 3 months agoapachecoq 3 months agoSorry, I'm quite inexperienced with this and I'm not sure I follow. I tried the following:aws ssm put-parameter --name "*" --type "String" --value file://C:\ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json --overwrite --tier Intelligent-TieringBut got a similar response:An error occurred (AccessDeniedException) when calling the PutParameter operation: User: arn:aws:sts::480607316411:assumed-role/CloudWatchAgentAdminRole/i-071eb9d7a32d10801 is not authorized to perform: ssm:PutParameter on resource: arn:aws:ssm:us-east-1:480607316411:parameter/* because no identity-based policy allows the ssm:PutParameter actionI'm sure I'm not doing what you suggested the right wayShareskinsman EXPERT3 months agoWhat @alatech suggested is replacing the "Resource": " arn:aws:ssm:::parameter/AmazonCloudWatch-* " in your policy with "Resource": " arn:aws:ssm:::parameter/* ".  Currently it won't match your "WindowsAgentConfig" parameter so you effectively have no Allow statements for your specific PutParameter call.Share"


Question: GuardDuty Customers! - Anyone with experience using partner GuardDuty threat lists?

Our company is considering purchasing a partner threat list for GuardDuty to generate additional findings.  What has been others experience with that?  Is the default Amazon threat list good enough?  Have you found that your partner threat list adds too much noise and doesn't provide much real world value?  Does the partner threat list even do anything that Amazon doesn't already catch? Would you say that your purchase of the partner threat list has been worth it to your company?  What would you tell someone who is considering a partner threat list for GuardDuty?  Thanks.FollowComment

Answer: "0Hello,Thank you for contacting us! I understand that you have some questions related to partner GuardDuty threat list.Please note that our default threat list is based from our internal security and partner information. Our current partners are Crowdstrike and Proofpoint.The choice for a customer purchasing a threat list will be something they have to decide but note that GuardDuty regularly pulls in intelligence from partners and is very reliable.Also, could you advise as to why are you looking to purchase an external threat intelligence as it will help us to understand if you are having an issue with GuardDuty or are just trying to add an extra layer of defence.As always, feel free to reach back with any further questions or concerns. I will be happy to assist you.CommentShareSUPPORT ENGINEERDevika_Nanswered a year agorePost-bwollermann a year agoThanks for the reply but I was hoping to hear from customers and their experience with GuardDuty partner threat lists.Share"


Question: [iot greengrass]use greengrass do factory reset

"how to use greengrass do factory reset?Allows the user to selectively perform factory resetis there any API?FollowCommentMassimilianoAWS EXPERT7 months agoHi, can you clarify what do you mean by Factory Reset in your particular case?Share"

Answer: 0You can try two different options:Option1:aws greengrass create-deployment --deployment-type Reset|HardReset --group-id <some group>Option2:aws greengrass reset --group-id <some group>     OR      aws greengrass hard-reset --group-id <some group>For more option (API/Console) refer this linkhttps://docs.aws.amazon.com/greengrass/v1/developerguide/reset-deployments-scenario.htmlCommentShareSanjay Aggarwalanswered 7 months ago