Question: CloudFormation support for S3 replication to multiple destination buckets

"As per https://aws.amazon.com/blogs/aws/new-amazon-s3-replication-adds-support-for-multiple-destination-buckets/, S3 now supports replication to multiple destination buckets, and according to the press release, it should be supported in CloudFormation.However when adding the following configuration to CloudFormation:PublicBucket:    Type: AWS::S3::Bucket    DependsOn: GlobalBuckets    Properties:      BucketName: !Sub learning-${Environment}-${AWS::Region}-public-web${Suffix}      VersioningConfiguration:        Status: Enabled      ReplicationConfiguration:        Role: !GetAtt PublicBucketReplicationRole.Arn        Rules:          - Id: ap-southeast-1            Status: Enabled            Destination:              Bucket: !Sub arn:aws:s3:::learning-${Environment}-ap-southeast-1-public-web          - Id: ap-southeast-2            Status: Enabled            Destination:              Bucket: !Sub arn:aws:s3:::learning-${Environment}-ap-southeast-2-public-webThe deployment fails with the following error:Number of distinct destination bucket ARNs cannot exceed 1 (Service: Amazon S3; Status Code: 400; Error Code: InvalidRequest; Request ID: EA29054861FE2AD9; S3 Extended Request ID: lbdTf_mHpoDLdCKp0w_bh38gjfcCKNF2Z7PmoIS/C6aMYGfdi1o8N1MS/MReNTRseuDPbo2y6LU=; Proxy: null)The configuration works if I limit to a single replication rule.Looks like this is actually NOT yet supported in CloudFormation?FollowComment"

Answer: "1Found the solution - it is supported as of now, but not well documented.Basically you need to ensure you force rules to use the new Replication Rules V2 schema to support multiple destination buckets.  As per https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations V2 schema is forced by specifying the Filter property on each rule.Once you do this you need to ensure you add a number of configuration properties for each rule as per the example below, and you also need to ensure each Priority is a unique value.Here is a working example:Resources:  PublicBucket:    Type: AWS::S3::Bucket    Properties:      BucketName: foo-sandbox-us-west-2-public-web      VersioningConfiguration:        Status: Enabled      ReplicationConfiguration:        Role: !GetAtt PublicBucketReplicationRole.Arn        Rules:          - Id: ap-southeast-1            Status: Enabled            DeleteMarkerReplication:              Status: Enabled            Priority: 1            Filter:              Prefix: ''            Destination:              Bucket: arn:aws:s3:::foo-sandbox-ap-southeast-1-public-web          - Id: ap-southeast-2            Status: Enabled            DeleteMarkerReplication:              Status: Enabled            Priority: 2            Filter:              Prefix: ''            Destination:              Bucket: arn:aws:s3:::foo-sandbox-ap-southeast-2-public-web  PublicBucketReplicationRole:    Type: AWS::IAM::Role    Properties:      AssumeRolePolicyDocument:        Statement:          - Effect: Allow            Principal:              Service: s3.amazonaws.com            Action: sts:AssumeRole      Policies:        - PolicyName: Allow          PolicyDocument:            Statement:              - Effect: Allow                Action:                - s3:GetReplicationConfiguration                - s3:ListBucket                Resource: arn:aws:s3:::foo-sandbox-us-west-2-public-web              - Effect: Allow                Action:                - s3:GetObjectVersionForReplication                - s3:GetObjectVersionAcl                - s3:GetObjectVersionTagging                Resource: arn:aws:s3:::foo-sandbox-us-west-2-public-web/*              - Effect: Allow                Action:                - s3:GetObjectVersionTagging                - s3:ReplicateObject                - s3:ReplicateDelete                - s3:ReplicateTags                Resource: arn:aws:s3:::foo-sandbox-*-public-web/*CommentSharelearning-technologyanswered 2 years ago"


Question: Starting a file input at a given time

"Hi there,I want to start a file input at a predetermined time. But, I don't exactly know when the channel will finish starting, so my plan is:Start the channel at least five minutes before the stream is scheduled to start.Play the file in the MP4 input.It is possible that there may be a few minutes of unused time between the channel starting and the actual "stream" starting.What should I do with this time? Since at least two inputs are required to handle input-switching, is there a way to create an input which is essentially a blackout?FollowComment"

Answer: "0Hi chrisatmb,A config you can test and see if it meets your requirements is to use two file inputs, the first being a black slate and the second your file with the content for the event. You can set the first input as a looped file, the second file you do not loop. You can then set a schedule to do an input switch to the second file, the content file for the event at a certain time.  If you use just one input the event will start to encode the input as soon as its running, with the suggested configuration it will encode the first input and output black until the scheduled switch occurs and its moved to the second input.Input1: looped black video fileInput2: Actual media file for the eventSet a schedule to input switch to input2, media file at the required time.I would advise running up the event 5-10 minutes prior to make sure it is running and would suggest you test this workflow ahead of time to make sure it works as you would expect it to.CommentSharealiawsanswered 2 years ago"


Question: Best way to structure data for fast access via Athena?

"I am storing 400,000 parquet files in S3 that are partitioned based on a unique id (e.g. 412812). The files range in size from 25kb to 250kb of data. I then want to query the data using Athena.  Like so,Select * From Table where id in (412812, 412813, 412814)This query is much slower than anticipated. I want to be able to search for any set of ids and get a fast response. I believe it is slow is because Athena must search through the entire glue catalog looking for the right file (i.e., a full scan of files).The following query is extremely fast. Less than a second.Select * From Table where id = 412812partition.filtering is enabled on the table. I tried adding an index to the table that  was the same as the partition, but it did not speed anything up.Is there something wrong with my approach or a table configuration that would make this process faster.Thanks!FollowComment"

Answer: "0Hi,for best practices on optimizing Amazon Athena performance plese refer to this blog post.For what you explain there are 2  data storage anti-pattern design in the current implementation (not only for Athena, but for any distributed query/processing engine - Spark as well):small files.  Best practice for for storage would be to have a file size of 64 MB  up to 1 GB in some cases.too many small files and partitions : Based on the partition on a unique key make me think you could have hundreds of thousands of partitions, each of which contains a few small files.Also, as a questions when you mention index what are you speaking of? AWS Glue Partition Indexes?There are a few approaches you  may benefit from but it would depend on which services will access your data.only Athena or Hive ? you could consider to use bucketing instead of partition bu your unique id. Limiting the number of buckets you will be able still to query by id but you will have fewer larger files and the execution time of the queries will be much faster.also using Spark? then bucketing it is not the best option (there are difference between Spark and Hive implementation and it becomes more complex) so probably you may want to see if you have additional design option to limit the number of partitions and increase the size of files.if you have not yet tested the AWS Glue partition index , they may be able to help without changing the data storage layout, read this blog post for more info.hope this helpsCommentShareEXPERTFabrizio@AWSanswered a year agozak a year agoI am talking about Glue Partition Index. Basically, I have hundreds of thousands of stocks with data on each and want to be able to collect different stocks and build different portfolios. I am storing each stock as a partition in s3 because when I grab the data, I want the full time series, never a subset. So the workflow is: 1) Extract data from db 2) Transform data to clean state 3) Store the data using a unique id as the partition value 4) Load the data by any set of partition values (i.e., stock data: Google, Amazon, Microsoft)  to run a workflow that builds different portfolio attributes.Share0Hi, having a big number of partitions is almost always not the best approach, also the file sizes are very small.Would it be possible for you to show the table DDL ?CommentShareAlex_Tanswered a year ago"


Question: write to a bucket in different account from cost and usage report interface in another account

"Hi ,I'm trying to write to A bucket in Account A from the cost and usage report interface service in Account B .i've built an IAM role for cross-account access between two accounts ,but somehow still can't see the bucket name appearing in the dropdown box when i choose were to send these reports in the service.so i wanna make sure is it something can be done ?FollowComment"

Answer: "0Review this document to check if your cross-account access have been done correctly: https://repost.aws/knowledge-center/cross-account-access-s3Also make sure the policy in this document gives access to the right bucket in the specified account: https://docs.aws.amazon.com/cur/latest/userguide/cur-s3.htmlCommentShareEXPERTalatechanswered 4 months agorePost-User-9181726 4 months agohi, thank you for the answer .regarding the policy here :https://docs.aws.amazon.com/cur/latest/userguide/cur-s3.htmli added that and i'm able to get cost reports for Account B (where the bucket is located ) , do i need to edit the policy to add also the account ID for account A also ? meaning this policy needs only the Account B ID and  i don't need to declare anything in the policy to look at account A .?Sharealatech EXPERT4 months agoIf you are only interested in the bucket for Account B, then you do not need to add the Account A. Otherwise you should create a similar policy for Account A.Hope it helps, and if answer was helpful, please upvote/ accept so also others can benefit :)Share"


Question: How to confirm the Workdocs' AWS account

We'd like to design WorkDocs API actions for automatically uploading files on WorkDocs to improve our daily operation productivity.However we don't remember what the WorkDocs' AWS account number is.Could you let us know how to confirm the Workdocs' AWS account?Site Name : jpavsFollowComment

Answer: "0You can confirm the AWS account associated with your WorkDocs site by logging in to your AWS Management Console and navigating to the WorkDocs service page. Once you are on the WorkDocs service page, look at the URL in your browser. The URL should look something like this:https://console.aws.amazon.com/workdocs/home?region=us-west-2#/The AWS account number associated with your WorkDocs site is the account number that appears between "console.aws.amazon.com/" and "/workdocs" in the URL. For example, if your URL looks like the one above, your AWS account number would be "us-west-2".Alternatively, you can also check the AWS account number associated with your WorkDocs site by checking the WorkDocs service console. The account number will be displayed in the upper-right corner of the WorkDocs console, next to the name of your site.CommentSharehashanswered a month ago0Thank you for your reply.As we don't remember the account number, how we can login in the AWS Management Console?  Is there other way to confirm the AWS account numbers?CommentSharerePost-User-8699533answered a month ago"


Question: Unable to connect to amazon EC2 instance via PuTTY

"Hello,We have one ubuntu instance IP is 52.74.158.227EC2/Putty & SFTP iunable to connectWe have to check many documents but not figure out what exactly happens.AWS Ec2 connect below issue is coming.Failed to connect to your instance EC2 Instance Connect is unable to connect to your instance. Ensure your instance network settings are configured correctly for EC2 Instance Connect. For more information, see Set up EC2 Instance Connect at https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-set-up.html.FollowCommentMiguelUT 7 months agoCan you provide a little more information about your EC2 instance and network setup?  What AMI did you use to launch your EC2 instance (or at least what OS is it running)?  How do you have your security group for the EC2 instances you're trying to connect to configured?  Are you trying to use Instance Connect via the EC2 console, the CLI, or an SSH client?Share"

