Question: AppSync JavaScript Support for Array.sort of objects

"While implementing JS resolvers in AppSync I can't find a way to sort an Array of objects.array_of_objects.sort((a, b) => (a.event_ts - b.event_ts))is failing with:"errorType": "UNSUPPORTED_SYNTAX_TYPE","value": "Unsupported Syntax Type: ArrowFunction",const compareFn = (a, b) => {        return (a.event_ts - b.event_ts)        if ( a.event_ts < b.event_ts ){            return -1;          }          if ( a.event_ts > b.event_ts ){            return 1;          }          return 0;    };array_of_objects.sort(compareFn)Doesn't sort the array in place and doesn't return a sorted array (JavaScript is annoying...).The documentation of AppSync (https://docs.aws.amazon.com/appsync/latest/devguide/built-in-objects-functions.html) mentions that Array.prototype.sort() is supported, and indeed, if I pass a simple array (of Strings, for example) it is working OK. However, for objects, I can't get it to work.FollowComment"

Answer: "0Hi, I would suggest to try this out:try, just for experiment, to not use "=>" arrow function but rather a functionconst compareFn = function(a, b) {        return (a.event_ts - b.event_ts)        if ( a.event_ts < b.event_ts ){            return -1;          }          if ( a.event_ts > b.event_ts ){            return 1;          }          return 0;    };Alternatively use the "map" function on the array before you call the sort method. (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)CommentShareEXPERTalatechanswered 4 months agoMLGuy 4 months agoThanks for your attention @alatech. However, AppSync doesn't support functions as arguments, and when I try your suggestion I get the following error: "errorType": "UNSUPPORTED_SYNTAX_TYPE", "value": "Unsupported Syntax Type: FunctionExpression",The might be a bug in the implementation of AppSync or any other limitation that I need to walk around.Share"


Question: "AWS DMS - [DATA_STRUCTURE]W:  SQLite general error. Code <19>, Message <UNIQUE constraint failed: events.identifier, events.eventType, events.detai"

"We are running a AWS DMS task to replicate data from one MySQL RDS to another MySQL RDS.But we run into this problems where the dms task stops and gives us the following error:Last Error Task '4LT64IOJB46SPDLFOWT73ZLWHDP5K6GQWK5OTCY' was suspended due to 6 successive unexpected failures Stop Reason FATAL_ERROR Error Level FATALLooking at the logs we find:2023-02-03T23:39:09 [DATA_STRUCTURE ]W: SQLite general error. Code <19>, Message <UNIQUE constraint failed: events.identifier, events.eventType, events.detailMessage>. (at_sqlite.c:536)No matter how many times we attempt to resume we get the same error. Why is this happening?Logs2023-02-03T23:39:09.000+00:00Copy2023-02-03T23:39:09 [TASK_MANAGER    ]I:  Task '4LT64IOJB46SPDLFOWT73ZLWHDP5K6GQWK5OTCY' starting full load and CDC in resume mode after recoverable error, retry #1  (replicationtask.c:1325)2023-02-03T23:39:09 [TASK_MANAGER ]I: Task '4LT64IOJB46SPDLFOWT73ZLWHDP5K6GQWK5OTCY' starting full load and CDC in resume mode after recoverable error, retry #1 (replicationtask.c:1325)2023-02-03T23:39:09.000+00:002023-02-03T23:39:09 [DATA_STRUCTURE ]D: sqlStatement=ALTER TABLE validation_tables ADD COLUMN error_message TEXT; (at_sqlite.c:325)2023-02-03T23:39:09.000+00:002023-02-03T23:39:09 [DATA_STRUCTURE ]D: sqlStatement=ALTER TABLE tables_status ADD COLUMN data_error_counter INTEGER; (at_sqlite.c:325)2023-02-03T23:39:09.000+00:00Copy2023-02-03T23:39:09 [DATA_STRUCTURE  ]W:  SQLite general error. Code <19>, Message <UNIQUE constraint failed: events.identifier, events.eventType, events.detailMessage>.  (at_sqlite.c:536)2023-02-03T23:39:09 [DATA_STRUCTURE ]W: SQLite general error. Code <19>, Message <UNIQUE constraint failed: events.identifier, events.eventType, events.detailMessage>. (at_sqlite.c:536)2023-02-03T23:39:28.000+00:002023-02-03T23:39:28 [TASK_MANAGER ]I: Task '4LT64IOJB46SPDLFOWT73ZLWHDP5K6GQWK5OTCY' starting full load and CDC in resume mode after recoverable error, retry #2 (replicationtask.c:1325)2023-02-03T23:39:28.000+00:002023-02-03T23:39:28 [DATA_STRUCTURE ]D: sqlStatement=ALTER TABLE validation_tables ADD COLUMN error_message TEXT; (at_sqlite.c:325)2023-02-03T23:39:28.000+00:002023-02-03T23:39:28 [DATA_STRUCTURE ]D: sqlStatement=ALTER TABLE tables_status ADD COLUMN data_error_counter INTEGER; (at_sqlite.c:325)task settings:{    "Logging": {        "EnableLogging": true,        "EnableLogContext": false,        "LogComponents": [            {                "Severity": "LOGGER_SEVERITY_DEFAULT",                "Id": "TRANSFORMATION"            },            {                "Severity": "LOGGER_SEVERITY_DEFAULT",                "Id": "SOURCE_UNLOAD"            },            {                "Severity": "LOGGER_SEVERITY_DEFAULT",                "Id": "IO"            },            {                "Severity": "LOGGER_SEVERITY_DEFAULT",                "Id": "TARGET_LOAD"            },            {                "Severity": "LOGGER_SEVERITY_DEFAULT",                "Id": "PERFORMANCE"            },            {                "Severity": "LOGGER_SEVERITY_DEFAULT",                "Id": "SOURCE_CAPTURE"            },            {                "Severity": "LOGGER_SEVERITY_DEFAULT",                "Id": "SORTER"            },            {                "Severity": "LOGGER_SEVERITY_DEFAULT",                "Id": "REST_SERVER"            },            {                "Severity": "LOGGER_SEVERITY_DEFAULT",                "Id": "VALIDATOR_EXT"            },            {                "Severity": "LOGGER_SEVERITY_DEFAULT",                "Id": "TARGET_APPLY"            },            {                "Severity": "LOGGER_SEVERITY_DEFAULT",                "Id": "TASK_MANAGER"            },            {                "Severity": "LOGGER_SEVERITY_DEFAULT",                "Id": "TABLES_MANAGER"            },            {                "Severity": "LOGGER_SEVERITY_DEFAULT",                "Id": "METADATA_MANAGER"            },            {                "Severity": "LOGGER_SEVERITY_DEFAULT",                "Id": "FILE_FACTORY"            },            {                "Severity": "LOGGER_SEVERITY_DEBUG",                "Id": "COMMON"            },            {                "Severity": "LOGGER_SEVERITY_DEFAULT",                "Id": "ADDONS"            },            {                "Severity": "LOGGER_SEVERITY_DEBUG",                "Id": "DATA_STRUCTURE"            },            {                "Severity": "LOGGER_SEVERITY_DEFAULT",                "Id": "COMMUNICATION"            },            {                "Severity": "LOGGER_SEVERITY_DEFAULT",                "Id": "FILE_TRANSFER"            }        ],        "CloudWatchLogGroup": "dms-tasks-geeiq-prod-master-replication-instance-large",        "CloudWatchLogStream": "dms-task-4LT64IOJB46SPDLFOWT73ZLWHDP5K6GQWK5OTCY"    },    "StreamBufferSettings": {        "StreamBufferCount": 3,        "CtrlStreamBufferSizeInMB": 5,        "StreamBufferSizeInMB": 8    },    "ErrorBehavior": {        "FailOnNoTablesCaptured": true,        "ApplyErrorUpdatePolicy": "LOG_ERROR",        "FailOnTransactionConsistencyBreached": false,        "RecoverableErrorThrottlingMax": 1800,        "DataErrorEscalationPolicy": "SUSPEND_TABLE",        "ApplyErrorEscalationCount": 0,        "RecoverableErrorStopRetryAfterThrottlingMax": true,        "RecoverableErrorThrottling": true,        "ApplyErrorFailOnTruncationDdl": false,        "DataTruncationErrorPolicy": "LOG_ERROR",        "ApplyErrorInsertPolicy": "LOG_ERROR",        "EventErrorPolicy": "IGNORE",        "ApplyErrorEscalationPolicy": "LOG_ERROR",        "RecoverableErrorCount": -1,        "DataErrorEscalationCount": 0,        "TableErrorEscalationPolicy": "STOP_TASK",        "RecoverableErrorInterval": 5,        "ApplyErrorDeletePolicy": "IGNORE_RECORD",        "TableErrorEscalationCount": 0,        "FullLoadIgnoreConflicts": true,        "DataErrorPolicy": "LOG_ERROR",        "TableErrorPolicy": "SUSPEND_TABLE"    },    "ValidationSettings": {        "ValidationPartialLobSize": 0,        "PartitionSize": 10000,        "RecordFailureDelayLimitInMinutes": 0,        "SkipLobColumns": false,        "FailureMaxCount": 10000,        "HandleCollationDiff": false,        "ValidationQueryCdcDelaySeconds": 0,        "ValidationMode": "ROW_LEVEL",        "TableFailureMaxCount": 1000,        "RecordFailureDelayInMinutes": 5,        "MaxKeyColumnSize": 8096,        "EnableValidation": true,        "ThreadCount": 5,        "RecordSuspendDelayInMinutes": 30,        "ValidationOnly": false    },    "TTSettings": {        "TTS3Settings": null,        "TTRecordSettings": null,        "EnableTT": false    },    "FullLoadSettings": {        "CommitRate": 10000,        "StopTaskCachedChangesApplied": false,        "StopTaskCachedChangesNotApplied": false,        "MaxFullLoadSubTasks": 10,        "TransactionConsistencyTimeout": 600,        "CreatePkAfterFullLoad": false,        "TargetTablePrepMode": "TRUNCATE_BEFORE_LOAD"    },    "TargetMetadata": {        "ParallelApplyBufferSize": 0,        "ParallelApplyQueuesPerThread": 0,        "ParallelApplyThreads": 0,        "TargetSchema": "",        "InlineLobMaxSize": 0,        "ParallelLoadQueuesPerThread": 0,        "SupportLobs": true,        "LobChunkSize": 0,        "TaskRecoveryTableEnabled": false,        "ParallelLoadThreads": 0,        "LobMaxSize": 1024,        "BatchApplyEnabled": true,        "FullLobMode": false,        "LimitedSizeLobMode": true,        "LoadMaxFileSize": 0,        "ParallelLoadBufferSize": 0    },    "BeforeImageSettings": null,    "ControlTablesSettings": {        "historyTimeslotInMinutes": 5,        "HistoryTimeslotInMinutes": 5,        "StatusTableEnabled": false,        "SuspendedTablesTableEnabled": false,        "HistoryTableEnabled": false,        "ControlSchema": "",        "FullLoadExceptionTableEnabled": false    },    "LoopbackPreventionSettings": null,    "CharacterSetSettings": null,    "FailTaskWhenCleanTaskResourceFailed": false,    "ChangeProcessingTuning": {        "StatementCacheSize": 50,        "CommitTimeout": 1,        "BatchApplyPreserveTransaction": true,        "BatchApplyTimeoutMin": 1,        "BatchSplitSize": 0,        "BatchApplyTimeoutMax": 30,        "MinTransactionSize": 1000,        "MemoryKeepTime": 240,        "BatchApplyMemoryLimit": 500,        "MemoryLimitTotal": 5000    },    "ChangeProcessingDdlHandlingPolicy": {        "HandleSourceTableDropped": true,        "HandleSourceTableTruncated": true,        "HandleSourceTableAltered": true    },    "PostProcessingRules": null}FollowComment"

