Question: DNS not resolving after 5 days on Previously Expired Domain

"I have a domain that went a couple of days past expiration and I was able to get logged in and renew it.  Because the domain was past expiration my hosted zone was removed.  I created a new one and set the NS records in the hosted zone to match what is in the domain name.  I created a www and root domain A record and after five days neither of them are working.  I do the internal tests and they come back ok.  But when I try to do a nslookup or ping on the name it wont resolve.  What can I do to help try and get my DNS entries to resolve again like they use to?Domain : ibbq4u.comEdited by: KevinMarkwardt on Jul 23, 2019 6:21 AMFollowComment"

Answer: "0Accepted AnswerHi,You had the right idea, but you went the wrong direction. Name servers in the NS record for the hosted zone and for the domain registration are supposed to match, but they're supposed to match the name servers that Route 53 assigned to the hosted zone. The name servers that Route 53 assigned to the hosted zone typically should be the same as the name servers in the NS record, but they can be different.Here's how you fix that:Get the name servers that Route 53 assigned to the hosted zone. See "Getting the Name Servers for a Public Hosted Zone" in the Route 53 Developer Guide:https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/GetInfoAboutHostedZone.htmlUpdate the NS record to use the name servers that you got in step 2. See "Editing Records":https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-editing.htmlUpdate the name servers for the domain registration. See "Adding or Changing Name Servers and Glue Records for a Domain":https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-name-servers-glue-records.htmlScottCommentShareEXPERTAWS-User-6179575answered 4 years ago"


Question: "[UE4] Fleet Error, instance Cannot Load Gamelift DLL"

"Hello everyone, I am trying to create a fleet for my unreal engine 4.19 build. I have set up the install.bat for installing dxwebsetup.exe and vc_redist.x64 (vs2017) while uploading to Gamelift. However, my dedicated server keeps crashing. So I remoted the fleet instance to see what is going wrong.The problem was solved after I put those gamelift .dll into the folder C:\Windows\System32, which areaws-cpp-sdk-gamelift-server.dllaws-cpp-sdk-cognito-identity.dllaws-cpp-sdk-core.dllaws-cpp-sdk-gamelift.dllBut that should not be solved by manually I guess, what should I do in order to solve this problem correctly? Anyways for helping the executable (game server) find out the .dll?Also, it still got another error "A process unrecognized by GameLift is attempting to make GameLift Server SDK API calls. Are you using a process launcher?" How can I fix it? Is it because I was remote accessing the instance and running the executables?REMOVEDUPLOADREMOVEDUPLOADFollowComment"

Answer: "0Thanks for your answer @REDACTEDUSERIn terms of the .dll files, I did put them into the "Plugin/GameLiftServerSDK" and "Plugin/GameLiftClientSDK", like thisREMOVEDUPLOADAccording to your kind advice, I tried to put all the .dll files into "Plugin/GameLiftServerSDK" folder but it still didn't work. So I tried to put them into other folders to see if it will work fine. It works when the .dll files are placed in "Binaries\Win64" folder where is the loacation of the executable. Will it be fine by fixing it in this way? Or is there any other solutions?REMOVEDUPLOADThe executable path was set to "C:\game\GameL\Binaries\Win64\GameLServer-Win64-Shipping.exe" already. I am not sure why this is a problem, but it will stop popping up the error message in the event log if I close the executable which is launched by myself while remote accessing the instance. I just recreated a new fleet, and it works fine since I didn't manually run the executable until now.So will it be a problem if I fixing the .dll files like this?Thanks!CommentSharerePost-User-6199952answered 5 years ago0Hey @REDACTEDUSERRegarding your .dll files--you have to place them inside the GameLiftServerSDK folder, which must take place within your project's Plugin/ folder. This way it'll be compiled along with the rest of your project. A common mistake is to place the GameLiftServerSDK plug-in in the UE4's folder. If you need further clarification on this subject, please refer to  the official integration guide. I'm using 4.18 here and we could successfully integrate the plug-in--I doubt the process would be different on 4.19."A process unrecognized by GameLift is attempting to make GameLift Server SDK API calls. Are you using a process launcher?" means that the GameLift instance is running the 'shortcut' of the binary of your GameServer.exe. Not sure why this is a problem, but as a solution, you could change the executable path to something like C:/game/Binaries/Win64/YourGameServer.exe rather than C:/game/YourGameServer.exe. It's important to note that this change requires you to recreate the fleet.Hope this helps.Best regards,Guilherme.CommentSharerePost-User-3439713answered 5 years ago"


Question: "Disable DynamoDB stream, restore data, not process any events during restore period with lambda trigger."

"I'm attempting to prepare a DynamoDB disaster recovery plan. Our stack uses a DynamoDB table with a stream enabled. We also have a lambda trigger configured to listen for stream events. These events are processed and make a bunch of downstream changes.In a DR situation Im looking for the ability to create a temp table from a snapshot, and then copy that restored data into a new 'DR' table that's managed by IAC. It's not ideal for the stream and lambda trigger to process events from the copy. That would cause a bunch of downstream issues.I see it's possible to disable/ enable the dynamo stream, and although you'll receive a new arn after a stream is disabled/ enabled I can't find anything in documentation if behind the scenes you're connecting to the original stream log or not? If I configure my lambda trigger to listen to the stream will all the events from the copy start processing?If I dont have the stream enabled while Im copying data to the table will the stream log be empty when I enable?Another option Im looking into is lambda event source mapping, specifically the starting position. I might be able to use the 'latest' flag.FollowCommentjzhunter 9 months agoWhat kind of disaster scenario are you mitigating against? Are your efforts here really necessary?Share"

Answer: "2Accepted AnswerI see it's possible to disable/ enable the dynamo stream, and although you'll receive a new arn after a stream is disabled/ enabled I can't find anything in documentation if behind the scenes you're connecting to the original stream log or not?No, when you disable/enable a stream it changes ARN and is completely separate to the old stream.If I configure my lambda trigger to listen to the stream will all the events from the copy start processing?It depends how you "copy" the data. If your "copy" means restore the table from backup, then no the events will not be in the stream. If your "copy" is done by you calling PutItem or BatchWriteItems to insert data, then yes it will enter the stream.If I dont have the stream enabled while Im copying data to the table will the stream log be empty when I enable?YesAnother option Im looking into is lambda event source mapping, specifically the starting position. I might be able to use the 'latest' flag.LATEST will start reading from the the point of when you enable the trigger on the ESM. So if your copy puts events on the stream and you later create an ESM with iterator position as LATEST your Lambda will disregard all the data from the copy.CommentShareEXPERTLeeroy Hannigananswered 9 months ago"


Question: Discrepancy in S3 Object count

"Hello,I have a S3 bucket with over 12 TB of data. The S3 metrics shows it has over 10 million objects. I had to list down all the objects in this bucket so I wrote a python code for it.I ran the code 3 times, but the code stopped fetching a NextContinuation token after 3 million records, hence I cannot list all the objects in my bucket, I am only able to list 3 million records. I even tried running the code with StartAfter parameter using the Key from last record it fetched previously and still got no NextContinuation token. Here's my code:============= Python Code =============import boto3import pandas as pdclient = boto3.client("s3")continuation_token = Nonerecord_count = 0payload = dict(Bucket='...',MaxKeys=1000)while True:**print("Fetching records...")**  **if continuation_token and len(continuation_token) >= 0:**      **payload.update(**          **ContinuationToken=continuation_token**      **)**  **response = client.list_objects_v2(**payload)**  **if not response.get("NextContinuationToken") or continuation_token == response.get("NextContinuationToken") or not response.get("Contents"):**      **exit("Process Finished")**  **# Dump to CSV**  **pd.DataFrame(response.get("Contents")).to_csv("./s3_objects.csv", index=False, mode="a", header=False)**  **# Update record count**  **record_count = len(response.get("Contents"))**  **print("Total records fetched", record_count, "\n")**  **# Updating continuation token**  **continuation_token = response.get("NextContinuationToken")**  **print(continuation_token)**  ============= Python Code =============Please help me understand and fix this problem.Thankyou so much!Update: Tried using awscli in Ubuntu 18.04 LTSCommand:  aws s3 ls s3://... --recursive --summarize --human-readable > total_objects.txtResult (At the end of file) :Total Objects: 3036799Total Size: 2.2 TiBNote: I've obviously stripped down the original bucket name and replaced with "..."Edited by: ISanV on May 5, 2021 8:06 AMFollowComment"

Answer: "0I discovered that Bucket Versioning was enabled which ramped up the costs about 6 times. The problem is solved now, I deleted all the previous versions using Bucket Lifecycle Rules and Suspended the Bucket Versioning.This has been solved now.CommentShareISanVanswered 2 years ago"


Question: Regarding the mounting of disk(EBS volume)  on server in correct path

"I have a SAP server that's hosted on AWS, I am unable to access the data because the EBS volumes are not mounting correctly on the server. I need help knowing the correct path to mount the EBS volumes on the server. The server has 6 EBS volumes.FollowComment"

Answer: 0Is this a Windows or Linux server?  Take a look at https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html for some assistance. There is information there on how to mount an attached volume automatically after reboot.CommentShareAlan-Cranfield-awsanswered a year ago


Question: Directory Impaired due to domain controller replication failures

How do I fix my Simple AD Directory d-93673320a1 as it's status is "Impaired" and showing an error "Issue(s) detected by instance 172.x.x.x: Domain controller replication failures."FollowComment

Answer: 0Thank you for contacting us.I checked the details of your directory and I can see its currently in active state.However if you see the same error again please opens a support case for this issue. There is nothing you can do from the customer side to repair this issue. It requires the AWS service owner to fix your directory.CommentShareRobin-Panswered a year ago


Question: Why is entity ID and event ID important in Amazon Fraud Detector?

"I'm having difficulty finding information about the entityId and eventId input variables to get a prediction from Amazon Fraud Detector.The description is only "The unique ID used to identify the event." and "The entity ID. If you do not know the entityId , you can pass unknown , which is areserved string literal." Can someone explain why this variable is important? What happens if someone uses the same event ID for two different events? How are entity IDs created?FollowComment"

Answer: "0Accepted AnswerEntity ID is "who" performed the event. Depending on the type of data, this could be a username, user ID, company name, etc. If you think about an ML model and trying to predict fraud... you could imagine that if UserA has committed fraud in the past, it is more likely that transactions from UserA in the future are fraudulent. So, providing entity ID can help with accuracy of predictions. Though, it is not a required field and that's why you could just pass in unknown.SourceEvent ID is just what it sounds like. It's a specific purchase, credit card transaction, etc. I think that if a customer is using a proper data set, one would not expect two records to have the same Event ID. If the customer's data set does not have a unique event ID, they should create a synthetic ID... either a concatenation of other fields that uniquely represent the row, or just generate a UUID.CommentShareAWS-User-9164621answered 3 years ago"


Question: AWS IoT SQL Testing