Answer: "0There is an AWS Premium Support article that can be helpful to troubleshoot - https://aws.amazon.com/premiumsupport/knowledge-center/ec2-linux-ssh-troubleshooting/If you still can't figure out, also take a look at this - https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.htmlAlso additional information that Miguel has pointed out will help us guide you better on what the issue might be. Definitely check that the security group on the EC2 machine allows ssh connection from your machine. If you are connecting over VPN your IP address as seen by EC2 may not be the same as what https://www.whatsmyip.org/ shows.CommentShareEXPERTIndranil Banerjee AWSanswered 7 months ago0I will try this but not fix my issue let me know which security rule i will show so you can know betterCommentSharerePost-User-7974417answered 7 months ago0if instance is created using ami, then you should check the user name associated with the ami for sshroot user doesent work for such ec2s sometimes.CommentSharesankalpanswered 7 months ago0According to the Setup Documentation for EC2 Instance Connect, there are three key steps (plus an optional one to install a client on your local machine, which I'm ignoring here given your context). These steps are:Network AccessEC2 Instance Connect Agent (already installed on Ubuntu images after 16.04)IAMEC2 Instance Connect uses SSH on TCP port 22 to connect to your instance. You can use the the Reachability Analyser to check access to port 22 from your source addresses, or the VPC flow logging to look for Deny statements around TCP port 22.If your AMI is an Ubuntu 16.04 server or later supplied by Canonical, then you already have the agent installed. If it's not, it's worth making sure you've followed the steps in the setup document to get the agent installed.The last thing you need to look at, from a setup perspective is to make sure you have IAM set up properly. Your user needs an IAM policy attaching to it which allows the "ec2-instance-connect:SendSSHPublicKey" action. In the above linked document, there are samples for allowing this on a specific group of instances, or for allowing based on specific instance Tags - customise to your specific use case.One other thing to consider is that Ubuntu images use the username "ubuntu" to login, where Amazon Linux 2 images use "ec2" as the username, so make sure you're logging in with the right username! Good luck!CommentShareJonTheNiceGuyanswered 6 months ago"


Question: How to pass lambda layer arn to a lambda in cloudformation ?

"I have cloudformation template , shown below . I am creating a serverless lambda and trying to pass a lambda arn , but when this template is deployed , i get an error that it is not a valid arn. I've deployed other cloudformation templates passing similar ARN  , which works, but I'm not sure why the lambda arn is different or special?AWSTemplateFormationVersion: .....Parameters:   lambdaArn:     Type: String      Default:  arn:aws:lambda:us-east-1:6666666666666:layer:myLayer:1Resources:  mylambda:    Type: AWS::Serverless::Function    Properties:      FunctionName: testlayer      ....      Layers:      - !Ref lambdaArnFollowComment"

Answer: "1This might not fix it but I'd try putting quotes around the ARN.CommentShareEXPERTskinsmananswered 3 months agoclouduser 3 months agotried that , didn't workShare0Difficult to find any issues in the ARN, however it might be malformed YAML file in this case. I can see an extra WHITESPACE in here: "Default:  arn:aws:lambda:us-east-1:6666666666666:layer:myLayer:1". Can you try removing that just to rule it out?CommentShareAmazing Ashanswered 3 months agoclouduser 3 months agotried it without space as well.Share0That arn is only the default value for the parameter, you're not overriding it are you, e.g. with a space?CommentShareEXPERTskinsmananswered 3 months ago0There you go a full example:  AppLambda:    Type: AWS::Lambda::Function    Properties:      FunctionName: !Sub ${EnvName}-${AWS::Region}-lambda-function-app      Description: !Sub APP API lambda function version ${AppLambdaVersion}      Code:        S3Bucket: !Ref SpecBucketName        S3Key: !Join ['', [ 'templates/lambda/app/', !Ref ContactLambdaVersion , '/zip/', !Ref EnvName , '-' , !Ref AWS::Region , '-', !Ref CommitSha, '-lambda-function-app.zip' ] ]      Handler: index.lambda_handler      Role:        Fn::GetAtt:          - LambdaAppCommonRole          - Arn      Runtime: nodejs12.x      TracingConfig:        Mode: Active      Timeout: 180      Layers:        - !Join [ '', [ 'arn:aws:lambda:', !Ref AWS::Region , ':' , !Ref AWS::AccountId , ':layer:lib-layer:24' ] ]      Environment:        Variables:          APP_VAR: myvalue      Tags:        - Key: Name          Value: !Ref AWS::StackName        - Key: Project          Value: !Ref ProjectName        - Key: Environment          Value: !Ref EnvNameCommentShareDavidCaballeroanswered 3 months ago"


Question: AWS Lambda JavaScript - Runtime.ImportModuleError: Error: Cannot find modul

"We are getting an error with our lambda function(JS)Runtime.ImportModuleError: Error: Cannot find module '@ourprivatemodule/src/service'the module(@ourprivatemodule) is a private npm packagewe checked the zip file uploaded by our bitbucket pipeline- and in the node_modules folder our module exists along with other modules like axios, @nestjs/core etc...any stuff that we may have missed that may have caused this error?its weird since other modules are 'found' and yet our particular module is not.. yet it is in the folder with the other modulesFollowComment"

Answer: "0our private npm package has issues to it, fixed the issues then the Cannot find module error went awayCommentSharethomasrbanswered 2 years ago"


Question: What’s the latest redshift release notes?

The latest post I see on this forum is Jan 9-Mar 24 2022 and Mar 2-Apt 4 2022. Where are the release notes online since then?FollowComment

Answer: "0Hi,as mentioned in the post Where to find AWS Redshift Release Notes?the information can now be found in the Amazon Redshift Documentation, please refer to this link.hope this helpsCommentShareEXPERTFabrizio@AWSanswered 9 months ago"


Question: Does AWS Backup support multiple NICs?

Does AWS backup support backing up EC2 instances with multiple NICs? Looking for a solution to backup our marketplace VMs that are more “advanced” with multiple network interfaces defined.FollowComment

Answer: "1Hello AWS Customer,When backing up an Amazon EC2 instance using AWS Backup, AWS Backup takes a snapshot of the root Amazon EBS storage volume, the launch configurations, and all associated EBS volumes. AWS Backup stores certain configuration parameters of the EC2 instance, including instance type, security groups, Amazon VPC, monitoring configuration, and tags. The backup data is stored as an Amazon EBS volume-backed Amazon Machine Image (AMI).[1]An AMI includes the following:[2]One or more snapshots. Instance-store-backed AMIs include a template for the root volume of the instance (for example, an operating system, an application server, and applications).Launch permissions that control which AWS accounts can use the AMI to launch instances.A block device mapping that specifies the volumes to attach to the instance when it’s launched.Please kindly note that it doesn't include network configurations like security groups, load balancers, network interfaces etc.However, you can restore Amazon EC2 recovery points using the AWS Backup API, CLI, or SDK.[3]This option allows you to restore all 38 parameters, including the 22 parameters that are not customizable on the console. The Amazon EC2 API Reference[4] lists all 38 parameters. These parameters also include Network Interfaces.Hope you will find this information useful.I hope you are always healthy and have a nice day.CommentShareSUPPORT ENGINEERJisoo_Kanswered 5 months ago0This is an example of running a restore job for an EC2 instance with multiple ENIs attached via AWS CLI.$ aws backup start-restore-job --recovery-point-arn "arn:aws:ec2:us-west-2::image/ami-xxxxxxxxxxxxxxxxx" \  --iam-role-arn "arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole" \  --metadata file://metadata.json  {    "RestoreJobId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"}metadata.json contains the following parameters.{    "VpcId": "vpc-xxxxxxxxxxxxxxxxx",    "Monitoring": "{\"State\":\"disabled\"}",    "CapacityReservationSpecification": "{\"CapacityReservationPreference\":\"open\"}",    "InstanceInitiatedShutdownBehavior": "stop",    "DisableApiTermination": "false",    "CreditSpecification": "{\"CpuCredits\":\"unlimited\"}",    "HibernationOptions": "{\"Configured\":false}",    "EbsOptimized": "true",    "Placement": "{\"AvailabilityZone\":\"us-west-2d\",\"GroupName\":\"\",\"Tenancy\":\"default\"}",    "aws:backup:request-id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",    "InstanceType": "t4g.micro",    "NetworkInterfaces": "[{\"DeleteOnTermination\":true,\"Description\":\"\",\"DeviceIndex\":0,\"Groups\":[\"sg-xxxxxxxxxxxxxxxxx\"],\"Ipv6AddressCount\":0,\"Ipv6Addresses\":[],\"PrivateIpAddresses\":[{\"Primary\":true,\"PrivateIpAddress\":\"172.31.62.169\"}],\"SubnetId\":\"subnet-xxxxxxxxxxxxxxxxx\",\"InterfaceType\":\"interface\"},{\"DeleteOnTermination\":false,\"Description\":\"\",\"DeviceIndex\":1,\"Groups\":[\"sg-xxxxxxxxxxxxxxxxx\"],\"Ipv6AddressCount\":0,\"Ipv6Addresses\":[],\"PrivateIpAddresses\":[{\"Primary\":true,\"PrivateIpAddress\":\"172.31.54.130\"}],\"SubnetId\":\"subnet-xxxxxxxxxxxxxxxxx\",\"InterfaceType\":\"interface\"}]"}CommentSharehayao-kanswered 5 months ago"


Question: Amazon S3 Versioning

"Let's say, we have two versions of the 100MB object. The version 2 consumes 100MB, but NOT the difference between non-current and current versions. So, in total 200MB are consumed.Am I right?FollowComment"

Answer: "1Accepted AnswerYes, this is true.You can find  example storage pricing in the FAQs. Search for question :Q. How am I charged for using Versioning?https://aws.amazon.com/s3/faqs/CommentShareAWS-User-3964373answered 3 years agoEXPERTBrettski-AWSreviewed a year ago0Versioning helps us in keeping multiple variants of an objects in a bucket, also helps in restoring objects to a specific version of an object. we can use versioning to recover a deleted or mistakenly overwritten object.CommentShareUsha kumarianswered a year ago"


Question: Copy using WinSCP to EC2 getting Permission denied

"I'm trying to copy files from windows 11 to EC2, I have used PPK and followed https://docs.aws.amazon.com/transfer/latest/userguide/transfer-file.html#winscpbut I keep getting "Permission Denied"anybody can help?FollowComment"

Answer: "0It appears to be a Linux file permission issue. Make sure the user ( whose ppk is being used) is allowed to write to the destination directory.  To test this, ssh to the instance as same user and try to create a test file.Example command:$ touch /path_to_destination_dir/testfileCheck the directory permissions using ls command and modify the permissions if requires.$ ls -ld /path_to_destination_dirIf the write (w) permission is missing for the user, modify the directory permissions using chmod command.CommentShareRenjith_Ranswered a year ago"


