Question: Preferable way: Create Campaign each time or send event for repeated notifications

"Hello,We would like to notify mobile users about new movies or episodes of show.We are considering to use Pinpoint for this purpose.<br>To send notification to all Android users for example we need to create immediate campaign.But I have a doubts that this is a correct way, looks like Campaign is a long term entity?Do I need to delete and recreate campaign to send messages to auditory targeted be specific attribute?Or maybe is preferable way to create a Campaign which will be triggered by specififc event,as I understand is not strictly requirement to send messages from client app, we are able to send custom events from backend without setting optional fields like AppVersion and etc related to client app?FollowComment"

Answer: "0I am having trouble understanding your question. Are you trying to figure the best method to send messages to your users?If so, how many users do you have on a daily basis?CommentShareRolando Fenderanswered 7 months agoPesWallStreet 7 months agoYes, we are planning to send messages from time to time , for example to notify users about new movie.There are can be millions of users.Which way is better?Create each time new campaign.(Obviously I don't mean campaign for each message, I mean campaign per one broadcast)Or create specific campaign and then trigger it by event from backend.And yeah, I'm talking about programmatic way, not a user GUIShare"


Question: SES doesn't verify domain identity

"I have verified domains in SES "verified identities" screen many times before. Obviously, it is very simple, when DNS is hosted in Route53 hosted zone, but I also got domains verified in GoDaddy and Register.com without any problems. However, this time it doesn't. I added 3 CNAME records in DNS file, as usual. Compared 10 times that copy-paste happened properly; but SES stays in "Verification Pending" state for a day or two, and then switched to Unverified.The only difference with all other domains is that reigstrar is Aplus.net. We use it for several other services; so we can't move to Route53 hosted zone at this time.I don't mind putting domain name here, but guidelines suggest not to. What should I look into, besides the obvious?UPDATE: I just tried another domain (with DNS hosted at hostgator) and it got verified in less than 5 minutes!FollowComment"

Answer: "0OMG - I figured it out! In aplus you have to put CNAME without your domain name. So, if AWS SES tells you to put abcxyz._domainkey.example.com - you actually have to put abcxyz._domainkey instead. Incidentally, in GoDaddy you also need to put the value without domain - but GoDaddy is smart enough to tell you that.CommentSharevirshuanswered a year ago"


Question: Cloudwatch alerts - find keywords and alert - but notify based on server (stream) name

"Morning all, moving from Nagios to Cloudwatch and have a few test cases, but I am sure once I know how I can do it all, so for this one, I have a server farm of 7 servers.  They write a JSON log file every minute, and the basic output I look for today is either a status_ok, status_warning or status_critical.    I have my dev server setup, logs going into cloudwatch group and into the dev stream.I setup a filter to look for that status_ok, if it doesn't see it in 5 minutes, alert and that worked perfect.  The problem is I put up my next server, same log group, different stream [server-1] for example.  The alert fired and of course said dev as I didn't realize the mettric filter is on the group not the stream.So, basically I want the team to know if server-2 has an issue, let them get the alert that server is the one that didn't have the check.  So, what is the best way to search, filter and alert based on the stream and not whole group?Thanks!FollowComment"

Answer: "0If I'm understanding you correctly what you might want to do is add a dimension to your Metric Filter which captures the server information. The dimension should show in your notification. (You could create a separate metric filter for each, but if you have a consistent format of the log extracting the information as a dimension will be much less overhead, and will work if you add more servers).An example of adding a dimension which is extracted from the log data - https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/ExtractBytesExample.html.CommentShareAWS-SAanswered a year ago"


Question: Creating Client VPN Endpoint failing through CLI and Powershell

"I'm trying to create a new Client VPN Endpoint either through the CLI or Powershell and I'm getting the same error for both - "An internal error has occurred"Here are the calls I'm trying (changed arn, Id's, and ip's to protect the innocent):Powershell:$authOption = New-Object 'Amazon.EC2.Model.ClientVpnAuthenticationRequest'$authOption.Type = "string"$authOption.ActiveDirectory = New-Object 'Amazon.EC2.Model.DirectoryServiceAuthenticationRequest'$authOption.ActiveDirectory.DirectoryId = "d-0000000cc99"$createVpnResponse = New-EC2ClientVpnEndpoint -ClientCidrBlock "10.21.20.0/22" -ServerCertificateArn "arn:aws:acm:us-east-1:999999999999:certificate/9999999a-9999-9999-9999-999999999999" -AuthenticationOption $authOption -DnsServer @("10.10.10.200", "10.10.11.200") -Description "Client VPN for employees to connect into the VPC." -ConnectionLogOptions_Enabled $false -VerboseCLI:aws ec2 create-client-vpn-endpoint --client-cidr-block 10.21.20.0/22 --server-certificate-arn arn:aws:acm:us-east-1:999999999999:certificate/9999999a-9999-9999-9999-999999999999 --authentication-options "Type=string,ActiveDirectory={DirectoryId=d-0000000cc99}" --connection-log-options "Enabled=false" --dns-servers "10.10.10.200" "10.10.11.200" --description "Client VPN for employees to connect into the Corp VPC."This is the error I keep getting:New-EC2ClientVpnEndpoint : An internal error has occurredAt C:\Batch\AWS_CreateVPN.ps1:19 char:22+ $createVpnResponse = New-EC2ClientVpnEndpoint `+                      ~~~~~~~~~~~~~~~~~~~~~~~~~~    + CategoryInfo          : InvalidOperation: (Amazon.PowerShe...nEndpointCmdlet:NewEC2ClientVpnEndpointCmdlet) [New-EC2ClientVpnEndpoint], InvalidOperationException    + FullyQualifiedErrorId : Amazon.EC2.AmazonEC2Exception,Amazon.PowerShell.Cmdlets.EC2.NewEC2ClientVpnEndpointCmdletDoes anyone have any ideas on what the issue is?  I think I had the CLI version working in the past but today I updated to the latest version of the AWS Tools for Windows to get the Powershell cmdlets and now nothing is working.  I'm not sure if I'm missing something or if it's an issue with the cmdlet/cli or on the AWS end.  I am able to create the VPN through the console.FollowComment"

Answer: 0Not needed anymore.  Billing is done by active associations so we decided not to create a new Endpoint and are just creating the association as needed instead which works great.CommentSharejeffrprodanswered 4 years ago


Question: "EC2 instance does not stop, when it stopped it runs automatically like zombie"

"I stopped my EC2 about 3 weeks ago but it kept running...and i got huge billing.My instance informations are following.Instances: i-013ca988ae534b363 (mp12-cluster1-ng-1-Node), i-0ff70625df13109b7 (mp12-cluster-2-ng-1-Node), i-032d57f93b9d80f21 (mp12-cluster1-ng-1-Node), i-086871cc9447d4a85 (mp12-cluster2-ng-1-Node), i-0be17ccc13a14cd1d (mp12-cluster-2-ng-1-Node), i-0ec5ca7e77e4659eb (mp12-cluster2-ng-1-Node)FollowComment"

Answer: "1Accepted AnswerIt looks like those are all part of a cluster of some sorts, maybe EKS or EMR. If you tried to just stop the instances, they were likely part of an autoscaling group and were replaced with new instances. If you want them complete gone, you would need to destroy the cluster, or delete the autoscaling group to prevent them from coming back.CommentShareEXPERTRob_Hanswered a year agorePost-User-1925967 a year agowell i have no cluster in eks ...! but i think somehow you are right. i created ec2 from eks cluster.but i deleted eks cluster through ui.. what can i check more?SharerePost-User-1925967 a year agooh i found auto-scaling group.. let me try more. thank you in advance!Share"


Question: Re-authenticate in the Jupyter Notebook session in Interactive Glue session when I re-authenticate my AWS credentials

"Our AWS authentication expires after 60 minute of acquiring it.  So, after 60 minutes I need to re-establish the info in .aws/credentials profile.After starting the Jupiter notebook from the command line, I start working on the notebook in the browser.My question is - If I am working on a notebook in the browser and the aws session expires, I normally re-establish it from the command line.  But at that point, I am not able to re-establish the connection to the session from my notebook in the browser.I keep getting this errorException encountered while retrieving session: An error occurred (ExpiredTokenException) when calling the GetSession operation: The security token included in the request is expiredDo I always need to do ctrl-c to exit the existing jupyter session and restart that session to be able to continue working on the notebook?Is there a way to re-establish the session in my notebook, without having to restart the notebook, the way we can do it in AWS Console? In the console, we can be in one tab working on notebook, and if the session expires, then re-authenticate and reload the working session and can continue, right?So, on Windows - when we re-authenticate on aws, how can we refresh the notebook session without having to kill the existing session and  restart the notebook from commandline to be able to continue.ThanksFollowComment"

Answer: "0Hello,From the following error:Exception encountered while retrieving session: An error occurred (ExpiredTokenException) when calling the GetSession operation: The security token included in the request is expiredIt seems like the assumed role is being timed out and the credentials need to be refreshed. By default, the value is set to 3600 seconds.You can try checking the session timeout value for the IAM role that you are using to run the notebook and consider increasing the maximum session duration on the IAM console. The steps to view the duration and make changes to it are as follows:Locate the IAM console home page.Click on the Roles tab on the left of the screen.Locate the role you wish to view/modify.In the summary section, it will tell you the duration of that role before you need to refresh the credentials of that role.If you wish to modify the duration, under the Delete button on the right side, there is an Edit button. Click on the Edit button and you are able to make changes to the session duration for that role. Click save changes once the desired duration has been picked.Requesting you to please test this and check if you see the same error again after increasing session duration for the role.  Reference:[1] https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.htmlCommentShareSUPPORT ENGINEERrePost-User-0573738answered a month agoadbdkb a month agoThank you.  We don't have permissions to modify that value, so I have to re-establish the credentials every hour.  I do that in a separate command window.  My question was about, how do I associate the the new session with already running Jupyter notebook after I refresh the credentials?  Is that possible?Share"


Question: MSK COnnect Error

There is an issue with the connector.Code: UnknownError.UnknownMessage: The last operation failed. Retry the operation.While creating MSK debezim source connector throwing the above error.FollowComment

Answer: "0This looks like an MSK error, please change the tag from Amazon Connect to "Analytics" so the proper experts can help you.  Or close this one and open a new one with the tag "Analytics"CommentShareClarenceChoianswered 4 months ago"


Question: Structure a LAMP architecture but with postgreSQL?? AWS Elastic Beanstalk

"Good morning, I'm starting out with the AWS Elastic Beanstalk service, I'd like to follow the architecture outlined in the LAMP documentation, however, I want to work with PostgreSQL, not MySQL, it's possible to replace postgres with mysql, I've already done the whole process, but not Connections to rds and ec2 instances work for meFollowComment"


Question: Redshift ML with multi-container Sagemaker model