"Hello,I have an MQTT device that is currently sending the following JSON message:{ "message": { "coretemp": [ [ "Package id 0", 41.0, 80.0, 100.0 ], [ "Core 0", 36.0, 80.0, 100.0 ], [ "Core 1", 37.0, 80.0, 100.0 ], [ "Core 2", 38.0, 80.0, 100.0 ], [ "Core 3", 38.0, 80.0, 100.0 ] ] } }Now, I'm trying to build an "AWS IoT SQL" query to store certain things in Timestream.I'm looking for a test environment to play around with the query language a little bit.Is there a tool where I can paste the JSON and just write a few queries?ThanksFollowComment"

Answer: "2Accepted AnswerHi there!When you build an IoT SQL Query, you'd be using IoT Rules Engine to perform the query and 'filter' the messages coming in to your topic to be sent to another location.To make things easy, what you can do to test is to create a "republish" rule in IoT Rules (https://docs.aws.amazon.com/iot/latest/developerguide/iot-repub-rule.html). This will allow you to see exactly the results of the Rule when you use the IoT MQTT Client (https://docs.aws.amazon.com/iot/latest/developerguide/view-mqtt-messages.html) where you'll subscribe to the republish topic.I hope this helps! Let us know if you've more questions.TCommentShareThiru Aanswered 12 days ago"


Question: App Runner Scaling for background service

"We have started using App Runner to run out container based application. Some of the services are just background jobs meaning there will be no incoming requests to those services specifically.According to the information on how App Runner scales I read this:AWS App Runner monitors the number of concurrent requests sent to your application and automatically adds additional instances based on request volume. If your application receives no incoming requests, App Runner will scale the containers down to a provisioned instance, a cpu throttled instance ready that is ready to serve incoming requests within milliseconds.I understand that with the background process auto scaling will probably not work but we are ok with setting a minimum manually so that we have enough instances. What worries me though is the part that says a "cpu throttled instance". My question is:Does the fact that the instance get CPU throttled mean that I will not get proper instances and App Runner is not capable of running a service that does not serve http requests?Assuming question 1 is that the instances will work fine and not be throttled, is there an actual way to get auto scaling on such a service?FollowComment"

Answer: "1Yes your understanding is correct (and we should probably make it more clear in the docs). App Runner is optimized for request/response application (e.g. web servers, api services). We do indeed throttle CPU when no inbound requests are detected (and hence not served). App Runner would not be ideal (at least for now) to run worker type of processes. For that use case, if you are looking at something as simple as App Runner, the closest would be Copilot. Note Copilot is a multi-function CLI that allows you to deploy to App Runner as well as to ECS/Fargate via a set of built-in services patterns which includes web and worker services. The main difference between deploying to App Runner Vs ECS/Fargate is that in the latter case the resources (tasks, LBs, etc) are deployed in your account (whereas in AppRunner all the building blocks are deployed in an AWS account).We are looking at expanding the type of workloads that App Runner can support in the future.HTHCommentShareEXPERTmreferreanswered a year agoJumaru a year agoThanks for the response. It is a bit disappointing that this is the case since I really liked the simplicity of App Runner. If there was at least the option to prevent the throttling that would at least allow for customers to run a worker service even if they did not get any auto-scaling with it. I'll take a look at these other services that you mention to do what I need.Sharemreferre EXPERTa year agoI hear your disappointment. Would you mind opening an issue on the public App Runner roadmap about this feature? Thanks!ShareJumaru a year agoDone: https://github.com/aws/apprunner-roadmap/issues/96Share0Hi @mreferre,Do you have any updates perhaps on the possibility of running worker processes op Apprunner?CommentShareCorstiaananswered a year ago"


Question: Copy command from S3 to Redshift

"I'm trying to copy the CSV file from S3 bucket to Redshift and these are the conditions using, IGNOREHEADER AS 1delimiter ','region as 'us-east-1'csv;even the table schema nd CSV file is having the same data without nulls, still facing errors as - Invalid digit, Value 'B', Pos 0, Type: Integer ,Invalid dateformat, Char length exceeded.These are the following Cols presenet in the data - Uploaddate,Batchid,Inventoryid,Itemtype,Model,Supplierid,Quantity,Unit,Costcenter,Inventorydate,Embodiedco2,Usageco2,Riskadjustment.FollowComment"

Answer: "0Hi,At a guess i suspect that there may be hidden control characters in the csv file - these are making the csv look like the new line starts in the wrong place so messes up the parsing of the file. Has the file been copied back and forth between windows and linux maybe?Can you open the file in an editor and check that the file does not have hidden characters in it?CommentSharerePost-User-4014483answered 5 months ago"


Question: AWS SNS Text Messaging(SMS) did not deliver message to intended user even though the status is SUCCESS

"We use AWS SNS Text Messaging (SMS) service to send messages to our clients in our app. We have moved the service out of Sandbox and increase the quota to cater for production usage.  We also enabled Delivery Status Logs to monitor the message delivery.In some cases, the messages were sent successfully. However, in some cases, the messages were not delivered to the intended phone number. When we checked the status logs, the indicated status was SUCCESS for those messages and AWS charged them.Does anyone encounter the same issue? How do you ensure the reliability and consistency of SMS sending service?ThanksFollowComment"


Question: Can I set up virtual mac in free version?

So I'm trying to set up a virtual macNo idea how to do this is it available for free version? If so idk how to continue from here.If it's not available on free option how much do I have to pay to get a virtual mac?p.s. I feel like the whole billing system is really confusingFollowComment

Answer: "0Here is a tutorial on launching a MacOS instance: Launch and connect to an Amazon EC2 Mac instance.MacOS on EC2 is not part of the free tier.Here is the On Demand, Dedicated Host Pricing.CommentShareEXPERTkentradanswered a month ago"


Question: Storage gateway mount slow on Linux while fast on Mac and Windows

"Hi all,I have a storage gateway & file share SMB(CIFS) mounted which is mounted on 3 OS types (windows, macos & linux), Ubuntu 18.04.On windows and mac the file share is fast, downloading and uploading data is going very fast, on linux it's very slow.(rw,relatime,vers=3.0,cache=strict,username=**********,domain=,uid=900,forceuid,gid=900,forcegid,addr=10.0.2.156,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=120)Also the storage gateway was created on the 7th of January. A warning was send by Amazon about possible issue with storage gateways created between 5 and 10 January. The settings in question  'Opportunistic lock (oplock)', the 'Force case sensitivity', and the 'Access based enumeration for files and directories' are all turned off.Is there anything I can do to make the download and upload speed match the ones from Windows and Mac?FollowCommentShashi-AWS a year agoBased on the mount command you shared, it appears like you are connecting to NFS file share hosted on the Storage Gateway. Is that correct?If you are using NFS file share, the PHD message you received doesn't apply. It only applies to SMB file shares created during Jan 5 - 10.We recommend using "hard" and "nolock" options in the mount command. Please refer to this documentation page.https://docs.aws.amazon.com/filegateway/latest/files3/GettingStartedAccessFileShare.htmlEven though it may not improve the performance, we strongly recommend including those two options. Can you please make this change and share your experience? Please share your updated mount command.ShareAWS-User-2209085 a year agoIt is actually an SMB (CIFS) share, so I assume that PHD message does apply.Share"

Answer: "0Hi, using SMBv3 encryption can impact the performance. To help improve the performance, I would suggest using the SMB version 2 (vers=2.1) in mount options and changing the SMB security strategy on file gateway to either client negotiated or enforce signing. Based on your dataset and average file size, you may also consider changing the rsize and wsize to higher value up-to 16 MB.Example entry for fstab with SMB version 2 and rsize, wsize modified.//filegateway-ip/fileshare /mountpoint cifs rw,relatime,vers=2.1,cache=strict,username=<username>,uid=0,noforceuid,gid=0,noforcegid,addr=<filegateway-ip>,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=4194304,wsize=4194304,echo_interval=60,actimeo=1Setting a security level for your gateway : https://docs.aws.amazon.com/filegateway/latest/files3/security-strategy.htmlI would also recommend considering utility like fpsync or GNU parallel on Ubuntu client which can use multiple processes in parallel to copy to the file share. Please refer below article for instructions to enable these tools.https://aws.amazon.com/premiumsupport/knowledge-center/efs-copy-data-in-parallel/CommentShareSuryaanswered a year agoAWS-User-2209085 a year agoHiI tried out your suggestion of changing the SMB version., but it seems that it is actually slower now. This problem only started to appear after i migrated it to a new storage gateway. All settings stayed the same as they where on the previous storage gateway.Share"


Question: Avoid resetting Cloudfront cache policy on Amplify deployment

"I have a NextJS application with continuous deploys set up on Amplify. This application requires forwarding the Host header to the origin, so I use the "Amplify" managed cache policy as the Cloudfront's distribution default behaviour.This cache policy is reset to legacy cache settings on each deploy. Is there a way to persist the cache policy between deployments? Or to always forward the Host header to the origin?FollowComment"

Answer: "0If you require that the host header be sent to the origin, but don't care if it is included in the cache key, then you can use the AllViewer origin request policy in your CloudFront distribution. That will ensure that all headers, cookies, and query strings are forwarded to the origin, regardless of the settings in the cache policy.The issue with the cache policy being reset is interesting, and that should not be happening. I would reach out to support, as they should be able to investigate why that is happening.CommentShareJeremyAWSanswered a year ago"


Question: Cloudformation - Autoscaling: how to get the summary (not average) of the metrics from all nodes?