Answer: "0HiFrom the log shared, the warning message should not be the reason failing the task, do you see any "]E" in the log?Did target having triggers, constraint? Follow our best practice https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html#CHAP_BestPractices.PerformanceDid task fail during fullload phase or CDC phase? Seems like fullload phase. If that is the case consider to enable the detailed debug on SOURCE_UNLOAD, TARGET_LOAD. If CDC component having "]E" then enable the SOURCE_CAPTURE, TARGET_APPLY.Recoverable errors can be connection related as well.If you need further assistance, please consider to raise support case or share the detailed log with us. (Note, make sure detailed log not containing sensitive information before sharing in the public)CommentShareSUPPORT ENGINEERKevin_Zanswered 4 months ago"


Question: Disaster recovery of AWS RDS

"I'm considering AWS RDS with my lighstail instance. I'm not particularly interested in scalability, or performance, or replicas etc. I am working on a low traffic and low usage app, but want to know what will happen if the managed RDS machine fails ?FollowComment"

Answer: "0Accepted AnswerYou don't have to do anything on the app side for failover as it's transparent - the endpoint is the same. AWS handles the DNS name (connection string) to point to the appropriate place - the string doesn't change, so you don't need to manage this.  However you want to make sure you don't have a long DNS TTL in clients or the old DNS record will be cached for too long; 60 seconds is appropriate.When the original rds is back you don't need to do anything.  Failback isn't needed as you're still operating at same performance specs as original.  If you want though you can manually force a failback or a failover at any time by rebooting the primary instance or making an API call.Aurora is a very different architecture so high availability is handled differently.  It's worth spending 5 minutes here - https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html.CommentShareEXPERTskinsmananswered a month agorePost-User-1028852 a month agoThanks for the prompt follow-up response. So multi-az is great for transparent failover. That's great. But how about single-AZ, how will a failure look like ? Eg. if I have a single AZ RDS, and your machine crashed or zone shutdown. How long will it take for AWS to get it back and is that even guaranteed?Shareskinsman EXPERTa month agoHave a look at the RDS SLA - https://aws.amazon.com/rds/sla/.  Multi-AZ is 99.95% versus Single-AZ 99.5%.  With Single-AZ you have a single point of failure so an outage is possible either because of the instance or AZ.  Yes it will be made available again ASAP as AWS are serious about the SLAs.  That's guaranteed - the only way you could in theory lose a DB is if there's a major storage issue in EBS (I've never seen it happen), in which case a restore from backup would be needed.Share0Your stored data is safe if an instance fails (but you should still have a backup routine!), but availability during a failure depends on how the RDS instance is configured.  With a single-AZ deployment you will have an outage.  With Multi-AZ the DB will have a short outage while failing over to the standby.WIth Aurora databases things are a bit different, but it sounds like you're not asking about that.CommentShareEXPERTskinsmananswered a month agorePost-User-1028852 a month agoThanks @skinsman for the answer. Some followup questions:With Multi-AZ, you mentioned that it will have a short outage while failing over to the standby. Do I have to do anything on the app side (like connecting the app to the standby database).What will I have to do when the original rds is back ?Not sure why 'things are a bit different' for Aurora. Please describeShare"


Question: How to Configure stickiness and autoscaling in elasticbeanstalk application.

"Hello,We have a application running on elasticbeanstalk that listens for client request and returns a stream segment.We have some requirements for application:Client session should be sticky (all request for some session should go to same EC2) for specified time without any changes on client side. (we can't add cookie sending via client).As per my understanding application load balancer supports that and i enabled stickiness in load balancer.As per my understanding load balancer generated cookie are managed by load balancer and we do not need to send cookie through client side.Based on CPU utilisation we need to auto scale instances, (when CPU load > 80%) we need to scale instances +1.Problem:-When i request from multiple clients from same IP address. CPU load goes above 80% and new instance is launched.But after sometime i see CPU load going down . does this mean that 1 of these client are now connected to new instance and load is shared.That means stickiness is not working. Though It is not clear how to test it properly.However sometimes when i tried to stop new instance manually . No client has got any errors.When I stop first instance all client gets 404 error for sometime.How to check whether stickiness is working properly ?If i get stickiness to work. As per my understanding Load will not be shared by new instance. So Average CPU usage will be same.So autoscaling will keep on launching new instance until max limit. How do i set stickiness with autoscaling feature.I set stickiness seconds to 86400 sec (24 hours) for safe side.Can someone please guide me how to configure stickiness and autoscaling proper way ?FollowComment"

Answer: "1Hi.Did you enable sticky sessions on your target group? Is the cookie for sticky session set in the response from ALB with Set-Cookie?As per my understanding load balancer generated cookie are managed by load balancer and we do not need to send cookie through client side.Application Load Balancer is cookie-based and sticky. Your client will need to resend the set cookie from the server.(Network Load Balancer provides sticky based on client IP address so you don't have to resend the cookie.)CommentShareEXPERTiwasaanswered a year ago0iwasa answered your first question already.  For the 2nd question:But after sometime i see CPU load going downAfter the new instance is InService in the ASG (AutoScaling Group) its Warmup timer will start (configured on the scaling policy).  Once the warmup ends, the new instance will be counted towards the average group metrics.  This mean if the first instance was still at 80% load, and the new instance is at 40% load, the average CPU metric will show up as 60%How to tell if stickyness is working?You can enabled access logs if this is an ALB and see where requests are landing; otherwise look at your application logs in the instance.  But in general, if you have 5 clients on an instance, each with a sticky session; then those 5 will still all be on the first instance after the scale out (because of the sticky session).  This is a big reason why you want to try and make applications stateless whenever possible and store session data off instance somewhere like EFS, RDS, etc.Load will not be shared by new instance. So Average CPU usage will be same. So autoscaling will keep on launchingThis isn't correct.  The average CPU would go down with the new instance and launching would stop.  For an extreme example, assume the first instance is at 80% and the new instance launched after that gets 0 load.  Average would be (80 + 0)/2 = 40%, so scaling would stopCommentShareShahad_Canswered a year ago0Hello @iwasa and @Shahad_C,Thanks for the reply.As per the suggestion, I checked in cookie received in response from ALB, It was having a cookie with name AWSALB and 7 days expiry period. As our scenario is we can't send cookie in request from client. I created a new environment with NLB with stickiness.with NLB, no cookie is received and when CPU loading is above threshold new instance is launched. and CPU load is 0% on new instance. and keeps same on old instance. Average definitely came down of threshold as pointed out by @Shahad_C. Thanks for correcting. No new instance are launched after metrics goes down threshold. So stickiness is working with NLB.However I checked earlier for ALB  uses Round Robin by default. With stickiness probably that is not a good idea. for Network load balancer i want to use Least connection strategy. But NLB does not have any option to edit "Load balancing algorithm" in Attributes. which algorithm NLB uses for balancing by default, can't we edit this ?CommentShareAWS-User-9742629answered a year ago"


Question: AWS SSO Current Account Name

"When I use AWS SSO to switch to AWS account I am able to see only my user name and current assumed role in account (AWSPowerUserAccess/martin@example.com), but I don't see account name or account alias name.So I am not able to simply verify in which account I am switched, is it production, is it development?  If I want to check current account I have to go to IAM Console and check its alias (if I have reuired permissions) or I have to go to SSO index and switch to desired account again.Is it possible to configure SSO to show account name together with user and role in navigation bar?We were previously using roles switching where we were able to use Display Name for account.thanksFollowCommentLukonjun a year agoExactly running into the same problem, before editing something  in a test account I have to check twice that I am not changing production, this costs a lot of timeSharemterrel 10 months agoHuge +1 for adding the account name somewhere that's always visible. Without this, the possibility of human error for modifying the wrong resources is way too high. GCP puts the project name on the header of all pages, where it should be.Share"

Answer: "3+1 on this please. It is a must-have for me as well.CommentShareRamezanswered 9 months ago3+1 on this. It is very inconvenient to just force every user to check account id all the time and unsafe to rely on it.CommentSharePPUP-Baseanswered 9 months ago1Hey there,When setting 'Display Name' while switching role, what you're actually doing is setting the value for 'RoleSessionName'. When you assume a role through federation, this value is set for you by the federation broker.E.g. In a traditional AD FS federation scenario, AD FS would set this for you via Claim Rules that your AD FS administrator would configure.AWS SSO sets this value for 'RoleSessionName' and at this point in time, you cannot alter the value. The value is a combination of the name of the IAM Role being assumed, and the value of the email attribute of the directory user assuming the role.Some suggestions on working around this would be to:Use the drop-down to the top-right of the Management Console (where you see the RoleSessionName) and you will see the Account Number. If you have the numbers & name combinations documented, then that could work.You could grant users very minor access to the Account Info page. Just enough to see the Account Name.Or as you mentioned, just simply have users check the account number of the account that they're in against the account number & account name that they can see in the AWS SSO 'My Apps' page.CommentShareCiaran Carragheranswered a year agoMartin Halamicek a year agoHello Ciaran,thanks for the answer. We are currently using combination of all threw mentioned possibilities you've mentioned.Also we try to automate as much as possible to reduce to needs of manual work in AWS console.But we still need to be able to work in AWS console in case some like incident response and in that situation in would be really helpful to see always the account name in which I am currently working which would perfectly fit to navigation bar together with current assumed role and email. Can I submit it somewhere as feature request?ShareLukonjun a year agoHi @Ciaran Carragher, could you please explain more how you would achieve the second point, where can I find the account name?SharerePost-User-Ben a year agoWe've also just set up AWS SSO having been using aws switch role plugin, and it's really disconcerting not to be able to see the current account name clearly at a glance. It would be a great improvement to display the account name somewhere clearly at all times. Looking up an account name from the account number is not ideal when you have 10s or 100s of accounts to manage.Shareeswidler 10 months agoJust wanted to +1 the feature-request for displaying the account name in the top-right dropdown.  We're currently testing SSO as an alternative to IAM accounts for our engineers.  We don't have that many accounts; however, some teams do frequently switch between a handful of them.This lack of visibility of the current account is the only thing giving me pause to fully committing to the switch, along with the lack of a single button to switch to another account (if that is available, please let me know).ShareTony 10 months agoHuge +1 on this as well. I'm working to migrate from the "switch role" method to using Control Tower and this is by far the biggest complaint I get from my development team. The ability to look at a glance if you're in the production / sandbox environment (with color coding) is an essential action they all take before making changes.ShareShow 5 more comments1While I agree that this should be native capabilities built into the console...I have found that I can use a GreaseMonkey/TamperMonkey script to extract and display the necessary detail.https://greasyfork.org/en/scripts/430620-aws-sso-console-user-title-fix/codeThis script by default shows the account alias / permissions set name / user name in the top corner.CommentSharerePost-User-1515988answered 8 months ago"