"Is it possible to use Redshift ML with a Sagemaker multi-container model?The closest I can find is the documentation that mentions the syntax for BYOM remote inference (https://docs.aws.amazon.com/redshift/latest/dg/r_create_model_use_cases.html):CREATE MODEL model_name     FUNCTION function_name ( data_type [, ...] )     RETURNS data_type    SAGEMAKER 'endpoint_name'[:'model_name']    IAM_ROLE { default };Which specifies a model_name parameter. However, I'm dealing with a single Sagemaker model with multiple containers, running in Direct mode.For reference, referencing a specific container is possible using boto3 (I'm dapting the example from here: https://docs.aws.amazon.com/sagemaker/latest/dg/neo-requests-boto3.html):import boto3import json endpoint = 'insert name of your endpoint here' runtime = boto3.Session().client('sagemaker-runtime') # Read image into memorywith open(image, 'rb') as f:    payload = f.read()# Send image via InvokeEndpoint APIresponse = runtime.invoke_endpoint(    EndpointName=endpoint,    ContentType='application/x-image',    Body=payload,    TargetContainerHostname='my-container' # Here I would specify each individual container.)# Unpack responseresult = json.loads(response['Body'].read().decode())FollowCommentAWS-User-1767525 10 months agoI have a question regarding first part of your question, multimodel endpoints.When I try to create a model in redshift as below:CREATE MODEL public.test_modelFUNCTION f_test_model(float,float,float,float,float,float,float)RETURNS decimal(10,6)SAGEMAKER 'multimodel-endpoint-test-model':'test_model_1.tar.gz'IAM_ROLE 'arn:aws:iam::xxxxxxxxxxxxx:role/RedshiftML';I get an error:ERROR: syntax error at or near ":" Position: 244 [ErrorId: 1-62f9c1ea-630b6de304a036c97fee2e4c]Isn't this the correct syntax? If not, do you know the correct syntax as I cannot find anything in the documentation or in the examplesShare"

Answer: "0Hello, sorry for the last response. I looked into the documentation and found that it doesn't clearly provide information for support of Sagemaker multi-container model. In order to gather more details around this, I have reached out to Redshift ML team to provide clarity on its support and update the documentation accordingly.  However, if there is any specific issue while performing your tests, I would request you to open a AWS Support ticket with the Premium Support and they should be able to take a deeper look at your scenario.CommentShareSUPPORT ENGINEERAWS-User-1485210answered 10 months ago"


Question: Splitting a Large S3 File into Lines per File (not bytes per file)

"I have an 8 GB file with text lines (each line has a carriage return) in S3. This file is custom formatted and does NOT follow any common format like CSV, pipe, JSON ... I need to split that file into smaller files based on the number of lines, such that each file will contains 100,000 lines or less (assuming the last file can have the remainder of the lines and thus may have less than 100,000 lines).I need a method that is not based on the file size (i.e. bytes), but the number of lines. Files can't have a single line split across the two.  I need to use Python.  I need to use server-less AWS service like Lambda, Glue ... I can't spin up instances like EC2 or EMR.  So far I found a lot of posts showing how to split by byte size but not by number of lines. Also, I do not want to read that file line by line as it will be just too slow an not efficient.Could someone show me a starter code or method that could accomplish splitting this 6 GB file that would run fast and not require more than 10 GB of available memory (RAM), at any point?I am looking for all possible options, as long as the basic requirements above are met...BIG thank you!MichaelFollowComment"

Answer: "0If you want to process custom formatted files, you can use SparkContext.textFile or SparkContext.newAPIHadoopFile.SparkContext's textFile method divides data using line delimiter (\n). If you want to use other delimiter, I would recommend you to use SparkContext.newAPIHadoopFile instead.Here's an example to read the custom formatted file by textFile method. Although I used a csv file here, you can use any format which uses \n as line delimiter.lines = sc.textFile("s3://covid19-lake/static-datasets/csv/countrycode/CountryCodeQS.csv")Then, let's check the number of lines and RDD partitions.lines.count()It will return 257. Actually there are 257 lines in this file.Okay, then let's divide this data into 5 files (about 50 lines per file).from pyspark.context import SparkContextfrom awsglue.context import GlueContextsc = SparkContext.getOrCreate()sc._jsc.hadoopConfiguration().set("mapred.output.committer.class", "org.apache.hadoop.mapred.FileOutputCommitter")glueContext = GlueContext(sc)lines = sc.textFile("s3://covid19-lake/static-datasets/csv/countrycode/CountryCodeQS.csv")newLines = lines.repartition(5)newLines.saveAsTextFile("s3://path_to_folder/");Then you will see 5 files under 's3://path_to_folder/', and each will contain about 50 lines.Althought you won't have full control of the number of lines per file, it will be good start for your use-case.Next step, Spark's DataFrame has maxRecordsPerFile option, it can control the maximum number of records per file. Yes, it is great fit for your use-case.You need to convert your data from RDD to DataFrame because the option cannot be used for RDD. To do that, you will need schema.These points will be your second step.Hope this information helps.CommentShareAWS-User-6283168answered 3 years ago0Hi michaelko,This seems trival in a shell script.  I'd try to run a Glue Python job, i.e. run on single node as a Python script instead of need the full power of Spark cluster.In Python I'd just shell out and us a combo of the head, tail, and wc -l  (not the lines arg) to break up your text files into smaller files.I'm sure there is a way more sophisticated way to do this directly in Python, but the shell is just so simple here.I hope this helps,-KurtCommentShareklarsonanswered 3 years ago"


Question: Sagemaker error when getting data from an endpoint

"In Sagemaker, I have an endpoint trained using KMEANS.  I'm trying to predict from a deployed endpoint using pyspark in a Sagemaker notebook server.   I'm using the sample data to try to get predictions.from  sagemaker_pyspark import SageMakerModelfrom  sagemaker_pyspark.transformation.serializers import ProtobufRequestRowSerializerfrom  sagemaker_pyspark.transformation.deserializers import KMeansProtobufResponseRowDeserializerconf = (SparkConf()        .set("spark.driver.extraClassPath", ":".join(sagemaker_pyspark.classpath_jars())))sc = SparkContext(conf=conf)sqlContext = SQLContext(sc)region = "us-east-1"training_data = sqlContext.read.format("libsvm").option("numFeatures", "784")training=training_data.load("s3a://sagemaker-sample-data-{}/spark/mnist/train/".format(region))smModel = SageMakerModel.fromEndpoint(    endpointName="endpoint-9ad5fcee9c52-2017-12-08T13-36-26-267",    requestRowSerializer=rowSer,    responseRowDeserializer=KMeansProtobufResponseRowDeserializer(        closest_cluster_column_name="cluster",        distance_to_cluster_column_name="closest",       ),    )transformed=smModel.transform(training)FollowComment"

Answer: "0Accepted AnswerI figured it out.  It turns out that the examples didn't spell out that you need to convert the Python model back from the java model, and you can't call transform() right on the dataframe.  Complete code below.from  sagemaker_pyspark import SageMakerModelfrom  sagemaker_pyspark.transformation.serializers import ProtobufRequestRowSerializerfrom  sagemaker_pyspark.transformation.deserializers import KMeansProtobufResponseRowDeserializerrowSer=ProtobufRequestRowSerializer(featuresColumnName="features")smModel = SageMakerModel.fromEndpoint(    endpointName="endpoint-9ad5fcee9c52-2017-12-08T13-36-26-267",    requestRowSerializer=rowSer,    responseRowDeserializer=KMeansProtobufResponseRowDeserializer(        closest_cluster_column_name="cluster",        distance_to_cluster_column_name="closest"))ew_model = SageMakerModel._from_java(smModel)data=SageMakerModel.transform(ew_model,pred)CommentShareRon_Wanswered 5 years ago"


Question: Administrator prevented from deleteing Backup Plan

"I have followed the steps listed onhttps://docs.aws.amazon.com/aws-backup/latest/devguide/deleting-a-backup-plan.htmlI requested to delete 1 "Resource assignments" - When I select aws/efs/automatic-backup-selection and click delete, I receive the following messageAccess denied: Insufficient privileges to perform this action. Please consult with the account administrator for necessary permissions.When I select 1 Backup rules related to aws/efs/automatic-backup-rule, the Delete option is not available.When I select to delete aws/efs/automatic-backup-plan it gives me the same "Access denied, insufficient prileges..." message I receive when requesting to delete resources.*The AWS account only has one user - I am logged in as root with that user. *Can someone advise how to prevent the backups from occuring? They are not required.FollowComment"

Answer: "0Accepted AnswerIt seems like you are trying to delete the default EFS backup plan which can't be deleted. According to the documentation and I quote "The backups created using the default EFS backup plan are stored in a default EFS backup vault, which is also created by EFS on your behalf. The default backup plan and backup vault cannot be deleted."https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html#automatic-backupsCommentShareskreemanswered a year agorePost-User-8756184 10 months agoThanks - I noticed EFS Backup charges on my bill, which though small, were unexpected hence why I wanted to delete them. Perhaps AWS should reference this more clearly when one is apply EFS to an EC2.Share"


Question: catching S3 exceptions

"I have code like this using the S3 resource.  The client error exception is supposed to catch exceptions from that resource, but if my internet connection dies, it's not caught.  How do I know my code is set up to catch all the exceptions I need to catch?  This sounds like a basic question but I'm having a hard time figuring it out.  I look at the documentation and it says a client error will catch all the resource exceptions, but it doesn't.  Thanks for the help.try:upload_file_response = s3.upload_file(source, destination, key, ExtraArgs=extra_args, Callback=callback, Config=config)except botocore.exceptions.ClientError as err:print('\nIn ClientError')print('\n source is %s' % (source))print('\nError Code: {}'.format(err.response['Error']['Code']))print('\nError Message: {}'.format(err.response['Error']['Message']))print('\nRequest ID: {}'.format(err.response['ResponseMetadata']['RequestId']))print('\nHttp code: {}'.format(err.response['ResponseMetadata']['HTTPStatusCode']))end_tstamp = datetime.now()print('End time is ', end_tstamp)duration = end_tstamp - tstampprint('Duration is ',str(duration).split('.')[0])raise errFollowComment"

Answer: "0Accepted AnswerIf you're looking to provide more details on the errors in ClientErrors, you can check the Error nested dictionary that appears with the ResponseMetadata nested dictionary.  One thing to keep in mind is that Boto3 classifies all AWS service errors and exceptions as ClientError exceptions as well.However, if you're looking for exceptions while using a resource client, that may be slightly different as catching exceptions and errors is a similar experience to using a low-level client for certain AWS services.  For these, parsing may look different for error responses as you’ll need to access the client’s meta property to get to the exceptions such as client.meta.client.exceptions.<insert-exception-here>.For more information, check out: https://boto3.amazonaws.com/v1/documentation/api/latest/guide/error-handling.htmlCommentSharejsoncanswered a year agojschwar313 a year agoMaybe I should ask this.  I have a client set up like this:  s3 = boto3.client('s3').Why doesn't an "except botocore.exceptions.ClientError as err" statement catch botocore.exceptions.EndpointConnectionError errors or botocore.exceptions.ConnectionClosedError errors?  Shouldn't they be caught?  they are from the service, right?Sharejschwar313 a year agoNevermind.  I found what I was looking for in your response.  The botocore exceptions are listed here.  https://github.com/boto/botocore/blob/develop/botocore/exceptions.py  Thanks.Share"