"I set my treshold to scale-up when cpu usage is 80% and scale-in when there is below 70% of usage. And the problem is that (AFAIK) for autoscaling group the average value is taken. Why its a problem? Example situation:There is one node, i make 100% cpu loadAlarm is triggered, another instance is createdNow metric is divided by 2 so (100% + 0%) / 2 = 50% which is below 70% -> scale-in alarm is triggered and even though one node is still loaded with 100%, one node is being destroyed.Ideally for scale down i would use not average but SUMMARY of all loads on the nodes. There is AWS::CloudWatch::Alarm/Properties/Statistic settings with average or sum values but these are for Evaluation periods, not for ammount of factors in given dimension?https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-statisticmy template{    "AWSTemplateFormatVersion":"2010-09-09",    "Description" : "Creates Autoscaling group. Used securitygroup ids and subnets ids are hardcoded.",    "Parameters" : {        "myprojectAmiId": {            "Description": "New AMI ID which will be used to create/update autoscaling group",            "Type": "AWS::EC2::Image::Id"        },        "myprojectNodesDefaultQuantity":{            "Type": "Number",            "MinValue" : "1"        }    },    "Resources" : {        "myprojectLaunchTemplate":{            "Type":"AWS::EC2::LaunchTemplate",            "Properties":{                "LaunchTemplateData":{                    "IamInstanceProfile":{                        "Arn": "arn:aws:iam::censored6:instance-profile/myproject-ec2"                    },                    "ImageId": { "Ref":"myprojectAmiId" },                    "InstanceType" : "t3a.small",                    "KeyName" : "my-ssh-key",                    "SecurityGroupIds" : [ "sg-censored", "sg-censored", "sg-censored5", "sg-censored" ]                }                            }        },        "myprojectAutoScalingGroup": {            "Type":"AWS::AutoScaling::AutoScalingGroup",            "UpdatePolicy" : {                "AutoScalingRollingUpdate" : {                    "MaxBatchSize" : "1",                    "MinInstancesInService" : "1",                    "PauseTime" : "PT5M",                    "WaitOnResourceSignals": "true"                }            },            "Properties": {                "MinSize":{ "Ref":"myprojectNodesDefaultQuantity" },                "MaxSize":"3",                "HealthCheckGracePeriod":300,                "LaunchTemplate": {                    "LaunchTemplateId": { "Ref":"myprojectLaunchTemplate" },                    "Version":{                        "Fn::GetAtt":[                            "myprojectLaunchTemplate",                            "LatestVersionNumber"                        ]                    }                },                "VPCZoneIdentifier" : [ "subnet-censored", "subnet-0censoredc" ],                "TargetGroupARNs" : [ "arn:aws:elasticloadbalancing:us-west-2:censored:targetgroup/autoscaling-tests-targetgroup/censored" ],                "Tags" : [                    {"Key" : "Name", "Value" : "myproject-cloudformation-ascaling-tests", "PropagateAtLaunch" : true},                    {"Key" : "Stack", "Value" : "dev-staging","PropagateAtLaunch" : true},                    {"Key" : "CreatedBy", "Value" : "cloudformation", "PropagateAtLaunch" : true}                ]            }        },        "myprojectScaleUpPolicy":{            "Type" : "AWS::AutoScaling::ScalingPolicy",            "Properties" : {                "AdjustmentType" : "ChangeInCapacity",                "AutoScalingGroupName" : { "Ref" : "myprojectAutoScalingGroup" },                "Cooldown" : "60",                "ScalingAdjustment" : 1            }        },        "myprojectScaleDownPolicy":{            "Type" : "AWS::AutoScaling::ScalingPolicy",            "Properties" : {                "AdjustmentType" : "ChangeInCapacity",                "AutoScalingGroupName" : { "Ref" : "myprojectAutoScalingGroup" },                "Cooldown" : "60",                "ScalingAdjustment" : -1            }        },        "myprojectCPUAlarmHigh": {            "Type" : "AWS::CloudWatch::Alarm",            "Properties" : {                "AlarmActions" : [ { "Ref" : "myprojectScaleUpPolicy" } ],                "AlarmDescription" : "Scale-up if CPU > 80% for 5 minutes",                "ComparisonOperator" : "GreaterThanThreshold",                "Dimensions" : [                    { "Name": "AutoScalingGroupName", "Value": { "Ref" : "myprojectAutoScalingGroup" }}                ],                "EvaluationPeriods" : 2,                "MetricName" : "CPUUtilization",                "Namespace" : "AWS/EC2",                "Period" : 30,                "Statistic" : "Average",                "Threshold" : 80            }        },        "myprojectCPUAlarmLow": {            "Type" : "AWS::CloudWatch::Alarm",            "Properties" : {                "AlarmActions" : [ { "Ref" : "myprojectScaleDownPolicy" } ],                "AlarmDescription" : "Scale-down if CPU < 70% for 10 minutes",                "ComparisonOperator" : "LessThanThreshold",                "Dimensions" : [                    { "Name": "AutoScalingGroupName", "Value": { "Ref" : "myprojectAutoScalingGroup" }}                ],                "EvaluationPeriods" : 2,                "MetricName" : "CPUUtilization",                "Namespace" : "AWS/EC2",                "Period" : 600,                "Statistic" : "Average",                "Threshold" : 70            }        }    }}FollowComment"


Question: InstantiateDynamicSlice issue

"Hi,in Lumberyard 1.16 transform is not applying to root entity, when I try to instantiate dynamic slice:EBUS_EVENT_RESULT(ticket,AzFramework::GameEntityContextRequestBus,InstantiateDynamicSlice, asset,AZ::Transform::CreateTranslation(AZ::Vector3(10.0f, 0.0f, 0.0f)),nullptr/*customIdMapper*/);Edit:The reason for this is the mismatch of transform components.Using the method described above, the created entity contains AzToolsFramework::Components::TransformComponent, but the checking happens with AzFramework::TransformComponent(GameEntityContextComponent.cpp line 455).Follow"

Answer: "0Accepted AnswerThe problem was in the wrong asset extension:// wrongconst char* assetPath = "Slices/Player.slice";// correct (even though the file on the disk is named Player.slice)const char* assetPath = "Slices/Player.dynamicslice";AZ::Data::AssetId assetId;EBUS_EVENT_RESULT(assetId,AZ::Data::AssetCatalogRequestBus,GetAssetIdByPath,assetPath,AZ::AzTypeInfo<AZ::DynamicSliceAsset>::Uuid()/*typeToRegister*/,false/*autoRegisterIfNotFound*/);AZ_Assert(assetId.IsValid(), "Asset is not found.");AZ::Data::Asset<AZ::DynamicSliceAsset>asset;asset.Create(assetId, true/*queueLoad*/);AZ_Assert(asset.GetId().IsValid(), "Asset is not created.");SharerePost-User-1475094answered 4 years ago0I made global Spawner for my systemcomponent like so  void LyTanksSystemComponent::SpawnSlice(const AZStd::string & sliceName, const AZ::Vector3 & pos){AZ::Data::AssetId sliceAssetId;EBUS_EVENT_RESULT(sliceAssetId, AZ::Data::AssetCatalogRequestBus, GetAssetIdByPath, sliceName.c_str(), AZ::AzTypeInfo<AZ::DynamicPrefabAsset>::Uuid(), true);if (sliceAssetId.IsValid()){// Using the valid ID, find the actual slice assetAZ::Data::Asset<AZ::DynamicSliceAsset> sliceAsset;sliceAsset.Create(sliceAssetId, true);if (sliceAsset.GetId().IsValid()){AZ::Transform transform(AZ::Transform::CreateTranslation(pos));using namespace AzFramework;static EntityContextId gameEntityContextId = EntityContextId::CreateNull();if (gameEntityContextId.IsNull()){GameEntityContextRequestBus::BroadcastResult(gameEntityContextId, &GameEntityContextRequestBus::Events::GetGameEntityContextId);}SliceInstantiationTicket ticket;ticket.m_contextId = gameEntityContextId;GameEntityContextRequestBus::BroadcastResult(ticket, &GameEntityContextRequestBus::Events::InstantiateDynamicSlice, sliceAsset, transform, nullptr);//LmbrCentral::SpawnerComponentRequestBus::EventResult(ticket, m_childEntity->GetId(), &LmbrCentral::SpawnerComponentRequestBus::Events::SpawnSliceAbsolute, sliceAsset, transform);SliceInstantiationResultBus::MultiHandler::BusConnect(ticket);}}}SharerePost-User-2514050answered 5 years ago0Hi @REDACTEDUSERSharerePost-User-5841084answered 5 years ago0Hey guys,I appreciate your assistance!So far Fluffy's function has same result as mine and SpawnerComponent::SpawnSliceAbsolute works fine.By the way, I have noticed that in my case in OnSlicePreInstantiate for some reason the transform component appears not to be found.(GameEntityContextComponent.cpp line 455).SharerePost-User-1475094answered 5 years ago0I guess it spawns at 0,0,0.Edit:You can replicate the error if you setup SpawnerComponent from c++ side:AZ::Entity* entity = aznew AZ::Entity("AnyName");// from CustomComponent call SpawnerComponent::SpawnSliceAbsoluteentity->CreateComponent<CustomComponent>(); entity->CreateComponent(LmbrCentral::SpawnerComponentTypeId);entity->Init();entity->Activate();AZ::Data::AssetId assetId;EBUS_EVENT_RESULT(assetId,AZ::Data::AssetCatalogRequestBus,GetAssetIdByPath,slicePath,AZ::AzTypeInfo<AZ::DynamicSliceAsset>::Uuid()/*typeToRegister*/,false/*autoRegisterIfNotFound*/);AZ_Assert(assetId.IsValid(), "Slice is not found.");AZ::Data::Asset<AZ::DynamicSliceAsset>asset;asset.Create(assetId, true/*queueLoad*/);AZ_Assert(asset.GetId().IsValid(), "Asset is not created.");EBUS_EVENT_ID(entity->GetId(),LmbrCentral::SpawnerComponentRequestBus,SetDynamicSlice, asset);SharerePost-User-1475094answered 5 years ago0Transform is applying if i set it in OnSliceInstantiated:  ...// Set initial transform for slice root entityfor (AZ::Entity* entity : address.second->GetInstantiated()->m_entities){AZ::EntityId parentId; EBUS_EVENT_ID_RESULT(parentId,entity->GetId(),AZ::TransformBus,GetParentId);if (!parentId.IsValid()){EBUS_EVENT_ID(entity->GetId(),AZ::TransformBus,SetWorldTM,sliceInfo.transform);break;}}but that is workaround and does not solve the issue which I described above.SharerePost-User-1475094answered 5 years ago0yeah, I faced with almost similar issue, here https://forums.awsgametech.com/t/on-what-ebus-event-the-transform-component-with-entitys-childrens-are-ready-for-grab-for-internal-logic/5995/1 (components are not ready for using)You may try to use OnSliceInstantiated instead OnSlicePreInstantiate on the OnSliceInstantiated notification from SpawnerComponent.I'm catching all instanced bullets(if you need only root of each spawned Slice use m_mataentities) and apply for each bullet some initial impulselike so  void EnemyTankComponent::OnSliceInstantiated(const AZ::Data::AssetId & assetId, const AZ::SliceComponent::SliceInstanceAddress & address){for (AZ::Entity* spawnedEntity : address.second->GetInstantiated()->m_entities){if (spawnedEntity){AzFramework::PhysicsComponentRequestBus::Event(spawnedEntity->GetId(), &AzFramework::PhysicsComponentRequestBus::Events::SetMass, m_bullet_mass);AZ::Vector3 forward = m_modules[TankModule::SPAWN]->GetTransform()->GetWorldTM().GetBasisY();////AZ::Transform tm = m_entity->GetTransform()->GetWorldTM().GetInverseFast();////AZ::Vector3 forward = AZ::Vector3(0.0f, 1.0f, 0.0f) * tm;AzFramework::PhysicsComponentRequestBus::Event(spawnedEntity->GetId(), &AzFramework::PhysicsComponentRequestBus::Events::AddImpulse, forward * m_bullet_impulse);}}}<br>SharerePost-User-2514050answered 5 years ago"


Question: MSK Custom Configuration using Cloudformation