Question: SesV2Client.listContacts (The request signature we calculated does not match the signature you provided)

"When I call SesV2Client.listContacts, I always get the issue below:software.amazon.awssdk.services.sesv2.model.SesV2Exception: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details. (Service: SesV2, Status Code: 403, Request ID: 3d6650d8-8f25-457a-9e25-cfc0483021d4)I am using the right access key and secret key under my IAM user. Can someone help take a look why? Thanks.Code is below:SesV2Client client = SesV2Client.builder().region(Region.US_WEST_1).build();try {ListContactsRequest request = ListContactsRequest.builder().contactListName("mylistname").pageSize(pageSize).build();ListContactsResponse response = client.listContacts(request);} ....FollowComment"


Question: How to use password access restriction for all new branches on Amplify?

"In AWS Amplify, I'd like to restrict access with a password by default, and have a few branches publicly available.In AWS Amplify console > Access control, I can:apply a global password (but it's for ALL branches, and I want my production website to be publicly available)or set a password restriction on selected branches (but in that case, all new branches or pull request previews are publicly available until they're manually protected).FollowComment"

Answer: "1Accepted AnswerYes, you can apply access control using password for new branches in AWS Amplify Console .To do so, you need to follow these steps:In the Amplify console, choose the app you want to set a password .In the navigation pane, choose App settings and then select Access control .Select Manage access in the Access control settings section .In the Access control settings, set the username and password to restrict access to the desired branch from a GitHub repo.Choose Save changes.After that, users will be prompted for a username and password when they attempt to access the URL for the branch.I hope this helps you with your query.😊 Unfortunately, you cannot set password protection by default on selected branches without manually protecting them or add a global password protection control to all branches. You can raise a request for it on GitHub here: https://github.com/aws-amplify. Feel free to join the OS Contributor Community for Amplify as well here: https://www.contributetoamplify.com/: https://terieyenike.hashnode.dev/how-to-password-protect-websites-with-amplify-console : https://docs.aws.amazon.com/amplify/latest/userguide/access-control.html : https://dev.to/aws-builders/how-to-password-protect-websites-with-amplify-console-1dd6CommentShareRaheel Maqsoodanswered 3 months agoOlivier_L 3 months agoThank you for your answer. Sadly, I understand you confirm it's not possible to have protect all new branches by default.There's a feature request here: https://github.com/aws-amplify/amplify-hosting/issues/280What is surprising is that it seems it was once possible. At least, the documentation mentioned it was possible to set a global password AND have some public branches and it was removed from the documentation here: https://github.com/awsdocs/aws-amplify-console-user-guide/commit/ea6993811b9065329df95378ac5ed9313a906634ShareRaheel Maqsood 3 months agoHi Olivier_L, the product team is currently working on the feature request but their is no ETA yet. However, I think another workaround that may work for you is to --enable-basic-auth and --basic-auth-credentials with update branch and add it in post build step in amplify.yml file. In this way you may be able to use Amplify CLI and add password protection to future branches through deployment.References:https://docs.aws.amazon.com/cli/latest/reference/amplify/update-branch.htmlhttps://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html#branch-specific-build-settingsShareOlivier_L 2 months ago@Raheel Maqsood Interesting workaround, thanks!BTW, thanks for the update on the feature request.Share"


Question: 504 Gateway Time-out when setting up Application Load Balancer

"Hi,I am currently trying to set up an ec2 instance with Application load Balancer however I'm getting a 504 gateway time-out error. I have enabled apache keep alive settings with a greater number than the timeout setting of the ALB, just as indicated from AWS Doc. However the issue is persistent. I have checked that I'm using the same Security group which I am.The Listeners in my ALB are set to only the HTTPS and forwarded to my target group.When i visit the target group the health status details says " health checks failed ". What else can I check please ?FollowCommentAWS-User-6424256 a year agoAlso something which I would like to mention is that the security groups are set to use my ip only since its a staging website. I don't know if this would interfere with the connection of the ALB and security groupShare"

Answer: "1It's not clear from your comment where you have set the security group. If the security group on the EC2 instance only allows connections from your IP address then the health check will fail because you must allow connections from the load balancer. You don't have to allow connections from your IP address because from the instance perspective, connections will appear to come from the load balancer.CommentShareEXPERTBrettski-AWSanswered a year agoAWS-User-6424256 a year agoOkay it seems that changing the security group ips to 0.0.0.0 removed the 504 gateway timeout. My question now is how can I make this website only visible to me ? As for staging purposes I would always use the security group settings. I've also noticed that the Certificate is being shown as not secure even though I'm using the correct certificate in the load balancer.. causing the site, to have too many redirects ..ShareBrettski-AWS EXPERTa year agoYou can attach a security group to the ALB: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-update-security-groups.htmlShare"


Question: Immutable Deployment AccessDenied DescribeStackResource

"Hi,Occasionally when deploying applications to our elastic beanstalk environments we would receive the following error code:AccessDenied: Instance .... is not allowed to call DescribeStackResource for arn:aws:cloudformation:us-east-1:...:stack/awseb-e-...-stack/....Typically if we simply retried the deployment once or perhaps twice more the application would successfully deploy. However I'm in the process of changing our default instance type from t3.small to t2.small, and on our test environment I receive the above error every single time I try to deploy (even when using the AWS console to upload and deploy the application bundle). I've attempted explicitly providing permission to the instances' IAM role for "CloudFormation:DescribeStackResource" with resource "arn:aws:cloudformation:us-east-1:....:stack//" but that results in the same error message.When deploying I am using the immutable deployment strategy. Please let me know what other information I can provide to help. Thank you.(Please note I replaced account specific information with "..." throughout this post)FollowComment"

Answer: "0For anyone who runs into this problem in the future, I've found the solution. We have had our environments codified with terraform since around the beginning of 2020. AWS changed the permissions needed for enhanced health reporting in elastic beanstalk around November 2020; but the old permissions still mostly worked. A recent change made the success rate fall dramatically. So for us we just needed to change our service role policies AND instance role policies to include AWSElasticBeanstalkEnhancedHealth and AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy. Note if you do not include these in your instance profile, you'll get the referenced error when attempting to deploy new application bundles using a immutable deployment.CommentSharefgsahowardanswered 2 years ago"


Question: Assign Groups From Trusted Domain to IAM Role Not Working

"HiI have setup the AWS Directory Service and have a successful outgoing trust relationship to my on premise AD domain. I can assign permissions within my RDS instances, for example, and logon to them using my local, on premise, AD credentialsI'm now trying to get AWS Management Console access using our on premise AD credentials workingI've enabled Management Console access, created an IAM role with a trust relationship to AWS Directory - it shows up in the Delegate Console Access box within DS configProblem - when I click on the IAM role and within Manage users and groups for this role I choose Add - all I see in the drop down is my AWS Directory Service AD domain, I can't see my on premise AD domain in order to select Groups from thereWhat am I doing wrong please ?ThanksSTEVEFollowComment"

Answer: "0Found the problem. The trust relationship needs to be 2 way for Management Console access. I was using a one way, outbound trustJust wish the documentation had been clearer on this pointCommentSharestephendanswered 3 years ago"


Question: Permission issue with boto3 on greengrass v2 device

"Hi there,I am have this errorAn error occurred (AccessDenied) when calling the ListObjects operation: Access Denied. {scriptName=services.media_camera.lifecycle.Run, serviceName=media_camera, currentState=RUNNING}here is my toke-exchange-roleRealiteGGTokenAccessPolicy:    Type: "AWS::IAM::ManagedPolicy"    Properties:      ManagedPolicyName: "realite-greengrassv2-token-exchange-access-policy"      Description: "Allow gg device core to use AWS backend services"      PolicyDocument:        Version: "2012-10-17"        Statement:          - Effect: Allow            Action:              - iot:DescribeCertificate              - logs:CreateLogGroup              - logs:CreateLogStream              - logs:PutLogEvents              - logs:DescribeLogStreams              - s3:GetBucketLocation              - s3:PutObject              - s3:GetObject              - s3:ListBucket              - s3:ListObjects              - kinesis:PutRecords            Resource: "*"          - Effect: Allow            Action:              - secretsmanager:GetSecretValue            Resource:              - Fn::ImportValue: !Sub ${EnvironmentTag}:RealiteSecretsCameraCredentialsSecret      Roles:        - !Ref RealiteGGTokenAccessRoleI wonder where can that permission come fromThanks for your helpFollowComment"

Answer: "2Hi thereHas this policy attached to your toke-exchange-role?If not, attach it and retry. If it attached, maybe try attach AmazonS3FullAccess policy to your role for test purpose to see if it successfully list objects from S3 with the policy attached.If yes, it's a good start to further investigate what's wrong with your policy. If not, you probably need to check issues like if your device is using the correct alias pointing to the correct role, etc.CommentShareLihaoanswered a year ago0Hi Lihao,I have double checked and look like everything is correctly configure, the thing cert is attach to an iot policy which assume the role of the token-exchange via an iot alias. i also added s3:* to the policy and the role.also the device can provision itself, and it can send data to aws iothere is the thing policy:{  "Version": "2012-10-17",  "Statement": [    {      "Effect": "Allow",      "Action": [        "iot:Publish",        "iot:Subscribe",        "iot:Receive",        "iot:Connect",        "greengrass:*",        "s3:*"      ],      "Resource": "*"    },    {      "Effect": "Allow",      "Action": "iot:AssumeRoleWithCertificate",      "Resource": [        "arn:aws:iot:::rolealias/greengrass-core-token-exchange-role-alias"      ]    }  ]}CommentShareAWS-User-6797102answered a year ago0Hi,Thank you for sharing more details. Your IoT Thing policy looks correct. Can you confirm thatthe toke exchange role policy is correctly formattedthe IoT role alias is attached to the correct IAM role with the correct role ARNthe IAM token exchange role has the right trust policy to assume role (example policy from docs listed below){  "Version": "2012-10-17",  "Statement": [    {      "Effect": "Allow",      "Principal": {        "Service": "credentials.iot.amazonaws.com"      },      "Action": "sts:AssumeRole"    }  ]}Thanks,Navya.CommentShareNavyaKuchibhotla-AWSanswered a year ago0Hi Navya, thanks for you response.I found the problem, it was just a silly mistake. i referenced the wrong env variable so it used the wrong bucketCommentShareAWS-User-6797102answered a year ago"


Question: Do we get "50% Discount on your next Exam" token for every exam passed?

"Hi all,As the title, do we get the 50% off token for every exam passed or just only once?I have passed my SAA exam so I have a token now and I am planning to take SysOPS and SAP within this year.  If 50% token is only given once, then I am going to save it for SAP.  If we get it for every exam passed, then I can use it on SysOPS, pass the exam, get another 50%, then use it on SAP.Thanks in advance!-ystatitFollowComment"

Answer: "2Well, if anyone has the same question as I did, the answer isyou get a 50% off discount token on EVERY certification passed ;)CommentShareystatitanswered 4 years ago"


Question: This site can’t be reached