Question: Angular with AppSync

"Hi Guys, What are my aws sdk options to use with AppSync and Angular app other than Amplify?thanksFollowComment"

Answer: "0Accepted AnswerAmplifyJS is open source and you can see in it's Github repo it's built on the graphql reference implementation.  I've also seen the Apollo client used.  But Amplify client definitely makes it easier even if you don't use the hosting or API service directly.  It has a lot of tooling for GraphQL like the Transformer that can generate your entire backend, DataStore, and great integration with Auth.   HTH!CommentShareClay_Banswered 8 months agoOzy smile 8 months agoThank you. I was able to use Apollo currently. But will try Amplify client too.Share"


Question: Avoid charges from Credit Card

"Hi AWS Team,We are using AWS activate founders for product building. Earlier I have used my credit card for billing. This month , We were not having active credits but last week AWS increased our Active Credits to continue our Product development.Could you please let us know in our case, AWS is going to charge the amount from Credit Card at the end of month or usage amount will get debited from credits only.ThanksFollowComment"

Answer: "1Hello,The credits will be automatically used each month. You can find additional information on this in the Activate FAQ: https://aws.amazon.com/activate/faq/.- Randi S.CommentShareEXPERTAWS Support - Randianswered 3 months ago"


Question: Sign IoT Request With SigV4 - Device Limits?

"Hello,I would like to use SigV4 for client authentication with IoT. One issue that I see is - the access key / secret key combination, which corresponds to an IoT device, corresponds to a single IAM user. There is a limit of 5,000 users, from what I understand, which is a problem.Is there a scalable way to use SigV4 to authenticate IoT devices?Thank you.FollowComment"

Answer: "0May be another option is to explore credentials provider. AWS IoT Core has a credentials provider that allows you to use the built-in X.509 certificate as the unique device identity to authenticate AWS requests. This eliminates the need to store an access key ID and a secret access key on your device.The credentials provider authenticates a caller using an X.509 certificate and issues a temporary, limited-privilege security token. The token can be used to sign and authenticate any AWS request. This way of authenticating your AWS requests requires you to create and configure an AWS Identity and Access Management (IAM) role and attach appropriate IAM policies to the role so that the credentials provider can assume the role on your behalf.Reference : https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.htmlCommentShareEXPERTAWS-User-Nitinanswered 4 months ago0You can use Cognito Identities to use SigV4 to authenticate an IoT client. There are no limits on how many Cognito Identities you can have in the account.Cognito Identities are useful when the connection is established based on a user authentication, for example when you have an application that needs to communicate with IoT Core. If the authentication is for a device, you should use X.509 certificates or Custom Authorizers.CommentShareEXPERTMassimilianoAWSanswered 4 months ago"


Question: Athena -  Execute multiple query and capture output in a file on e2

"Please help me on how to execute multiple query and capture the output in a file on e2Tried with :aws athena start-query-execution --query-string "<select query>"  > query_output.sqlBut above statement is giving only key in the file query_output.sql but I want the output to be capture in a file, please helpFollowComment"

Answer: "0Hi,If I understand correctly you would like to be able to save the result set,the start-query-execution, will only return the query ID, you can use the query ID to check the status of a query (QUEUED,RUNNING, FAILED, SUCCEEDED) and retrieving the query result sets with different commands:get-query-executionget-query-resultshope this helps,CommentShareEXPERTFabrizio@AWSanswered a year ago"


Question: S3 + SSO permission to list a predefined list of buckets.

"Hello,I would like to let group of users to see only subset of my account buckets, so they do not try to use these buckets they have no access to.I looked all over and found no solution, many people experience the same but no definite working setup is available.The users are using SSO with temporary credentials so they are not available at the account.The ListBuckets API[1] requires s3:ListAllMyBuckets permission which does not accept resource.Managing bucket ACL per each owner is something that seems a huge overhead to manage, and I could not find how to integrate this into the roles.Is there any option to apply a filter on the output of ListBucket, preferably to have a filter based on rule permissions.I thought that the permission to perform s3:GetBucketLocation will be queried per each bucket so that ListBuckets will return only these buckets that the role have permission to locate, this may be s a clean solution.I will appreciate any hint, how do I return my user roles only pre-defined list of buckets.Regards,Alon[1] https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.htmlFollowComment"

Answer: "0AWS SSO allows you to define inline policies for permission sets (Doc link). My suggestion would be to use an inline policy on that user group's SSO permission set they get assigned leveraging the s3:ListBucket IAM action with the resource list being the buckets that you want to allow.It's worth noting that you may need to be creative since there's a character limit (I think it's around 10k) which cannot be altered even by AWS.CommentSharecarlo-mencarellianswered a year agoAlon Bar-Lev a year agoThank you @carlo-mencarelli,However, unless I do not understand the s3:ListBucket permission does not filter the list of buckets the user sees.Do you have a working configuration in which you have a, b, c buckets in accounts but aws s3 ls shows only c using s3:ListBucketRegards,AlonShare"


"I am using Route 53 to host my domaintryprospect.com.Under it, I have configuredchrome-extension.tryprospect.comto point to an Amazon CloudFront distribution.This was done using an A - IPV4 Address record with an Alias Target of the CloudFront distribution.However some of my users randomly see a DNS_PROBE_FINISHED_NXDOMAIN error. I can't reproduce this on my machine, but several users have complained.Did I misconfigure this? How do I fix this?Help!FollowComment"

Answer: "0Hi,Your DNS configuration is fine now.However, if you recently changed the name servers that are associated with your domain registration, that could be the problem. DNS recursive resolvers typically cache the names of your name servers for two days. If some of your users are using DNS resolvers that cached the old name servers right before you changed to new name servers, they might still using the old name servers. "How Amazon Route 53 routes traffic for your domain" in the Route 53 Developer Guide explains how DNS works, including the part about resolver caching:https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-dns-service.html#welcome-dns-service-how-route-53-routes-trafficIf you haven't changed name servers recently, you might want to post your query on the CloudFront forum:https://forums.aws.amazon.com/forum.jspa?forumID=46ScottCommentShareEXPERTAWS-User-6179575answered 3 years ago"


Question: Not able to Launch EC2 Instance

I am trying to create a free tier EC2 instance in N.virginia. The task fails with the error "This account is currently blocked and not recognized as a valid account. Please contact aws-verification@amazon.com if you have questions."Also tried with different region as Mumbai. In both the cases got the same message.FollowComment

Answer: "0It may be you're launching in a region you haven't launched in before, and you've already launched in 3 other regions - apparently new accounts may be restricted to 3 regions and you can get this error if you try to use a 4th.Either way, please contact them on aws-verification@amazon.com as suggested or use AWS Support from your console (or https://support.aws.amazon.com/#/contacts/aws-account-support/) - even with Basic (free) support you can raise an Account case like this.CommentShareEXPERTskinsmananswered 2 months agoEXPERTBrettski-AWSreviewed 2 months ago"


Question: Can't deployed vm that I download

Can't deployed vm that I downloaded from getway backup to install and bagin Synchroniz my dataFollowComment

Answer: "0Hello,Could you possibly provide more information on your situation? What steps have you done prior to attempting to deploy the downloaded VM? These documents provide a general overview of the process you are attempting and may be of assistance to your issue:https://docs.aws.amazon.com/vm-import/latest/userguide/what-is-vmimport.htmlProvides an overview on importing and exporting VM'shttps://docs.aws.amazon.com/aws-backup/latest/devguide/working-with-gateways.htmlProvides an overview for working with gatewayshttps://docs.aws.amazon.com/codedeploy/latest/userguide/troubleshooting-deployments.htmlProvides an overview for troubleshooting ec2 and on premise deployment issuesCommentShareMelanie_Sanswered 10 months ago"


Question: Device Farm Supported region

"Hi ,We want to use AWS device Farm for our web browser ( Chrome / FF ) automation for different region because our site uses geolocation/ip to determine which cloud front distribution to use .We would like confirm is device farm will support only  ** PDX** region , is there any way device farm will support required to region for supporting customer supported location ?Please let me know to take next step on using AWS device farm for our browser automationThanks ,Muthu Selvan SRFollowComment"


Question: I am facing issue like "SignatureDoesNotMatch" when I try to hit "generate_presigned_url" from Postman

"**Error ----------------------------------------------------------------------------------------------: **<?xml version="1.0" encoding="UTF-8"?><Error>    SignatureDoesNotMatch    <Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>    <StringToSign>PUT**Code  in Python----------------------------------------------------------------------------------------------: **import botocoreimport boto3import datetimefrom botocore.exceptions import ClientErrorimport jsons3_file="test6.jpg"def lambda_handler(event, context):# TODO implementprint("Step 1")try:s3 = boto3.client('s3')url = s3.generate_presigned_url(ClientMethod='get_object',Params={'Bucket': 's3_Bucket','Key': s3_file},ExpiresIn=36000000)    result = {'status': 'success', 'data': {'url': url, 'key':s3_file}}    response = {        'statusCode': 200,        'body': json.dumps(result),        'headers': {            'Content-Type': 'application/json'        }    }    except ClientError as e:    print(f'Error generating presigned URL: {e}')    return Nonereturn responseFollowComment"

Answer: "0This is unintuitive but happend to me in the past. Most probably you are missing permissions to the Lambda that creates the SignedUrl... I know... AWS should throw an error when we are creating it, not when we are consuming it... but this fixed my problem then...In the template, go to the Lambda that creates the SignedUrl and in the properties, add the following Policies:AWSLambdaVPCAccesExecutionRoleAWSLambdaBasicExecutionRoleS3CrudPolicy:BucketName: my-bucket-unique-nameI hope it helps!CommentShareaWaisberganswered 2 months ago"


Question: New EC2 instances don't exist

"Hi AllThis morning I created two Ubuntu Nano instances however neither of them show in the list of instances.  I am only using one location, the volumes, security groups, etc. are all showing but the instances don't appear to exist.Has anyone had this issues before?thanksEdited by: joefizz on Aug 25, 2020 2:47 AMFollowComment"

Answer: 0AWS showing issues in my region with launching instancesCommentSharejoefizzanswered 3 years ago


Question: AWS Connect: telephone number not in use when calling

"I've got a phone number claimed via AWS Connect. I used it for about a year. However it doesn't work anymore while nothing has changed. It's still listed in the phone numbers page with the correct contact flow. When I call the number the carrier says "the telephone number is not in use" in my own language. This happens also with one of the AWS example flows attached to it, so the problem isn't related to my flow. I've looked through the other options like hours of operation, but it all seems fine. There's not much to configure that could go wrong and I start to suspect the problem is AWS-carrier related.I don't have technical support for this account, so I hope somebody can help me out. According to the AWS status page there are no issues with the service. I'm running the instance in Frankfurt EU.FollowComment"

Answer: "1Accepted AnswerDid you try calling that number from another carrier?CommentSharedmaciasanswered a year ago0Thank you. The problems seems to happen only with my own carrier. Still strange why, but I'll contact them.CommentShareTomanswered a year ago"