Question: Updated Wordpress blueprints needed (again)

"Can we get some updated WordPress blueprints in Lightsail? Currently, 5.9.3-8 is being offered which was released on 2022-04-14, which is now 5 months old, which in itself isn't bad, but there have since been 43 releases by Bitnami (https://bitnami.com/stack/wordpress/amidebian-x64-hvm-ebs-nami/changelog.txt) which address security issues as well as performance. These blueprints should be updated more regularly so customers can install the latest versions of WordPress and PHP. WordPress is easy enough to update manually once it is installed, but PHP requires a full migration to a new instance.I'm currently working on migrating to a new instance to update the PHP version, but can't even set up an instance with the latest versions available because the package is 5 months old.Alternatively, I'd love an easy/reliable way to update PHP on my lightsail site that doesn't require a migration to a newly built instance.FollowComment"


Question: Error while deploying website on S3

"i wanted to deploy a static website build up of html, css, js. after following the procedure of deploying static website on s3. its still showing errorCode: NoSuchKeyMessage: The specified key does not exist.Key: index.htmlRequestId: ***************HostId: IhXRGsx3EThj0aJWxnB7iJK+DYr6l7FFcWj7YeymSDaQD4lO7zrFPTppvTlVVNWf4Oy8U36/yss=FollowComment"

Answer: "1Accepted AnswerHi, the above means that a browser (probably) is looking to access a file whose key (S3 name for name) is index.html and doesn't find it. Check that your bucket contains such a index.html file at its root.CommentShareDidier_AWSanswered 8 days agoEXPERTRiku_Kobayashireviewed 8 days agoAWS-Harrison 8 days agoThis documentation page will help walk you through the process too: https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.htmlShare"


Question: Transfer Data from S3

How can i transfer data from Aws S3 to Hetzner Storage Box?FollowComment

Answer: "0Hi,I understand that you want to transfer data from AWS S3 to Hetzner Storage Box. Please note that Hetzner Storage Box is a 3rd party tool. Upon searching I found this document[1], this document is for moving data from S3 to box. On this I saw "When considering data migration tools to transfer data between Box and Amazon S3, it would be worth reaching out to the Movebot team to see how they can help you and simplify your storage."As mentioned, this is a 3rd party application and I do not have expertise on it. The provided document is what I could find. Reaching out to their support is a good option at the moment as they would have better insight on the issue.I hope this helpsResources:-[1] https://medium.com/couchdrop-io/box-to-amazon-s3-transfers-backup-and-migrations-d2be3183fee7CommentShareAsisiphoanswered a year ago"


Question: Do somebody have  code in c# to use transcribe real time with a microphone ?

I can't find any doc about using transcribe real time with a microphone.Is it possible ?FollowComment

Answer: "0Here is some .NET developer content for Amazon Transcribe:Hello, Transcribe!Amazon Transcribe .NET Developer LabCommentShareDavid Pallmannanswered 9 months ago"


Question: Regarding AWS Element Live Audio output

"Hi AllWe are using AWS element live ,when we send audio input to Element we are able to see the audio feed in the Element but we are not getting Audio out put feed can you please hlep us on solution or suggestions to be done.FollowComment"

Answer: "0Hi,AWS Elemental Live can only support RTP and MediaConnect audio-only inputs : https://docs.aws.amazon.com/medialive/latest/ug/audio-only-inputs.html.Regarding audio-only outputs, you can then create HLS, Microsoft Smooth, RTMP or UDP outputs : https://docs.aws.amazon.com/medialive/latest/ug/audio-only-outputs-and-outputgroups.html.You can also create an audio-only output from any input that has video+audio, so if you are using an input stream type that needs to have video to be used by AWS Elemental MediaLive you will need to add a dummy video stream (that could later discarded)  to that audio.ThanksCommentSharePedro_Fanswered a year ago0Please note that you must create Audio Selectors from the input source, which choose one or more audio tracks or PIDs. When defining an audio output, either with the video or audio only output, you need to choose the Audio Selector that will be used for each audio output. Please review this link to understand about configuring Elemental Live Outputs. https://docs.aws.amazon.com/elemental-live/latest/ug/container-outputs.htmlCommentShareMike-MEanswered a year ago"


Question: How could I re-trigger the creedly email to add my AWS certification to it?

"I passed the AWS architect solutions exam 6 months ago, but I never added it to creedly. How can I do that?FollowComment"

Answer: 0Submit a ticket to the Training and Certification team.CommentShareEXPERTkentradanswered 4 months ago


Question: host a php web app on aws amplify

"I'm trying to build a laravel web app on aws amplify. I've configured an ECR with php, nodejs, npm, composer etc to handle laravel. I then use this image to build an aws amplify app. Although it deploys successfully it does not load php pages.I can tell .htaccess is an issue because aws amplify doesn't appear to use it. Is there a way to convert .htaccess to amplify redirects/custom headers?Is it even possible to run a laravel app on amplify?Loading mysite.amplify.com/index.php only downloads the index.php file rather than loading.FollowComment"

Answer: "0Hi,Thought I never tried as it differs from typical supported flows (React, Angular, etc..) you can try advanced workflows: https://docs.amplify.aws/cli/usage/containers/#getting-started, which integrates Amplify with NodeJs-dockerized apps deployed in ECS Fargate.Hope it helpsCommentShareEXPERTalatechanswered 3 months agorePost-User-3385354 3 months agothis is what i've done. I've created a Dockerfile that installs php, httpd, npm, and all the necessary packages for laravel. I then use this as an ECR image to build on amplify. But it does not load php.Sharealatech EXPERT3 months agoDoes your container work locally?Share"


Question: Redshift questions from AWS Customer

"A customer is using s3, Lambda, and Redshift.  They have Redshift questions regarding what to do with the data once it is loaded to Redshift (in a star/snowflake schema).Customer is trying to determine some approaches to reporting from the warehouse.Here are some questions:Is there an equivalent to cubes in redshift?Is there a better approach in moving data into redshift (compared to our approach)?  This is all they gave me thus far on this question.Performance of Redshift queries, seems slow when returning data, but fast for loading data and returning aggregated data.  Is there a way to address the performance we are seeing?Thank you.FollowComment"

Answer: "0Accepted AnswerAmazon Redshift does not natively provide cube/slice/dice capabilities, this is normally provided by software products that sit "on top" of a database. For example Microsrategy allows you to build ROLAP cubes on top on data marts sourced from Redshift tables.Can you specify what is "our Approach"?  The best way to move data into an OLAP RDBMS is in "bulk" to maximize the parallel ingestion. Redshift providers the COPY command to perform bulk load ingestion. Data has to be moved into an S3 bucket previous to the execution of a COPY command. ETL tools may hide the process but in the back this process still happens.Query performance in an MPP solution like Redshift depends mainly on how the tables containing the data are "distributed" across the cluster and how the data in them is sorted. Distributing and Sorting is a simple mechanism, but we have created some "automated features" that may allow the developers not to be so concerned about it.CommentShareAWS-User-5671982answered 4 years ago"


Question: Route Public IPv4 Address within VPC

"A customer wants to route one specific IPv4 address (which is an EIP of another EC2 instance) within a VPC, but different subnet. Is this possible?Setting up an entry in the 2 route tables does not seem to work.Ping via private IP works, but not public IP.Route Table 1:172.31/16 local0.0.0.0/0 igw1.1.1.1/32 TargetInstanceRoute Table 2:172.31/16 local0.0.0.0/0 igw2.2.2.2/32 SourceInstanceFollowComment"

Answer: "0Accepted AnswerYou can do that, but you will need to disable source/destination checking:Source/destination checkingDisabling source/destination checking enables an instance to handlenetwork traffic that isn't specifically destined for the instance. Forexample, instances running services such as network addresstranslation, routing, or a firewall should disable thesource/destination check attribute. This attribute is enabled bydefaultCommentShareAWS-James-Devineanswered 2 years ago"


Question: TagFilter for GetResources call to get resources that do not have specified tag

"In the console, I can go to Tag Editor > Find Resources to Tag. From there I can specify a tag key, and then I can either specify a value or select either "(not tagged)" or "(empty value)".This page appears to be analogous to the API call GetResources (https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html). It appears as though I should be able to use this call with a TagFilter to get the same result as on the console page. But I can't find anywhere how to specify "(not tagged)" or "(empty value)"So in the example python code:    client = boto3.client('resourcegroupstaggingapi')        response = client.get_resources(        ResourceTypeFilters=[            'secretsmanager',        ],        TagFilters=[            {                'Key': 'my_cool_tag',                'Values': [                    'what-to-put-here'                ]            },        ],    )How can I format the TagFilters object to return resources that do not have a 'my_cool_tag'?PS Just to clarify, I want to be able to search across multiple or even all resource types, not just secrets. I think the get_resources call is the right API for this, but I could be mistaken.FollowComment"

Answer: "0API GetResources does not support listing only untagged resources or tags with empty values. In the invocation for GetResources, If you don't specify a TagFilter parameter, the response includes all resources that are currently tagged or ever had a tag. Resources that currently don't have tags are shown with an empty tag set, like this: "Tags": [].Additionally, If you don't specify a value for a key, the response returns all resources that are tagged with that key, with any or no value.Also, this API may only list currently tagged resources or resources that were previously tagged, but may skip resources which were never tagged.Filtering untagged resources is a functionality which is only available in Tag Editor console at the moment, with details listed in document - Finding resources to tag.A workaround would be to use the GetResources with no TagFilter parameter, which will return all currently or previously tagged resources for given ResourceTypeFilters, and then parse the resource list in response using client side filtering based on ResourceTagMappingList[].Tags[] in the output.CommentShareSUPPORT ENGINEERKunal_Janswered 3 months ago"


Question: Creating Project WAF error