"Hi AWS Users,I  am trying to spin up a MSK cluster with a custom MSK configuration using my serverless app. I wrote the cloudformation template for the generation of the MSK Cluster and was able to successfully bring it up. I recently saw that AWS added cloudformation template of AWS::MSK::Configuration. [1] I was trying that out to create a custom configuration. The Configuration requires a ServerPropertieskey that is usually a PlainText in AWS console.An example of Server Properties:auto.create.topics.enable=truedefault.replication.factor=2min.insync.replicas=2num.io.threads=8num.network.threads=5num.partitions=10num.replica.fetchers=2replica.lag.time.max.ms=30000socket.receive.buffer.bytes=102400socket.request.max.bytes=104857600socket.send.buffer.bytes=102400unclean.leader.election.enable=truezookeeper.session.timeout.ms=18000AWS::MSK::Configuration accepts base64 (api functionality) and I have been trying to implement this. I am using the cloudformation Fn::Base64 functionality.e.g:Resources:  ServerlessMSKConfiguration:    Type: AWS::MSK::Configuration    Properties:      ServerProperties:        Fn::Base64: auto.create.topics.enable=trueThis gives me back a 400 error during deploy.Resource handler returned message: "[ClientRequestToken: xxxxx] Invalid request body (Service: Kafka, Status Code: 400, Request ID: 1139d840-c02d-4fdb-b68c-cee93673d89d, Extended Request ID: null)" (RequestToken: xxxx HandlerErrorCode: InvalidRequest)Can someone please help me format this ServerProperties properly, not sure how to give the proper base64 string in the template. Any help is much appreciated.[1] - https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.htmlFollowComment"

Answer: "0Here's one that works for me. It took some trial and error to figure out that Name and Description only accept some limited special characters, and the KafakVersionsList couldn't be a variable. And this did not require !Base64 to create the configuration.  MskConfiguration:    Type: "AWS::MSK::Configuration"    Properties:      Description: !Sub "${EnvironmentName}-${EnvironmentShard}-msk-cluster-configuration"      Name: !Sub "${EnvironmentName}-${EnvironmentShard}-msk-cluster-configuration"      KafkaVersionsList: [2.8.1]      ServerProperties: |        auto.create.topics.enable=false        default.replication.factor=2CommentShareDFreemananswered a year ago"


Question: AWS Connect Agent - Notification

"Hi There,Tool: AWS Connect AgentWondering if it is possible to be notified via text (sms) or email that a call is in the queue?In case the agent is away from his desk.Thanks,DanFollowComment"

Answer: "1There are multiple ways to do this.  One way is to create a Lambda function to send email out with information about the statistic of the queue of interest via Pinpoint/SES to a mailing list.  In your Customer Queue flow, set a timeout to branch and check the queue using the Check queue status block if there are calls in queues, if so, call invoke the Lambda from this flow with the proper parameters that you need to email your agents.CommentShareClarenceChoianswered 5 months agoEXPERTAWS-samfredreviewed 2 months ago"


Question: Find best method to determine the source IP address in Lambda

"We have implemented rest api using api-gateway and lambdas. The user gets authenticated using AWS Cognito and we have role based authorization configured for users. For one specific role we want the user to allow access to the resources based on their source IP address. In order to do that, we are using $context.identity.sourceIp in lambda to determine the request source ip and then proceeding with the authorization. My question is, is it the best way to implement that and can it be easily spoofed?FollowComment"

Answer: "1Yes, that's the best way to identify the source IP address in this case.Can the source IP address be spoofed? Yes - a malicious actor might be coming from a proxy server (or multiple proxy servers). Could someone fake their IP address to look like someone else's (i.e. appear to come from an IP that is legitimately allowed to access your application)? That would be much harder. Not necessarily impossible but certainly harder - unless the source network is compromised or there is some way to "bounce" traffic through that network.I'm generally not in favour of using source IP as a security measure. Instead, use strong (two-factor) authentication to determine the user identity. Restricting to IP addresses can also have undesired consequences in the event of a disaster - your customer may want to access the service but cannot because they are temporarily coming from a different IP range.CommentShareEXPERTBrettski-AWSanswered 7 months ago"


Question: Datasync from AWS EFS to NFS Server Hosted in Another EC2 Instance

"I have a EFS instance in Oregon with all the data that I need to sync. The location were I want to store that data could be anywhere, including AWS. For now, we want to make a POC using a EC2 instance in Ireland. We aready setup NFS server where the Datasync Agent should write the files from the EFS, but the problem is that we are not able to create the Datasync Agent in another EC2 instance using the .OVA image provided by Amazon. We tried to import it using this guide: https://aws.amazon.com/ec2/vm-import/.Is possible to do what I'm trying? To use Datasync to synchronize data from EFS to another NFS server hosted in AWS that emulates the on-premise datacenter, which should be the same as from AWS EFS to On-Premises. If so, how can I install the Datasync Agent image provided by Amazon? If not, which solution should be the one that works for the scenario I'm trying to implement?PD: The intend of doing this is to have different instances with the same data and if any of them fails, have an instance backup. This is something similar as a fail-over, but we want to keep completely independent data architectures with the same data.FollowComment"

Answer: "0amendozaf:Thanks for your feedback. We don't currently provide the agent for running in EC2.I've noted your suggestion and we'll consider it as we plan future functionality and features.Regards,PaulAWS Storage GatewayCommentSharePaul_Ranswered 4 years ago0YES please FIX/Add thisCommentShareFScalzoanswered 4 years ago0Dear amendozaf,You can find instructions for deploying the DataSync agent on EC2 and setting up the desired file transfer here:https://docs.aws.amazon.com/datasync/latest/userguide/ec2-agent.htmlBest,Olga KoganAWS DataSyncCommentShareAWS-User-9583871answered 4 years ago0------ EDIT START ------THIS IS NOW POSSIBLE. PLEASE CHECK THE COMMENT BELOW POSTED BY OLGA.I'm leaving the comment just to keep the tracking of the post.-------- EDIT END -------Indeed this is not possible yet.This is the Amazon Support Center response:Hi Andrey,This is Sayan here. I've read through your case-email. I understand that you want to sync data from your EFS instance in your Oregon region to your on-premise data server in Ireland region. Do correct me if I've misunderstood anything.Unfortunately, if you want to sync data from EFS to another cross-region EFS instance or another EC2 instance, or if you want realtime sync between EFS to another server, then there is no direct AWS supported feature available to do so currently. Also, the feature of DataSync cannot be used over here. AWS DataSync does not support copying EFS data between different AWS Regions.[1]  Now, do note that I have been in constant communication with the EFS team since last few hours regarding whether there can be a service made in the future to realtime sync between EFS to another server. They have said that there is no current feature available for your use-case right now. Having said that, I have logged this as a Feature Request to them. They have not provided any time or guarantee that this is something that will be implemented in the immediate future, but do be assured if this is feasible, then this would be looked upon on high priority.Now, although there might not be a direct feature for your use-case, but I can suggest 2 workarounds for that :-You can transfer the data from the EFS to an S3 bucket of the same region. You can use S3 VPC endpoint [2]. These endpoints are virtual devices. They are horizontally scaled, redundant, and highly available VPC components that allow communication between instances in your VPC and services, like S3, without imposing availability risks or bandwidth constraints on your network traffic and should improve transfer speeds from S3 to your VPC and instances. Then, use S3 Cross-region replication featute [3] with source bucket as the Oregon's bucket and the destination bucket as an S3 bucket of the AWS Ireland region. Then download the data from the destination bucket to your own server (AWS hosted ec2 or otherwise). For copying data to and from S3 bucket to the ECS instanes, you can use AWS CLI and the s3 cp (--recursive) and sync commands (e.g., aws s3 sync /path/to/efs/test.txt s3://mybucket/test2.txt). [4],[5],[6],[7]If you just want the data to be migrated and synchronized (not exactly real-time) between your EFS in Oregon and on-premise server (which is not an EC2 instance and has an NFS agent to it) whether it is in Ireland or wherever else, then you can use AWS DataSync to copy the data from ECS to the On-premise server. [4]To get started with AWS DataSync you first deploy a software agent on-premises that is available for download from the AWS Management Console. Once deployed you can use the console or AWS Command Line Interface (CLI) to connect the agent to your on-premises file systems using the Network File System (NFS) protocol. Select your Amazon EFS file system, and start copying data. This is the solution, I would suggest if you are willing to set the destination on-premise NFS file system server to be non-AWS or not an EC2 instance.[8],[9]Regarding the error you were getting "ClientError: Unsupported kernel version 4.14.77-69.57.amzn1.x86_64" :-If the instance you're using as the on-premise server (NFS file system) is an EC2 instance, then do note that, currently, DataSync Agent does not support AWS EC2 instance. It supports the following hypervisor versions and hosts:VMware ESXi Hypervisor (version 6.0 or 6.5 or 6.7) – A free version of VMware is available on the VMware website. You also need a VMware vSphere client to connect to the host.[10] Now, note that this error is generally caused when the requirements are not met with while setting up the agent with on-premise server.I hope the above discussion was helpful. Please note that for queries regarding EFS setup and VPC, I would suggest you open another ticket/case to that queue/team as they would be the best people to guide you on that. Feel free to reach out to me if you have any additional specific questions on DataSync or require additional clarification on whatever we've discussed.Have a great day!REFERENCES[1] EFS : DataSync - https://aws.amazon.com/efs/faq/#AWS_DataSync[2] Endpoints for Amazon S3 - https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html[3] Cross-Region Replication - https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html[4] Installing the AWS CLI - https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html[5] Configuring the AWS CLI - https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html[6] aws s3 cp - https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html[7] aws s3 sync - https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html[8] How AWS DataSync Works - https://docs.aws.amazon.com/datasync/latest/userguide/how-datasync-works.html[9] DataSync FAQs - https://aws.amazon.com/datasync/faqs/[10] Requirements - https://docs.aws.amazon.com/datasync/latest/userguide/requirements.htmlBest regards,Sayan R.Amazon Web ServicesEdited by: amendozaf on Mar 26, 2019 12:38 PMCommentShareamendozafanswered 4 years ago0Thank you very much Olga. I followed your guideline and I was able to implement what I wanted.Regards,Andrey Mendoza.CommentShareamendozafanswered 4 years ago"


Question: How to add and register wwise plugin

"I have a .lib and .h where I think they are supposed to be in the wwise folder structure (we don't use LTX, we use the full version), I have the .h included in WWISESDK\include\AK\Plugin\AllPluginsFactories.h and I added the name of the .lib in ...\Tools\build\waf-1.7.13\lmbrwaflib\wwise.py in the libs section. But when I lmbr_waf configure I had expected the various cache.py files in binTemp to be updated with the new wwise lib name but they aren't. And so the game doesn't link with the new wwise plugin's lib and I get an unresolved external symbol error.Are there certain steps I need to take?Follow"