Question: How do I create a Dockerfile for BYOC training which allows me to pass in entry_point and source_dir arguments to SM Estimator?

"I am following this tutorial: https://github.com/aws/amazon-sagemaker-examples/blob/main/advanced_functionality/tensorflow_bring_your_own/container/Dockerfileby SM to create a docker image. According to this tutorial, the training scripts are copied into the docker container meaning that you have to rebuild the container if you make any changes.My question is: How do I create a Dockerfile such that I don't have to copy my script when I am building the image? Instead, I want to pass in the entry_point and source_dir arguments to the SM Estimator which copies those files upon calling the .fit method.FollowComment"

Answer: "0Hi there,It seems like this should be possible through the sagemaker script mode, which allows you to pass in the entry_point argument through the SM estimator as can be seen hereHopefully this resource will help provide some insight into your problem.Re: so I kept looking and I believe this is a more appropriate resource to address your problem. Hopefully this one is what you are looking for.Regards NNCommentShareNtiyiso Ngonyamaanswered 9 months agorePost-User-6918102 9 months agoHi, NN! Thank you for the response.I am using script mode. I looked through the blogpost but I did not see a mention of docker containersShare"


Question: Pblock error in F1 builds

"Hello I am building my application using AWS F1. But it keeps crashing. I get the following error about pblock overlap. This is internal to F1 shell and CL. I have not created any of these pblocks. How do I solve this error.//////////////For further analysis rerun this DRC with the following param:set_param hd.visual 2This will create a file named: hd_visual/pblock_CL_AND_pblock_SH_IllegalOverlapTiles.tcl, containing a list of the tiles found overlapping.  This .tcl file can also be sourced within the Vivado GUI to view the tiles visually.ERROR: [DRC HDPR-66] Reconfigurable Pblock must not overlap other pblocks.: HD.RECONFIGURABLE Pblock 'pblock_CL' and Pblock 'WRAPPER_INST_CL_pblock_udma_wrapper' overlap.  Please re-floorplan Pblocks to ensure that reconfigurable pblocks don't have overlap with other rm or static pblocks.ERROR: [DRC HDPR-66] Reconfigurable Pblock must not overlap other pblocks.: HD.RECONFIGURABLE Pblock 'pblock_SH' and Pblock 'WRAPPER_INST_CL_pblock_udma_wrapper' overlap.  Please re-floorplan Pblocks to ensure that reconfigurable pblocks don't have overlap with other rm or static pblocks.WARNING: [DRC RPBF-3] IO port buffering is incomplete: Device port I2C_FPGA_MEM_R_SCL expects both input and output buffering but the buffers are incomplete.WARNING: [DRC RPBF-3] IO port buffering is incomplete: Device port I2C_FPGA_QSFP28_R_SCL expects both input and output buffering but the buffers are incomplete.INFO: [Vivado_Tcl 4-198] DRC finished with 3 Errors, 4 Critical Warnings, 3 WarningsINFO: [Vivado_Tcl 4-199] Please refer to the DRC report (report_drc) for more information.ERROR: [Vivado_Tcl 4-23] Error(s) found during DRC. Placer not run.FollowComment"


Question: Textract - How to extract just certain fields

"Hello, Im starting with Textract.I just need to extract certain fields of invoices, but I see no option to do it, it just extract everything. How can I say to Textract which fields I need?Thank youFollowComment"

Answer: "0Hi!Textract by default extracts all text (DetectDocumentText API) or relationship between text such as forms and tables (AnalyzeDocument API).From your post, sounds like AnalyzeDocument would suit your use case. You can then post-process Textract response to extract the required information you need.Hope this helps!CommentShareDurga_Sanswered a year ago0Hello, for your usecase if you are specifically looking at extracting textract related to financial documents like Invoices and Receipts, AnalyzeExpense API might be the right API for you. Hope this is helpful!CommentSharenisargg_AWSanswered a year ago0Thank you for your response. I'm trying to use API, but I receive "NoRegionError: You must specify a region." I have set it in default file, as it is in my s3 bucket. What could be the problem?mytestingbuckettryEU (Paris) eu-west-3[default]region = eu-west-3output =ThanksCommentShareAWS-User-3596062answered a year ago0In short, you cannot. What you can do is use AnalyzeDocument API which will give you LINES, WORDS, TABLES, and FORMS in the entire document. You can take the response JSON and use a tool like amazon-textract-textractor to parse the response and get the desired output out of it.That being said, since you are looking for only specific pieces of information from your document, you might want to try out the new Textract Queries feature. Using Textract queries, you can pass in questions in natural english language and let Textract find the values out of the document. Queries is supported via the AnalyzeDocument API by passing in QueriesConfig as shown below-"QueriesConfig": {       "Queries": [          {             "Alias": "string",            "Pages": [ "string" ],            "Text": "string"         }      ]   }CommentShareEXPERTAnjananswered a year ago"


Question: ECS load container image from sagemaker built-in algorithm docker path

"Hello, I'd like to deploy SageMaker's built-in algorithm, BlazingText model on Fargate instead of Sagemaker endpoint. So, I tried to make an ECS task using BlazingText docker path. Here is my CDK code for it.const loadBalancedFargateService = new ecsPatterns.ApplicationLoadBalancedFargateService(this, 'Service', {memoryLimitMiB: 1024,desiredCount: 1,cpu: 512,taskImageOptions: {image: ecs.ContainerImage.fromRegistry("811284229777.dkr.ecr.us-east-1.amazonaws.com/blazingtext:1"),},});However, I got an error:CannotPullContainerError: inspect image has been retried 1 time(s): failed to resolve ref "811284229777.dkr.ecr.us-east-1.amazonaws.com/blazingtext:1": pulling from host 811284229777.dkr.ecr.us-east-1.amazonaws.com failed with status code [manifests 1]...Is it impossible to pull docker container of sagemaker built-in algorithm from ECS?FollowComment"

Answer: "1Accepted AnswerTo my knowledge, no - it's not generally possible to pull the built-in algorithm containers outside SageMaker: Your easiest route would probably just be to deploy the model on SageMaker and integrate your other containerized tasks to call the SageMaker endpoint.It's maybe worth mentioning that the framework containers for custom/script-mode modelling (e.g. the AWS DLCs for PyTorch/HuggingFace/etc) are not subject to this restriction (can check you should even be able to pull them locally): So if you were to use those to implement a customized text processing model I think you should be able to deploy it on ECS if needed. Of course this'd mean a more initial build and later maintenance effort though.CommentShareEXPERTAlex_Tanswered a year agowookjae a year agoThank you so much Alex. I also found deep learning containers(DLC), but there was no container image for the BlazingText algorithm with inference code. The reason why I want to deploy BlazingText model on Fargate is to elastically respond to the varying workload on model endpoint. I think there are two options for my case: 1) selecting a proper instance type with auto scailing, 2) sagemaker serverless endpoint(preview).Share"


Question: Invalid inventory retrieval date range