"So, we're having problems creating a new project, getting the error "Configuring project. Error executing WAF.".The log shows us what is wrong, but we can't figure out how to solve the issues despite extensive searching.Any suggestions?"C:\Amazon\Lumberyard\1.15.0.0\dev\lmbr_waf.bat" configure --generate-vs-projects-automatically=false --enabled-game-projects=fhd[WAF] Engine Root: C:\Amazon\Lumberyard\1.15.0.0\devA custom BuildEnv.json file was not found. This build will be untagged.A custom BuildEnv.json file was not found. This build will be untagged.[WAF] Executing 'configure'[INFO] Removing target platform win_x64_clang due to "Visual Studio 2015" not checked in Setup Assistant.[INFO] Removing target platform win_x64_vs2015 due to "Visual Studio 2015" not checked in Setup Assistant.[INFO] Removing target platform win_x64_vs2013 due to "Visual Studio 2013" not checked in Setup Assistant.Traceback (most recent call last):File "C:\Amazon\Lumberyard\1.15.0.0\dev\Tools\build\waf-1.7.13\waflib\Scripting.py", line 226, in waf_entry_pointrun_commands()File "C:\Amazon\Lumberyard\1.15.0.0\dev\Tools\build\waf-1.7.13\waflib\Scripting.py", line 342, in run_commandsctx = run_command(cmd_name)File "C:\Amazon\Lumberyard\1.15.0.0\dev\Tools\build\waf-1.7.13\waflib\Scripting.py", line 319, in run_commandctx.execute()File "c:\Amazon\Lumberyard\1.15.0.0\dev\wscript", line 474, in executereturn execute_method(self)File "C:\Amazon\Lumberyard\1.15.0.0\dev\Tools\build\waf-1.7.13\waflib\Configure.py", line 217, in executesuper(ConfigurationContext, self).execute()File "C:\Amazon\Lumberyard\1.15.0.0\dev\Tools\build\waf-1.7.13\waflib\Context.py", line 220, in executeself.recurse([os.path.dirname(g_module.root_path)])File "C:\Amazon\Lumberyard\1.15.0.0\dev\Tools\build\waf-1.7.13\waflib\Context.py", line 303, in recurseuser_function(self)File "c:\Amazon\Lumberyard\1.15.0.0\dev\wscript", line 118, in configureconf.configure_settings()File "C:\Amazon\Lumberyard\1.15.0.0\dev\Tools\build\waf-1.7.13\waflib\Configure.py", line 419, in funreturn f(k, **kw)File "Tools\build\waf-1.7.13\lmbrwaflib\lumberyard.py", line 341, in configure_settingsconfigure_general_compile_settings(conf)File "Tools\build\waf-1.7.13\lmbrwaflib\lumberyard.py", line 266, in configure_general_compile_settingsconf.load('android', tooldir=[LMBR_WAF_TOOL_DIR])File "C:\Amazon\Lumberyard\1.15.0.0\dev\Tools\build\waf-1.7.13\waflib\Configure.py", line 343, in loadif type(func) is type(Utils.readf): func(self)File ".\Tools\build\waf-1.7.13\lmbrwaflib\android.py", line 312, in configureinstalled_sdk_versions = os.listdir(os.path.join(sdk_root, 'platforms'))WindowsError: [Error 3] The system cannot find the path specified: 'C:/Program Files/sdk-tools-windows-4333796\platforms/.*'Process failed with return code: 1Thanks!Follow"

Answer: "0I also faced this issue. In my case I found that are caused by a bad folder separator in environment.json. It had '/' instead of ''.SharerePost-User-3006017answered 5 years ago0Hi @REDACTEDUSERI can see we've got two \s before platforms at the bottom of the message, but we also don't have a platforms directory anyway. Was this the same for you? If so, where do I find environment.json?Thanks!SharerePost-User-6582303answered 5 years ago0You can find the environment.json in /dev/WAFSharerePost-User-4311112answered 5 years ago"


Question: "IVS BroadcastClient SDK - Creating a client does not work in development instance, works fine locally"

"Trying to create a livestream player using IVS Broadcast SDK. I'm following the documentation found here. When running the application on my local instance, everything works fine and I'm able to host a live stream with no issues.The problem occurs when this code is deployed to our development instance, where I'm running into the following error message: TypeError: Cannot read properties of undefined (reading 'bind') - when following the trail, it's pointing to line 160 (see screenshot below), which is the code below:I'm using static values here to debug, but normally the values would be fetched from a GraphQL response.let client = IVSBroadcastClient.create({      streamConfig: {        maxBitrate: 1500,        maxFramerate: 30,        maxResolution: { width: 852, height: 480 },      },      ingestEndpoint: "09e4d4713215.global-contribute.live-video.net",    });Here is a screenshot of the full error message:FollowComment"

Answer: "1Hi there, by chance is your site leveraging create-react-app? If so we've discovered an issue where the default minification options result in malformed function names. We've got a fix on the roadmap but to unblock you more immediately, excluding the library from minification will work around the issue. For create-react-app specifically, enable profiling mode when doing a production build: npm run build -- --profileCommentShareAimee-AWSanswered 6 months ago0Hi this issue is fixed in the latest version of the library (1.3.0 or greater).CommentShareslawrenceanswered 2 months ago"


Question: Import Mixamo model and animation in EMotion FX

"Hello,I'm trying to import a Mixamo .fbx model into Lumberyard. The .fbx model is in my project and I can see it in my Asset Browser. However, I can not drag and drop the fbx in the viewer.I tried to open the Animation Editor and to open an actor, but the fbx is not visible in the "Pick EMotionFX Actor" browser.I tried to create an Empty Entity, add an Actor Component and Anim Graph Component, but when I try to browse for the Actor asset, the model is still not visible. https://docs.aws.amazon.com/lumberyard/latest/userguide/component-actor.htmlI found a tutorial on how to import model and animation from Mixamo to Lumberyard, but that was by using the old system (Geppetto). https://www.youtube.com/watch?v=3YYrpHVQflY I'm not sure what exactly I'm doing wrong.Anyone is able to help me?ThanksFollow"

Answer: "0Accepted AnswerHi @REDACTEDUSEROpen your Asset Browser from the main Tools menu, and navigate to your FBX file in the Asset Browser. Highlight your FBX file, then Right+Click and select "Edit Settings" from the menu.REMOVEDUPLOADThis will open the FBX Settings window, which will allow you to edit what you are extracting from the FBX file. If you do not have the CryAnimation Legacy gem enabled, you will only see three tabs in this window, "Meshes", "Motions" and "Actors". If the Asset Processor has already found animation in your Mixamo FBX file, it has probably already made a Motion out of that, and there will be Motion information in the Motion tab, as well as a Motion file noted underneath the FBX file in the Asset Browser.REMOVEDUPLOADIn order to create the Actor manually, if the Asset Processor has not recognized that your file contains an Actor, you just need to add one using the Actors tab on the FBX Settings window. So go to the Actors tab, and click on the "Add another actor" button to add one.REMOVEDUPLOADOnce you click on this, it should add the Actor to this tab. Check all the Actor settings are what you expect, and that it has the meshes you want by hitting the button at the far right of the "Select meshes" field.REMOVEDUPLOADSo if there was a bind pose inside your Mixamo file, it should have found the root joint correctly, although you can also adjust which bone it uses as the root. Now when you hit the "Update" button on the lower right of the FBX Settings window, the Asset Processor will pop open a window, and process your FBX file to derive the Actor from it. Once it does that, you should then see the "Actor" file type appear below your FBX file in the Asset Browser as in the second image above.One other thing you can do, if you don't want the animation in your Actor file (i.e. you have an Actor file which is only the character in a bind pose with no animation) is to remove the Motions from being considered. This is optional, but if you want to clearly separate your Actor from your Motions, it may be helpful.Just go to the Motions tab, and hit the "Add another motion" button to refresh the interface and add the little "X" buttons on the upper right of each motion. Then you can just click the little "X" button on each motion and remove all motions, so that ONLY the Actor is being derived from this file. This would only be the case if you didn't want the motion - so if you want it, just leave it!OPTIONALLY REMOVE ANY MOTIONS YOU DON'T WANT:REMOVEDUPLOADNow that you have an Actor from your FBX, you should be able to open it in the EMotion FX Animation Editor, as well as add it to an Actor component on your game level.Hope this helps!SharerePost-User-0479726answered 5 years ago0Interesting -- sorry for the troubles @REDACTEDUSERSharerePost-User-5738838answered 5 years ago0Hi @REDACTEDUSERREMOVEDUPLOADI was then able to open the Actor in the EMotion FX Animation Editor, and add the Walking motion to a Motion Set, and play it on the ty character successfully. So this means that you can derive the Actor from Mixamo FBX files, and then add Motions, which should allow you to progress with building a character's animation graph in EMotion FX.ty Actor in t-pose in the Animation Editor:REMOVEDUPLOADty Actor playing the Walking animation in the Animation Editor:REMOVEDUPLOADSharerePost-User-0479726answered 5 years ago0Hello @REDACTEDUSERI installed Fuse and made characters with it, and it seems to work. The issues I was having seem to be related to models on Mixamo.ThanksSharerePost-User-1026337answered 5 years ago0Hello @REDACTEDUSERI tried with the Ty character, with a walking animation and it seems to work.REMOVEDUPLOADSo I guess the issue comes from the other model.I'll try to find the problem.I am using the: Akai E Espiritu model.SharerePost-User-1026337answered 5 years ago0Hello @REDACTEDUSERI tried with multiple models on Mixamo and I always get the same issue.The only model that I tried so far that doesn't have this issue is Ty character.SharerePost-User-1026337answered 5 years ago0Hi @REDACTEDUSERI just so happened to be working on emtoionFX with mixamo models as well and came across your posts. Very helpful with the Ty model point!Have you guys had troubles with animations being imported being cut down in frames to 93? Seems like all animations (idle, walk, and run) that I import are being sliced down. Also, I'm new to this, but I noticed that the simpleJack animation loops while continuously walking forward in the preview, but animations I import from mixamo are resetting to their origin.SharerePost-User-5509042answered 5 years ago0@REDACTEDUSERSharerePost-User-0037140answered 5 years ago0Hello,Thanks for answer! I managed to fix my issue with the actor not being detected. However, when I apply animations on the actor, the mesh of the actor becomes wierd.REMOVEDUPLOADI found a post of someone who had the same issue: https://forums.awsgametech.com/t/emotionfx-animgraph-problem/4745/1His solution seems to be: import the animation with the skin, then remove the mesh and actor from the fbx setting.This fix doesn't seem to work for me. I still have the same result.Without skin:REMOVEDUPLOADWith skin:REMOVEDUPLOADSharerePost-User-1026337answered 5 years ago0https://forums.awsgametech.com/t/adding-mixamo-assests/1183/5?u=lumbermixalotSharerePost-User-1289025answered 4 years ago"


Question: Need help on .ebextension file for Domain Join EC2 instance via Secret Manager

"I am using Elastic Beanstalk .ebextension file to join the Windows EC2 the into Domain. I have stored my credentials in AWS Secret Manager. Is it mandatory to use Access ID / Access Key to access AWS Secret Manager from Windows EC2 instance ?If Yes, then how can I secure my Access ID / Access Key on the script.FollowComment"