Answer: "0Accepted AnswerHi @REDACTEDUSERI believe that wwise.py file is old and should not be used anymore by the build system. I believe in Lumberyard 1.15 it has been removed.To add your library, you can edit \dev_WAF_\3rdParty\wwise.json instead.As for the plugin header, you might want to avoid adding it to AllPluginsFactories.h and just include it somewhere in Lumberyard source, I usually edit AudioSystemImpl_wwise.cpp and add plugin includes to that file.Hope this helps! Let me know how it goes.SharerePost-User-2819140answered 5 years ago0If there's a name conflict you may want to change the name of your plugin's function. The 'SetAudioInputCallbacks' function is part of the SDK associated with Audio Input Source plugin, and we also make use of that in Lumberyard. I assume you're basing your plugin off the Audio Input Source plugin, could you rename your callback registration function? You shouldn't need to disable one to get the other working.SharerePost-User-2819140answered 5 years ago0I did that, added the name of my new lib to 'ak_source_libs' and now I get the following build error SeverityCodeDescriptionProjectFileLineSuppression State ErrorLNK2005"void __cdecl SetAudioInputCallbacks(void (__cdecl*)(unsigned long,class AkAudioBuffer ),void (__cdecl)(unsigned long,struct AkAudioFormat &),float (__cdecl*)(unsigned long))" (?SetAudioInputCallbacks@@YAXP6AXKPEAVAkAudioBuffer@@@ZP6AXKAEAUAkAudioFormat@@@ZP6AMK@Z@Z) already defined in AkAudioInputSource.lib(AkFXSrcAudioInput.obj)_WAF_j:\Main\Solutions\LumberyardSDK_vs15.depproj\AkAudioInputSource.lib(AkFXSrcAudioInput.obj)1SharerePost-User-2918114answered 5 years ago0I think I figured it out, the new plugin and AkAudioInputSource must be sharing the same static function name. I disabled AkAudioInputSource and the new plugin links fine.SharerePost-User-2918114answered 5 years ago"


Question: SES Logging using SNS

"Hello AWS Support Team,We have recently noted down the sudden spike in our outgoing email traffic today. We have enabled the logging on our AWS SES using the SNS but surprisingly, we are not be able to received any events on the same. We are able to receive the emais for all other standard email operations on configured email address.  We would like to know the reason behind the same. Also, can you please let me know, from which particular IP this event is happening and can you please share your suggestions about blocking those ip permanentntly for the SES communication channel.We have already configured the SES notification using SNS event generation but the actual issue is , we are not getting any email notification when the mass mailing happens in our account although if the standard email sending is happening , we are getting notification emails. Can you please help in this case.Thank youFollowComment"

Answer: "0I would recommend opening an AWS Support Case as opposed to posting here on re:post.CommentShareaaron_lanswered 4 months ago0Hello,We have inquire in support as well but still waiting for the support from them, so i thought, if we can get an expert advice from repost members.Thank youCommentSharerePost-User-1085830answered 4 months ago"


Question: pattern matching in redshift