"My WordPress website is showing This site can’t be reached error on the browser. I have hosted my website on AWS lightsail instance.https://www.smartstudyabroad.com/I have checked the error log and it is showing errors like the below given.[Mon Jun 27 00:00:04.782197 2022] [mpm_event:error] [pid 23858:tid 139898567034176] AH03490: scoreboard is full, not at MaxRequestWorkers.Increase ServerLimit.Please help to resolve the issue.FollowComment"

Answer: "0Hello there,I understand that you cannot reach your WordPress website due to an error on the browser. It seems as if you have reached your server limit for your instance and you can resolve this issue by requesting an increase to your Amazon EC2 service quotas (formerly called service limits). You can follow these steps to increase your limits:Login to your AWS Management Console and open the Support dashboardChoose "Create case" and click on the service limit increases hyperlinkChoose your limit type i.e LightsailChoose the region where your instance is located and also choose your contact optionsSubmitFor more information on AWS service limits/quotas, refer to reference [1].References:[1] https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.htmlCommentShareAsenathianswered a year agoV R a year agoHello Dear,Thanks for your answer. I will try with your answer.Share"


Question: unable to start httpd service - getting Address Already in use: make_sock: could not bind to address

"I copied new ssl cert files to my server but upon doing a httpd restart I get the following error:(98) Address Already in use: make_sock: could not bind to address [::]:80(98) Address Already in use: make_sock: could not bind to address 0.0.0.0:80no listening sockets available, shutting downunable to open logsPretty sure this is related to something other than the new certificate files, but this is the first time I attempted to restart the server in quite some time.FollowCommentPronoy_C a year agoSorry you'll have to be a little more specific about what you're trying to do. Please elaborate further - what're you trying to do? What certificates are you using? Is it just an EC2 instance? Is this an EC2 instance that is acting like an IoT thing?Share"

Answer: "0It looks like you are having trouble with your Apache server. The Address Already in use error message indicates that there may already be an httpd process running, and you can attempt to manually kill that process following these steps:Run the command "ps -aux |grep httpd" (remove quotation marks) in your terminal to find any processes related to httpd. Look to see what services are running, find the Apache process, and then kill it using the command "kill -9 <ProcessID>" (replace <ProcessID> with the unique process ID of the Apache process).After you have completed the previous steps, restart your Apache service. If this does not resolve your issue, please reach out with further information on what errors you encounter.Cheers!CommentShareMichael_Hanswered 10 months agoSUPPORT ENGINEERAWS_SamMreviewed 10 months ago"


Question: 3 Aurora performance questions for Aurora database specialists

"3 Aurora performance questions for Aurora database specialists:For our production RDS MySQL instances, we were encouraged very strongly by one of AWS Principal Engineers to use provisioned IOPS instead of regular GP IOPS to ensure consistently good performance.  Does Aurora also have a concept of different IOPS flavors, and if so which ones are appropriate for production workloads?My thoughts: IOPS on Aurora is reported differently from standard RDS, as Aurora doesn’t use traditional block storage. Now i presume the primary instance must have some disk attached to it, but doubt that there is any provisioned IOPS, correct?Some of our queries do complex math (haversine distance calculations, etc).  What should we expect CPU-load-wise and performance-wise when executing these queries on Aurora vs stock MySQL?My thoughts: i presume, given the de-coupled architecture of Aurora, that Aurora will perform better than standard MySQL RDs, but haven't been able to find any data to support this.We want to test Aurora's performance under production load by adding an Aurora read replica underneath an existing MySQL primary.  Something like this:              Existing MySQL Primary                    /     \                   /       \                  /         \     Existing MySQL RR     New Aurora RRIs a heterogeneous MySQL/Aurora mix of read replicas a good idea?  What bad things might happen if we do this?My thoughts: Given the way that Aurora is architected, this doesn’t seem like a good idea to me. Aurora is architected so that you have a primary instance that connects to shared storage. You can then add read replicas (up to 15) that connect to the same underlying shared storage. So, while I like the ‘out of the box’ thinking, I don’t think this really matches Aurora architectural patterns – but I will check and report back!Any insights are much appreciated!FollowComment"

Answer: "0Accepted AnswerFor our production RDS MySQL instances, we were encouraged very strongly by one of AWS Principal Engineers to use provisioned IOPS instead of regular GP IOPS to ensure consistently good performance. Does Aurora also have a concept of different IOPS flavors, and if so which ones are appropriate for production workloads?There are multiple considerations there, PIOPS will provide higher maximum achievable performance (IOPS) and better consistency in terms of performance. Since RDS storage is based on EBS, the characteristics of the volumes described here apply to RDS, too. But RDS will stripe larger storage sizes on multiple underlying EBS volumes. Also beware of this when customers use smaller instance types "* These instance types can support maximum performance for 30 minutes at least once every 24 hours. For example, c5.large instances can deliver 437.5 MB/s for 30 minutes at least once every 24 hours." - from: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EBSOptimized.htmlAurora I/O is different, and can't be compared with block level I/O, writes are only redo logs, not full data pages, and we boxcar them, too. Reads are full data pages. In most cases the Aurora design is more beneficial from an I/O perspective. But there are exceptions - I/O heavy analytical queries that benefit from sequential block read operations on a filesystem, might be slower in Aurora.Some of our queries do complex math (haversine distance calculations, etc). What should we expect CPU-load-wise and performance-wise when executing these queries on Aurora vs stock MySQL?They will have to test in order to see what the performance is. There's no reliable way to anticipate. The degree to which data is cached in the buffer pool, will likely be the biggest influencer.We want to test Aurora's performance under production load by adding an Aurora read replica underneath an existing MySQL primary. [...] Is a heterogeneous MySQL/Aurora mix of read replicas a good idea? What bad things might happen if we do this?They can do that from the console. Amazon RDS support attaching an Aurora MySQL cluster as a managed read replica to an RDS MySQL DB instance. Attaching an additional binlog replica to a primary can have a performance impact on the primary. The impact is higher on MySQL 5.6 because of contention accessing the binlog between the reader and writer processes. The impact is decreased with 5.7.From a testing under load perspective, binlogs will keep the Aurora replica up to date with changes, but won't reflect the concurrency of writes that happens on the primary. This may be a concern from a testing conditions perspective and the tests won't necessarily reflect the contention experienced in production.CommentShareEXPERTvladvatawsanswered 4 years ago"


Question: Backup Job no tagging snapshots

"Hi there; I am working with AWS Backup in order to protect a few resources I have:This is my EC2 inventory:2 VMs with 2 volumes each1 VM with 1 Volume1 Volume connected to an AWS File Gateway for a remote volume.I need to have an specific tag for each volume for internal billing needs; so I created 4 different jobs one for each server.Job #1 for the Volume connected to the AWS GatewayJob #2 for the server with a single volumeJob #3 for Server A and its 2 volumesJob #4 for Server B and its 2 volumes.I put all settings in the same way, the backup ran perfectly BUT, the snapshots created for Server A and Server B do not have the Tag that the job is supposed to write on them. Tag is simply empty.The single-volume server and the gateway are OK; they have the Tag that was set up in the backup job..So, I created a 2 new jobs; deleting job #3, I created job #5 for one of server A's volumes and job #6 for the other; ran again overnight and the snapshots do not have the tags again.What I am doing wrong? It is quite simple to set up and it works for 2 resources, but not for all of them.Thanks!FollowComment"

Answer: "0I just learned what I was doing wrong; somehow I missed adding the tag to the backup rule, it was added just to the  backup plan.CommentSharegerchoanswered 4 years ago"


Question: How to disable compatibility mode on existing Opensearch or elasticsearch 6.8 domain

While checking the compatibility of my current elasticsearch version to opensearch. some how the compatibility mode got ON. I wanted to disable it. Can anyone please guide me on this.FollowComment

Answer: 1Here's the command to disable compatibility mode: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/rename.html#rename-upgradePUT /_cluster/settings{"persistent" : {"compatibility.override_main_response_version" : false}}CommentShareLiz Snyderanswered 8 months agorePost-User-2738569 8 months agoThanks @Liz Synder for answering. I will try the above commandShare


Question: java maven deployed in elastic bean stalk how to install 3rd party package -> wkhtmltopdf

"I built a java app using the vaadin-flow framework with maven and java 17.I already deployed the app in elastic bean stalk, connected it to a domain and its working properly.Right now i want to install wkhtmltopdf for pdf creation on every ec2 instance for my app, it is my understanding that i need to use .ebextensions but how exactly will i describe this, what i want to run on the ec2 instance are the below 2 commands:wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.amazonlinux2.aarch64.rpmsudo yum install  wkhtmltox-0.12.6-1.amazonlinux2.aarch64.rpmAs per my understanding i need to create a .ebextensions directory and add the .config file inside which will describe the commands i want to run, but can't figure out how to write or package this file so my question is, Is there any java maven example that uses a .ebextensions directory and deploys a 3rd party package to elastic bean stalk.FollowComment"

Answer: "1Accepted AnswerThe following is an elegant way to manage an .ebextensions directory and build with maven using the maven-assembly-plugin:Create the .ebextensions directory under the root folder of your project (see screenshot)Create the following wkhtmltox.config file insidefiles:    "/tmp/wkhtmltox.amazonlinux2.rpm":     mode: "000600"    owner: root    group: root    source: https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.amazonlinux2.x86_64.rpmcommands:  install_wkhtmltox:     command: sudo yum localinstall -y /tmp/wkhtmltox.amazonlinux2.rpmNote:adjust the URL according to the version and platform/cpu architectureadded parameter -y to automatically confirm the installation when executed programaticallyswitched from install to localinstall as we need return code 0 (success) also when the package is already installed (which will happen on the 2nd+ deployment)syntax see [3]Extend pom.xml to use the maven-assembly-plugin to build a zip file which contains the applications jar file and the .ebextensions directory (without top level directory).    </build>      </plugins>            ........            <plugin>                <artifactId>maven-assembly-plugin</artifactId>                <version>3.5.0</version>                <configuration>                    <descriptors>                        <descriptor>zip-with-ebextensions.xml</descriptor>                    </descriptors>                </configuration>                <executions>                    <execution>                        <id>make-assembly</id>                         <phase>package</phase>                         <goals>                            <goal>single</goal>                        </goals>                    </execution>                </executions>            </plugin>        </plugins>    </build>In the project root directory create the corresponding configuration file for the assembly plugin named zip-with-ebextensions.xml<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.1"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.1 https://maven.apache.org/xsd/assembly-2.1.1.xsd">  <id>with-ebextensions</id>  <includeBaseDirectory>false</includeBaseDirectory>  <formats>    <format>zip</format>  </formats>  <fileSets>    <fileSet>      <directory>${project.basedir}</directory>      <outputDirectory></outputDirectory>      <includes>        <include>.ebextensions/**/*</include>        <!-- <include>Procfile</include> -->      </includes>    </fileSet>    <fileSet>      <directory>${project.build.directory}</directory>      <outputDirectory></outputDirectory>      <includes>        <include>*.jar</include>      </includes>    </fileSet>  </fileSets></assembly>Note: can be extended by including a Procfile (see [2]) if needed.Build your project with mvn package -PproductionResult:The target directory should contain a zip file named <app_name_with_version>-with-ebextensions.zip.The contents should look like:When you login to the underlying EC2 instance, you can see that wkhtmltopdf was installed:Final remark:The structure should also work, if you decide to deploy source code using e.g. the Elastic Beanstalk Command Line Interface (EB CLI), and build on the EC2 instance (see [1])Related AWS Elastic Beanstalk documentation references:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/applications-sourcebundle.htmlhttps://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-procfile.htmlhttps://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#linux-commandsCommentShareNormananswered a month agorePost-User-1330156 a month agoHi Norman, the above worked perfectly fine! thank you so much for this answer, couldn't have asked for a better answer!Share"