Answer: "0IAM Access Keys are not required to access AWS Secrets Manager from a Windows EC2 Instance. In fact, IAM roles are always recommended over using Access Keys where possible because they allow for the use of temporary credentials and eliminate the need for securing long-lived access codes. In Elastic Beanstalk, each instance in an environment is assigned an IAM role (more precisely, it is assigned an Instance Profile that contains an IAM role). Most tools that use the official AWS SDKs such as the AWS CLI and AWS Tools for Powershell will automatically recognize and use the credentials from the IAM role associated with the instance.To allow your instance to retrieve credentials to join your domain from AWS Secrets Manager, you can either a) add the necessary Secrets Manager permissions to the default instance profile or b) create a custom role and instance profile with the correct permissions and update the assigned instance profile of your Elastic Beanstalk environment. To update the role in the console, first go to  "Configuration" page for your Elastic Beanstalk environment. Then, under "Service access", click "Edit". Update the assigned "EC2 Instance Profile". When creating a new custom role, be sure to also apply the necessary managed policies to ensure your instance continues to work with Elastic Beanstalk. More information on the required policies and instance profile in Elastic Beanstalk can be found on this page of the AWS Documentation website (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-instanceprofile.html).After setting up the necessary permissions on the IAM role associated with your Elastic Beanstalk instances, you should be able to access Secrets Manager from scripts in .ebextension files without explicitly configuring any credentials. If you are using custom tooling that does not automatically detect the instance profile credentials, you can access them via the Instance Metadata endpoint on your instance (see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#instance-metadata-security-credentials).CommentShareSean Nixonanswered 19 days ago"


Question: Patch instance of a patch group using a different & non-default baseline

"Lets say i have few L2 instances grouped into a Patch Group name - 'Production'. One server has an important patch missing. I create a new baseline just for that missing patch. I want to patch only that instance using that custom baseline without changing the current baseline associated with the group as this is to be used only one time for that instance. How can i do this?The documentation about custom patch baseline https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-patch-baselines.html states "An instance can have only one patch baseline defined for it.". Please explain this.How can i define my custom baseline for one instance so that only that instance can be patched with that baseline?Edited by: curiousdev on Jul 12, 2019 12:10 AMFollowComment"

Answer: "0Thank for you using Patch Manager. In your case if you want to patch using a new custom patch baseline without changing the existing one, you would need toChange Patch Group tag value for that single instance to some other value (say X).Create the new baseline & register it to Patch Group (X).Run AWS-RunPatchBaseline Document on that instance(Optional) Revert these changes.We currently don't allow setting arbitrary baseline for patching operation unless they are default or registered to the relevant Patch Group."An instance can have only one patch baseline defined for it." - By this we mean at a moment of time, only one patch baseline can be associated with an instance (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-patch-patchgroups.html).Hope this helps./KalhanEdited by: Kalhan-AWS on Jul 22, 2019 6:03 PMEdited by: Kalhan-AWS on Jul 22, 2019 6:04 PMCommentShareAWS-User-6343427answered 4 years ago"


Question: Performance issue : Querying Athena using Boto3

"I am querying Athena using Boto3 from python script. Most of the queries return more than 1000 records. As a result, I am using 'NextToken' in 'get_query_results' for fetching subsequent records. I observed each query takes significant long time (in minutes) to complete ( fetching 1171 records took more than a minute). Surprisingly, the data size is small - in KB.I am not sure if this behavior is a result of wrong usage on my part OR are there any underlying technical reasons. Any specific areas that I should look at? Appreciate any help with this.FollowComment"