there is a text and i would need to find the word SUBSTR(How can i acheive?FollowComment

Answer: "1You can use the position or charindex functions.dev=# select position('SUBSTR(' in 'jakjasf;kljksfjdsSUBSTR(kjasdkjadsjfjk'); position ----------       18(1 row)dev=# select charindex('SUBSTR(', 'jakjasf;kljksfjdsSUBSTR(kjasdkjadsjfjk'); charindex -----------        18(1 row)CommentShareEXPERTjgrcloudanswered 2 months ago"


Question: OnAction from UiCanvasNotificationBus::Handler isn't called

"Hello, I'm testing the UI from the Lumberyard but I'm stuck with the actions of the UI.For now, I'm just trying to use the action of one button in C++ but the method OnAction is never called.For the test, I've created a canvas with one button and set a string on the click action field.The canvas is linked to the same entity as my handler with the UI Canvas Asset Ref component.Here is the C++ code.Can someone help me to understand what I did wrong ? Thanks..hclass UiActionComponent :public AZ::Component,public UiCanvasNotificationBus::Handler{public:AZ_COMPONENT(UiActionComponent, "{6AC2B681-E90E-4B2E-A407-12EBE39939BB}");static void Reflect(AZ::ReflectContext* context);void Init() override {}void Activate() override;void Deactivate() override;void OnAction(AZ::EntityId entityId, const LyShine::ActionName& actionName) override;};.cppvoid UiActionComponent::Activate() {UiCanvasNotificationBus::Handler::BusConnect(m_entity->GetId());}void UiActionComponent::Deactivate() {UiCanvasNotificationBus::Handler::BusDisconnect();}void UiActionComponent::OnAction(AZ::EntityId entityId, const LyShine::ActionName& actionName){OutputDebugString(actionName.c_str());}Follow"

Answer: "0Accepted AnswerHi @REDACTEDUSERThanks for the question.There are two different entities involved here. There is the in-world entity that the the UiCanvasAssetRefComponent is on and there is a separate canvas entity that is loaded as part of the canvas. You are connecting to the bus with the entityId of the former but it needs to be the latter.There is a bus that allows you to get the canvas entity from the UiCanvasAssetRefComponent. You can add a method like this to your component (like the UiCanvasOnMeshComponent does) to get it for you:    AZ::EntityId UiCanvasOnMeshComponent::GetCanvas(){AZ::EntityId result;EBUS_EVENT_ID_RESULT(result, GetEntityId(), UiCanvasRefBus, GetCanvas);return result;}However, there is a potential "order of activation issue" here. If you send this bus message in the activate for your component, this depends on the UiCanvasAssetRefComponent being activated before your component. This should be true so long as the GetRequiredServices method on your component lists the UiCanvasRefService like this:    static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required){required.push_back(AZ_CRC("UiCanvasRefService", 0xb4cb5ef4));}However, the UiCanvasAssetRefComponent does not always load the canvas in its activate. So a better solution is to connect to the UiCanvasNotificationBus in the OnCanvasLoadedIntoEntity notification method. That method actually passes in the entityId that you need to connect to.To do this would would connect to the UiCanvasAssetRefNotificationBus in your activate. See the UiCanvasOnMeshComponent for an example.So your Activate would look like this:    void UiActionComponent::Activate(){UiCanvasAssetRefNotificationBus::Handler::BusConnect(GetEntityId());}and you would implement this method:    void UiActionComponent::OnCanvasLoadedIntoEntity(AZ::EntityId uiCanvasEntity){UiCanvasNotificationBus::Handler::BusConnect(uiCanvasEntity);}Let me know if that works for youSharerePost-User-4854644answered 6 years ago0Hey @REDACTEDUSERSharerePost-User-5738838answered 6 years ago0Yes it works, Thank you. For my case the canvas is loaded automaically so I use the first solution with the required service. I tried the OnCanvasLodedIntoEntity but for me the method was not called. It was called only if I load the canvas later.SharerePost-User-6652666answered 6 years ago"


Question: Texttract - Why does subsequent GetDocumentAnalysisAsync(getResultsRequest) Blocks have no relationships populated

"Hi and thank you for any help you can provide...I am using Texttract with the .Net SDK.I am able to successfully submit and get the results of a TABLE analysis job and now I am trying to loop through the results.  I can make my first call to GetDocumentAnalysisAsync then I loop through the blocks that are type CELL so I can get Row and Column ID and then I will look through all of the relationships cells to get the text.This all works fine up to the point I need to get the next blocks with a call to GetDocumentAnalysisAsync passing the nexttoken ID.  I then get the next set of CELL block and begin looping again.  This time, none of my CELL blocks have any relationships populated to get the text from.  I just get what looks like a lot of empty cells.  I have verified the page is readable through the console demo page so there should be text there.Here is my code (in c#) I am using to iterate through the blocks and retrieve the next set of blocks.if (getResultsResponse.JobStatus == JobStatus.SUCCEEDED)            {                do                {                    getResultsResponse.Blocks.ForEach(x => {                        if (x.BlockType.Equals("CELL"))                        {                            Console.WriteLine("Page: " + x.Page.ToString());                            Console.WriteLine("Rowindex: " + x.RowIndex.ToString());                            Console.WriteLine("Colindex: " + x.ColumnIndex.ToString());                            x.Relationships.ForEach(y =>                            {                                y.Ids.ForEach(z =>                                {                                    var cellText = (from text in getResultsResponse.Blocks where text.Id == z.ToString() select text.Text).FirstOrDefault();                                    if (!string.IsNullOrEmpty(cellText))                                    {                                        Console.Write($"{cellText} ");                                    }                                });                            });                        }                    });                    if (string.IsNullOrEmpty(getResultsResponse.NextToken)) { break; }                    getResultsRequest.NextToken = getResultsResponse.NextToken;                    getResultsResponse = await _textractClient.GetDocumentAnalysisAsync(getResultsRequest);                } while (getResultsResponse.Blocks.Count > 0); }FollowComment"

Answer: "1Hi,It seems according to your code that you are replacing the getResultsResponse in every loop by the subset gotten by the NextToken.Usually the order of blocks in a full response in WORD then LINE then CELL, so at first iteration you have the WORD, LINE and CELL in the getResultsResponse which is why you can find the children elements. However when you get the next set of block, you will get only CELL so when you look at the children, they won't be in the subset.ie, if the full response is [ PAGE_1, WORD_1, WORD_2, TABLE_1, CELL_1, CELL_2], then the getResultsResponse will look like this if we accept 5 blocks by response before going to the next Token :1st iteration : getResultsResponse = [ PAGE_1, WORD_1, WORD_2, TABLE_1, CELL_1 ] so you will find WORD_1 the child of CELL_12nd iteration : getResultsResponse = [ CELL_2 ] so WORD_2 child of CELL_2 will not be part of this list, but is in the first iteration, which is why you cannot find it.A fix for that would be to first query all the Response part, and concatenate in a single list. Then you can run you script to fetch the children within this concatenate list.Hope this helps.CommentShareCyprien_Danswered 9 months ago1To add to the above response, please review the below implementation for the get_full_json function in python. It implements the fix recommended.https://github.com/aws-samples/amazon-textract-textractor/blob/master/caller/textractcaller/t_call.pyCommentSharekeithmanswered 9 months ago0Collecting all the blocks up front in a Dictionary worked!  Thank you!Here is the modified code...            Dictionary<string, Block> blocks = new Dictionary<string, Block>();            if (getResultsResponse.JobStatus == JobStatus.SUCCEEDED)            {                do                {                    getResultsResponse.Blocks.ForEach(x => {                        blocks.Add(x.Id, x);                    });                    if (string.IsNullOrEmpty(getResultsResponse.NextToken)) { break; }                    getResultsRequest.NextToken = getResultsResponse.NextToken;                    getResultsResponse = _textractClient.GetDocumentAnalysis(getResultsRequest);                } while (getResultsResponse.Blocks.Count > 0);                 foreach (KeyValuePair<string, Block> entry in blocks)                {                    if (entry.Value.BlockType.Equals("CELL"))                    {                        Console.WriteLine("Page: " + entry.Value.Page.ToString());                        Console.WriteLine("Rowindex: " + entry.Value.RowIndex.ToString());                        Console.WriteLine("Colindex: " + entry.Value.ColumnIndex.ToString());                        entry.Value.Relationships.ForEach(y =>                        {                            y.Ids.ForEach(z =>                            {                                if (blocks.ContainsKey(z.ToString()))                                {                                    var cellText = blocks[z.ToString()].Text;                                    if (!string.IsNullOrEmpty(cellText))                                    {                                        Console.Write($"{cellText} ");                                    }                                    else                                    {                                        Console.Write($"EMPTY ");                                    }                                }                            });                        });                    }                }CommentSharerePost-User-8868992answered 9 months ago"


Question: Is there any workaround to imaging an encrypted workspace?

"So I am new to AWS workspaces and I thought I was following security best practices by encrypting both the workspace volumes.  However, the hope was that the work that went into configuring the workspace could be reutilized for imaging and other employees.  I now realized that encrypted volumes cannot be imaged and I was hoping that someone might a solution or a work around?  Is it possible to unencrypt the volumes?  Could I migrate such an image to another service such as EC2 as a work around? II suspect that there is no solution and I will have to re-do the configuration in a non-encrypted volume, however I wanted to ask here, before I spend several more hours re-doing the work.Also  it seems that this feature might be supported in the future.  If so, does anyone know of any timeline of that possibility?Thank you for your time,MzFollowComment"

Answer: "0Short answer - no, to create a custom image you must start with an unencrypted WorkSpace. Longer answer - https://docs.aws.amazon.com/workspaces/latest/adminguide/encrypt-workspaces.htmlThere are no workarounds for this, you must start with an unencrypted WorkSpace. Custom Images are not interchangeable with EC2 AMIs.CommentShareEXPERTStevieStetsanswered 8 months agorePost-User-5502318 8 months agohttps://us-west-2.console.aws.amazon.com/mgn/home?region=us-west-2#/welcomeIt seems that the application migration service might be a solution where you can install an agent on your computer to migrate it to EC2. Since the OS in Amazon Workspaces is actually based on Windows Server, this might be a possibility that I might try however not sure it will work with licensing etc... and in the end it might take me longer to experiment and get this working than to just start from scratch - but certainly a feasible path from what I can tell on surface level.Share"


Question: What is the benefit of associating multiple roles with a namespace in Redshift serverless?

"According to the docs HERE, I can't understand why should I associate multiple role with a namespace? Anyone know, please helpYou can associate multiple roles to a namespace using the console, as described previously in this section. You can also use the API command CreateNamespace, or the CLI command create-namespace. With the API or CLI command, you can assign IAM roles to the namespace by populating IAMRoles with one or more roles. Specifically, you add ARNs for specific roles to the collection.FollowComment"

Answer: "1Accepted AnswerHaving granular Roles with its Policy granting access to specific AWS services will provide you granular control over user privileges. For example you have a role that allows Amazon SageMaker access, and another role that allows Amazon S3 access.If a single role provides both access then everyone who gets access to Amazon S3 also gets access to Amazon SageMaker. You might want to control your costs individually and thus choose granular roles.In the SQL command users will specify which role to use for that particular command. Or you can set one, say Amazon S3 role as default role assuming everyone needs S3 access and anyone using the Amazon Redshift ML feature using Amazon SageMaker will explicitly specify the other role in the SQL command.CommentShareMilindOkeanswered 5 months ago1Amazon Redshift needs IAM authorization to interact with other AWS services such as Amazon S3 data lake, AWS Lakeformation, Amazon Sagemaker etc. IAM authorization is provided to Amazon Redshift serverless using the IAM policies attached to the namespace.You can use one IAM policy with all required permissions for Redshift, or you can organize the permissions into multiple IAM policies and attach them to the namespace. As of today, you can attach upto 10 IAM policies.CommentShareAnusha_Canswered 5 months ago"


Question: can't delete Lightsail machine

"Hi,I'm trying to delete one of my Lightasail machines, but for the past few days, I'm getting the following error message:" Error DeleteInstance, Sorry, we're having trouble dealing with your request ... internal logic error)also, when I try to delete one of the storage disks of the same machine, I get the following error"DeatchDisk These parameters are required: disk name missing Params)This happens only with one specific machine; I have tried to delete or detach disks on other devices with no issues.screenshots of the error messages:https://ibb.co/1nRdj0N https://ibb.co/pRGt2dSAny ideas on how to remove this machine?Thanks!FollowComment"

Answer: 0I'd contact AWS support and request machine removal. It's free.CommentSharemast3r_branchanswered a year ago


Question: Jenkins build to AWScodebuild

"Would like to replace our jenkins build to AWSCodebuild, can you please give\point guidance?FollowComment"

Answer: "0Hello,Greetings for the day !I understand that you are looking to migrate from Jenkins to AWS CodeBuild. Just like Jenkins for CodeBuild you specify a file called buildspec.yml file which has the list of commands that you want CodeBuild to build/run. To understand more about buildspec.yml file see the following documentation : https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.htmlThe following guide would provide more information about how CodeBuild works and how to set up and how to run builds : https://docs.aws.amazon.com/codebuild/latest/userguide/getting-started-overview.htmlCommentShareAWS-User-113answered 6 months ago"


Question: What is the best way to work with kubernetes and environment variables in containers?

I am currently looking for a tool that allows me to quickly and easily control the environment variables of my containers in EKS. I find myself exploring some options like AWS Secret Manager and Hashicorp's Vault. What tools would you recommend?FollowComment

Answer: "2This open source External Secrets operator can be leveraged to pull secrets from AWS Secrets Manager, AWS Parameter store, Hashicorp Vault and various other cloud secrets providers. This operator also supports EKS Fargate.With AWS Secrets Manager, you can establish a private connection between your VPC and Secrets Manager by creating an Interface VPC endpoint which lets you privately access Secrets Manager APIs without an internet gateway, NAT device, VPN connection, or AWS Direct Connect connection. It is more secure as the network traffic between your VPC and Secrets Manager does not leave the AWS network.CommentShareSUPPORT ENGINEERVenkat Penmetsaanswered a year ago0You might want to look into  AWS Secrets and Configuration Provider (ASCP). This approach enables secrets from Secrets Manager and parameters from Parameter Store to be mounted as files in Amazon EKS pods. The GitHub project is here.CommentSharejimmyrayanswered a year ago"


Question: "Is it possible to send an email following an external DNS provider, with a different email address than the DNS host?"

"I am trying to send an email by using a gmail account, where Im using a Verified identities (DNS) - a non aws host.Is it possible to send an email following an external DNS provider, with a different email address than the DNS host?FollowComment"


Question: How do i create a location label based condition in AWS WAF?

Since november the second its possible to restrict access to a resource based on a specific location such as a state. You can create a label based rule with the rule builder.I want to restrict access to a cloudfront distribution for certain US states but i can't locate this rule builder anywhere in the WAF console. Where to find this builder and how do i create a label based condition to restrict a US state?ThanksFollowComment

Answer: "0Accepted AnswerThe geographic match rule adds geographic region and country labels to every request that it evaluates, enabling customers to write label match statements according to the regions they wish to block or allow.You can find it under: Rule builder on the console – Under the rule's Action settings, under Label.Also refer to https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-label-add.html and https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-label-match.htmlCommentShareLucasanswered 7 months ago"


Question: Error Message connecting Lambda VPC with DocumentDb: The provided execution role does not have permissions to call CreateNetworkInterface on EC2

I want to access DocumentDb in my Lambda function. I try to configure my VPC in the Edit VPC page for my lambda function but I get this error message that stops me;The provided execution role does not have permissions to call CreateNetworkInterface on EC2How do I fix this?FollowComment

Answer: "1Accepted AnswerHi,The Lambda function execution role must have permissions to create, describe and delete ENIs. AWS Lambda provides a permissions policy, AWSLambdaVPCAccessExecutionRole, with permissions for the necessary EC2 actions (ec2:CreateNetworkInterface, ec2:DescribeNetworkInterfaces, and ec2:DeleteNetworkInterface) that you can use when creating a roleSimply add these permissions into the Lambda IAM roles policy as below:{    "Version": "2012-10-17",    "Statement": [        {            "Effect": "Allow",            "Action": [                "ec2:CreateNetworkInterface",                "ec2:DescribeNetworkInterfaces",                "ec2:DeleteNetworkInterface"            ],            "Resource": "*"        }    ]}See this also: https://repost.aws/knowledge-center/lambda-permissions-issues.Hope it helps and if it does, I would appreciate answer to be accepted, so that community can benefit for clarity when searching for similar issues, thanks ;)CommentShareEXPERTalatechanswered 2 months ago"


Question: [Announcement] *** Updated *** Raspbian Buster and Stretch with kernel 4.19.57

"Updated:As of Greengrass 1.9.3 Raspbian Buster and kernel 4.19.57 on Raspbian Stretch are fully supported, https://docs.aws.amazon.com/greengrass/latest/developerguide/what-is-gg.html#gg-platformsGreengrass versions 1.9.2 and older will NOT work on Buster or kernel 4.19.57. Greengrass will need to be upgraded to version 1.9.3.Original Message:Before running apt-get upgrade be sure to block the latest kernel:sudo apt-mark hold raspberrypi-bootloader  sudo apt-mark hold raspberrypi-kernel  If you attempt to run Greengrass on Buster or the latest kernel you'll receive the following message:[ERROR]-runtime execution error: unable to start lambda container. {"errorString": "failed to initialize container mounts: failed to create overlay fs for container: mounting overlay at /greengrass/ggc/  packages/1.9.2/rootfs/merged failed: failed to mount with args source=\"no\_source\" dest=\"/greengrass/ggc/packages/1.9.2/rootfs/merged\" fstype=\"overlay\" flags=\"0\" data=\"lowerdir=/greengrass/ggc/packages/1.9.2/dns:/,upperdir=/greengr  ass/ggc/packages/1.9.2/rootfs/upper,workdir=/greengrass/ggc/packages/1.9.2/rootfs/work\": too many levels of symbolic links"}  If you're running Raspbian Stretch and you already updated the kernel the recommended method for fixing the issue is to erase the SD card and perform a fresh install of Raspbian Stretch.You can also attempt to roll back the kernel by using the steps below. These steps are not recommended and are at your own risk.wget http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/raspberrypi-kernel\_1.20180924-1\_armhf.deb  wget http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/raspberrypi-bootloader\_1.20180924-1\_armhf.deb  sudo dpkg -i ./raspberrypi-kernel* ./raspberrypi-bootloader\_1.20180924-1\_armhf.deb   FollowCommentNguyen_M SUPPORT ENGINEERa year agoThis is an announcement migrated from AWS Forums that does not require an answerShare"


Question: upload file to aws

"Hi, I'm very new to backups and all aws.I can't figure out how to upload the files to the cloudAnd I read the information posted on the site.Every backup software has an option to search for files to upload and here I do not findFollowCommentCebi a year agoHi, can you provide more information. Which service are you using? You can try uploading your file to an S3 bucket then use that file within other AWS services, but AWS services have different rules on how to access files stored in S3Sharebullfrogmiah a year agoAn additional question for you: What are you trying to back up?Share"