Question: Error loading metadata using AWS SCT against an RDS SQL Server Instance

"I am trying to use the AWS Schema Conversion Tool to convert a SQL Server instance running on RDS to Aurora MySQL. I have a large number of databases in the same SQL Server instance, and was able to successfully convert the schema for 5 of them. Then I attempted to use the "Refresh from Database" menu option for one of the databases and received an error statingMetadata loading was interrupted because of data fetching issues. For details, see the log.On checking the logs, I see the following error that is causing the issue:Error executing 'load-script-object-ext-properties' query: com.microsoft.sqlserver.jdbc.SQLServerException: Collection specified does not exist in metadata : 'sys'Now I am unable to see the schema of any database on that server, and they ALL fail with the same issue.I have tried creating a new SCT project, and using a different SQL login.I am completely blocked at the moment, and not sure how to progress my migration.FollowComment"

Answer: "0Hi, Thank you for reaching out.Looking at the error from the log:  its throwing a SQL Server exception listed here: https://docs.microsoft.com/en-us/sql/relational-databases/errors-events/database-engine-events-and-errors?view=sql-server-ver15This script "load-script-object-ext-properties” could be getting invoked by SCT menu "Refresh from Database”.You can try to connect to SCT through master user of the SQL Server database and see if you are able to see the schemas of any database. In addition, if you have not already granted the permission required, please do so by repeating the grant for each database as mentioned here: https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.PermissionsIf the above does not help, as a test, please try to create a sample database and a table with master user of your RDS SQL Server instance and check if you are able to view the schemas then.In order to further help you with this issue, we require details (such as complete log) that are non-public information. Please open a support case with AWS using the following [https://console.aws.amazon.com/support/home#/case/create.]CommentShareArchana_Danswered a year ago0Sometimes, a simple fix by DISCONNECTING from the SOURCE-database and creating a new SOURCE-Connection will fix such problems within SCT.CommentSharesarmaanswered a year ago"


Question: Receiving emails on SES

"To be honest, I'm a noob on Amazon AWS. I tried to find information on documentation, but I didn't succeed.I have set up SES for my domain (let's say example.com) with SPF, DKIM, and DMARC. I can send an email from the dashboard or from the program using SES's API. It works as it should. So far so good.But what should I do, when users use reply on an email he gets from us. For example, we send a welcome email from "no-reply@example.com" and user press Reply button within his mail client.What is the simplest way to handle this kind of emails? Can we forward received emails to our info.example@gmail.com address?Thank you for your help.FollowComment"

Answer: "0Hello,You can use the Reply-To address.‘Reply-to’ - An address to which replies should be sent, instead of ‘From’. This is used if, for some reason, your ‘From’ address cannot receive replies.Regards,Gaurav @ AWSCommentShareAWS-User-7751712answered 4 years ago0Thank you. I will try it.CommentSharekacnjeanswered 4 years ago"


Question: Send SMS delivery status feedback to originating app

"I am creating a solution to send SMS from a client application via AWS SNS. I am using the NodeJS sdk and able to send sms via SNS publish api. I can see the delivery status in the SNS dashboard and the log in the SMS log in the SNS dashboard.I would like to integrate the feedback loop back to my client application to receive the SMS delivery feedback.Is there any means of providing a callback Webhook to the publish api OR any integration via SNS where the SMS status feedback triggers a configured Webhook endpoint?I even looked through AWS pinpoint.So, any solution via SNS/AWS pinpoint/CloudWatch or any other AWS component is welcome.FollowComment"

Answer: 0In Pinpoint project settings you can  enable Event stream in order to consume SMS statuses via AWS Kinesis stream consumerCommentShareAndriianswered a year ago


Question: Extracted FORMS keep order

"Hello.I am using AWS textract and specifically the FORMS functionality to extract just that. It works really good. But the issue I have is that when returning the extracted FORMS, they do not keep their natural order as they come from the document. Is there any way to keep the natural order in the returned objected? Or can I map back to the document order using the coordinates? This is how I use the extraction currently:def ocr(document):job_id = start_job(client, BUCKET, document)is_job_complete(client, job_id)response = get_job_results(client, job_id) #This is the full object of the OCRfield_list = []doc = Document(response)start = 0for page in doc.pages:    lst = []    for field in page.form.fields:        lst.append("Key: {} Value: {}".format(field.key, field.value))    field_list.append(lst)    start = start + 1text_list = []#Also extract the raw textfor i in range(0,len(response)):    for item in response[i]["Blocks"]:        if item["BlockType"] == "LINE":            text_list.append(item["Text"])text = " ".join(text_list)return(field_list, text)To put it in a real scenario,Example document contains the following FORMS:A: 123B: 432C: 000D: 126But the above function returns:B: 432A: 123D: 126C: 000Hence not keeping the natural order of working from the top, then left to right, down to the bottom of the document. Is there any setting I can alter earlier or something I can change about my current function to return, the original/natural order?FollowComment"

Answer: "1Accepted AnswerTextract is a machine learning service so it may not be 100% accurate. However, we are always trying to improve the accuracy of our models. We will forward this particular use case to our science teams so that hopefully a future model update will not miss this case.Regarding the issue with the reading order, Textract currently does not support configuration for reading order. However, we will surface this feature request to our PMs to see if this can be added to a future release.CommentShareAWS-User-5526165answered a year ago1Hi glad to hear Textract AnalyzeDoc's FORMS feature is working well for you generally.Textract currently does not support configuration for reading order. For this particular case, it would be good if you share your document with us so we can investigate further as to why you're not getting the expected order.CommentShareAWS-User-1785516answered a year ago0Hi, thanks for the reply! I can share a snippet of a FORMS example. In the link below you can find the picture. After converting the PNG to PDF and running the code above, I get the following result:LINK: https://gyazo.com/b7b949cd06538bf7931cb9f6117ac581[['Key: Straße, Hausnummer Value: None','Key: Ggf. weitere Angaben Value: None','Key: Geburtsname Value: None','Key: Postleitzahl, Wohnort, bei Soldaten Standort Value: None','Key: Familienname Value: None','Key: Geburtsdatum Value: Geburtsort']]Naturally, the order should have been:[['Key: Vorname, Value: None','Key: Familienname Value: None','Key: Straße, Hausnummer Value: None','Key: Postleitzahl, Wohnort, bei Soldaten Standort Value: None','Key: Geburtsdatum Value: Geburtsort','Key: Geburtsname Value: None','Key: Ggf. weitere Angaben Value: None']]So in this example, it even missed out on "Vorname" variable. Usually it don't miss... But if anyone can help me explain this behavior I would be very grateful!CommentSharerePost-User-8942002answered a year ago"


Question: Cloudfront distribution bug with Managed-SimpleCORS response policy?