Answer: "0Hi,Since I don't know your code, I would suggest that you check the following areasThe authentication is only done once - Ensure that you are only doing the authentication once and the subsequent queries are made based on this initial authentication.Connected to the above issue, if you are using IAM roles, there is a limit on the number of calls you can make to get the instance metadata to get the access and secret key.Try putting logs at each points to understand exactly on which line the code takes time. If you have already done this and found out that query itself is taking time, then you will have to check exactly what and how you are querying it.I'm not an expert but I hope this helps, if you have more information to add or if you have found out the solution by yourself, please provide a response so that we can have further discussionRegardsVignesh NCommentShareVignesh Nanswered a year agoAWS-User-0620047 a year agoHi VigneshThank you for your response.Providing some snippet of what my code does ( lines are copied from my python code).self.sess = boto3.Session (profile_name=profile, region_name=region)self.client = self.sess.client ('athena')execution_id = self.client.start_query_execution(QueryString = queryStr,QueryExecutionContext = {'Database': '....'}, ResultConfiguration = { 'OutputLocation': 's3://...'}, WorkGroup='AmazonAthenaLakeFormation')while True:stats = self.client.get_query_execution(QueryExecutionId=execution_id['QueryExecutionId'])status = stats['QueryExecution']['Status']['State']if status in ['SUCCEEDED', 'FAILED', 'CANCELLED']:breaktime.sleep (0.5)if status == 'SUCCEEDED':results = self.client.get_query_results(QueryExecutionId=execution_id['QueryExecutionId'], MaxResults=1000)"""returns a python pandas frame and column names"""dataframe, columns = self.returnResultsAsPandaFrame(results)while 'NextToken' in results:"""this has performance impact"""results = self.client.get_query_results(QueryExecutionId=execution_id['QueryExecutionId'], MaxResults=1000, NextToken=results['NextToken'])"""this is not having a performance impact"""dataframe = self.appendData (dataframe, columns, results)I believe that Authentication is happening only once. (comments continued in next comment ...)ShareAWS-User-0620047 a year agoDoes AWS Athena create execution logs for a query? Perhaps looking at the logs may provide some clues. Appreciate any guidance on thisShare"


Question: LightSail instance disk size increas

"I followed the following steps.Create a Windows 2019 server LightSail instance (512 MB RAM, 1 vCPU, 30 GB SSD), say Server1Crete a Server1 snapshot, say Sanpshot1Crete as second 2019 server LightSail instance (1 GB RAM, 1 vCPU, 40 GB SSD), say Server2, using Sanpshot1The issue is that Sever 2 information shows the disk to be 40GB.But the Windows disk size is still 30GB.The documentation seems to suggest the above steps should create a server instance with larger disk size, but it does not. Is this a bug and/or how do I increase the disk size?FollowComment"

Answer: "0Accepted AnswerHello,The disk space may be there, but is unallocated.  You will need to take an additional step to allocate the additional space to the volume.Check out this documentation on how to complete this step: Extend a Windows file system after resizing a volumeCommentShareEXPERTChris_Ganswered 9 months ago"


Question: Encryption of WAF logs and DNS query logs

"We are unable to get WAF logs, DNS query logs for a high security project and cannot determine if they should be stored in encrypted S3.We are thinking of storing them in encrypted S3 if both the source and the action taken are known.We are also thinking of storing in encrypted S3 when information that identifies individuals is carried.In this case, is it necessary to encrypt the WAF logs and DNS query logs?FollowComment"

Answer: "0The need to encrypt logs should be determined by your organization's risk appetite, compliance requirement, and threat model. But S3 does support encryption through AWS KMS (SSE-KMS) where you create a KMS key and then configure the bucket to use SSE-KMS to use your KMS key for the encryption. After you set up the bucket, you can pipe the log from WAF (through Kinesis Firehose or CW Log) to this bucket for storage. Only user with access to your KMS key will be then able to decrypt and access the log in your S3 bucket.I recommend you also enable S3 Bucket Key  to reduce your KMS cost as well.CommentSharekumo-hiyorianswered 7 months ago"


Question: How to stop attachments on email report

"When I send an email report to myself, the email has no attachments but when I forward the report to leadership then I end up with an attachment for each section of the dashboard. How do I stop this from happening.FollowComment"

Answer: "0Can you please clarify what you are doing, I am a bit confused on which functionality you are using.When you mention forward the report to leadership how are you doing that? From inside Quicksight ?In case is a schedule inside QuickSight have you checked if during the creation of the schedule the optional checkbox for the attachment was selected?https://docs.aws.amazon.com/quicksight/latest/user/sending-reports.htmlAlso, for QuickSight related questions we have launched a fully dedicated community; in case you want to check there to see if there are further answer to your questions.hope this helps,CommentShareEXPERTFabrizio@AWSanswered a year ago"


Question: Websocket message sended twice by a lambda triggered by DynamoDB Stream and with a buffer offset

"I send data to front-end client by APIGateway WebSocket with a Lambda in JS,  triggered by a DynamoDB Stream :The JS Code to POST a message to the front-end is :const params = {    ConnectionId: clientId,    Data: JSON.stringify(message) // message envoyé au client };await client.postToConnection(params).promise()When I use this code in a Lambda which is used by some routes in APIGateway it works perfectly.When I use an other lambda which is activate by a dynamoDB Stream, the lambda is executed when I insert new data and the post event appears on CloudWatch for the lambda but don't appears on CloudWatch for the APIGateway Socket and of course on the front-end ???If I insert again new different data in dynamoDB, CloudWatch shows the Post of the first inserted data and API Gateway send it twice ??? And again and again there is always an offset in the message reception in the front-end.I can't understand why ???FollowComment"

Answer: "0It looks as if your Lambda function execution environment freezes before actually sending the data. Can it be that you are not waiting on the right thing so it only gets into the Node.js event loop but only gets performed in the next invocation?CommentShareEXPERTUrianswered a year ago0This is the code of my lambda triggerred by dynamoDB Stream :'use strict';var AWS = require("aws-sdk");const ENDPOINT = 'https://8tfhywx7dk.execute-api.eu-west-2.amazonaws.com/dev/';const DB_TABLE = 'ConnectionDB';let client = new AWS.ApiGatewayManagementApi({ endpoint: ENDPOINT });let dynamo = new AWS.DynamoDB.DocumentClient();exports.handler = async (event, context, callback) => {    // on récupère les connexions clients    const connections = await getAllConnections();    event.Records.forEach((record) => {         // console.log('Stream enregistrement: ', record)        if (record.eventName == 'INSERT') {             var id = JSON.stringify(record.dynamodb.NewImage.id.S);            var nom = JSON.stringify(record.dynamodb.NewImage.nom.S);            const message = {                action: 'insert',                message: `{"id":${id},"nom":${nom}}`            }            for (var connectID of connections) {                sendMessage(connectID, message);            }        }    });};async function getAllConnections() {    const { Items } = await dynamo.scan({        TableName: DB_TABLE,        AttributesToGet: ['connectionID']    }).promise();    const connections = Items.map(({ connectionID }) => connectionID)    return connections;}async function sendMessage(clientId, message) {    const params = {        ConnectionId: clientId,        Data: JSON.stringify(message) // message envoyé au client     };    console.log('postToConnection: ', clientId, " message : ", message)    await client.postToConnection(params).promise()    console.log('Message émis')}Now if I add a new data in DynamoDB :{ "id": {  "S": "UC0005"  },  "nom": {  "S": "mon mac5" }}The value is added in the DB.CloudWatch for this lambda see the POST at the right hour without any error :| 1646755297533 | 2022-03-08T16:01:37.533Z 99bd4d1d-a40f-4357-9979-317711de0d74 INFO postToConnection:  OqyaRcjprPEAcvw=  message :  { action: 'insert', message: '{"id":"UC0005","nom":"mon mac5"}' } | 1646755297595 | END RequestId: 99bd4d1d-a40f-4357-9979-317711de0d74etc.CloudWatch for the API Getway (/aws/apigateway/8tfhywx7dk/dev) DON'T show any log !!!And of course the front-end don't received anything !Now I add a new value:{ "id": {  "S": "UC0006"  },  "nom": {  "S": "mon mac6" }}The value is added in the DB.CloudWatch for this lambda see the POST at the right hour :2022-03-08T16:04:41.894Za43ee8ba-ecad-4d16-956d-496f89e8b41eINFOpostToConnection:  OqyaRcjprPEAcvw=  message :  { action: 'insert', message: '{"id":"UC0006","nom":"mon mac6"}' }END RequestId: a43ee8ba-ecad-4d16-956d-496f89e8b41eCloudWatch for the API Getway (/aws/apigateway/xxxxxxxxx/dev) shows now a new log :...                                                                                | 1646755480663 | (b6478f03-36ad-4bb3-b27b-19ea70ab7254) WebSocket Request Route: [POST /@connections/{connectionId}]                                                                                | 1646755480663 | (b6478f03-36ad-4bb3-b27b-19ea70ab7254) Method request path: {connectionId={connectionId}}   (b6478f03-36ad-4bb3-b27b-19ea70ab7254) Method request body before transformations: {    "action": "insert",    "message": "{\"id\":\"UC0005\",\"nom\":\"mon mac5\"}"}etc...                                                                                And of course the front-end (I used https://www.piesocket.com/) received the old value !But two times !- RECEIVED: {"action":"insert","message":"{\"id\":\"UC0005\",\"nom\":\"mon mac5\"}"}- RECEIVED: {"action":"insert","message":"{\"id\":\"UC0005\",\"nom\":\"mon mac5\"}"}I AM LOST !!!CommentSharejpdmsanswered a year ago"


Question: [Help/ideas wanted] Serverless Inference: Optimize cold start time

"We are using Sagemaker Serverless Inference, where the endpoint is wrapped with a Lambda that has a 30sec timeout (this timeout is not adjustable). Our cold start time of the model is quite above that (around 43sec). We load a model using Huggingface transformers and have a FLASK API for serving the model.  The model size is around 1.75GB.Are there any guides on how to improve cold start and model loading time? Could we compile the weights differently beforehand for faster loading?FollowComment"

Answer: "0instead of loading model object from a zip file in lambda session. you can load the model object to elastic-cache upfront and load it in lambda instance from elastic-cache. you might need to serialize and deserialize but I think it would still be faster.CommentShareLakhan0309answered a year ago0Hi! Thanks for your answer. In theory, that'd be a good idea and could work. However, my other question in this forum then comes into play :Dhttps://repost.aws/questions/QU0JnCsfMHRrSUosWjOiOM9g/feature-request-serverless-inference-with-vpc-configServerless Inference currently does not support a VPC configuration. Redis clusters, however, need to be in a VPC.CommentShareRichardanswered a year ago"


Question: Amazon Managed Grafana ENIs cannot be deleted

"Hello,I have created an Amazon Managed Grafana instance and attached a Security Group to it. I am using CDK to manage the infrastructure. I then used CDK to delete the infrastructure, which included a VPC created for this purpose. Upon attempting to delete the VPC, I get an error around not being able to delete the security groups due to the ENIs being in use. I check the corresponding ENIs and they are for the Grafana instance that I had deleted.When I attempt to detach the ENI, it says the ENI is still in use (it isn't?). And then when I click the "Force Detach" button, I still do not have the option to delete it. This is preventing me from deleting the security group and thus the VPC. Does anyone have any ideas into what could cause this? The ENI's description indicates it is for Grafana and that it is using Fargate on the backend (although this is hidden).FollowComment"

Answer: 0Accepted AnswerI ended up having to reach out to AWS support and have them delete the orphaned ENIs.CommentShareLawrence Aielloanswered a month ago


Question: Supplying SCC subtitles to MediaLive without embedding them into the MP4 file

"Hi,Is there any way to supply SCC subtitles (eg CEA-608) to a MediaLive input stream as a separate file / link, rather than embedding them into an MP4 file?Thank you!FollowComment"

Answer: "0AWS Elemental MediaLive does not support SCC caption sidecar. The supported caption/subtitle formats are listed here.Alternate option is to use AWS Elemental MediaConvert to convert mp4 file with scc caption sidecar file into an mp4 file with embedded captions that will work in MediaLive. The list of supported input captions/subtitles in sidecar format for mp4 output are listed here.If you need help in setting up a easy to use file transcode workflow with MediaConvert workflow, I would recommend deploying the VOD on AWS Foundations solution.CommentShareDev_Kanswered a year agoneilgd a year agoThank you for the answer! I think that MediaConverter will re-encode the whole video - do you know if there’s a way to set it to just embed the subtitles without re-encoding?Share"


Question: "“Sorry, this blueprint can't be launched on your chosen bundle size.”"

"Hello. I’m trying to launch my first lightsail instance: it’s Amazon Linux 2-only, the $3.5/mo size, with a custom SSH key.But I’m told:ErrorCreateInstances \[eu-west-2]Sorry, this blueprint can't be launched on your chosen bundle size. Please check the minPower in the blueprint and choose a plan with a power value equal to or greater than the blueprint's minPower.InvalidParamsAny suggestions on how I resolve this?RegardsRichardEdited by: RichardZD on Sep 5, 2021 11:04 AMFollowComment"

Answer: "1Thanks for letting us know about the issue. We identified and had the fix for it. Please try again and let us know if you still have the issue on your side.CommentShareAWS-User-2776000answered 2 years ago0Same problem, but for US-East, tryign to choose $3.5 / month planCommentSharevqt123answered 2 years ago0Looks like this is only happening for the amazon llinux 2 imageCommentSharevqt123answered 2 years ago0The workaround to fix this problem is to go to the processor tab and choose the $3.5 option thereCommentSharevqt123answered 2 years ago0Yes - that now works for me. Thank you.CommentShareRichardZDanswered 2 years ago"


Question: We need to migrate data from AS/400 (DB2/400) to AWS (MySQL)

We need to migrate 200G data from AS/400 (Database is DB2/400) to AWS (MySQL). Any lead please. How to do this one or anyone had done this in past.FollowCommentmalcolmmarais 3 months agoWe at Micro Focus do this all the time.  We have tools to automate this data migration.Share

Answer: "0At this moment, AWS DMS does not support Db2/400 as a source. There are CDC tools like Qlik Replicate that can migrate data from Db2/400 to Amazon RDS for MySQL.You can also use an ETL tool like AWS Glue to extract, transform and load data from Db2/400 to Amazon RDS for MySQL.CommentShareAWS-VGanswered 10 months ago"


Question: AMI Linux 2 EC2 issues - fork: retry: No child processes | Resource temporarily unavailable

"We have run into an issue all of a sudden with our Ec2 instance. VM doesn't respond to commands on shell as expected and sessions terminate abruptly. We have tried reboots, force updates, patching but non of these have helped, we also found that CPU, Memory and disk space utilizations are well under control. Volumes are also mounted correctly after reboot. The  no. of processes are also very minimal, none of our apps have been turned ON after reboot.FollowComment"

Answer: "0It sounds like there is something on the instance which is starting a lot of processes. I would recommend that you raise a support case because there may be other troubleshooting steps that the support team can help with.To troubleshoot further though, given that it sounds like there is something awry on the instance, I would add additional logging to see what is happening. If it continues to occur, build a new instance from the AMI; make sure that it works correctly; then compare the two.CommentShareEXPERTBrettski-AWSanswered a year ago"


Question: AWS Transfer service - SFTP - deny ability to list directory is affecting ability to put file to the directory

"I'm attempting to set up permissions for a user account on AWS Transfer Service with SFTP protocol. I have a use case where a user should be able to add a file to a directory but not list the files in it.When I tweak the IAM role to deny 's3:ListBucket' for a specific subdirectory the put operation fails as well. Theoretically s3 does allow to Put object without having the ability to list the prefixes. AWS transfer service however seems to be implicitly using the list bucket operation before put. Has anyone managed to deny listing ability while still being able to upload.IAM policy :{    "Version": "2012-10-17",    "Statement": [        {            "Action": "s3:ListBucket",            "Effect": "Allow",            "Resource": [                "arn:aws:s3:::<my-bucket>"            ],            "Sid": "AllowListDirectories",            "Condition": {                "StringLike": {                    "s3:prefix": [                        "data/partner_2/*"                    ]                }            }        },        {            "Sid": "DenyMkdir",            "Action": [                "s3:PutObject"            ],            "Effect": "Deny",            "Resource": "arn:aws:s3:::<my-bucket>/*/"        },        {            "Sid": "DenyListFilesInSubDirectory",            "Action": [                "s3:ListBucket"            ],            "Effect": "Deny",            "Resource": "arn:aws:s3:::<my-bucket>",            "Condition": {                "StringLike": {                    "s3:prefix": [                        "data/partner_2/data/incoming/*"                    ]                }            }        },        {            "Effect": "AllowReadWirteInSubDirectory",            "Action": [                "s3:GetObject",                "s3:GetObjectVersion",                "s3:PutObject",                "s3:PutObjectAcl",                "s3:PutObjectTagging",                "s3:PutObjectVersionAcl",                "s3:PutObjectVersionTagging"            ],            "Resource": "arn:aws:s3:::<my-bucket>/data/partner_2/data/incoming/*"        },        {            "Effect": "AllowOnlyReadInADifferentDirectory",            "Action": [                "s3:GetObject",                "s3:GetObjectVersion"            ],            "Resource": "arn:aws:s3:::<my-bucket>/data/partner_2/data/outgoing/*"        }    ]}The output from SFTP client:sftp> cd data/incomingsftp> lsCouldn't read directory: Permission deniedsftp> put /Users/foo/Downloads/test.logUploading /Users/foo/Downloads/test.log to /data/incoming/test.logremote open("/data/incoming/test.log"): Permission deniedsftp> get test-one.txtFetching /data/incoming/test-one.txt to test-one.txtsftp> exitFollowComment"

Answer: "0Hi Sharath, thanks for your question. Before we write a new object, we attempt to determine if an object with the same name already exists and, if it does, whether it represents a directory. In a normal filesystem, trying to write file 'XYZ' when directory 'XYZ/' already exists would fail. In S3, it would allow you to create both objects, 'XYZ' and 'XYZ/'. Unfortunately, AWS Transfer Family doesn't have good way to represent this state. We try to avoid this state altogether since either the file or directory would end up masked at SFTP level. We recognize this limitation and are exploring possible solutions, such as "read only" and "write only" flags at the SFTP server level. Please let us know if a feature like this would be useful.In the meantime, you may be able to achieve this end user experience by using AWS Transfer Family managed workflows. Specifically, workflows allow you to copy incoming files to new directories and delete the original file, resulting in an 'upload only' type experience.  You can learn more about managed workflows here.CommentShareEXPERTAWSTransferFamilyanswered 3 months ago"


Question: Go sdk: Api to get the list SSO IAM users

"I have configured the federated users in AWS using SSO\SAML.  I need the list of these federated users using Go lang , sdkFollowComment"


Question: Windows: AWS CLI works except for "aws sts get-caller-identity"

"I have set up a static key pair and get the following error on Windows 10, I have tried the latest as well as a slightly older version. My profile works fine on a Mac::$ aws sts get-caller-identity --profile fooUnable to parse response (no element found: line 1, column 0), invalid XML received. Further retries may succeed:b''File "awscli\botocore\parsers.py", line 243, in parseFile "awscli\botocore\parsers.py", line 533, in _do_error_parseFile "awscli\botocore\parsers.py", line 482, in _parse_xml_string_to_dombotocore.parsers.ResponseParserError: Unable to parse response (no element found: line 1, column 0), invalid XML received. Further retries may succeed:b''Unable to parse response (no element found: line 1, column 0), invalid XML received. Further retries may succeed:b''Other CLI commands work fine:$ aws s3 ls2017-11-27 22:46:10 config-bucket-108...Any idea what might cause this? Changing the "output" in the config files doesn't work, config is shown below and the same works on a Mac. Any idea???$ cat config[default]region = us-east-1output = text[profile foo]region = us-east-1output = jsonFollowComment"


Question: Is there any way to block roles outside the AWS organization from assuming roles inside the org using a service control policy (SCP)?

"The goal is to implement a control similar to an allowlist where only allowed external accounts can assume roles inside the org.Here’s what I’ve tried:tried restricting the sts:assumerole action in an SCP, but this only works for roles inside the org. From my understanding, since the assumerole is started in the external account, the restriction doesn’t workI also looked into restricting the iam:UpdateAssumerolePolicy action in an SCP to see if a restriction for the action can be implemented where users can only specify certain AWS principals in a trust policy, but there is no condition like this for this actionIs using an SCP the right way to do this? Can this be done with an SCP?I understand IAM access analyzer can be used to alert on when external roles assume roles inside the organization, but that’s more of a reactive control, and we would like to implement a more proactive control where we specify exactly what external accounts are able to assume roles inside the org.FollowComment"

Answer: "4Try using a Role Trust policy (basically a resource based policy) as below:{"Effect": "Deny","Principal": {"AWS": "*"},"Action": "sts:AssumeRole","Condition": {"StringNotEquals": {"aws:PrincipalOrgId": "${aws:ResourceOrgId}"},"BoolIfExists": {"aws:PrincipalIsAWSService": "false"}}}And use the same for all the roles as required.CommentSharerePost-User-2054795answered 3 months ago1This can not be done with a SCP. You have to allow this via the Trust Policy attached the role. Something like this:{    "Version": "2012-10-17",    "Statement": [        {            "Effect": "Allow",            "Principal": {                "AWS": "123456789012"            },            "Action": "sts:AssumeRole",            "Condition": {"StringEquals": {"sts:ExternalId": "12345"}}        }    ]}This example also uses the ExternalId.CommentShareEXPERTkentradanswered 3 months ago"


Question: AWS Free Tier - Account Closure

"Do I understand it correctly that the first 12 months are free as part of AWS Free Tier and if I close my account during the first 12 months I will not be charged, provided that I have not incurred any charges while using the AWS Free Tier? Please clarify. Thank youFollowComment"

Answer: "0Yes, if you don't accrue any charges then you won't be charged anything.Be aware that not everything is free, and of the items that are free, not all of them are free for 12 months. Some are free (with limitations) for 12 months e.g. EC2, RDS, S3; some are free (with limitations) for shorter - e.g. Lightsail (3 months), Redshift (2 months), Macie (30 days). See https://aws.amazon.com/free/But if this is your first experience of AWS and you just want to try things out, it's usually quite easy to stay within the free tier limits. Just be conservative when creating things and remember to clear things down when you're finished with them. You could also setup a CloudWatch alarm (you get 10 of them for free within free tier)  to warn you if it looks like you're starting to accrue charges https://aws.amazon.com/cloudwatch/pricing/?loc=ft#Free_tierCommentShareRWCanswered 9 days agoEXPERTRiku_Kobayashireviewed 9 days ago"


Question: (ANSWERED) Issues with FBX animations from Adobe Fuse?

"So animations from Fuse to Lumberyard seemed to go without a hitch, however...When I set up inputs and entity motion as per the YouTube tutorials on EMotionFX, when I jerk the mouse around, the model seems to rotate on the Z axis slightly, but it is additive, so after a little bit, it looks like he's running to the right or left, but I'm only pressing W to make him go straight forward, and the player entity is moving forward as the W is supposed to. I believe this has something to do with the animation blends not ending correctly, but should it really even matter if the root is the hips? Messing around a bit, I can get it to run slightly left and right as well... So I'm not quite sure what's going on. Using a camera gem, I'm getting the same issue, so I don't think it's with the camera.REMOVEDUPLOADAnybody know what setting I should be looking at to get this corrected?Follow"

Answer: "0Accepted AnswerTesting with just idle, walk, and run, it seems to be working correctly with the ground root bone. Looks like I have a LOT of converting to do. Thanks for the help, @REDACTEDUSERSharerePost-User-2777793answered 5 years ago0This must be related to the motion extraction. Did you set that to the hips? It can be that something bad is happening there. It is generally best to create a custom root node that is a projected version of the hips onto the ground. Even though the LY code does that internally, there are still some accuracy issues with that, although I haven't see this one yet.If you cannot find a fix, pehaps we could have a look at the model and animation to investigate? Also can you maybe see if it happens with all animations or just one specific one that introduces the error?SharerePost-User-5058632answered 5 years ago0Also, if I stop running and start running again, he starts to rotate slightly to the left. So start, stop, start, stop, start, stop, he's facing rather left, and has moved away from the camera.REMOVEDUPLOADSharerePost-User-2777793answered 5 years ago0I'm rebuilding the player character's animations, inputs, and blends to see if perhaps it was a small mistake in there somewhere. I have 2 different model and animations available, with a hip root node and a ground root node attached to the hip. If the rebuild doesn't work for the hips, then I'll try again with the ground root node.Hip Root Model FBX:https://www.dropbox.com/s/0roxl2ni7s82fds/MalePeasant.fbx?dl=0Hip Root Forward Run Animation FBXhttps://www.dropbox.com/s/1ube3f6q54g2kyo/standing_run_forward.fbx?dl=0SharerePost-User-2777793answered 5 years ago0Working on it in EMotion FX, and he's turning to the left when I start and stop the walk animation. No turning or anything in it right now, just idle, walk, run. This is using the hip root. I'll try it with the floor root and see if it fixes anything.SharerePost-User-2777793answered 5 years ago0@REDACTEDUSERThanksSharerePost-User-4807048answered 5 years ago"


Question: AWS ParallelCluster - changing compute node config after cluster creation

"I have created a Slurm cluster on Ubuntu 20.04 using AWS ParallelCluster.I then made a bunch of manual changes to the head/login node. I want to make a couple of small changes to the compute nodes as well (just install a couple of apt packages).I know that I should treat the cluster as ephemeral and the way to make changes should be to use pcluster to change the cloudformation stack that generates the cluster. But in this case I am just trying to demo something and I've already invested time in making changes to the head node - I'm looking for a more quick and dirty solution with my existing cluster.So what I am wondering is, is there any way to modify the compute instances short of recreating this cluster? For example, could I change the AMI that is used to launch these instances, or set/modify the user data or launch template that is run when they start?Thanks.FollowComment"

Answer: "1The suggested alternative is to use a custom bootstrap script to install the required software in your compute nodes.If you're using ParallelCluster 3.x you can also think to update the AMI of the compute nodes, through the CustomAmi configuration parameter (the compute fleet must be stopped to be able to perform this update).CommentShareenrico-awsanswered a year ago0PCluster use "Launch Template" to start EC2 resource when submitting jobs. You can find a Launch Template name like "<ClusterName>-<Partition-NodeList>", try to change it.CommentShareXin Xinanswered a year ago"


Question: Can't deactive delete protection AWS Cognito

"I created a test Cognito user pool with delete protected for testing purpose. After testing, I tried deleting the userpool but got a message that I need to deactive protection. I tried deactivating protection, to no avail. Instead I received this message:Failed to deactivate deletion protectionrequestId: 02209a5a-4667-4175-98cf-282cdebf772btime: Thu Jan 26 2023 03:27:37 GMT-0500 (Eastern Standard Time)code: InvalidParameterExceptionmessage: Invalid FROM email address ARNThe SES that provided the email address ARN has already been deleted. Is there a way I can force clean this userpool?Thanks in advance.BlessedFollowComment"

Answer: "0Hi, when you deactivate delete protection in the user pool, the UpdateUserPool [1] API is used with all the current settings of the user pool set as parameters to the API. Hence, the current SES settings will be used again to update the user pool but this will fail because the SES ARN is no longer exists.To resolve the issue, reset your SES settings to use Cognito Default to send emails [2] using the console or UpdateUserPool API. Then you should be able to successfully deactivate deletion protection.I hope this helps.[1] UpdateUserPool - https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html[2] Customizing your email address - https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-email-address-customization.htmlCommentShareAWS-Woleanswered 4 months ago0Thanks for the help, I was able to delete the Userpool, have a good one.CommentSharerePost-User-8843151answered 4 months ago"


Question: Glue Studio Output schema

"Hello. I'm working with glue studio. I'm having a hard time to get output schema from the steps. I'm trying to use the Data Preview to be able to see the schema but since the data is too big, I got a timeout error. How can I get the output schema at a faster way?FollowComment"

Answer: "0Hello,================Firstly, in general you can get the output schema faster if your source schema is present in data catalog. Having said so please note that output schemas are not very accurate if you have nested fields in your schema.Secondly, the only work around to prevent timeout during “Data Preview” option is to work with a smaller subset of data during development.Lastly, if the issue persists please consider raising a case with support to look at the specificities of the use-case in question here.================ Have a nice day!CommentShareSUPPORT ENGINEERArunanswered a year ago"


Question: Only Samsung devices available

"Hello everyone.I have an issue with device farm, that from all devices on device pool only 5 Samsung devices are available and that all, this is IAM user of company account.However on my personal root account I have all the devices available for the same app and test environment.FollowComment"

Answer: "1There could be a few reasons why you are not seeing all the devices on your IAM user account in Device Farm.Device Pool Configuration: Ensure that the device pool in your company account is configured correctly and includes all the devices you want to test on. You can create a new device pool and add the missing Samsung devices to it.Region: Check if the region of the device pool in your company account is the same as the region of the missing Samsung devices. If they are in different regions, you may not be able to access those devices.IAM Permissions: Make sure that your IAM user account has the necessary permissions to access all the Samsung devices. Check the IAM policies attached to your IAM user account to verify that you have the appropriate permissions.Availability: Verify that the missing Samsung devices are available and not currently in use by another user or in maintenance mode.If none of the above solutions work, you can contact AWS support for further assistance.CommentShareAWS_Guyanswered 3 months ago"


Question: Sharing Amazon Managed Grafana Dashboards: How to authorize someone to view?

"I have used Amazon Managed Grafana to create a dashboard that I would like to share with a friend.I selected "share" and created a link. However, when my friend attempts to open the link, they are redirected to:Welcome to Amazon Managed GrafanaSign in with AWS IAM Identity CenterSo here's where I am confused. Does my friend have to create an AWS IAM Identity center account to view the dashboard?How would they go about doing that?Cheers,DavidFollowComment"

Answer: "0All users has to be authenticated. They can be authenticated by:SAMLAWS Identify CentreFor details, please refer to AMG documentation at:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.htmlCommentShareronald_lanswered 9 months ago"


Question: Saving IOT data

"In my IOT project I will receive thousands of MQTT messages, from many places, what is the best way to store them?Is PostgreSQL good choice or it should be some noslq DB?I need to decompose the  mqtt message based on topic and create some relational structure inorder to display on the screen.But just wonder how you manage this volume of DB. Any suggestion best practice will be very helpful.ThanksFollowCommentJordi Porta 4 months agoGreetings! Philipp's response is spot-on. To add on, the requirement to display data on a screen should not be the primary factor in determining whether to use SQL or noSQL. Instead, consider the structure of the data being stored. If it is relatively static and known in advance, SQL may be a better fit. However, if the data structure is likely to vary, a noSQL may be a better option. Additionally, the type of data to be displayed, such as real-time monitoring or dashboards, should also be taken into consideration when selecting a technology stack. It's worth to check AWS IoT Analytics (https://aws.amazon.com/iot-analytics/) might cover your use cases.Shareozy cozy 4 months agoThanks Jordi, that was my question actually, I do have very structured data and comes from defined devices. Prefer to use RDS for that reason. Was trying to get some advice on that. If I use postgres DB for recent 30 days data, and keep everything else in S3 or Glacier will that be a good solution? ThanksShareJordi Porta 4 months agoHey Ozy, if your queries are sparse and might tolerate some response time, you might get rid of RDS altogether and use S3 + Athena (S3 has an automatic life-cycle you can leverage to push data to Glacier). If you do need RDS, I'd recommend to have all the data in S3 as well (storage is very cheap compared to RDS), and have a daily purge mechanism on RDS side for > 30 days (I don't think Postgres supports TTL natively). Cheers.Shareozy cozy 4 months agoHi Jordi, the plan is keep last 30 days in RDS, and also keep everything in s3 as you said. The other part data will be pushed to Dashboard realtime throught AppSync. Basicall   flow:   device -----> IOTCore ---->Rule-----Lambda--->AppSync(graphql)---broadcast and save(S3/DB).Share"

Answer: "0Accepted AnswerHi ozy cozy,you can use [IoT rule actions](ozy cozy) to store your messages in a variety of services for example, DynamoDB, Timestream or S3. What data store is the best option for you depends on your use-case. S3 as object store is good in term of pricing and you can query data with Athena. When you need to store the data in a database you can use as mentioned DynamoDB, Timestream, OpenSearch or RDS.You only mention thousands of message but not in which interval you plan to ingest messages. The mentioned databases are usually built for high volume traffic. If they would match your use case in terms of the amount of data is something that you can find on the quota documentation for each service.Cheers,PhilippCommentSharePhilipp Sanswered 4 months agoozy cozy 4 months agoThanks Philipp, I am getting data very frequently. like every seccond data is streamingShare"


Question: Why can't you create a scheduled rule on a custom bus in EventBridge?

"I'm working through a design that will start with polling a couple of source systems for data and then publishing the data onto an EventBridge.   I'd like to use a custom bus to keep our traffic separate from the rest of the company, however, I hit a wall a few minutes ago.My intention was to use a rule configured to run every 15 minutes on the custom bus with a lambda target that would query the source system and then publish events onto the bus for other rules to process.   But apparently, you can only create scheduled rules on the default bus.Can anyone explain why this limitation exists?   We'd like to keep the solution serverless, so what other solutions is out there for running lambdas on a schedule?TIA!-SteveFollowComment"

Answer: "2Thank you for the detailed description.As you've already mentioned, you can only create scheduled rules using the default event bus [1]. And there's no other obvious solution to run Lambda periodically.In my opinion, it doesn't really matter on which bus we associate with a scheduled rule, as it will not look into the bus events. In your case, it would be possible for Lambda to publish events onto the other custom bus after being triggered from the default bus.[1] https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html#eb-create-scheduled-ruleCommentShareweidianswered 8 months agoEXPERTIndranil Banerjee AWSreviewed 8 months ago0As Weidi correctly mentioned, even though the lambda gets triggered by a scheduler event on the default bus, the lambda can put events on any custom busYou can take a look at this workshop https://catalog.us-east-1.prod.workshops.aws/workshops/63320e83-6abc-493d-83d8-f822584fb3cb/en-US for hands-on labs on Eventbridge.An example of Python code that puts events in a custom event bus called Orders is available in the lab:import boto3client = boto3.client('events')event_bus_name = 'Orders'source = 'com.aws.orders'detail_type = 'Order Notification'detail = '{"category":"lab-supplies","value":415,"location":"eu-west"}'try:response = client.put_events(Entries=[{'Source': source,'DetailType': detail_type,'Detail': detail,'EventBusName': event_bus_name}])print('Event sent to the event bus ' + event_bus_name)print('EventID is ' + response['Entries'][0]['EventId'])except Exception as e:print(e)A Javascript example from the same lab is below:// ES6+ exampleimport { EventBridgeClient, PutEventsCommand } from "@aws-sdk/client-eventbridge";const client = new EventBridgeClient();const params = {Entries: [{Detail: {"category": "lab-supplies","value": 415,"location": "eu-west"},DetailType: "Order Notification",EventBusName: "Orders",Source: "com.aws.orders"}]};const command = new PutEventsCommand(params);const response = await client.send(command);CommentShareEXPERTIndranil Banerjee AWSanswered 8 months ago"


Question: Bad Gateway 502 following AWS maintenance on EC2 instance

"Hi,Could someone explain in layman's terms, I'm not technical, why my App running perfectly until AWS did some maintenance work on my instance is now returning a 502 Bad Gateway Error?And can anyone help fix it?Thanks,GaryFollowComment"

Answer: "2Accepted AnswerHello Gary,The causes can be multiple and it really depends on what type of services or applications you're running in your EC2 instance.If I take here some assumptions: you're running a web based application that runs in a web server like apache or nginx or other, which means that for some reason those services cannot reach the application (e.g. PHP application).Please consider provide more details on which type of workload/services or applications you're running in your EC2.Thanks,LuisCommentShareluisanswered 6 months ago0Thanks Luis,We've solved the issue now.My app service was down. Also apache was causing an issue.We ran these commands:sudo service apache2 stopsudo systemctl restart nginxrails s -dIt was frustrating as the error occurred following AWS maintenance work and they weren't keen to help solve the issue.But, again, thanks for trying to help.GaryCommentShareGary kniblanswered 6 months agoluis 6 months agoGreat and sorry to hear that - it looks like that apache2 overlaps with nginx and the most likely raison is that they use the same service ports (80 HTTP, 443 HTTPS). I would recommend to, if apache is not used at all, to remove it from your instance.Share"


Question: Amazon Textract Analyze Document API AWS SDK use

"I am using Amazon Textract , Analyze Document API  , I need sample java code using AWS SDK, how to get Key and Value for FORM type FeatureType. I am able to get the GetDocumentAnalysisResponse, after that I got the List<Block> from response. After get the Block list how to get KEY and VALUE for FORM type values?Thanks in advanceFollowComment"

Answer: "0Hello and good evening,The question is about being unable to identify how to extract the forms information from the document analysis async API response.Main documentation: Detecting or Analyzing Text in a Multipage DocumentChange you need to make In sample code of above documentation, there is a DisplayBlockInfo method within GetDocumentAnalysisResults method. You need to parse the Block object here.            //Show blocks information            List<Block> blocks= response.getBlocks();            for (Block block : blocks) {                DisplayBlockInfo(block);            }The sample java code on how to get the KEY/VALUE information out of the response is in the synchronous Analyze Doc API call sample code documentation. Specifically:            switch(block.getBlockType()) {            case "KEY_VALUE_SET":                if (block.getEntityTypes().contains("KEY")){                    ShowBoundingBox(height, width, block.getGeometry().getBoundingBox(), g2d, new Color(255,0,0));                }                else {  //VALUE                    ShowBoundingBox(height, width, block.getGeometry().getBoundingBox(), g2d, new Color(0,255,0));                }                break;Please note: KEY_VALUE_SET won't have information about the 'text' in key or 'text' in the value of the key-value pair.To find key-value pair information:Whenever block.getEntityTypes().contains("KEY"), then check it's Relationships attribute. It'll have information about the value Block, and about the text within the key itself. Sample relationship object looks like so:"Relationships": [                {                    "Type": "VALUE",                    "Ids": [                        "b3d2c8bf-a705-4808-b497-a51426ff27eb"                    ]                },                {                    "Type": "CHILD",                    "Ids": [                        "63f53ef8-5466-44e1-bb75-a8dfb0387248",                        "aa341b1b-362a-4f51-91ff-c725badcc2dc"                    ]                }            ]Here, b3d2c8bf-a705-4808-b497-a51426ff27eb is a KEY_VALUE_SET block type, having Relationships information such as:            "Relationships": [                {                    "Type": "CHILD",                    "Ids": [                        "aee39cf4-2dbc-4b98-8415-2e5de67913ce",                        "193a8aa9-9869-4945-8588-c22c60bdc2cd"                    ]                }            ],Now these CHILD types are the text values within the key/value block themselves.On a side note: I could notice the official documentation that provides sample java implementation of Async API usage doesn't fully talk about extracting information from the result. The sample code focuses on being able to process multi-page document. The code is generic for any API (with a switch case) - that's why the block information is simply printed instead of parsing the key-value pairs. And that's possibly the reason why customer is confused about how to parse the 'Block' type.Useful Information about the API Block modelKEY_VALUE_SET - Stores the KEY and VALUE Block objects for linked text that's detected on a document page. Use the EntityType field to determine if a KEY_VALUE_SET object is a KEY Block object or a VALUE Block object.CommentShareRohan_Kanswered 9 months ago"