Answer: "0If you are looking at backing up your on-prem files to AWS, there are multiple tools AWS provides for the same. To get an overview of these different services, refer to this page - https://aws.amazon.com/cloud-data-migration/Once you have an overview level understanding, you can dive deep into each of the products. What tool is the right tool depends on a number of factors. If you can provide more specific details around your requirements, it will help us answer the specific questions.CommentShareEXPERTIndranil Banerjee AWSanswered a year agorePost-User-3790360 a year agoAs I wrote I want to upload files from my computer to the cloud such as documents and other files.And later after I understand I would also like to back up my clients separately and manage their backups from a control centerSharerePost-User-3790360 a year agoIn addition to the documents and pictures files that I back up in the cloud I need to be synchronized with my local computer and any changes I make will be synchronized in awsShareIndranil Banerjee AWS EXPERTa year agoIf you want files to be backed up on Amazon S3 but also want those files to be available from on-prem, then the best solution for that is the File Gateway. Take a look at the documentation for File Gateway here - https://aws.amazon.com/storagegateway/file/s3/As mentioned in the FAQs https://aws.amazon.com/storagegateway/faqs, there are a few options on how you can deploy the File Gateway - "On-premises, you can deploy a virtual machine containing the Storage Gateway software on VMware ESXi, Microsoft Hyper-V, or Linux KVM, or you can deploy Storage Gateway as a hardware appliance. You can also deploy the Storage Gateway VM in VMware Cloud on AWS, or as an AMI in Amazon EC2"Also will appreciate if you can accept my answer. ThanksShare"


Question: Expand/extend the Amazon EBS root volume of my Amazon EC2 Windows instance

"I've expanded the disk size of our EC2 r5.2xlarge Windows instance. This seemed to go fine, with the volume indicating the new size and the optimising process successfully completing with the Volume Status showing as "Ok". However, when I try to extend the disk in the Disk Management tool on our EC2 instance the new unallocated disk space does not appear, and the Extend Volume option is greyed out. While there is a second disk on the EC2 for storage the disk I'm trying to extend is not partitioned. I'm a bit stumped and would appreciate any advice. Thanks.FollowComment"


Question: Limit on Listing User Pools

"I'm developing a multi-tenant SaaS application in which each tenant will have a dedicated user pool for its own users. One constraint is that no one can be a root user in more that one user pool. So during user registration, to determine whether an email address is already associated with a root user account, I have to check all users across all user pools. Here's the problem: in Cognito, the listUserPools API has a MaxResults property with an upper limit of 60. If there are 100 user pools in my application, what is the best way to search across all of them given that 60-item search results limit?Alternatively, is there a way to filter on an email address across all user pools at once, rather than by each user pool individually?  I could maintain a separate table of root users, but that seems redundant. Please advise.FollowComment"

Answer: "1Hi,It is best to maintain this mapping in an external store like DynamoDB table, this will give you better and easier query capabilities.CommentShareEXPERTMahmoud Matoukanswered a year ago"


Question: Can AWS Code Whisperer write Terraform Code?

Can AWS Code Whisperer write Terraform Code?FollowComment

Answer: "1See the CodeWhisperer FAQ https://aws.amazon.com/codewhisperer/faqs/CodeWhisperer currently supports Python, Java, JavaScript, TypeScript, C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, Shell scripting, SQL and Scala.CommentShareRWCanswered 24 days ago"


Question: amazonaws.com sub-domain delegation and resolution

A customer is currently in the process of approving R53 Resolver for use in their organization. Their current design is to resolve all *amazonaws.com sub-domains on AWS using a R53 Resolver system rule shared with spoke VPCs. Everything else is forwarded to on-premises resolvers via a dot rule.They have a concern around data exfiltration using encoded DNS queries to "malicious" AWS sub-domains. I am confident this is not a concern for the following reasons but need some confirmation that I can make this statement to the customer:*amazonaws.com sub-domains are never delegated to a non-AWS entity/3rd party.*amazonaws.com sub-domains are only authoritatively resolved on Amazon owned Name Servers.Are both of these statements correct?Thank you.FollowComment

Answer: 0Accepted AnswerFormer Route 53 DNS here.Your assumptions are correct. Those are not allowed by policy but sometimes a dangling CNAME or delegation can happen albeit rarely.CommentShareAWS-User-9324969answered 4 years ago


Question: Connection TimeOut/ Packet loss when connecting to AWS Gamelift server.

"I am uable to connect to the server on my UE5 client. I receive the Ip address from GameLift and I try to travel my client to the IP address using OpenLevel. Buiy I am getting some logs mentioning connection timeout/packet loss. Any idea why? I am putting my logs here after I use OpenLEvel.LogAudioMixer: Display: Starting AudioMixerPlatformInterface::RunInternal(), InstanceID=10LogNet: UNetDriver::TickDispatch: Very long time between ticks. DeltaTime: 0.01, Realtime: 7.11. IpNetDriver_0LogNet: UNetDriver::TickDispatch: Very long time between ticks. DeltaTime: 0.01, Realtime: 9.31. IpNetDriver_0LogAnalytics: Warning: EventCache either took too long to flush (1.045 ms) or had a very large payload (0.436 KB, 1 events). Listing events in the payload for investigation:LogAnalytics: Warning: Editor.Usage.Heartbeat,433LogNet: UNetDriver::TickDispatch: Very long time between ticks. DeltaTime: 0.01, Realtime: 8.39. IpNetDriver_0LogNet: UNetDriver::TickDispatch: Very long time between ticks. DeltaTime: 0.01, Realtime: 15.43. IpNetDriver_0FollowComment"

Answer: "0Hi,Once you've created a game session on a game server with CreateGameSession, you will first have to reserve a player session(s) on that game session with CreatePlayerSession or CreatePlayerSessions with unique PlayerId(s). These APIs will return a PlayerSession object, from which the game client can accept and use the IpAddress and PlayerId to connect to that game session.Here are more detailed instructions:https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-joinCommentShareJuneHoP_AWSanswered 7 months ago"


Question: Sending emails from EC2 Ubuntu 22.04 server

I am running an Ubuntu 22.04 Server on an EC2 instance which is within the Free Tier.  I want to be able to use the PHP mail() function which sends emails but uses the underlying OS mail functionality to do so. The mail() function is returning false which I think may be due to firewall / security group issues. However I also thought it may be that Amazon does not allow sending of emails from Free Tier accounts. It did work fine on my old Debian server which was not with Amazon although that was running an older version of PHP so that could be an issue. I can not see any log files relating to the attempts I have made to send emails (I looked under /var/log) which makes me think maybe I need to install an email program such as postfix or something.I do not want to send a lot of emails as in marketing etc. At the moment it would only be a few a week.I would like help troubleshooting this. Am I allowed to send emails? What port would they be sent on (and which therefore needs to be enabled)? Where are the logs? Do I need to install an email program? Any other ideas I have not thought of?FollowComment

Answer: "1I have never had an issue sending mails from EC2 in free tier. Can you confirm you have setup sendmail_from and sendmail_path in your php.ini file? Included a link with additional information.http://php.net/manual/en/function.mail.phpCommentSharedshelt22answered 9 months agorePost-User-8454414 9 months agoI have just been reading about that and looking at my php.ini file. It says sendmail_from is for Win32 only. What should I put into sendmail_path? Do I need to install a mail program?SharerePost-User-8454414 9 months agoI do not have /usr/sbin/sendmail or /usr/sbin/postfixSharedshelt22 9 months agoNot entirely sure where you are at in the process but Install sendmail sudo apt install sendmail and make sure your local host is pointing to your hostname (/etc/hosts) 127.0.0.1 localhost hostname (w/e that is for your ec2 instance). Then you should be able to just run sudo sendmailconfig refer to:https://manpages.ubuntu.com/manpages/xenial/man8/sendmailconfig.8.htmlRestart your apache (or NGINX) for good measure. Any additional issues that result in no logs are generally config related to your php.ini file (typos etc causing issues) and sendmail_path not being pointed to your sendmail package.postfix is just another package, like sendmail.Share"


Question: Lambda Container-Based Function Needs --privileged and --device /dev/fuse

"How can my container-based lambda function run the container with the "--privileged" and "--device /dev/fuse" options? My use case is a container that uses s3fs to mount an S3 bucket.I thought for sure I had read this is possible, but now I'm not finding it. If this isn't possible running the container using lambda, is it possible under ECS?FollowComment"

Answer: "1Accepted AnswerWhen you deploy a lambda using a container instead of a zip file, lambda doesn't actually run as a docker container. The container is just a packaging construct. At runtime, the lambda function runs just like it would if it were packaged as a zip file.The ephemeral storage that is assigned to a lambda function can now be up to 10 GB - https://aws.amazon.com/blogs/aws/aws-lambda-now-supports-up-to-10-gb-ephemeral-storage/Also, it is possible to use EFS with lambda functions - https://aws.amazon.com/blogs/compute/using-amazon-efs-for-aws-lambda-in-your-serverless-applications/CommentShareEXPERTIndranil Banerjee AWSanswered a year ago"


Question: Problem with centralized logging automated deployment.

"I'm attempting to use the centralized logging implementation guide (https://docs.aws.amazon.com/solutions/latest/centralized-logging/deployment.html) and am getting errors when deploying the CF template. On the first attempt it errored out attempting to create the bastion host. On the second run I choose not to use a bastion host and it errored out when attempting to create a log group. It turns out the log groups that were created during the previous run were not deleted when the CF template rolled back. I manually deleted them and am now getting the following error:Received response status [FAILED] from custom resource. Message returned: failed to Create CW destinations, please see in cw logs for more details Logs: /aws/lambda/centralized-logging-v4-0-1-HelperLambdaAC9474F4-HkzygXkCIJje at sendResponse (/var/task/index.js:304:15) at Runtime.exports.handler (/var/task/index.js:35:16) at processTicksAndRejections (internal/process/task_queues.js:95:5) (RequestId: 1b08bd52-e0d2-43a7-875d-b60c627eba60)If anyone has any input as to how I can get past this to get this template deployed I'd really appreciate it.FollowCommentshimo a year agoCan you share what cw logs above are saying?Share"


Question: Getting a CannotPullContainerError container uri not found - Fargate Task Running in Public Subnet

"Hello I have task defined for a fargate cluster for an image located on the ECR, but for some reason its not able to pull the container image from ECR...As this is has been asked before I referred to the following links to perform my troubleshooting:https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_on_ECS.htmlhttps://repost.aws/questions/QU2e6oTgeWRiiL48Y5OAmymg/ecs-fargate-tasks-not-running-stopping-with-error-cannotpullcontainererrorFrom what I gather there are two key considerations:Role access to ECR from your taskInternet access to public subnetMy task has the following definitions:ecsTaskExecutionRole which has -> AmazonECSTaskExecutionRolePolicy -> which has the below actions assigned"Effect": "Allow","Action": ["ecr:GetAuthorizationToken","ecr:BatchCheckLayerAvailability","ecr:GetDownloadUrlForLayer","ecr:BatchGetImage","logs:CreateLogStream","logs:PutLogEvents"],"Resource": "*"awsvpc networking modeit has the correct image URI in the definitionits using public subnet which is mapped to an internet gatewaythe ENI for the task is getting a public IP Address AssignedAny other considerations I'm missing?p.s. Attaching some images in case its helpful.FollowComment"