"We have a problem with CloudFront and something that for us seems to be a bug.CloudFront is in our case inconsistently following the Managed SimpleCORS policy based on region.Our configuration is a distribution with an S3 origin, where the following policies are being used:Viewer protocol policy: Redirect HTTP to HTTPSCache policy name: Managed-CachingOptimizedOrigin request policy Name: -Response headers policy name: Managed-SimpleCORSInitially it works fine, also seems to work fine if we run an invalidation for a little while, but it has happened several times now that we see that over time, the CORS response is not correct depending on the geographical region the request is being sent from.This causes a CORS issue in e.g. Chrome.We have even tried creating a new CloudFront distribution from scratch, configuring the behaviour and origins, and end up with the same result.The issue is verifiable using the following CURL request:curl -i 'https://dist.mysite.com/fonts/mulish-v12-latin-700.woff2' \  -H 'authority: dist.myworkout.com' \   -H 'accept: /' \  -H 'accept-language: en' \  -H 'cache-control: no-cache' \  -H 'origin: https://go.myworkout.com' \  -H 'pragma: no-cache' \  -H 'referer: https://go.myworkout.com/styles.fad176935017dfec.css' \  -H 'sec-ch-ua: "Chromium";v="110", "Not A(Brand";v="24", "Google Chrome";v="110"' \  -H 'sec-ch-ua-mobile: ?0' \  -H 'sec-ch-ua-platform: "Windows"' \  -H 'sec-fetch-dest: font' \  -H 'sec-fetch-mode: cors' \  -H 'sec-fetch-site: same-site' \  -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36' \  --compressedyields this correct result from Norway (where the access-control headers ARE included):HTTP/2 200 content-type: font/woff2content-length: 11164access-control-allow-origin: *access-control-allow-methods: GETlast-modified: Fri, 13 Jan 2023 20:03:47 GMTx-amz-server-side-encryption: AES256x-amz-version-id: vZw9469Ogk6XEvU5RIQmB288hzwQr6zGaccept-ranges: bytesserver: AmazonS3date: Wed, 08 Feb 2023 19:52:10 GMTetag: "d08677b723b410a78debca060c4d2ca2"vary: Accept-Encodingx-cache: Hit from cloudfrontvia: 1.1 4bbc14b5834fc74ccd249b954b43a08c.cloudfront.net (CloudFront)x-amz-cf-pop: OSL50-P1alt-svc: h3=":443"; ma=86400x-amz-cf-id: ncSFQlZj71-fHM_finid9YYvtJsCHwCaK6fL8rhfE6Hg-HDypXe3pg==age: 54574And this result from Spain (where no access-control headers are NOT included):HTTP/2 200content-type: font/woff2content-length: 11164last-modified: Fri, 13 Jan 2023 20:03:47 GMTx-amz-version-id: vZw9469Ogk6XEvU5RIQmB288hzwQr6zGaccept-ranges: bytesserver: AmazonS3date: Thu, 09 Feb 2023 10:35:27 GMTetag: "d08677b723b410a78debca060c4d2ca2"vary: Accept-Encodingx-cache: Hit from cloudfrontvia: 1.1 c95bbb2353ba80a0b30261c24e526ab4.cloudfront.net (CloudFront)x-amz-cf-pop: MAD56-P4alt-svc: h3=":443"; ma=86400x-amz-cf-id: ux_suZMPIzk8iWSiESC9FyY6-soMs4u809-brTT00YHjRnEFpjZtug==age: 1769If we connect by VPN to Norway in Spain, we get the correct result again as the request from Norway.There are some similar threads, but seems like these are not strictly the same and relates to some other issues.relates to the use of OPTIONSFollowComment"


Question: How to successfully delete versioned files in S3

"Hi,How do I delete groups of versioned files in S3? I have thousands of files and do not want to have to select to delete each file. I have added a Lifecycle rule but it does not seem to be deleting the versions.Thanks,FollowComment"

Answer: "1Accepted AnswerHelloWhat issue do you have deleting non current versions through lifecycle?There is a great blog post around using lifecyle policies for noncurrent versions :https://aws.amazon.com/blogs/storage/reduce-storage-costs-with-fewer-noncurrent-versions-using-amazon-s3-lifecycle/Lifecycle policies are a great mechanism for current and non-current versions of objects. You can select how many versions to keep as well as number of days after which the non-current version of the object should be deleted. You can apply this at a prefix level or bucket level for filtering.CommentSharerePostfanclubanswered a year agoAWS-User-6498662 a year agoThanks for the replyI have a bucket with multiple prefixes e.g.bucket1\300\2006\1I would like to delete all versioned objects from 300 downII have a lifecylce rule with the following options checkedExpire current versions of objectsPermanently delete noncurrent versions of objectsand a prefix of 300 but the versions are not being deletedShare0HiOnce you define a lifecycle rule for a noncurrent objects for a given prefix , you also need to configure 'Days after objects become noncurrent" and "number of newer objects to retain". Please follow the blog instructions as it will show you step by step.As always test this with a small number of objects e.g. instead of using 300, you can use the 300/2006/1 to delete objects under that prefix.Once the lifecycle is configured, there might be a delay in seeing the effect. See below article that explains it in detail.https://aws.amazon.com/premiumsupport/knowledge-center/s3-lifecycle-rule-delay/CommentSharerePostfanclubanswered a year ago"


Question: Assert 1000 wlmquery->GetBurstState() == WLMQuery::RunOnBurst - burst state

"Since switching on auto WLM management overnight, we're seeing intermittent errors like the following:[2019-06-13 13:44:59] [XX000][500310] [Amazon](500310) Invalid operation: Assert[2019-06-13 13:44:59] Details:[2019-06-13 13:44:59] -----------------------------------------------[2019-06-13 13:44:59] error:  Assert[2019-06-13 13:44:59] code:      1000[2019-06-13 13:44:59] context:   wlmquery->GetBurstState() == WLMQuery::RunOnBurst - burst state: 5[2019-06-13 13:44:59] query:     54255279[2019-06-13 13:44:59] location:  workloadmanager.cpp:2057[2019-06-13 13:44:59] process:   padbmaster [pid=8191][2019-06-13 13:44:59] -----------------------------------------------;[2019-06-13 13:44:59] java.lang.RuntimeException: com.amazon.support.exceptions.ErrorException: [Amazon](500310) Invalid operation: Assert[2019-06-13 13:44:59] Details:[2019-06-13 13:44:59] -----------------------------------------------[2019-06-13 13:44:59] error:  Assert[2019-06-13 13:44:59] code:      1000[2019-06-13 13:44:59] context:   wlmquery->GetBurstState() == WLMQuery::RunOnBurst - burst state: 5[2019-06-13 13:44:59] query:     54255279[2019-06-13 13:44:59] location:  workloadmanager.cpp:2057[2019-06-13 13:44:59] process:   padbmaster [pid=8191][2019-06-13 13:44:59] -----------------------------------------------;[2019-06-13 13:44:59] at com.amazon.redshift.client.messages.inbound.ErrorResponse.toErrorException(Unknown Source)[2019-06-13 13:44:59] at com.amazon.redshift.client.PGMessagingContext.handleErrorResponse(Unknown Source)[2019-06-13 13:44:59] at com.amazon.redshift.client.PGMessagingContext.handleMessage(Unknown Source)[2019-06-13 13:44:59] at com.amazon.jdbc.communications.InboundMessagesPipeline.getNextMessageOfClass(Unknown Source)[2019-06-13 13:44:59] at com.amazon.redshift.client.PGMessagingContext.doMoveToNextClass(Unknown Source)[2019-06-13 13:44:59] at com.amazon.redshift.client.PGMessagingContext.getErrorResponse(Unknown Source)[2019-06-13 13:44:59] at com.amazon.redshift.client.PGClient.handleErrorsScenario3(Unknown Source)[2019-06-13 13:44:59] at com.amazon.redshift.client.PGClient.handleErrors(Unknown Source)[2019-06-13 13:44:59] at com.amazon.redshift.client.PGClient.directExecute(Unknown Source)[2019-06-13 13:44:59] at com.amazon.redshift.client.PGClient.directExecuteExtraMetadata(Unknown Source)[2019-06-13 13:44:59] at com.amazon.redshift.dataengine.PGQueryExecutor.execute(Unknown Source)[2019-06-13 13:44:59] at com.amazon.jdbc.common.SStatement.executeNoParams(Unknown Source)[2019-06-13 13:44:59] at com.amazon.jdbc.common.SStatement.execute(Unknown Source)[2019-06-13 13:44:59] in RemoteStatementImpl.execute(RemoteStatementImpl.java:78) (no stack trace)This is happening on a variety of queries that previously ran without incident.  Any thoughts on how to troubleshoot and/or fix?ThanksFollowComment"

Answer: "0Hi BarkMBishop,For any assertion an immediate AWS support case is the best course of action and likely the fastest response if you have an AWS support contract.However, a post to the forum is helpful to rest of us customers for our awareness and to help us all get the customer count on the issue up to a more representative level.So thanks for posting here (too)!Regards,-KurtCommentShareklarsonanswered 4 years ago0Thank you for bringing this to our attention. We're currently investigating. I will update this post when we have identified the issue.Please look for an update here or, alternatively, raise a case with AWS Support mentioning this post. They will be able to contact you directly with further follow up.CommentShareAWS-User-2965899answered 4 years ago0This seems to have been resolved in a recent update.  Marking as answered.CommentShareBarkMBishopanswered 4 years ago"


Question: Creating hosted zone records with .NET SDK

"I am trying to create hosted zone records (alias, Simple routing, A records) using the .NET SDK ChangeResourceRecordSetsAsync method. My jsonized input for the request (sanitized) is this:{  "HostedZoneId": "route 53 hosted zone id",  "ChangeBatch": {    "Changes": [      {        "Action": {          "Value": "CREATE"        },        "ResourceRecordSet": {          "Name": "uri that i wish this to appear as",          "Type": {            "Value": "A"          },          "Region": {            "Value": "selected region"          },          "AliasTarget": {            "HostedZoneId": "hosted zone id of the api gateway endpoint",            "DNSName": "api gateway domain name",            "EvaluateTargetHealth": true          },        }      }    ]  }}If I include SetIdentifier, I end up with a hosted zone record, but the routing is set to Latency. If I remove SetIdentifier, it complains because it is not there and nothing gets created.Could someone please help me format a request to create a record with Simple routing?FollowComment"

Answer: "0Accepted AnswerAlright, figured it out. I had to remove the Region from the request.CommentSharelxmananswered a year ago"


Question: Text data type column not loading data for the values with hyphen and special charcter

"Hi ,I have an external table with col1 data type text , when i load the table with the scriptcreate external table boa_external.test(col1 text)ROW FORMAT SERDE'org.apache.hadoop.hive.serde2.OpenCSVSerde'WITH SERDEPROPERTIES ('escapeChar'='\u0B83','quoteChar'='"','separatorChar'=',')STORED AS INPUTFORMAT'org.apache.hadoop.mapred.TextInputFormat'OUTPUTFORMAT'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'LOCATION's3://'TABLE PROPERTIES('skip.header.line.count'='1');The values ending with 1*†‡§ is not loaded fully and looks as blankThe values afer - are not loaded and the whole values remains blankwould appreiciate if you could throw some light on it and would be of great helpFollowComment"

Answer: "0Can you please confirm where are you trying to create the table ? If you are trying to create table in Athena with text datatype, Athena doesn't support text data type. For list of supported data types in Athena, please refer [1]. I tested it on my end and received below errorFAILED: ParseException line 1:34 cannot recognize input near 'text' ')' 'ROW' in column typeThis query ran against the "default" database, unless qualified by the query. Please post the error message on our forum  or contact customer supportFrom the error it looks like the table DDL is unable to handle the data with special characters. If you are creating table with AWS Data Exchange, I would recommend please open a support ticket with our AWS Data Exchange queue and please provide some sample data for us to test and dive deep into the issueREFERENCES:[1] https://docs.aws.amazon.com/athena/latest/ug/data-types.htmlCommentShareSUPPORT ENGINEERVishali_Nanswered a year ago"


Question: Unable delete a volume - struck with deleting status

"I created a EBS volume and attached with an instance. Partitioned, mounted, created files. Unmounted, detached, created snapshot and then tried to delete the volume. But unable to delete the volume and its struck with "Deleting" status. And also I terminated the instance as well. Only the volume is deletion is pending. How to delete this volume forcefully?FollowComment"

Answer: "0I would suggest you take a look at these steps, if the issue is still not addressed.https://repost.aws/questions/QUU4MimLd9SJ6RsdolgqF40g/ebs-volume-in-deletion-state-with-no-instance-attached-volume-id-vol-02466-e-1060-f-4941-f-6CommentShareRajesh Sanswered a year ago"


Question: x-amzn-ErrorType:UnauthorizedException from Options request

"Hi,I have a proxy API, created with Serverless Express integration, that uses a custom Authorizer and I have been struggling with OPTIONS method with no success.This is an example of request / response:GENERALRequest URL:https://ol12XXXX.execute-api.eu-west-1.amazonaws.com/prod/api/users/107Request Method:OPTIONSStatus Code:401 UnauthorizedRemote Address:54.240.162.120:443RESPONSEConnection:keep-aliveContent-Length:26Content-Type:application/jsonDate:Tue, 24 Jan 2017 14:38:10 GMTVia:1.1 9aac77db976fd4f008caa822737485da.cloudfront.net (CloudFront)X-Amz-Cf-Id:jKCgEzblaYOJlfk4MgvBkEgWoyG1VLeyhY6PzDsRst9OHuQ7wS-r7Q==x-amzn-ErrorType:UnauthorizedExceptionx-amzn-RequestId:ba9a6bfd-e242-11e6-9193-773bc0dbb837X-Cache:Error from cloudfrontREQUEST HEADERSAccept:*/*Accept-Encoding:gzip, deflate, sdch, brAccept-Language:itAccess-Control-Request-Headers:authorizationAccess-Control-Request-Method:GETCache-Control:no-cacheConnection:keep-aliveHost:ol12j12b9k.execute-api.eu-west-1.amazonaws.comOrigin:http://localhost:8880Pragma:no-cacheReferer:http://localhost:8880/User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36The request by itself works, e.g. tested from Postman and CORS seems to be corrected enabled: access-control-allow-origin is set to * in the response header.As per other messages, it looks like API Gateway is masking the actual error.I tried to enable / disable custom authorizer in the OPTIONS method, but the result is the same.I have no idea what to do next: can someone please help?ThanksFollowComment"

Answer: "1After a couple of more hours of trial and error, I redeployed the API Gateway stage and now everything works.So, to recap for the benefit of everyone, the CORS + Authorizer working configuration that I found is as follows:the API Lambda code returns access-control-allow-origin headerCORS is enabled in API GatewayCustom Authorizer is disabled for OPTIONS methodDeploy modifications (2 and 3) to API Gateway stage to make them active.Hope this helps.CommentSharepmosconianswered 6 years ago0Thanks so much for posting the solution. Saved me so much headache and time!CommentShareezcganswered 2 years ago"


Question: I keep getting a security concern email from AWS.

"Hi, every week or so I keep getting an email from AWS about a security concern even though I have deleted every single instance/ resource and have changed the password multiple times due to AWS requiring me to change my password. Does anyone else have the same issue? If so, how do I fix this?FollowComment"

Answer: 0I recommend creating a ticket with AWS support and explain your problem to them. I am sure they will be able to help you. Have you tried that before?CommentShareDunieski Otanoanswered 8 months ago


Question: Warning: EC2-Classic Networking Enabled

"I am getting the following warning on my EC2 Management Console:"This account has EC2-Classic Networking enabled for one or more AWS regions. AWS will be retiring the EC2-Classic Platform on August 15, 2022. To avoid interruptions to your workloads, we recommend that you migrate instances and other AWS resources running on EC2-Classic over to VPC prior to August 15, 2022. For more details on important dates and resources to help you migrate, see Policy pageStarting October 30, 2021, AWS will turn off EC2-Classic from accounts across all Classic regions where you do not currently have any active AWS resources. AWS Classic Resources include: EC2 Instances, Amazon Relational Database, AWS Elastic Beanstalk, Amazon Redshift, AWS Data Pipeline, Amazon EMR, AWS OpsWorks."I successfully ran the Classic-Resource-Finder.sh script (https://github.com/aws-samples/ec2-classic-resource-finder) and the only resources logged were two default security groups (for us-east-1 & us-west-1), which cannot be deleted.Neither of the default security groups are assigned to my instances. All instances are already associated with VPCs, as are the resources assigned to those instances.I am having a very difficult time finding out if these two remaining EC2-Classic security groups will affect my account after the October 30, 2021 cut-off date.FollowComment"

Answer: "0Allow me to micro-hijack the thread for a second, but i cant figure out for the life of me how to execute that script. This is supposed to be executed in the AWS CloudShell right?CommentShareOmnivisionanswered 2 years ago"


Question: need access token as header in cognito

We need access token as header in cognito authorizerhttps://aws.amazon.com/premiumsupport/knowledge-center/api-gateway-cognito-401-unauthorized/is the only way is to add custom scope to do it?How custom scope can be configured in sam template? "FollowComment

Answer: 1If there are no scopes defined the API Gateway Cognito Authorizer will require the ID Token. If you require to use the Access Token then you will need to define one or more scopes in your Method Request OAuth scopes. These scopes will also need to be in your Access Token. Scopes can be defined with CloudFormation reference AWS::ApiGateway::Method then see AuthorizationScopes.CommentShareMike_Panswered 9 months ago


Question: Can not turn off Performance Insights

"The purpose is to delete an old database (Size: db.m5.xlarge; DB Engine: 8.0.16 Version).First, we tried to disable Delete Protection, but it shows an error message as below:We're sorry, your request to modify DB instance prod-uptrade-db has failed.Performance Insights not supported for this configuration, please disable this feature.Therefore, we tried to turn off Performance Insights by following this article (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Enabling.html). However, after we clicked Modify, we can't find the Performance Insights section anywhere. Anyone can help? Thank you.FollowComment"

Answer: "0Accepted AnswerI am not sure if you are running on RDS MySQL / MariaDB or Aurora MySQL. But there are certain instance types on which you cannot support Performance Insights.RDS MySQL:[+] https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.Engines.htmlPerformance Insights isn't supported for the following instance classes:db.t2.microdb.t2.smalldb.t3.microdb.t3.smallAurora MySQL:[+] https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.Overview.Engines.htmlPerformance Insights isn't supported for the following instance classes:db.t2 – Not supporteddb.t3 – Not supporteddb.t4g – Supported only for 2.10.1 and higher 2 versions (compatible with MySQL 5.7) and all 3 versions (compatible with MySQL 8.0)CommentShareD-Raoanswered a year agoAWS-User-M86 a year agoThank you for your reply. Our version is RDS MySQL 8.0.16, which doesn't support Performance Insights, but we don't know how it was enabled. We changed to a MySQL version number that supports Performance Insights, and then we were able to disable the feature and eventually delete the database.Share"


Question: "You need permissions to perform this action" copying file to storage gat.

"Dear all,I have a storage gateway file share linked to my Windows server infrastructure.When I copy a big file in this share after a few minutes the copy process fails with this error:"You need permission to perform this action"I'm sure I have permission to that share because with smaller files it works.What can it be? Is there any session timeout I can adjust?FollowComment"

Answer: "0My name is Brian and I am with the Storage Gateway team.If this was a timeout for the session in Windows I'd expect more of a semaphore timeout error. Since you mentioned that this is writing for a few minutes then errors out I would rule out Active Directory permissions.With the behavior described it would sound more like the gateway is denying the write because the cache is full which the gateway would return as an I/O error but some applications may show as permissions.Can you check the metrics/monitoring tab in the Storage Gateway web console and see what the Cache Percent Dirty metric is at the times you get that error? If it's 90% or greater then it would mean you are writing to the gateway faster than it can upload.If that is the case you would need to add more cache disk(s) to the gateway (do not modify or remove existing cache disks only add new ones) or increase the amount of bandwidth available to the gateway for uploads.CommentShareBrian Canswered 3 years ago0Thank you Brian, I think you are right. The problem is the cache as I have some dirty cache peeks  during those copies.CommentShareTobiaScapinanswered 3 years ago"


Question: `sudo ./greengrassd start` not working

"●environment・device・jetson xavier, jetson nano※both devices have same problem・Greengrass Version: 1.11.0●problemwhen i call below command, i have problem.i cant find solution from logs and aws greengrass documents.please help me.※i hide some text for security.sudo ./greengrassd start    hoge@hoge-desktop:~/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass/ggc/core$ sudo ./greengrassd start  Setting up greengrass daemon  Validating hardlink/softlink protection  Waiting for up to 1m10s for Daemon to start  ds server failed to start listening to socket: listen unix /home/hoge/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass/ggc/socket/greengrass_ipc.sock: bind: invalid argument  runtime failed to start: unable to start domain socket server  amazonaws.com/iot/greengrass/ipc.(*Service).Serve  /opt/src/src/amazonaws.com/iot/greengrass/ipc/server.go:134  main.main.func3  /opt/src/src/amazonaws.com/iot/greengrass/daemon/daemon.go:294  runtime.goexit  /usr/local/go/lib/src/runtime/asm_arm64.s:1128  unable to start server  main.main.func3  /opt/src/src/amazonaws.com/iot/greengrass/daemon/daemon.go:296  runtime.goexit  /usr/local/go/lib/src/runtime/asm_arm64.s:1128  The Greengrass daemon process with \[pid = 16078] died  ●report・config.json{    "coreThing" : {      "caPath" : "root.ca.pem",      "certPath" : "84bca786b7.cert.pem",      "keyPath" : "84bca786b7.private.key",      "thingArn" : "arn:aws:iot:○○:××:thing/xavier-greengrass-sample-dev_Core",      "iotHost" : "××-ats.iot.○○.amazonaws.com",      "ggHost" : "greengrass-ats.iot.○○.amazonaws.com",      "keepAlive" : 600    },    "runtime" : {      "cgroup" : {        "useSystemd" : "yes"      }    },    "managedRespawn" : false,    "crypto" : {      "principals" : {        "SecretsManager" : {          "privateKeyPath" : "file:///home/hoge/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass/certs/84bca786b7.private.key"        },        "IoTCertificate" : {          "privateKeyPath" : "file:///home/hoge/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass/certs/84bca786b7.private.key",          "certificatePath" : "file:///home/hoge/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass/certs/84bca786b7.cert.pem"        }      },      "caPath" : "file:///home/hoge/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass/certs/root.ca.pem"    }  }  ・runtime.log\[2021-07-02T15:37:42.287+09:00]\[INFO]-===========================================  \[2021-07-02T15:37:42.287+09:00]\[INFO]-Greengrass Version: 1.11.0-RC2  \[2021-07-02T15:37:42.287+09:00]\[INFO]-Greengrass Root: /home/hoge/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass  \[2021-07-02T15:37:42.287+09:00]\[INFO]-Greengrass Write Directory: /home/hoge/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass/ggc  \[2021-07-02T15:37:42.287+09:00]\[INFO]-Group File Directory: /home/hoge/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass/ggc/deployment/group  \[2021-07-02T15:37:42.288+09:00]\[INFO]-Default Lambda UID: 125  \[2021-07-02T15:37:42.288+09:00]\[INFO]-Default Lambda GID: 131  \[2021-07-02T15:37:42.288+09:00]\[DEBUG]-Go version: go1.12.11  \[2021-07-02T15:37:42.288+09:00]\[DEBUG]-CoreThing Connection Config:  {  "Region": "△△",  "ThingArn": "arn:aws:iot:△△:□□:thing/xavier-greengrass-sample-dev_Core",  "IoTMQTTEndpoint": "〇〇-ats.iot.△△.amazonaws.com:8883",  "IoTHTTPEndpoint": "〇〇-ats.iot.△△.amazonaws.com:8443",  "GGMQTTPort": 8883,  "GGHTTPEndpoint": "greengrass-ats.iot.△△.amazonaws.com:8443",  "GGDaemonPort": 8000,  "GGMQTTKeepAlive": 600,  "GGMQTTMaxConnectionRetryInterval": 60,  "GGMQTTConnectTimeout": 30,  "GGMQTTPingTimeout": 30,  "GGMQTTOperationTimeout": 5,  "GGHTTPTimeout": 60,  "FIPSMode": false,  "CoreClientId": ""  }  \[2021-07-02T15:37:42.288+09:00]\[DEBUG]-System Config:  {  "tmpDirectory": "",  "shadowSyncTimeout": 0,  "useOverlayWithTmpfs": false,  "disablePivotRoot": false  }  \[2021-07-02T15:37:42.288+09:00]\[DEBUG]-Runtime Config:  {  "maxWorkItemCount": 1024,  "schedulingFrequency": 1000,  "maxConcurrentLimit": 25,  "lruSize": 25,  "cgroup": {  "useSystemd": true,  "mountPoint": null  },  "postStartHealthCheckTimeout": 60000,  "allowFunctionsToRunAsRoot": false,  "onSystemComponentsFailure": 0,  "systemComponentAuthTimeout": 5000,  "mountAllBlockDevices": false  }  \[2021-07-02T15:37:42.288+09:00]\[INFO]-===========================================  \[2021-07-02T15:37:42.288+09:00]\[DEBUG]-\[3]Requested certificate load \[file:///home/hoge/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass/certs/84bca786b7.cert.pem] with error: \[<nil>]  \[2021-07-02T15:37:42.288+09:00]\[INFO]-The current core is using the AWS IoT certificates with fingerprint.{"fingerprint": "~~~~~"}  \[2021-07-02T15:37:42.288+09:00]\[INFO]-Will persist worker process info.{"dir": "/home/hoge/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass/ggc/packages/1.11.0/var/worker/processes"}  \[2021-07-02T15:37:42.289+09:00]\[INFO]-Will persist worker process info.{"dir": "/home/hoge/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass/ggc/packages/1.11.0/var/worker/processes"}  \[2021-07-02T15:37:42.29+09:00]\[DEBUG]-loading subscriptions{"trie": "map\[]"}  \[2021-07-02T15:37:42.29+09:00]\[INFO]-No proxy URL found.  \[2021-07-02T15:37:42.29+09:00]\[DEBUG]-\[3]Requested certificate load \[file:///home/hoge/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass/certs/root.ca.pem] with error: \[<nil>]  \[2021-07-02T15:37:42.291+09:00]\[DEBUG]-\[3]Requested key load \[file:///home/hoge/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass/certs/84bca786b7.private.key] with error: \[<nil>]  \[2021-07-02T15:37:42.291+09:00]\[DEBUG]-\[3]Requested certificate load \[file:///home/hoge/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass/certs/84bca786b7.cert.pem] with error: \[<nil>]  \[2021-07-02T15:37:42.291+09:00]\[INFO]-No proxy URL found.  \[2021-07-02T15:37:42.292+09:00]\[FATAL]-ds server failed to start listening to socket: listen unix /home/hoge/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass/ggc/socket/greengrass_ipc.sock: bind: invalid argument  runtime failed to start: unable to start domain socket server  amazonaws.com/iot/greengrass/ipc.(*Service).Serve  /opt/src/src/amazonaws.com/iot/greengrass/ipc/server.go:134  main.main.func3  /opt/src/src/amazonaws.com/iot/greengrass/daemon/daemon.go:294  runtime.goexit  /usr/local/go/lib/src/runtime/asm_arm64.s:1128  unable to start server  main.main.func3  /opt/src/src/amazonaws.com/iot/greengrass/daemon/daemon.go:296  runtime.goexit  /usr/local/go/lib/src/runtime/asm_arm64.s:1128{"stacktrace": "main.stop\n\t/opt/src/src/amazonaws.com/iot/greengrass/daemon/daemon.go:108\nruntime.gopanic\n\t/usr/local/go/lib/src/runtime/panic.go:522\nmain.main.func3\n\t/opt/src/src/amazonaws.com/iot/greengrass/daemon/daemon.go:296"}  ・crash.logds server failed to start listening to socket: listen unix /home/hoge/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass/ggc/socket/greengrass_ipc.sock: bind: invalid argument  runtime failed to start: unable to start domain socket server  amazonaws.com/iot/greengrass/ipc.(*Service).Serve  /opt/src/src/amazonaws.com/iot/greengrass/ipc/server.go:134  main.main.func3  /opt/src/src/amazonaws.com/iot/greengrass/daemon/daemon.go:294  runtime.goexit  /usr/local/go/lib/src/runtime/asm_arm64.s:1128  unable to start server  main.main.func3  /opt/src/src/amazonaws.com/iot/greengrass/daemon/daemon.go:296  runtime.goexit  /usr/local/go/lib/src/runtime/asm_arm64.s:1128  The Greengrass daemon process with \[pid = 16078] died  ・dependencies check~/Desktop/iw/828107bd-870a-4a54-866c-233539d826ec/greengrass-dependency-checker-GGCv1.11.x/greengrass-dependency-checker-GGCv1.11.x$ sudo ./check_ggc_dependencies  ==========================Checking script dependencies==============================  The device has all commands required for the script to run.  ========================Dependency check report for GGC v1.11.x=========================  System configuration:  Kernel architecture: aarch64  Init process: /lib/systemd/systemd  Kernel version: 4.9.140  C library: Ubuntu GLIBC 2.27-3ubuntu1  C library version: 2.27  Directory /var/run: Present  /dev/stdin: Found  /dev/stdout: Found  /dev/stderr: Found  ----------------------------Commands and software packages--------------------------  Python 2.7 version: 2.7.17  Python 3.8: Not found  Python 3.7 version: 3.6.9  NodeJS 12.x: Not found  Java 8: Not found  wget: Present  realpath: Present  tar: Present  readlink: Present  basename: Present  dirname: Present  pidof: Present  df: Present  grep: Present  umount: Present  mv: Present  gzip: Present  mkdir: Present  rm: Present  ln: Present  cat: Present  cut: Present  /bin/bash: Present  ---------------------------------Platform security----------------------------------  Hardlinks_protection: Enabled  Symlinks protection: Enabled  -----------------------------------User and group-----------------------------------  ggc_user: Present  ggc_group: Present  ----------------(Optional) Greengrass container dependency check----------------  --------------------------------Kernel configuration--------------------------------  Kernel config file: /proc/config.gz  Namespace configs:  CONFIG_IPC_NS: Enabled  CONFIG_UTS_NS: Enabled  CONFIG_USER_NS: Enabled  CONFIG_PID_NS: Enabled  Cgroup configs:  CONFIG_CGROUP_DEVICE: Enabled  CONFIG_CGROUPS: Enabled  CONFIG_MEMCG: Enabled  Other required configs:  CONFIG_POSIX_MQUEUE: Enabled  CONFIG_OVERLAY_FS: Enabled  CONFIG_HAVE_ARCH_SECCOMP_FILTER: Enabled  CONFIG_SECCOMP_FILTER: Enabled  CONFIG_KEYS: Enabled  CONFIG_SECCOMP: Enabled  CONFIG_SHMEM: Enabled  CONFIG_INOTIFY_USER: Enabled  ------------------------------------Cgroups check-----------------------------------  Cgroups mount directory: /sys/fs/cgroup  Devices cgroup: Enabled and Mounted  Memory cgroup: Enabled and Mounted  ------------------------------------Results-----------------------------------------  Note:  1. It looks like the kernel uses 'systemd' as the init process. Be sure to set the  'useSystemd' field in the file 'config.json' to 'yes' when configuring Greengrass core.  Missing optional dependencies:  1. Could not find the binary 'python3.8'.  If Python 3.8 is installed on the device, name the binary 'python3.8' and add its parent  directory to the PATH environment variable. Python 3.8 is required to execute Python 3.8  lambdas on Greengrass core.  2. Could not find the binary 'nodejs12.x'.  If NodeJS 12.x or later is installed on the device, name the binary 'nodejs12.x' and  add its parent directory to the PATH environment variable. NodeJS 12.x or later is  required to execute NodeJS lambdas on Greengrass core.  3. Could not find the binary 'java8'.  If Java 8 or later is installed on the device name the binary 'java8' and add its  parent directory to the PATH environment variable. Java 8 or later is required to  execute Java lambdas as well as stream management features on Greengrass core.  Supported lambda isolation modes:  No Container: Supported  Greengrass Container: Supported  ----------------------------------Exit status---------------------------------------  You can now proceed to installing the Greengrass core 1.11.x software on the device.  Please reach out to the AWS Greengrass support if issues arise.  FollowComment"

Answer: "0Hi,The problem you are having is due to the path being too long for Unix domain sockets. Please use the suggested installation path of /greengrass. If you cannot use /greengrass, then make sure to use some shorter path than what you're currently using. The maximum length for unix domain socket paths is 108 characters.Cheers,MichaelCommentShareEXPERTMichaelDombrowski-AWSanswered 2 years ago0thank you.i solve problem by trying changing dir and length of path.thank you so much.CommentSharekeikaianswered 2 years ago"


Question: filters place holders not working in aws console

"I am using aws personalize and created filters with placeholder , but when I test a recommender and apply the filter there is no place to provide the values of the placeholders , I tried with both include and exclude expressions, with include it gives an error saying you must provide all dynamic filter fields values but my problem is where can I add them , there is nothing that appears when I choose the filter ?FollowComment"


Question: network problem

"I found that the network quality from mainland China to Tokyo, Japan is unstable, I don't know if it can be optimizedsource ip :115.238.145.17destination ip：3.115.248.193I provide the source and destination addresses, you can perform quality inspection,FollowComment"

Answer: "0Connections to/from services outside of AWS are not something we can directly control. If there are other external IP addresses that work fine then it is likely something on the target network or in between which is out of our control.CommentShareEXPERTBrettski-AWSanswered a year agorePost-User-1547686 a year agoIs there any way to optimize it?I did a tracert diagram to see that the packet loss location is on the internal network of aws, I hope you can check the device at this address that has packet loss since this device 54.239.44.186ShareBrettski-AWS EXPERTa year agoWhen you see packet loss on the internal Amazon network: Are you seeing devices not responding to traceroute/ping requests? Or are you seeing devices sometimes not responding to those requests? If it is the first, that's totally normally - many devices don't participate in the traceroute process (in terms of sending back ICMP messages). If it is intermittent then there is an issue there.As far as optimising the path: There's pretty much nothing you can do; and once packets leave the Amazon network (hence my comment about external IP addresses) it's under the control of whoever owns that remote network.Share"


Question: SAM deploy error - Template format error: Unrecognized resource types: [AWS::Athena::NamedQuery]

"I am trying to deploy updates to an existing SAM template and receiving the following error in us-east-1 -An error occurred (ValidationError) when calling the GetTemplateSummary operation: Template format error: Unrecognized resource types: [AWS::Athena::NamedQuery]I have removed NamedQuery resources in the updated template that I am trying to deploy. I don't know why SAM still thinks the resources are still there in the template.I have never seen this error and searching for information about it does not return any meaningful results. If anyone here has faced this issue, I would really appreciate some guidance to resolve this. Thanks!FollowComment"

Answer: "0As you mentioned you're deploying the Stack in us-east-1, this would rule out the AWS::Athena::NamedQuery resource not being supported.Seems to be on the GetTemplateSummary API which is called as part of aws cloudformation deploy and also sam deploy.Was the AWS::Athena::NamedQuery resource previously in the template as part of a condition that did not actually create the resource?If so, did a subsequent update to the stack fail causing it to rollback?Performing an update operation directly on the Stack via CloudFormation, for example, adding a WaitConditionHandle and removing it in a subsequent update should allow you to proceed.CommentSharedylanredm0ndanswered a year agoAWS-User-9754346 a year agoYes, the NamedQuery was a conditional resource previously.Sharedylanredm0nd a year agoInteresting, a successful update of your Stack manually (by adding any resource) should bring the template into a consistent state that will pass the GetTemplateSummary and subsequently your sam deployShareAWS-User-9754346 a year agoAdding a WaitConditionHandle, updating the stack and then removing it seems to have done the trick. Thanks for the suggestion @dylanredm0nd!Share0Did you do asam packageafter you removed the NamedQuery resource?CommentShareKishananswered a year agoAWS-User-9754346 a year agoYes, I do a sam package before the deploy. But I have tried sam deploy right after sam build and that returns the same error.Share"


Question: Using Amazon EBS for Data Lake

"Hi,I'd like to know if it's possible to use Amazon EBS for storing data(csv,json,...) for Data Lake, and acces them for processing and store to s3 ?FollowComment"

Answer: "0Accepted AnswerHi,While you could use EBS to implement portions of a data lake architecture (volumes for data analytics EC2 instances, for example), it is not a good choice for storing the actual data in a data lake. This is because EBS volumes are typically only accessible by one instance (excluding multi-attach, which requires a cluster-aware filesystem) and should not be used for sharing data. They will not be accessible by Glue, Athena or OpenSearch. Your better bet would be to store the shared data in S3, which is a key aspect of data lake design.CommentSharekdavydanswered a year agoEXPERTFabrizio@AWSreviewed a year agoposix a year agoOley i understand. Thank you.Share"