"If I don't include InventoryRetrievalParameters in initiateJob params for inventory-retrieval, I get my jobId. If I do include InventoryRetrievalParameters, I get a data range error.code:"InvalidParameterValueException"message:"Invalid inventory retrieval date range: InventoryRetrievalJobInput::StartDate=2020-03-17T14:21:48.776Z"name:"InvalidParameterValueException"requestId:"4y-oJW0GsHlp0o5dTfPQJdzkB6qi3lO4iq7e88eIpTFpDME"retryable:falseretryDelay:60.730553151816856stack:"InvalidParameterValueException: Invalid inventory retrieval date range: InventoryRetrievalJobInput::StartDate=2020-03-17T14:21:48.776Zat Object.extractError (c:\source\repos\Glacier\node_modules\aws-sdk\lib\protocol\json.js:51:27)at Request.extractError (c:\source\repos\Glacier\node_modules\aws-sdk\lib\protocol\rest_json.js:55:8)at Request.callListeners (c:\source\repos\Glacier\node_modules\aws-sdk\lib\sequential_executor.js:106:20)at Request.emit (c:\source\repos\Glacier\node_modules\aws-sdk\lib\sequential_executor.js:78:10)at Request.emit (c:\source\repos\Glacier\node_modules\aws-sdk\lib\request.js:683:14)at Request.transition (c:\source\repos\Glacier\node_modules\aws-sdk\lib\request.js:22:10)at AcceptorStateMachine.runTo (c:\source\repos\Glacier\node_modules\aws-sdk\lib\state_machine.js:14:12)at c:\source\repos\Glacier\node_modules\aws-sdk\lib\state_machine.js:26:10at Request.<anonymous> (c:\source\repos\Glacier\node_modules\aws-sdk\lib\request.js:38:9)at ...statusCode:400var params = {accountId: "-",jobParameters: {Description: GET INVENTORY,Format: 'JSON',Type: 'inventory-retrieval',// InventoryRetrievalParameters: {// StartDate: '2020-03-17T14:21:48.776Z',// EndDate: '2020-04-04T04:59:31.958Z',// Limit : '10000'// }},vaultName: hidden};var response = await initiateJob(params);if(response) {console.log(response);}const initiateJob = (params) => new Promise((resolve, reject) => {glacier.initiateJob(params, function(err, data) {if (err) {console.log(err, err.stack);reject(err);} else {// return the jobIdresolve(data);}});});Edited by: gregbolog on Apr 14, 2020 8:25 AMFollowComment"

Answer: 0doesn't like fractional secondsCommentShareGregory-7596671answered 3 years ago


Question: Converting aws account to US for billing

How do I convert an AWS account that was created in India to a US one? I am having challenges paying bills end of every month as AWS  is not accepting US credit card anymoreFollowComment

Answer: "0Hi there,If you used India as your contact address initially. Your account was signed up with Amazon Internet Services Private Limited (AISPL).  Your accounts is managed by AISPL and is billed in Indian Rupees by default. With AISPL accounts you can not change the country attributed in your contact information or convert it to a normal AWS account. You can refer to the, managing an account in Indai, documentation to see how you can manage your account in India. Otherwise, you would have to create a new account using your US address.CommentShareCebianswered a year ago"


Question: App Runner: Container access to AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY

"Hi,I have an app runner instance with NodeJS14 + Strapi from a container, for some of the plugins I'm using they require an access key id, secret access key. How do I handle this situation? it doesn't look like they are set as environment variables by default?Thanks.FollowComment"

Answer: "0Hello,You will need to provide an Instance Role during the App Runner service creation. The instance role is an optional role that App Runner uses to provide permissions to AWS API actions that your App Runner service would like to make.Before creating the App Runner service, create an IAM role with the required custom or managed IAM policies and attach the below trust relationship to it.{  "Version": "2012-10-17",  "Statement": [    {      "Effect": "Allow",      "Principal": {        "Service": "tasks.apprunner.amazonaws.com"      },      "Action": "sts:AssumeRole"    }  ]}After the IAM role is created and the trust-relationship added, specify this IAM role as the Instance Role during the AppRunner service creation. Please refer this document for more info on how to use the App Runner Instance Role.If you are using the AWS SDK to perform AWS API calls, the SDK will use the credentials provided by your Instance Role and perform the required AWS API calls.CommentShareSUPPORT ENGINEERVenkat Penmetsaanswered 8 months ago"


Question: "AWS glue read csv file with two header rows, ignore the first one"

"Hello,Currently  I am trying to read csv files in my s3 bucket with the following format:header 1, header 2, header 3value 1, value 2, value 3header 1, header 2, header 3, header 4value 1, value 2, value 3, value 4 as you can see I have two header rows. But I only care about the second header row and everything below. Is there a way to ignore the first two lines with glue and use the second header row as a starting point to create a table?FollowComment"


Question: VERY peculiar failure after switching from t3.micro to t3a.micro

"Switched to a t3a.micro reservation after my t3.micro reservation expired. Since then, a very, very strange failure mode in networking has presented. Details:Debian 'Bullseye' v11.1'standard' exim4 packages, 4.94.2-7, which is built against gnutls'standard' gnutls packages, 3.7.1-5Email had been working normally, and for the most part still does. Except that when email is either forwarded through the server, or sent by one of my users, to a gmail.com email address, after a few days of uptime, messages will stall in the queue, with the following error repeating:2021-11-22 07:01:26.400 [166789] 1mp428-000gDO-Bj H=alt1.gmail-smtp-in.l.google.com [64.233.171.26] TLS error on connection (recv): Error in the pull function.2021-11-22 07:01:26.400 [166789] 1mp428-000gDO-Bj H=alt1.gmail-smtp-in.l.google.com [64.233.171.26]:25: Remote host closed connection in response to end of dataThat specific error is from gnuTLS. The errorgoogle has four MX's, which are CNAME'd to multiple IP's. It doesn't appear to matter which one of them the connection is to.I've gone over my exim settings with a fine toothed comb - everything is correct, and my server setup is correct, evidenced by the lack of errors elsewhere.As part of the diagnostic process, I upgraded the ENA driver to 2.6.0g, with no effect on the errors.I also switched the MTU of the interface from 9001 (which is what it boots up with) to 1500. No effect.Notably, regardless of MTU, the interface shows NO errors either on RX or TX.What does have an effect is rebooting. A few moments after coming back online, the messages will go out to the destination with no error.The vast majority of email between my server and google's goes through fine, no errors. It has only appeared to happen with emails that come inbound to my server that are then forwarded to a google address - with one exception, in which a particularly large message from one of my users to multiple gmail users also stuck in the queue - with the same TLS error.It may be coincidental that this began after the switch from t3 to t3a; however, the errors didn't begin happening in earnest until after the switch.I've exhausted my searches elsewhere. There's a smattering of reports of the same error, but mostly related to a bug in curl from a while back. None specific to exim, or gmail servers. I'm aware that gnutls is...a bit twitchy, might be the best descriptor.It's not really tenable to have to reboot my server regularly in order to push through a few stalled messages.My next test will be to revert back to a t3.micro for a short while and see if there's a difference - but in the meantime, does anyone have a clue what could be happening? I realize the probability of an answer is very low with such a bizarro issue...but - thanks in advance!cheers.FollowComment"

Answer: "0Update: I switched back to t3.micro. An email came in from the same sender and to the same gmail destination. The same error occurred, but instead of sitting in the queue for a day or more, it went through in six minutes.Now to switch back to t3a.micro and see what happens. Like I said - VERY strange.CommentShareanastropheanswered 2 years ago0Update. I let the machine run for another day, as these inbound emails are once per day.Message in question came in, and was forwarded straight out to gmail, no TLS errors.I have now switched back to t3a.micro and will report back the results, which I'm reasonably confident will show the same failure mode.If this does fail again, it points to some sort of issue between t3.micro and t3a.micro architecture. At worst I sell my 3yr/upfront reserved and go back to t3.micro, but it does leave dangling a peculiar problem.CommentShareanastropheanswered 2 years ago0Digging deeper, I've found instances of this 'Error in pull function' going back as far as August. However, those errors were one-offs, which would delay messages for minutes, not hours or days.However, with that sort of evidence - and the inconsistency of same, I'm going to have to declare this a wild goose chase. Since resuming the t3a, there have still been the pull function errors - but they likewise are only delaying messages a few minutes, not hours or days.I'll mark this answered. I'm unsure whether I should just delete the whole thread, since the evidence doesn't support the theory, so my bloviations are unlikely to be helpful to anyone else...???CommentShareanastropheanswered 2 years ago0Digging deeper, I've found instances of this 'Error in pull function' going back as far as August. However, those errors were one-offs, which would delay messages for minutes, not hours or days.However, with that sort of evidence - and the inconsistency of same, I'm going to have to declare this a wild goose chase. Since resuming the t3a, there have still been the pull function errors - but they likewise are only delaying messages a few minutes, not hours or days.I'll mark this answered. I'm unsure whether I should just delete the whole thread, since the evidence doesn't support the theory, so my bloviations are unlikely to be helpful to anyone else...???CommentShareanastropheanswered 2 years ago"


Question: AWS account refund charges

"Hello, I just realized that I have several charges on my account, although I followed the steps to close my account as I only needed the free tier.How do I get a refund and how do I make sure I close my account so I dont have future charges. Thank you!FollowComment"

Answer: "1Hey there,When closing an account it is important to check that you have deleted all resources in the account. You can verify this using AWS Cost Explorer, and verifying that no resources are present and incurring charges.The following re:Post article may be useful:https://repost.aws/knowledge-center/closed-account-billFor help understanding AWS Billing, including how to open a support case for help:https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-get-answers.htmlFinally, if you need any assistance, or you think something isn't right, then reach out to billing support and they can help you further.CommentSharesimonanswered 22 days ago"


Question: The instance is unresponsive: Windows is still being configured. SysprepState=IMAGE_STATE_UNDEPLOYABLE

"I'm trying to clone my Windows 2016 Server instance i-01. What I did:Installed latest drivers according to this articleRebooted successfullyRun SysPrepNow I can start my i-01 instance but it became inaccessible. I can't connect it via RDP. If I connect via AWS Serial Console, it shows me Windows is still being configured. SysprepState=IMAGE_STATE_UNDEPLOYABLE for many hours already.What are the ways for further investigations?FollowComment"

Answer: "1You can detach the root volume from the instance and attach it to a new temporary instance as a secondary volume. That will allow you to take a look at the sysprep logs and figure out what went wrong. You can install EC2Rescue https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2rw-gui.html#ec2rescue-offline and collect the logs, then send it to AWS Premium Support for further analysis.CommentShareSUPPORT ENGINEERFrancisco_Lanswered a year ago0That error appears to come from Sysprep so my guess is that something has gone wrong with the Windows bootstrap/installation process. A quick search shows that there are several reasons why a server can end up in that state so I would troubleshoot with that error message as your starting point.CommentShareEXPERTBrettski-AWSanswered a year ago"


Question: Sound at call end

Is there a way to have a sound or beep when the customer hangs up?FollowComment

Answer: 0Only way to do this currently is by using JavaScript to monitor for the end of the call and play your required sound file.This will help https://voicefoundry.com/contact-center-agent-notification-secondary-ringtone/CommentShareDanBloyanswered 3 years ago


Question: Difference between a Job that is tied to a Project vs Recipe + Dataset

When you create a job you can associate it with a project OR specifically enter the dataset and recipe to be used.Say we have Project_A that uses Recipe_A and Dataset_A.What would be the difference of creating a job by using Project_A vs specifying Recipe_A + Dataset_A.Would they be identical?FollowComment

Answer: "0The main difference is in the use case, whether you're in an experimental phase of building up a recipe and trying it out (via a project job) or operationalizing (via a standalone recipe job).A standalone recipe job (Recipe_A + Dataset_A) also requires that your recipe is published - 1.0, 2.0, etc. With the project job DataBrew implicitly creates a snapshot of the Working version of the recipe as a new minor version - 0.2, 0.3, etcHope this helps clarify!RomiCommentShareAWS-User-8125078answered 2 years ago0This makes sense -- thanks for the reply!CommentShareRagingWontonanswered 2 years ago"


Question: Could container internal/private domains be shown on AWS Lightsail dashboard?

"Following the Public endpoints and default domains instructions, I'm trying to make my services chat to each other but having trouble with the private domain. I'm  instructions but not having much luck. This should not have to be guess work. Please add the private domain for each running service in its section because currently one may not even know this is possible without reading the docs plus docs clearly aren't helping.FollowComment"

Answer: 0never mind :DI realised the private domain is the same for all running services in your container. The way for them to chat with each other is via different ports. For some reason the docs made me think the <service name> is the name of each running image and not the entire container.CommentShareAWS-User-Armananswered a year ago


Question: How to set spark.driver.extraLibraryPath in EMR Serverless

"Hello, i tried run JNI code  which uses the file as a dependency libMylibName.so. Before(not in EMR Serverless) i can use it just specify--conf spark.driver.extraLibraryPath=/path_to_my_lib and  --conf spark.executor.extraLibraryPath=/path_to_my_lib, but this options not supported in Serverless following here documentationi found similar answer for python, but it not suit for mepost, because i use ScalaError which i got if not specify  spark.driver.extraLibraryPath and spark.executor.extraLibraryPath=Exception in thread "main" java.lang.UnsatisfiedLinkError: no MylibName in java.library.pathQuestion: how i can specify this dependency for my spark application?FYI: --conf spark.driver.extraJavaOptions="-Djava.library.path=s3://path_to_libs" also not work correctit changed java.library.path Variable but i continue got UnsatisfiedLinkErrorFollowComment"

Answer: 1I found the solution on my own and publish it here:--conf spark.archives=s3://path_to_file/my_libs_so.tar.gz#my_libs --conf spark.executor.extraJavaOptions="-Djava.library.path=/home/hadoop/my_libs" --conf spark.driver.extraJavaOptions="-Djava.library.path=/home/hadoop/my_libs"Archive my_libs_so.tar.gz should contains all  your the necessary *.so filesCommentSharedmitrymakarevichanswered 5 months agoEXPERTFabrizio@AWSreviewed 5 months ago


Question: Latency in system at same time every day

"Our client is experiencing gradual latency almost every day at almost the same time (around 3:00PM).  By "latency" is meant poor response time from different, disparate parts of the system: the browser application as well as operations using the putty terminal emulator. Occasionally the latency culminates in the putty (terminal emulation) sessions closing, leading us to wonder if there isn't a network issue that needs looking into.FollowComment"

Answer: "0I would suggest opening an AWS Support ticket to get the proper attention and ability to dive deeper into your specific configuration.CommentShareEXPERTRaphaelanswered 2 months ago0Hi, thank you for your quick response.  In fact, I thought I was opening a ticket with AWS Support!Can you tell me how I do that?  Sorry.CommentShareTelAthenaanswered 2 months ago"


Question: help to provide how set up the data

help provide to setup the dataFollowComment

Answer: "0Organisation IAM  Terms  Principle  RequestCommentSharerePost-User-7026277answered a year ago0Is this what you are looking for - https://aws.amazon.com/blogs/security/control-access-to-aws-resources-by-using-the-aws-organization-of-iam-principals/CommentShareEXPERTIndranil Banerjee AWSanswered a year ago0Please provide the organization fo IAMCommentSharerePost-User-7026277answered a year ago0How I set up the websites of amazon ?CommentSharerePost-User-7026277answered a year ago0Guideline and explain all the thingsCommentSharerePost-User-7026277answered a year ago0Can you training by Vedio how I set my websiteAnd how I use this websiteCommentSharerePost-User-7026277answered a year ago0There are many ways in which you can create a web application on AWS. I will point you to some Getting Started Tutorials. If you want to gain expertise, you will need to read up the documentation in details and practice tutorialsOn EC2 machines - https://aws.amazon.com/getting-started/guides/deploy-webapp-ec2/On Elastic Kubernetes Service (EKS) - https://aws.amazon.com/getting-started/guides/deploy-webapp-eks/On Elastic Container Service (ECS) - https://aws.amazon.com/getting-started/guides/deploy-webapp-ecs/On AWS App Runner - https://aws.amazon.com/getting-started/guides/deploy-webapp-apprunner/On AWS Amplify - https://aws.amazon.com/getting-started/guides/deploy-webapp-amplify/On Amazon S3 - https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.htmlYou can also find workshops in https://workshops.aws/. You can search for Web Applicationandhttps://catalog.us-east-1.prod.workshops.aws/workshops/f3a3e2bd-e1d5-49de-b8e6-dac361842e76/en-US/advanced-modulesCommentShareEXPERTIndranil Banerjee AWSanswered a year ago"


Question: Rollback docker component with AWS Greengrass V2: follow up question #2

"Sorry for keeping to post follow-up questions like this but I feel like comments inside a thread are not really seen/answered.So I have been trying to correctly implement Rollback to my docker component I am deploying through Greengrass on a fleet of RPi's. So, according to the answers so far in this question and this question, I need to use Startup and Shutdown in the Lifecycle command for Rollbacks to work. Moreover, I've been advised to use Greengrass IPC inside my Python script inside the deployed docker image to repord a RUNNING state. I read in the developer guide that I need to add several mappings to use IPC inside the docker container and install awsiot through pip inside the image. Next I've been advised to head to https://docs.aws.amazon.com/greengrass/v2/developerguide/ipc-component-lifecycle.html to check out how to interact with component lifecycle through IPC. It's explained quite minimalistically and I am struggling to find some real Python examples. However, I realize that I need to add aws.greengrass#PauseComponent and aws.greengrass#ResumeComponent to the "operations" section of my component recipe. So my component recipe looks like this, can you tell me if that is correct (expecially how I added the policy in the end... I really have no idea)?{  "RecipeFormatVersion": "2020-01-25",  "ComponentName": "com.example.MyPrivateDockerComponent",  "ComponentVersion": "2.0.0",  "ComponentType": "aws.greengrass.generic",  "ComponentDescription": "A component that runs a Docker container from a private Amazon ECR image.",  "ComponentPublisher": "Amazon",  "ComponentDependencies": {    "aws.greengrass.DockerApplicationManager": {      "VersionRequirement": ">=2.0.0 <2.1.0",      "DependencyType": "HARD"    },    "aws.greengrass.TokenExchangeService": {      "VersionRequirement": ">=2.0.0 <2.1.0",      "DependencyType": "HARD"    }  },  "Manifests": [    {      "Platform": {        "os": "all"      },      "Lifecycle": {        "Startup": "docker run --privileged -v $AWS_GG_NUCLEUS_DOMAIN_SOCKET_FILEPATH_FOR_COMPONENT:$AWS_GG_NUCLEUS_DOMAIN_SOCKET_FILEPATH_FOR_COMPONENT -e SVCUID -e AWS_GG_NUCLEUS_DOMAIN_SOCKET_FILEPATH_FOR_COMPONENT -e SVCUID -e AWS_GG_NUCLEUS_DOMAIN_SOCKET_FILEPATH_FOR_COMPONENT --rm 242944196659.dkr.ecr.eu-central-1.amazonaws.com/test_repo:0.0.1",        "Shutdown": "docker stop $(docker ps -a -q --filter ancestor=242944196659.dkr.ecr.eu-central-1.amazonaws.com/test_repo:0.0.1)"      },      "Artifacts": [        {          "Uri": "docker:242944196659.dkr.ecr.eu-central-1.amazonaws.com/test_repo:fileerror",          "Unarchive": "NONE",          "Permission": {            "Read": "OWNER",            "Execute": "NONE"          }        }      ]    }  ],  "Lifecycle": {}  "accessControl": {    "aws.greengrass.ipc.lifecycle": {      "com.example.MyPrivateDockerComponent:lifecycle:1": {        "policyDescription": "Allows access to pause/resume all components.",        "operations": [          "aws.greengrass#PauseComponent",          "aws.greengrass#ResumeComponent"        ],        "resources": [          "*"        ]      }    }  }}Once the component is correct, I need to implement status reporting in the python script that I run on my docker. Let's assume I am running a simple script that keeps printing to the console looks as follows. Where and how do I report a RUNNING/ERRORED state through UpdateState through the awsiot SDK? could you fill in the missing code?import timeif __name__ == "__main__":    while True:        print("Hello World!")        time.sleep(5)Thank you for your help.FollowCommentGreg_B EXPERT18 days agoI think all the advice you got so far was correct, but maybe not collectively all pulling in the same direction. A question however: how long after installation do you still want a failure to cause a deployment rollback? In my opinion, rollback is the right behaviour if the installation fails or the Docker container fails to start. But if the Docker container fails N seconds/minutes/hours after successfully starting, then the UNHEALTHY state you had in your original question is probably the desired behaviour.SharerePost-User-9168686 18 days agoyes, you're right. I just want to trigger Rollback if the installation fails/the docker container or the script fails to start! So what would be the best way to go about this? I am really just deploying a docker container with some dependencies and running a python script therein. I want the deployment to rollback if a new deployment fails to get going. if the script stops at some time t after deployment, I am happy if the device state moves to UNHEALTHY. @Greg_BShare"

Answer: "0Hello,The deployment is considered as successful when all the components that we check are in their desired state (running/finished). If you are using Run script, Greengrass will not wait for the script, but if the script exits with an error before Greengrass reports back the deployment status - the core will rollback (assuming you have a rollback Config). If you want to perform checks before confirming that the component is healthy, use Startup. With Startup, Greengrass waits until the script returns, and will therefore capture any failure or timeouts. But with startup your code will need to run in background (startup scripts must exit) and use UpdateState to notify failures after it has started up.You can find the AWS IoT Device SDK for Python v2 UpdateState Operation [here] (https://aws.github.io/aws-iot-device-sdk-python-v2/awsiot/greengrasscoreipc.html#awsiot.greengrasscoreipc.client.UpdateStateOperation)Unfortunately, we do not have any Example code for the implementation of this lifecycle IPC service to update the component state on the core device. And you do not need to add any Authorization policy statement for this feature.Please note that the PauseComponent and ResumeComponent feature will Pause/Resume a component's processes on the core device, if you want to make use of this functionality, only then you should be adding the Authorization policy statement. Addtionally, this operation can't pause containerized processes, such as Docker containers. To pause and resume a Docker container, you can use the "docker pause" and "docker resume" commands.CommentShareSUPPORT ENGINEERRahul_Panswered 18 days agorePost-User-9168686 18 days agothank you. what do you mean by a rollback config? Do you mean this inside the deployment json:    "deploymentPolicies": {        "failureHandlingPolicy": "ROLLBACK",        "componentUpdatePolicy": {            "timeoutInSeconds": 60,            "action": "NOTIFY_COMPONENTS"        }    },Share"


Question: Can AWS scheduled scaling actions overlap?

"I found info that AWS will reject scheduled scaling actions that have overlapping recurrence strings. Taken from https://jayendrapatil.com/aws-auto-scaling/A user is trying to setup a recurring Auto Scaling process. The user has setup one process to scale up every day at 8 am and scale down at 7 PM. The user is trying to setup another recurring process which scales up on the 1st of every month at 8 AM and scales down the same day at 7 PM. What will Auto Scaling do in this scenarioAuto Scaling will throw an error since there is a conflict in the schedule of two separate Auto Scaling ProcessesHowever, when I tried to reproduce it, 2 overlapping policies applied and executed without any issues.The only issue I had if I explicitly try to define same StartTime for both recurrent scheduled scaling action. But in case I'm adding them using python/boto3/API I'm not defining StartTime explicitly and everything working fine.The question is: Am I missing something or AWS technically allows creating overlapping scheduled scaling actions?FollowComment"

Answer: "1Accepted AnswerHello,Thanks for sharing the output and summary of the issue.Checking this I would like to inform that when there are 2 schedules Actions that are overlapping occurrence in that case : scheduled actions within an Auto Scaling group are executed in the order that they are specified.A scheduled action generally executes within seconds. However, the action might be delayed for up to two minutes from the scheduled start time. Because scheduled actions within an Auto Scaling group are executed in the order that they are specified, actions with scheduled start times close to each other can take longer to execute.Am I missing something or AWS technically allows creating overlapping scheduled scaling actions?There can be Overlapping between the different schedule actions but as mentioned above : scheduled actions within an Auto Scaling group are executed in the order that they are specified.Please follow the AWS Doc for more information on Schedule actions : https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-scheduled-scaling.html#sch-actions_rulesThanksCommentShareSUPPORT ENGINEERAWS-User-7728313answered 7 months ago"


Question: JVM Runtime.getRuntime().availableProcessors() returns 1 on AWS ECS Fargate

"public class Example {   public static void main(String[] args) {      // print statement at the start of the program      System.out.println("Start...");      System.out.print("Number of available processors are: ");      System.out.println( Runtime.getRuntime().availableProcessors());   }}Ref: https://www.tutorialspoint.com/get-number-of-available-processors-in-javaWhen I compile and run this code on AWS ECS Fargate getting "1" as the output even though I have specified more than 1 cpu in task def(4098 for 4 vCPU).Tested Java versions:Corretto-17.0.0.35.1Corretto-8.275.01.1But when I do the same on AWS EC2 inside docker by allocating CPU with --cpus for "docker run" I get the exact number what I pass to --cpus. Same results with AWS EC2 with Containerd as well.Also tested this in EKS 1.18 by setting CPU limit. It returns the number of CPUs specified in the CPU limit.So, wondering why "1" only in AWS ECS.FollowComment"

Answer: "0Hi, Good QuestionAs per https://www.databasesandlife.com/java-docker-aws-ecs-multicore/There is no way to get Java to automatically use find out many cores are available and use them all, on AWS ECS using Docker. You have to specify how many cores you want to use via the -XX:ActiveProcessorCount optionI think you would have to use Threads in Java in order to use all coreshttps://gist.github.com/adrianmsmith/10be72c62c8dd292aeca9c34346bd3eaIn my case, the Runtime.getRuntime().availableProcessors() call was returning 1, even on my expensive multi-core server. Therefore only one thread was started, and all my code ran sequentially, even though multiple cores were available (and would have been used if the threads had been started.)CommentShareSrianswered a year ago"


Question: Making Modable Games

"Hello all.I wanted to ask if it is easy to make your game modable, that is to say allow players to mod it freely with Lumberyard.Assume I am OK with distributing my game without "locking it up" say putting passwords on asset folders or some code files or all of code files. Is it possible that people can download it from Steam, then download Lumberyard from here, and by showing the game folder as a "project" can they make new maps, models etc... ?Unreal Engine lacks this area completely . It is a very requested feature that has to show itself fully.https://forums.unrealengine.com/development-discussion/modding/47062-making-your-game-moddable/page8Cryengine supposedly has it but to what degree I don't know. Also many people may not want to download and learn "infamous hardcore" Cryengine to mod a game anymore.I thought with many core "CrySystems" going away and Lumberyard becoming easier it might be wiser to invest in Lumberyard, capitalizing on the good image of Lumberyard completely free and much easier to use.Thanks.Follow"

Answer: "0Accepted AnswerMuch apologies for the extensive delay on this topic -- So pulling from our FAQ we've got the following on this scenario :)Q. Can I include Lumberyard's tools so my players can build mods for my game?Yes. Your right to redistribute Lumberyard in your game includes the right to redistribute pieces of the development environment in your game too. A list of redistributable components is included in the documentation. These rights also apply to companion products that you make available to end users to modify and create derivative works of your game. If you want to distribute Lumberyard components in source code form, please contact us.[Edit] More details:Modding is acomplicated area – developers have really creative and different ideas and arealways experimenting with mods, so we’re also in the experimentation phasethere with Lumberyard. Under our terms, you aren’t allowed to distributeLumberyard source code with your game, but you can compile pieces of Lumberyard into your game UI to allow players to use native tools for their mods. We’re sort of assuming that most players won’t want to muck around in C++source, but we’re interested to hear about it if they are.Now,that said, you can collaborate with others on source code changes over on ourGithub site at https://www.github.com/aws/lumberyard. We set that up to make it easier for the Lumberyard community to exchange ideasin a format that’s more developer-focused. As a friendly reminder, that’sa public forum, so when you post a fork you give other Lumberyard customers theright to use your fixes under the same terms as Lumberyard itself, and you giveus the right to add your changes into mainline Lumberyard.That’sa rough paraphrase of the Lumberyard T&Cs at https://aws.amazon.com/service-terms/#57._Amazon_Lumberyard_Engine– so if that doesn’t answer your question, or if you have more questions, itmight be better to chat by phone with one of our solutions architects. [Shoot us an email at ly-community at amazon (dot) com and Ican get that set up.]Hope this helps!SharerePost-User-5738838answered 5 years ago0Uhhm... Anyone ?SharerePost-User-4807048answered 6 years ago0Hey @REDACTEDUSERSharerePost-User-5738838answered 6 years ago0Hey @REDACTEDUSERSharerePost-User-5263425answered 5 years ago0This also only answers a portion of the original post so let me re-check this with our teams for a fuller answer as well -- stay tuned!SharerePost-User-5738838answered 5 years ago0Updated my original answer with more info -- let us know if this helps answer your questions @REDACTEDUSERSharerePost-User-5738838answered 5 years ago0Thumbs up :DSharerePost-User-5738838answered 5 years ago0Well that pretty much answered my question. I simply want to release my game as a "Project" with an .exe provided and players would simply download Lumberyard from here and open up my game as a project in Lumberyard. I think first short answer OKes this ;)Thank you very much for the detailed answer.I will send an e-mail to the adress you provided when I get to that stage for details.SharerePost-User-4807048answered 5 years ago"


Question: "How to add DS record for domain registered with Route 53, but using Cloudflare NS servers?"

"Cloudflare gives me a DS record I should add with my registrar in order to enable DNSSEC, but I don't know how to do it.FollowComment"

Answer: "0Please see instructions here underAdding public keys for a domainhttps://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-configure-dnssec.htmlCommentShareGary Mcleananswered a month agorePost-User-6227453 a month agoIt asks me to create KSK keys, but when I try to enable signing, I'm getting an error:Bad request.(HostedZonePartiallyDelegated 400: Hosted zone with ID 'Z07897512FQEE7PF1ZXU6' has NS records partially connected with its parent zone.)I can't spot anything related to adding the DS record Cloudflare asks for.Share"


Question: Lambda source code updating issue during its container image building via cdk

"I am making a lambda function through DockerImageFunction with DockerImageCode.fromImageAsset() from aws-cdk-lib/aws-lambda. The Dockerfile contains a collection of codec tools, and the lambda handler function code. Moreover, those codec tools takes 5 min to build, and hardly ever needs to be updated. The problem is that there are lot of lambda functions use the same codec tools, and the same codec tools get rebuilded everytime my lambda handler function code has been commited. Is there a way to craete those codec tools first, and for those lambda functions which need the tools during image building, just import it? Thanks!FollowComment"

Answer: "0Accepted AnswerYou could create a base image that contains all your shared dependencies (i.e. codec tools) and then reference this base image in the Dockerfile on your lambda functions. The base image should be built as a pre-requisite step and pushed to an ECR repository.CommentShareogaumondanswered a year agostrange-folk-df787 10 months agoWould you mind pointing out how exactly to create a base image and then reference it in the lambda? I was making the base image by the DockerImageAsset from aws-cdk-lib/aws-ecr-assets, and then using asset.imageUri to reference it when creating a lambda, like the following:new DockerImageFunction(this, "lambda-handler", {code: DockerImageCode.fromImageAsset(path.join("/dockerfile/path/"), {buildArgs: { CODEC_SOURCE: asset.imageUri} })})But I got an Error said:Cannot use tokens in keys or values of "buildArgs" since they are needed before deployment.Thanks!Shareogaumond 10 months agoThe error you get from CDK is because the imageUri is only known at execution time, but the buildArgs are needed at synth time. You may need to separate the build of the base image in a separate process to have the base image pushed to a known ECR registry that can then be referenced from the lambda stack.  The following construct could be used to publish the base image to ECR: https://github.com/cdklabs/cdk-ecr-deploymentShare"


Question: How do I do single search query?

"I am trying to load data obtained from the database so I can use it for further processing(like charts and the use of buttons) but I came to realize that when running the code below, the program stays in query mode and does not quit, so how do I do single query or a read? I have looked around the forms but I have not found anything similar to my problem.Amplify.DataStore.query(            Holder::class.java,            { items ->                while (items.hasNext()) {                    val item = items.next()                    Log.i("Amplify", "Uploaded time: " + item.completedAt)                    Log.i("Amplify", "Data Uploaded: " + item.data)                    temp = item.data.toMutableList()                    //Log.i("Debug1", "Held Data: $temp")                }            },            { failure -> Log.e("Amplify", "Could not query DataStore", failure) }        )FollowComment"


Question: Cognito verification message new line from console

"When changing the default message and adding new lines from console, all the text appears in a single line. Tried adding /n and <br> tags with no luck. Building a Lambda trigger seems overkill. Any options?FollowComment"

Answer:
"-1Hi,From the question I understand that you are trying to change the default Cognito message and add new lines but you are not able to.With email messages you can customize the message with HTML. For example you could customize your message to the following. <!DOCTYPE html>
Verification Message

Welcome

Your verification code is {####}.
This would make the message have spaces such as the following.Verification MessageWelcomeYour verification code is XXXXXX.If you are having issues with editing the message Cognito is sending I would recommend creating a case with AWS support and an engineer will be able to assist in troubleshooting.I hope you have a great rest of your day.CommentShareSUPPORT ENGINEERPatrick_Vanswered a year ago"


Question: VPC endpoint is not available for timestream in eu-central-1

"Hi Team,I'm trying to create an endpoint it the VPC of eu-central-1 (frankfurt) region, but I don't see the timestream service in the supported service. However as per this page https://docs.aws.amazon.com/general/latest/gr/timestream.html, timestream endpoint is available in the frankfurt region. Please provide your inputs if I'm missing something here.Thanks,BalaFollowComment"

Answer: "1https://docs.aws.amazon.com/timestream/latest/developerguide/VPCEndpoints.htmlCommentSharerePost-User-5208427answered 2 months agorePost-User-3675045 2 months agoI followed these steps, but still don't see the timestream service name in the endpoint for Frankfurt region. However, in the same account I could this in Virginia Region.Share0I know https://aws.amazon.com/about-aws/whats-new/2021/03/amazon-timestream-now-supports-amazon-vpc-endpoints/ says Timestream VPC endpoints are available but I'm skeptical they actually are yet.Running CLI commands as described in https://docs.aws.amazon.com/vpc/latest/privatelink/aws-services-privatelink-support.html "View available AWS service names" I can't see Timestream for any region I tried, including us-east-1 and us-west-2.CommentShareEXPERTskinsmananswered 2 months agorePost-User-3675045 2 months agoI could create an endpoint in the US-east-1 in N.Virigina, but not in the  eu-central-1 (frankfurt). It's not clear what is the issue here. is it due to restriction(I don't think as per this link https://docs.aws.amazon.com/general/latest/gr/timestream.html)  or am I missing something.Shareskinsman EXPERT2 months agoThat link looks like it lists service endpoints which can be used from public internet; no information on support of VPC Endpoints there though.Share"


Question: Sagemaker Studio in VPC Only fails to create Notebook job with "Unexpected error occurred during creation of job."

"The CloudWatch logs show following error    Traceback (most recent call last):      File "/opt/conda/envs/studio/lib/python3.9/site-packages/jupyter_scheduler/handlers.py", line 194, in post        job_id = await ensure_async(self.scheduler.create_job(CreateJob(**payload)))      File "/opt/conda/envs/studio/lib/python3.9/site-packages/jupyter_server/utils.py", line 182, in ensure_async        result = await obj      File "/opt/conda/envs/studio/lib/python3.9/site-packages/sagemaker_scheduling/logging.py", line 109, in wrapper        raise excep      File "/opt/conda/envs/studio/lib/python3.9/site-packages/sagemaker_scheduling/logging.py", line 105, in wrapper        return await func(*args, **kwargs)      File "/opt/conda/envs/studio/lib/python3.9/site-packages/sagemaker_scheduling/scheduler.py", line 210, in create_job        s3_file_uploader = await self._prepare_job_artifacts(      File "/opt/conda/envs/studio/lib/python3.9/site-packages/sagemaker_scheduling/scheduler.py", line 168, in _prepare_job_artifacts        input_uri = S3URI(runtime_environment_parameters.s3_input)      File "/opt/conda/envs/studio/lib/python3.9/site-packages/sagemaker_scheduling/runtime_environment_parameters.py", line 40, in s3_input        return self.parameters.get(RuntimeEnvironmentParameterName.S3_INPUT.value)    AttributeError: 'NoneType' object has no attribute 'get'[E 2023-03-16 15:36:01.070 SchedulerApp] 'NoneType' object has no attribute 'get' Traceback (most recent call last): File "/opt/conda/envs/studio/lib/python3.9/site-packages/jupyter_scheduler/handlers.py", line 194, in post job_id = await ensure_async(self.scheduler.create_job(CreateJob(**payload))) File "/opt/conda/envs/studio/lib/python3.9/site-packages/jupyter_server/utils.py", line 182, in ensure_async result = await obj File "/opt/conda/envs/studio/lib/python3.9/site-packages/sagemaker_scheduling/logging.py", line 109, in wrapper raise excep File "/opt/conda/envs/studio/lib/python3.9/site-packages/sagemaker_scheduling/logging.py", line 105, in wrapper return await func(*args, **kwargs) File "/opt/conda/envs/studio/lib/python3.9/site-packages/sagemaker_scheduling/scheduler.py", line 210, in create_job s3_file_uploader = await self._prepare_job_artifacts( File "/opt/conda/envs/studio/lib/python3.9/site-packages/sagemaker_scheduling/scheduler.py", line 168, in _prepare_job_artifacts input_uri = S3URI(runtime_environment_parameters.s3_input) File "/opt/conda/envs/studio/lib/python3.9/site-packages/sagemaker_scheduling/runtime_environment_parameters.py", line 40, in s3_input return self.parameters.get(RuntimeEnvironmentParameterName.S3_INPUT.value) AttributeError: 'NoneType' object has no attribute 'get'Also all the "advanced options" are missing in the "create notebook job" dialogue.The setting is isolated VPC with permissions updated accordingly: https://docs.aws.amazon.com/sagemaker/latest/dg/scheduled-notebook-policies.htmlThe VPC endpoints for S3, SageMaker API and Runtime, SSM, STS, Metrics, Logs, ECR API and ECR DKR are deployed in the VPC. Notebooks are working fine.Any idea what could be wrong?FollowComment"

Answer: "1Accepted AnswerThanks for reporting the issue.Can you try also configuring following two vpc endpoints?Amazon EC2Amazon EventBridgeAlso, if you have s3 vpc gateway endpoint policy with fine control of allowed s3 bucet, please allow s3 access for sagemakerheadlessexecution-prod-* like below.FYI - you can find more reference link from https://docs.aws.amazon.com/sagemaker/latest/dg/create-notebook-auto-execution-advanced.html{   "Action":[      "s3:*"   ],   "Resource":[      "arn:aws:s3:::sagemakerheadlessexecution-prod-*",      "arn:aws:s3:::sagemakerheadlessexecution-prod-*/*"   ],   "Effect":"Allow",   "Sid":"SCTASK14554266"}CommentShareEdward Sunanswered 3 months agorePost-User-6268411 3 months agoThanks, the permissions surely did the trick. The "advanced options" appeared in the dialogue immediately after adding the permissions. The job was successfully started.SharerePost-User-6268411 3 months agoI would suggest adding a note here: https://docs.aws.amazon.com/sagemaker/latest/dg/scheduled-notebook-policies.htmlShare"


Question: Does RDS/Aurora for postgresql support cron.task_running_timeout

When trying to add the cron.task_running_timeout to increase the timeout for pg_cron I am getting the error:Error: error modifying DB Cluster Parameter Group: InvalidParameterValue: Could not find parameter with name: cron.task_running_timeoutDoes this mean the parameter is unsupported on RDS? Do I need to set the parameter at the session level?Thanks!FollowComment

Answer: "1To answer your query, I would like to mention that the parameter ‘cron.task_running_timeout’ is not available currently for either RDS for PostgreSQL or Aurora for PostgreSQL. You can also verify the same by referring the below documents that state all the custom parameters currently available for RDS and Aurora for PostgreSQL:[+] RDS for PostgreSQL DB instance parameter list:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.Parameters.html#Appendix.PostgreSQL.CommonDBATasks.Parameters.parameters-list[+] Aurora PostgreSQL cluster-level parameters:https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Reference.ParameterGroups.html#AuroraPostgreSQL.Reference.Parameters.Cluster[+] Aurora PostgreSQL instance-level parameters:https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Reference.ParameterGroups.html#AuroraPostgreSQL.Reference.Parameters.InstanceAs the parameter is not supported currently for RDS/Aurora for PostgreSQL, hence you are facing the below mentioned error while modifying the parameter in the parameter group:‘Error: error modifying DB Cluster Parameter Group: InvalidParameterValue: Could not find parameter with name: cron.task_running_timeout’Moreover, as you have also asked whether you need to set the parameter on the session level, I would like to inform that as per the architecture of PostgreSQL, you need to modify the timing task timeout time by setting the guc parameter cron.task_running_timeout in postgresql.conf and restarting the database to take effect.However, RDS/Aurora being a managed database service, it is not possible to have root access of the database to modify the config file of the DB engine. Hence, currently the parameter ‘cron.task_running_timeout’ cannot be modified by the user for RDS/Aurora for PostgreSQL.In case, the parameter is made available for modification in the future, you can find the same listed in the parameter lists whose reference links have been provided above.CommentShareSUPPORT ENGINEERVidit Singhanswered 10 months ago0Thank you for your incredibly detailed answer. I appreciate it!CommentSharenkranesanswered 10 months ago"


Question: Setting up Amazon Connect Contact Center

"I am new to the platform. I am trying to set up an omnichannel remote contact center. I got stuck up as soon as I started the setup process, can anyone in the forum with experience with the setup process who can assist me?FollowComment"

Answer: 0These 3 tutorials introduces basic capability:https://docs.aws.amazon.com/connect/latest/adminguide/tutorials.htmlThis is a self learn workshop:https://catalog.us-east-1.prod.workshops.aws/workshops/b06b53f6-3b36-4e1a-a208-ddbeb25405c6/en-USLost of good ideas here:https://aws.amazon.com/blogs/machine-learning/category/contact-center/amazon-connect/And finally the resource center:https://aws.amazon.com/connect/resources/CommentShareKishananswered a year ago


Question: Getting TrainingJobName from Training step of Sagemaker Pipeline

"I am running a sagemaker pipeline with a training step. This whole setup runs from a Lambda function while I pass a few parameters to the pipeline.py file. To get the TrainingJobName from the training step,my code is step_train.__dict__['step_args']['TrainingJobName']This works fine while I running it in sagemaker notebook but when I execute the same code to get the train job name from lambda, I get this error [ERROR] TypeError: '_StepArguments' object is not subscriptable[ERROR] TypeError: '_StepArguments' object is not subscriptable Traceback (most recent call last):   File "/var/task/lambda_function.py", line 46, in lambda_handler     pipeline = create_pipeline(validated_api_input)   File "/tmp/pipeline.py", line 105, in create_pipeline     "job_name" : training_step['step_args']['TrainingJobName']How do I resolve this?FollowComment"

Answer: "0Hello there,Thank you for contacting.The error specifically comes up when you are trying to use a subscript for a data-type which isn't subscript-able, in your case this is coming when you are treating the object _StepArguments as a dictionary. A workaround for the same will be to implement a __get_item___ function in your code. A sample for the same is as follows:def __getitem__(self, key):        return self.__dict__[key]However, as this was working on Sage-maker instance by default, also share the Python version that you are using and if you are using the same version of library in both Lambda function and SageMaker.CommentShareSUPPORT ENGINEERBishwa AWSanswered 6 months ago0_StepArguments is a new concept introduced in newer version of SageMaker Python SDK. If you want to keep you original code, you need to pin the same SDK version in Lambda as in your notebook instance. Normally, I guess you will be installing the latest version but there has been a compatibility-broken change since then.If you are OK to code changes, you could follow https://docs.aws.amazon.com/sagemaker/latest/dg/build-and-manage-steps.html#build-and-manage-properties to use properties of each step, which maps to Describe* response. You will still be able to retrieve any job info. This is actually the recommended way.CommentShareAWS-User-5210721answered 6 months ago"


Question: RDS SQL Server backup options

"A customer is exploring RDS SQL server. The RDS SQL Server documentation (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.html) states that “Native backups of RDS databases larger than 1 TB aren't supported.” The question came up asking what backup options are available if a database is larger than 1 TB? We know that restores support up to 16 TB (or presumably 64 TB if we get AWS support to stripe volumes), but curious what is driving the backup limitation?FollowComment"

Answer: "0Accepted Answer1Tb number is not being enforced and not limit actually. It has been empirically determined that backup might take longer than 24 hours on a very small instance. The real limit is 24 hours. If you backup runs around the clock then it will interfere with next day automated backup and will be killed. That's a real limit. 1Tb is derivative of that. So, if you right sized you instance and your backups complete in reasonable amount of time then you can completely ignore 1Tb number.CommentShareAWS-User-5580265answered 3 years ago"


Question: Launch node.js app from subdirectory (monorepo)

I have a monorepo with various shared assets folders and a node.js "webapp" folder.How can I use the "/webapp" directory and its package.json to launch?I added a Procfile to the root directory with the following:web: cd webapp && npm startThis now errors with:----------------------------------------/var/log/web.stdout.log----------------------------------------Aug 27 00:26:39 ip-10-185-211-24 web: > Elastic-Beanstalk-Sample-App@0.0.1 start /var/app/currentAug 27 00:26:39 ip-10-185-211-24 web: > node app.jsAug 27 00:26:39 ip-10-185-211-24 web: Server running at http://127.0.0.1:8080/Aug 27 00:36:51 ip-10-185-211-24 web: npm ERR! missing script: startAug 27 00:36:51 ip-10-185-211-24 web: npm ERR! A complete log of this run can be found in:Aug 27 00:36:51 ip-10-185-211-24 web: npm ERR!     /home/webapp/.npm/_logs/2020-08-27T00_36_51_197Z-debug.logThe package.json has a start key so I assume its not using the correct package.json.FollowComment

Answer: 0The solution was to add a Procfile to the root directory with the following:web: cd webapp && npm startCommentSharewonkaanswered 3 years ago


Question: Chinese tone support

"I'm trying out the Mandarin Chinese voice of Polly, but can't seem to find a way to tell it which Chinese tones to use. There are several words in Chinese that can be pronounced in multiple ways (i.e. 当天 → dàng tiān/dāng tiān), so it would be convenient if Polly could support pinyin input and not just hanzi.I tried using SSML and IPA tone letters, but they seem to be ignored by Polly. As it is now, Polly will sometimes use the wrong tones and I haven't been able to find a workaround.If there is some workaround for this, or plans for supporting tone information, please let me know.FollowComment"

Answer: "0Accepted AnswerHi PeterS,The Chinese voice Zhiyu supports Pinyin in SSML tags. Please use x-amazon-pinyin for the alphabet field and use number 0 to 4 for tones. For your example:<speak>  <phoneme alphabet="x-amazon-pinyin" ph="dang1-tian1">当天</phoneme>  <phoneme alphabet="x-amazon-pinyin" ph="dang4-tian1">当天</phoneme>  </speak>  Thank you for reaching out to us!CommentSharechiaoting-awsanswered 4 years ago0Ah, perfect, that changes everything. Thank you!Btw, I can't seem to find this anywhere in the documentation. It might be worth adding to the documentation in case there are others looking for this feature as well.CommentSharePeterSanswered 4 years ago"