Answer: "0Accepted AnswerI found the answer, the task definition was referencing 'LATEST' image tag instead of the version number. Going to look into having the image push to ECR with 'Latest' as the tag so I don't have to update the Task definition everytime I update the container.CommentShareECP_WIZZIEanswered a month ago0First, please review the following documents.https://repost.aws/knowledge-center/ecs-pull-container-api-error-ecrhttps://repost.aws/knowledge-center/ecs-fargate-pull-container-errorOther than the above, it has been my experience that increasing the memory capacity of the task definition has solved that error, so please try it.CommentShareEXPERTRiku_Kobayashianswered 2 months agoECP_WIZZIE 2 months agoRiku, thank you for your comment. So I followed those items, and one thing that I was missing  was the endpoints and correct security group being attached to the VPC. I also edited the security group  to accept all inbound and outbound connections for all ports, types and protocols and destination 0.0.0.0/0... The image is only 256 mb, and the task def calls for 3 GB, but I increased to 4 GB since you mentioned memory.Still unable to pull the image, though I get a different error: Rather than reference the URI, it just says the image 'is not found'.Just for fun I tried running the task via Fargate v1.3 -> error there is basically the same.The image is in a private repo in my ECR, does that matter?Share"


Question: How to use custom retry code for Batch job

"I am trying to create conditions for my job to retry. To do this, I have a variable likeEXIT=“exit 25”in the bash script that my job runs in the docker container, and lines like:foo || eval $EXITWhere if the command “foo” fails, the container will exit with code 25. Then, in the job definition, I have a condition for code 25 that tells the job to retry.However, when this failure occurs, Batch recognizes the code 25 error (and identifies it as the reason for failure) but overrides my “retry” action and kills the job.I suspect that the command “exit” is telling Batch to kill the job instead of retrying. So my question is: is “exit 25” the correct command to use in Docker to signify failure with code 25, or should I use a different command?FollowComment"

Answer: "0Looks like this solution actually works. I didn’t realize Batch creates a new log stream for each attempt, so I didn’t notice that the job was being retried.CommentShareaws-dominoanswered 2 years ago"


Question: OneDrive subfolder easy upload to S3 Glacier Deep Archive

"I am trying, desperately, to do a simple upload of a sub folder on my MS OneDrive to AWS S3 Glacier Deep Archive. I have not been able to find a simple way to do this. I have investigated Veeam as an option, but I can't get away from the technical "gibberish" that seems to plague the AWS backup space. Is there a way to do a simple upload to AWS S3 Glacier Deep Archive in a simple manner? HELP!!!FollowComment"

Answer: "0Hi,I understand that you want to know if there are any AWS services that allow you to automate the process of easy uploading from OneDrive to S3 glacier storage class.There are currently no AWS services that supports data migration/copying from sources like the one you’ve mentioned to S3 buckets, but there are some third-party applications/services which may fulfill these tasks (including doing so autonomously daily). You can search through the AWS Marketplace for such third-party applications/services [1]. While products on the AWS Marketplace are not supported by Premium Support and aren't official recommendations, these are some example products that may help you achieve your goal here:Veeam Backup for Microsoft Office 365 [2]Cloudsfer [3]Additionally, you can also choose to create a script set as a CRON job where its scheduled to run and perform the data migration/copying tasks daily, cronjob can be created with the Office 365 CLI for Powershell and AWS CLI for Powershell [4].Open up a PowerShell session and install the CLI using npm : PS > npm install @pnp/office365-cli -gRead more on the above and follow the resource[4] to get started.If you otherwise have files from those sources that need to be copied into your S3 buckets soon, you can first download those files to your environment and use the AWS CLI to manually issue copy operations [5].I hope this helpsResources:-[1] https://aws.amazon.com/marketplace[2] https://aws.amazon.com/marketplace/pp/prodview-zxhf3s233ft54[3] https://aws.amazon.com/marketplace/pp/prodview-y6flkwf5bu6ga?qid=1624464951633&sr=0-6&ref_=srh_res_product_title[4]https://devblogs.microsoft.com/microsoft365dev/getting-started-office365-cli-powershell/   and https://aws.amazon.com/powershell/[5] https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html#using-s3-commands-managing-objects-copyCommentShareAsisiphoanswered a year ago"


Question: Amazon RDS (MySql) export to s3 - Is there any way to provide partition keys to each for the tables so that the S3 data falls into these dynamic partitioned folders created for each table within DB

Amazon RDS (MySql) export to s3. Is there any way to provide partition keys to each for the tables within the database. i would like the data falling into s3 as parquet files and partitioned on a date column within the data as for ex: s3://<tablename>/<snapshot-date>/year=2022/month=07/day=22 ? is it possible to have a dynamic S3 prefix created for each of the daily snapshot exported?FollowComment

Answer: "0A glue ETL job can do that for you .Read the DMS dataWrite the data back to a different S3 bucket based on your partition keys .Loop it for each table through a Glue Python jobOn the high level its a 2 step process , minimal coding , use DynamicFrames which will also help you in clubbing multiple CDC files into larger chunks improving better reads on the consuming applications .Please noteGlue will incur costsIts not going to be real time as DMS , since additional read and writes are involvedDMS will result in multiple versions of the record , For example , Inserts , Multiple Updates and Delete . You can handle that in Glue, but the program will have a few more steps then. This is based on your requirement thoughCommentShareKoustavCanswered 9 months ago0was this solution implementeD?CommentSharerePost-User-2022-simanswered 2 months ago"


Question: "Access denied to SSM parameter, but policy in place?"

"I'm getting an error in my Lambda function, which calls SSM:AccessDeniedException: User: arn:aws:sts::redacted:assumed-role/LambdaBackend_master_lambda/SpikeLambda is not authorized to perform: ssm:GetParameter on resource: arn:aws:ssm:eu-west-1:redacted:parameter/default/key/apiBut, alas:λ aws iam get-role --role-name LambdaBackend_master_lambda{    "Role": {        "AssumeRolePolicyDocument": {            "Version": "2012-10-17",            "Statement": [                {                    "Action": "sts:AssumeRole",                    "Effect": "Allow",                    "Principal": {                        "Service": "lambda.amazonaws.com"                    }                }            ]        },        "RoleId": "redacted",        "CreateDate": "2017-06-23T20:49:37Z",        "RoleName": "LambdaBackend_master_lambda",        "Path": "/",        "Arn": "arn:aws:iam::redacted:role/LambdaBackend_master_lambda"    }}λ aws iam list-role-policies --role-name LambdaBackend_master_lambda{    "PolicyNames": [        "ssm_read"    ]}λ aws iam get-role-policy --role-name LambdaBackend_master_lambda --policy-name ssm_read{    "RoleName": "LambdaBackend_master_lambda",    "PolicyDocument": {        "Version": "2012-10-17",        "Statement": [            {                "Action": [                    "ssm:DescribeParameters"                ],                "Resource": "*",                "Effect": "Allow"            },            {                "Action": [                    "ssm:GetParameters"                ],                "Resource": "arn:aws:ssm:eu-west-1:redacted:parameter/*",                "Effect": "Allow"            }        ]    },    "PolicyName": "ssm_read"}The policy simulator confirms that ssm_read should have access to that SSM parameter.I must be doing something wrong?FollowComment"

Answer: "0The policy simulator is a good check for certain AWS APIs but it doesn't support all possible resource-level permissions.  Testing with an IAM user is the only way to go.That being said it's possible the SSM service doesn't support a wildcard ARN as specified.  For testing what happens if you replace it with just: "*" or a full parameter name (no wildcard value)?CommentShareeldiablopotatoanswered 6 years ago0Did you manage to work through this? I have the same error. IAM role is set up correctly - this works from an EC2 instance running code, but not Lambda.CommentSharehagenditanswered 5 years ago0It would appear that the GetParameters action is different from the GetParameter action.I just had to create a whole different policy for my role, because the AWS managed policy, AmazonEC2RoleforSSM only has GetParameters specified, when I feel it should also have the GetParameter action specified, as well.CommentSharedanielgreeningeranswered 5 years ago0For me the case was, for some reason, I needed the Account ID specified in my ARN on the ssm:GetParameter but not the ssm:PutParameter.Adding the account ID to the arn in my allow policy sorted it out.CommentSharehussfeltanswered 5 years ago0Add both and check. This worked for me. I also read that some people have added GetParameter and GetParameters.ssm:GetParametersByPathssm:GetParameterCommentShareParthaanswered a year ago"


Question: Can Glue bookmarks be used between Glue workflow steps?

"Hello all,I was reading this page regarding glue bookmarks:https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.htmlIt looks like bookmarks functionality is limited to a single Glue job processing a growing input data file incrementally over time.A customer has a Glue workflow that has many steps (say 5 for example). They want to know if there's a way, when their Glue workflow dies on the 4th of 5 steps, to have it skip the first 3 steps on retry.The issue they're running into is that they are hitting their DPU limit.  If the built-in Glue retries don't wait a while, then all the immediate retries will fail and the workflow crashes.I told them Step Functions might be a better solution to catch and retry w/ exponential backoff, but they're looking to keep it simple and all in Glue, if possible.Can anyone let me know if the Glue bookmarks and retries can be used to bookmark in between jobs in a Glue workflow, and whether Glue retries can be set to have a long retry interval with exponential backoff (like Step Functions allows)?FollowComment"

Answer: "0Accepted AnswerIt seems there's nowhere we could configure the retry behavior of Glue Jobs, so your idea about using StepFunctions or Airflow to do the fine-grained flow control is better way to go.Q: How does AWS Glue handle errors?AWS Glue monitors job event metrics and errors, and pushes all notifications to Amazon CloudWatch. With Amazon CloudWatch, you can configure a host of actions that can be triggered based on specific notifications from AWS Glue. For example, if you get an error or a success notification from Glue, you can trigger an AWS Lambda function. Glue also provides default retry behavior that will retry all failures three times before sending out an error notification.from: https://aws.amazon.com/glue/faqs/CommentShareAWS-User-7488998answered 4 years agoEXPERTFabrizio@AWSreviewed a year ago"


Question: How does one unit test VTL when dealing with api-gateway construct from CDK

"Currently using openapi definition in conjunction of CDK in python to produce api-gateway definition resources (REST), how does one test as code (unit or functional) to ensure that nothing breaks accidently?FollowComment"

Answer: 0assuming you are in the nodejs ecosystem you could write unit tests using api-gateway-template-tester.CommentShareMatthias Pichleranswered a year ago