Question: RDS disconnected from the ec2

How can I return to the RDS disconnected from the ec2 instance I was using?FollowComment

Answer: "0All data in RDS on my account has been deleted, how can I recover it?CommentSharerePost-User-2776052answered 8 months agoIndranil Banerjee AWS EXPERT8 months agohttps://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.htmlTake a look at https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIT.htmlShare0Can you please provide some more details? Which RDS flavor are you using? Were you running some tool on your EC2 machine to connect to the RDS database? How did the EC2 machine get disconnected?CommentShareEXPERTIndranil Banerjee AWSanswered 8 months ago"


Question: get `last export` from s3 inventory configuration in cli

"In the AWS S3 UI there's a link to the Last export from the inventory configuration and I'm wondering if there's a way to access the last exported inventory configuration in cli?Ultimately, I need a script that gets only the most recent inventory configuration csv file. Is there any way to do this without going through Athena or manually sorting by date?FollowComment"

Answer: "0Hello there,To get the latest inventory report from your bucket, you can run any of the below commands for the AWS CLI.aws s3api list-objects --bucket $BUCKET --query 'Contents[?LastModified>2023-02-09].{ Key: Key, LastModified: LastModified }' --output text | sort -k2 | tail -1aws s3api list-objects-v2 --bucket $BUCKET --query 'sort_by(Contents, &LastModified)[-1].Key' --output=textThe first command will display the path of the latest file and also the date and time it was created in the bucket.Once the file has been located and listed, you can then download it to your local machine with the below commandaws s3 cp s3://bucket-name/filename.txt ./Hope this helps.CommentShareMarshall_Banswered 21 days ago"


Question: Detecting data-share in Amazon Quicksight

"Hi,Is there any way to detect if data is shared across accounts in Amazon Quicksight ?FollowComment"

Answer: "0Accepted AnswerFrom the Amazon QuickSight documentation:You can only share analyses with users or groups who are in your Amazon QuickSight account.https://docs.aws.amazon.com/quicksight/latest/user/sharing-analyses.htmlThe other question you link to refers to QuickSight templates. Templates allow you to store the visual configuration and data schema associated with a dashboard and then easily replicate the dashboard for different sets of users or different data, within or across accounts. To create a template, you would first have an analysis with visuals created in QuickSight then go through the process of creating one and sharing to another account.For checking permissions, you can use the API actions like DescribeTemplatePermissions to see who the templates are being shared with & DescribeDataSetPermissions to see who has permissions to access the dataset. You can also log QuickSight operations with CloudTrail for additional governance https://docs.aws.amazon.com/quicksight/latest/user/logging-using-cloudtrail.htmlCommentShareAWS-User-2013569answered 3 years ago"


Question: Email notifications

How to get email notifications for when we created user by IAM or RDS ?FollowComment

Answer: "0Please follow this prescriptive guidance that provides al the steps to generate a notification when an IAM user is createdhttps://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/send-a-notification-when-an-iam-user-is-created.htmlFor steps specific to RDS, please refer to https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.htmlCommentShareAnanth Tirumanuranswered 7 months ago"


Question: How to send messages with GameLift Client in Java

"The GameLift Reference guide shows information on actions available using the C# SDK.  It shows methods for "NewMessage" and "SendMessage".  I am building my client with Java, and I can't seem to find any equivalent function in Java to send a message to the Server from the Client.  Does anyone know what the equivalent methods in Java are for sending messages to a RealTime server? Thank you.https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-sdk-csharp-ref-actions.htmlFollowComment"

Answer: "0Hello, I think you are referring to the AWS SDK for Java, that is not only for GameLift, but for the majority of AWS services that are actionable with an API call see it here. With the SDK you might access different actions of the GameLift service management, like session placement and other. But the other SDK you are referring, the real time client API is meant for Unity (C#) and there is no other option at the moment for that particular SDK in any other programming languageCommentShareGabriel_Manswered a year agoAWS-User-9036191 a year agoHi. I am familiar with the SDK and have found ways of using Java to create Game and Player Sessions.  Once the Player Session is created I do not understand how I can interact with it or communicate to it.  There is a reference to example Server logic here: https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-script.htmlWhat APIs in the Java SDK are used to communicate with that script?  There must be some way to communicate to an AWS GameLift server script using Java.Share"


Question: How to play a message to a caller telling them Number of contacts waiting in the queue

I am needing to add a Flow Block to our contact flow to play a message informing the caller of the Number of contacts waiting in the queue.  If I use a a 'Get Queue Metrics' node how do i get the info and play the info back to the caller?FollowComment

Answer: "0While I've never done this with Connect and I'll go into it at the end as to why, there does seem to be to ways to do this. Based on this link (https://docs.aws.amazon.com/connect/latest/adminguide/get-queue-metrics.html) you do get "Count of contacts in the queue" (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#in-queue-real-time). The second method would be to create a lambda that hits the GetCurrentMetricData endpoint (https://docs.aws.amazon.com/connect/latest/APIReference/API_GetCurrentMetricData.html) and ask it to return CONTACTS_IN_QUEUE metric.Now, why I highly recommend you don't do this or do it only in very specific cases. Callers will not have context on what 100 calls in queue or 2 calls in queue really mean. For example, 100 calls in queue when you have 100 agents and your AHT is 3 minutes means that the wait time will be under 5 minutes. And having 2 calls in queue when you have a single agent with an AHT of 5 minutes means that 10 minutes of waiting could happen. So telling your caller there are X calls in queue doesn't really give enough information to make an informed decision. If you're looking to deflect the call there are better ways of doing it and if you're looking to avoid the caller from holding and calling back later what about using callback to make that a lot more comfortable on the caller?davidCommentSharedmaciasanswered 6 months agoEXPERTAWS-samfredreviewed 2 months ago0Have you tried this blog post? https://aws.amazon.com/blogs/contact-center/optimize-customer-wait-experience-in-queue-using-amazon-connect/.It provides a few best practices to optimize a caller’s time while in a queue, and in turn improve customer experience.These techniques include:Provide estimated wait timeSet expectations that the customer’s position in queue will not be lostProvide an option to receive a callbackPersonalize music on holdPersonalize messaging on hold,Collect information that expedites serviceAssist with performing self-service on a digital channelCommentShareMagdaanswered 6 months ago"


Question: How to create a composite alarm that reduces alarm noise during a deployment window for ecs service on Fargate

"Hi, I want to create a composite alarm based on one of the example expressions in https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Create_Composite_Alarm.html.Quote in the document 'ALARM(CPUUtilizationTooHigh) AND NOT ALARM(DeploymentInProgress)The expression specifies that the composite alarm goes into ALARM if CPUUtilizationTooHigh is in ALARM and DeploymentInProgress is not in ALARM. This is an example of a composite alarm that reduces alarm noise during a deployment window.'No problem with the first alarm which uses CPUUtilization metrics. I'm stuck with the second part. How to implement 'NOT ALARMS(DeploymentInProgress)'. Which metrics can I use to create this alarm?FollowComment"

Answer: "0Likely you'd need "deployment system" to publish a metric DeploymentInProgress with value 1 for each minute there is a deployment. That would allow you to have an alarm called DeploymentInProgress that triggers on seeing a 1 and stays in alarm while seeing a 1.The magic ingredient is that metric with value 1, not sure how you would get that, depends on what deployment system you have. One way that can help is writing a Lambda function that is triggered every minute by an EventBridge scheduled rule and that Lambda could query "deployment system" and log the metric you need (EMF is best way to log metric in Lambda).CommentShareAmazon-CloudWatch-01answered 7 months ago"


Question: Fargate timeout problem

"Hi. I've got an unexpected error, I guess it's about timeout.Task takes time quite long. generally less than 1minute. There is no problem when it finish before 1 minute. But sometimes task takes more than 1 minute. Error occurs when it takes more than 1minute. Please see below.[ec2-user@ip-000-00-0-00 ~]$ curl --location --request POST 'userid.ap-northeast-2.elb.amazonaws.com:port/service' -d "video.mp4" -o output.json -vNote: Unnecessary use of -X or --request, POST is already inferred.  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                 Dload  Upload   Total   Spent    Left  Speed  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 172.31.74.35:5000...* Connected to loadbalancer.ap-northeast-2.elb.amazonaws.com (000.00.00.00) port 0000 (#0)> POST /service HTTP/1.1> Host: userid.ap-northeast-2.elb.amazonaws.com:port> User-Agent: curl/7.79.1> Accept: */*> Content-Length: 37> Content-Type: application/x-www-form-urlencoded>} [37 bytes data]100    37    0     0    0    37      0      0 --:--:--  0:00:59 --:--:--     0* Mark bundle as not supporting multiuse< HTTP/1.1 500 Internal Server Error< Date: Tue, 19 Apr 2022 01:45:23 GMT< Content-Type: application/octet-stream< Content-Length: 0< Connection: keep-alive< Server: Python/3.7 aiohttp/3.7.4.post0<100    37    0     0    0    37      0      0 --:--:--  0:01:00 --:--:--     0* Connection #0 to host loadbalancer.ap-northeast-2.elb.amazonaws.com left intactm left intactWith curl verbose option, I get 500 Internal Server Error at 0:00:59. How can I finish my task which takes more than 1minutes?I've triedincreasing Health check grace period for ECS Serviceincreasing idle timeout of Load Balancerincreasing timeout and interval of Target groupcurl options (like keep-alive, max-time)My EC2 Instancetype : t2.microAmazon LinuxMy ServiceService type : REPLICALaunch type : FARGATEMy task in serviceNetwork mode : awsvpcCompatibilities : EC2, FARGATERequries compatibilities : FARGATEEFS mountedDockerAppreciate,FollowComment"

Answer: "0Request / Response taking longer than a minute is already in very bad standing.Make your application faster or redesign it to be batched / async?CommentSharekaianswered a year agoAWS-User-7398716 a year agoIt's machine learning service so it takes long. We can't make our application faster than this.Sharejmidgley 9 months agoWebsockets is another legitimate use case where you don't want the connection to be automatically timed out. Anyone figure out where the timeout is set?Share0I know this is an old question, but I was having a similar problem and thought I would provide my experience in case it would help anyone else (for the record, I think the answer of "Make your application faster" is not helpful at all). In my case, we are hosting a website with Fargate and fronting it with CloudFront origins. Long running APIs would timeout and return a 504 to the client due to the CloudFront request timeout setting on the origin. By default, the max you can set this timeout is 60 seconds, but you can do a service limit request and have it bumped up to 180 seconds. That is their current hard limit and they won't go higher than that. Once I did that and updated my CloudFront origin, my 504 errors went away.CommentSharejkehoeanswered 5 months ago"


Question: "My AWS Batch job service uses a lot of space to S3, while my code doesn't work with S3?"

"I have 5 Batch jobs running on AWS Batch with Fargate,when it was running I noticed the capacity to S3 spiked through the NAT Gateway.I queried VPC Logs using Athena and found that the destination IP is of S3None of my code uses S3, when I turn them off the capacity going to S3 is completely reduced.I don't understand why my Batch job service uses S3 while my code doesn't.Is there any way to investigate to know exactly where the capacity is coming from?(except https://aws.amazon.com/premiumsupport/knowledge-center/vpc-find-traffic-sources-nat-gateway/?nc1=h_ls , I read it).I understand it is possible to use S3 VPC Endpoint to handle throughput through the NAT Gateway, but I want to find the root cause.FollowComment"

Answer: "1Accepted AnswerYour container image (which I assume is in ECR) is stored in s3 which is the likely cause of the s3 traffic spike. An s3 gateway endpoint can be setup to optimise the download - see hereCommentShareEXPERTPeter_Ganswered 10 months agoEXPERTBrettski-AWSreviewed 10 months agoiamnick 10 months agoOk many thanks,exactly I am using ECRbut I remember I saw somewhere on the internet wrote that ECR is using S3 to store images,where can I find evidence of this (eg an AWS blog, tutorial link, ...).I need to prove something...SharePeter_G EXPERT10 months agoFrom the link I posted above - "When your containers download images from Amazon ECR, they must access Amazon ECR to get the image manifest and then Amazon S3 to download the actual image layers"Shareiamnick 10 months agoThank you so muchShare"


Question: Connecting M2MQTT Paho Python Client to AWS IoT

"I am having difficulty connecting to AWS IoT with the following Python script. I followed AWS IoT Core console and created a Thing and Security Certificate, then created policy and attached it certificate, then attached certificate to a Thing. Eventually I downloaded private key PEM, security certificate PEM and CA certificates (AmazonRootCA1.crt and AmazonCARoot3.crt).So here is the script - there is no errors generated when I run it - it simply keeps waiting for server response...Any help or clue would be greatly appreciated. I had no problem connecting to AWS IoT with C# client that I wrote which in addition to CA certificate required private key in .PFX format which I created...#! /usr/bin/python3.5import serialimport timeimport datetimeimport osimport socketimport sslimport loggingimport paho.mqtt.client as mqttimport sysprint(sys.executable)def on_disconnect(client, userdata, rc):if rc==0:print("client disconnected OK")client.connected_flag=False#client.disconnect_flag=Truedef on_connect(client, userdata, flags, rc):if rc==0:print("Connected OK")mqtt.Client.connected_flag=Truemqtt.Client.bad_connection_params=Falseelse:mqtt.Client.bad_connection_params=True    if rc==1:          print("Failed to connect. Connection refused, unacceptable protocol version. Error Code=", rc)      elif rc==2:          print("Failed to connect.Connection refused, identifier rejected. Error Code=", rc)      elif rc==3:          print("Failed to connect.Connection refused, server unavailable. Error Code=", rc)      elif rc==4:          print("Failed to connect.Connection refused, bad user name or password. Error Code=", rc)      elif rc==5:          print("Failed to connect.Connection refused, not authorized. Error Code=", rc)      rpiclient.loop_stop()      sys.exit()  def on_publish(client, userdata, mid):if rc==0:print("Data published OK: ", userdata)else:print("Failed to publish data. MessageID=", mid)passbroker="xxxxxxxxxxxxxxxx-ats.iot.us-west-2.amazonaws.com"port=8883rpiclient = mqtt.Client("GravityStorms", clean_session=True, userdata=None, protocol=MQTTv311, transport="tcp")caCertPath =  "./AmazonRootCA1.crt"clientCertFilePath = "./xxxxxxxxxx-certificate.pem.crt"keyFilePath = "./xxxxxxxxxx-private.pem.key"rpiclient.tls_set(caCertPath,certfile=clientCertFilePath,keyfile=keyFilePath,cert_reqs=ssl.CERT_REQUIRED,tls_version=ssl.PROTOCOL_TLSv1_2,ciphers=None)rpiclient.tls_insecure_set(False)mqtt.Client.connected_flag = Falsemqtt.Client.bad_connection_params=Falserpiclient.on_connect = on_connectrpiclient.on_publish = on_publishrpiclient.on_disconnect = on_disconnectrpiclient.loop_start()rpiclient.will_set("dwm/position", "Client PahoClient-on-RPi2 had unexpectedly disconnected", 1, True)try:print("Connecting to MQTT broker ",broker)rpiclient.connect(broker, port, keepalive=60)time.sleep(1)print("mqtt.Client.connected_flag={}, mqtt.Client.bad_connection_params={}".format(mqtt.Client.connected_flag, mqtt.Client.bad_connection_params))  while mqtt.Client.connected_flag == False and mqtt.Client.bad_connection_params == False:      print("Waiting for connection...");      time.sleep(1)  if mqtt.Client.bad_connection_params == True:      rpiclient.loop_stop()      sys.exit()        except Exception as ex:print("Connection to MQTT Broker failed: ", ex)rpiclient.loop_stop()sys.exit()rpiclient.loop_stop()rpiclient.disconnect()FollowComment"

Answer: "0Hi,I was able to get your code to connect. I had to comment out the following to get it to work:#rpiclient.will_set("dwm/position", "Client PahoClient-on-RPi2 had unexpectedly disconnected", 1, True)I also had to change MQTTv111 to mqtt.MQTTv311 to get it to compileWorking code below....#! /usr/bin/python3.5import serialimport timeimport datetimeimport osimport socketimport sslimport loggingimport paho.mqtt.client as mqttimport sysprint(sys.executable)def on_disconnect(rpiclient, userdata, rc):  if rc==0:    print("client disconnected OK")    mqtt.connected_flag=False    #client.disconnect_flag=Truedef on_connect(rpiclient, userdata, flags, rc):  if rc==0:    print("Connected OK")    mqtt.Client.connected_flag=True    mqtt.Client.bad_connection_params=False  else:    mqtt.Client.bad_connection_params=True    if rc==1:      print("Failed to connect. Connection refused, unacceptable protocol version. Error Code=", rc)    elif rc==2:      print("Failed to connect.Connection refused, identifier rejected. Error Code=", rc)    elif rc==3:      print("Failed to connect.Connection refused, server unavailable. Error Code=", rc)    elif rc==4:      print("Failed to connect.Connection refused, bad user name or password. Error Code=", rc)    elif rc==5:      print("Failed to connect.Connection refused, not authorized. Error Code=", rc)    rpiclient.loop_stop()    sys.exit()def on_publish(rpiclient, userdata, mid, rc):  if rc==0:    print("Data published OK: ", userdata)  else:    print("Failed to publish data. MessageID=", mid)  passbroker="xxxxxxxxxxxxxx-ats.iot.us-east-1.amazonaws.com"port=8883rpiclient = mqtt.Client("GravityStorms", clean_session=True, userdata=None, protocol=mqtt.MQTTv311, transport="tcp")caCertPath = "./root-CA.crt"clientCertFilePath = "./HomeComputer.cert.pem"keyFilePath = "./HomeComputer.private.key"rpiclient.tls_set(caCertPath,    certfile=clientCertFilePath,    keyfile=keyFilePath,    cert_reqs=ssl.CERT_REQUIRED,    tls_version=ssl.PROTOCOL_TLSv1_2,    ciphers=None)rpiclient.tls_insecure_set(False)mqtt.Client.connected_flag = Falsemqtt.Client.bad_connection_params=Falserpiclient.on_connect = on_connectrpiclient.on_publish = on_publishrpiclient.on_disconnect = on_disconnectrpiclient.loop_start()#rpiclient.will_set("dwm/position", "Client PahoClient-on-RPi2 had unexpectedly disconnected", 1, True)try:  print("Connecting to MQTT broker ",broker)  rpiclient.connect(broker, port, keepalive=60)  time.sleep(1)  print("mqtt.Client.connected_flag={}, mqtt.Client.bad_connection_params={}".format(mqtt.Client.connected_flag, mqtt.Client.bad_connection_params))  while mqtt.Client.connected_flag == False and mqtt.Client.bad_connection_params == False:    print("Waiting for connection...");    time.sleep(1)    if mqtt.Client.bad_connection_params == True:      rpiclient.loop_stop()      sys.exit()except Exception as ex:  print("Connection to MQTT Broker failed: ", ex)  rpiclient.loop_stop()  sys.exit()rpiclient.loop_stop()rpiclient.disconnect()Hope this helps!-randyCommentShareRandyTakeshitaanswered 4 years ago0Randi,Wow! That great news. I really appreciate it. I spent enormous amount of time and examine plethora of options, except of course, the one you changed. I will try this today!EDIT: Worked!Edited by: securigy2 on Aug 19, 2019 6:50 PMCommentSharesecurigy2answered 4 years ago"


Question: getFunctionUrlConfig doesn't work as expected

Trying to use the function getFunctionUrlConfig with correct FunctionName param. Keep getting 404 ResourceNotFoundException even though the same param works with other functions like getFunctionEventInvokeConfig. Is it a permission thing on the lambda? Using NodeJS and AWS SDK.FollowComment

Answer: 0Are you using the latest version of the SDK? Function URLs are fairly new.CommentShareEXPERTskinsmananswered a year agoAWS-User-2579948 a year agoThank you @skinsman. Yeah I did update the AWS-SDK version (v 2.1141.0 on npm). It still doesn't work :(Share


Question: MLOps - SageMaker Pipeline stalls at approval step

"I have deployed the SageMaker pipeline as described in the SageMaker Immersion Day and updated it to the listed workflow. The nonproduction environment deployment works fine, but it never asks for approval to deploy to production.Lab: https://catalog.us-east-1.prod.workshops.aws/workshops/63069e26-921c-4ce1-9cc7-dd882ff62575/en-US/lab6/option1#build-and-trigger-the-pipeline-runWhat might be causing the issue?FollowComment"


Question: Storage Gateway VTL Mode

"I am new to AWS.  To get my feet wet, I started with the Storage Gateway in VTL Mode.  I want to start creating long term backups in AWS Deep Archive Storage (This is data we will only need in case of a disaster).  We have several Windows Servers with Veeam B&R Enterprise.I want to know If I can use the same Storage Gateway VTL on multiple Backup Servers?If so, being that the Storage Gateway VTL has 10 drives, is it possible to connect several Backup Servers to the same Storage Gateway VTL and explicitly assign specific tape drives to each backup server?If so, can each Backup Server run tape jobs simultaneously?Any advice is appreciated.FollowComment"

Answer: "0Accepted AnswerHi,Thank you for considering Storage Gateway in VTL mode. You can connect multiple backup servers to the same Tape Gateway, however, there are a couple caveats you need to consider. I have mentioned them below.When you create and activate a Tape Gateway, you will specify the type of medium changer which are specific to backup apps. As long as all the backup apps you use to connect to the gateway use one type of medium changer, you will be fine. We have documented a list of backup apps and their associated medium changers here.https://docs.aws.amazon.com/storagegateway/latest/userguide/resource_vtl-devices.html#change-mediumchanger-vtlFrom the Tape Gateway, you will see ten tape drives and associated tapes in the backup application. To avoid write conflicts from multiple backup apps going to the same tape, we ask that you use a single tape with single backup application only. You can run backup jobs simultaneously from different backup applications as long as each backup application uses its own dedicated tapes for the backup jobs.Hope this helps answer your questions.Regards,BhavinCommentShareAWS-User-4940880answered 4 years ago0Bhavin,Thanks for your response.  That is very helpful.All of my Backup servers are using the same version of Veeam Backup & Replication so they are using the same meduim changer.I will create different media pools that have different tapes for each VB&R server in order to mitigate the write conflict issue you identified.Thanks for your help.CommentShareTNSchoolanswered 4 years ago0Bhavin,Is there a charge for each Storage Gateway VTL?CommentShareTNSchoolanswered 4 years ago0Hi,There's a per gateway pricing (based on data written to AWS by your gateway) which is a max of $125/gateway/month. Besides this, there is storage and data transfer out charges. You can create as many virtual tapes you like but are charged only based on how much data you are storing on those tapes.I have included links to pricing and cost calculator pages. The cost calculator will especially be helpful if you are trying to determine your monthly costs for using Tape Gateway.Pricing - https://aws.amazon.com/storagegateway/pricing/Cost calculator - https://calculator.aws/#/Regards,BhavinEdited by: BhavinAtAWS on Oct 28, 2019 12:15 PMCommentShareAWS-User-4940880answered 4 years ago"


Question: Is IoT Greengrass core QoS 2

"When I use awscrt.mqtt.Connection to Greengrass Moquette component:future, id = connection.publish(topic, message, QoS.EXACTLY_ONCE)future.result()return ValueError in both IoT Core and Greengrass core cases:File "/usr/lib64/python3.7/concurrent/futures/_base.py", line 428, in resultreturn self.__get_result()File "/usr/lib64/python3.7/concurrent/futures/_base.py", line 384, in __get_resultraise self._exceptionFile "/home/ec2-user/.local/lib/python3.7/site-packages/awscrt/mqtt.py", line 700, in publishpacket_id = _awscrt.mqtt_client_connection_publish(self._binding, topic, payload, qos.value, retain, puback)ValueErrorIs IoT Greengrass core support QoS 2?FollowComment"

Answer: "0Hi,AWS IoT Greengrass uses AWS IoT Core as MQTT backend and AWS IoT Core does not support QoS2. QoS1 gives the same reliability as QoS2 and the "only once" semantics of QoS2 can be achieved through other means, such as idempotency.Cheers,MassimilianoCommentShareEXPERTMassimilianoAWSanswered 6 months ago0Are you looking for QoS2 from a Client Device to the Greengrass Core via the local broker, or for communication to AWS IoT Core in the cloud? If the latter, @Massimiliano's answer is valid. If the intent is to use a local MQTT broker, both Moquette or EMQX support QoS2 within the local MQTT domain (but not to the cloud).If you can provide more detail on what the message flow is, we can provide more specific details.CommentShareGavin_Aanswered 6 months ago"


Question: Archive failing

Archival jobs are failing. I was told to disable the lifecycle policy and then tier data back to the original tier to allow the snapshot chain to be utilized. Currently the snapshot chain is spanning multiple tiers and causing the failure. How do I tier back the data to the original tier from the console?FollowComment


Question: LoRaWAN FUOTA task schedule - wrong time

"Hello,I'm creating a LoRaWAN FUOTA task and I'm trying to schedule it for now but I get an error:"The date entered must be greater than or equal to the current calendar date and not greater then 48 hours"For example, I'm doing this at May 29, 2022, 09:57:00 (UTC+0300) and I'm trying to enter May 29, 2022, 09:59 and I get this error.I assume it somhow connected to UTCC and day light saving but I did not understand how.As I'm doing testing of the FUOTA I need to activate the task now and not in a future time.Thanks,EyalFollowComment"

Answer: "0Accepted AnswerHi. You have to schedule it for at least 30 minutes into the future. This to allow time for AWS IoT Core for LoRaWAN to send the McClassCSessionReq message to all the devices in the FUOTA task.https://youtu.be/0Yd6PFwL-IM?t=394CommentShareEXPERTGreg_Banswered a year agoAWS-User-EG a year agoThank you very much Greg for this video, I did not see it till now and it is a great help to use it, specifically as I'm also using the ST WL55 Nucleo as my target will us the WL55 (it is not ready yet). BTW, is there any more related material like this that I can use?ShareGreg_B EXPERTa year agoOur LoRaWAN workshop:https://catalog.us-east-1.prod.workshops.aws/workshops/b95a6659-bd4f-4567-8307-bddb43a608c4/en-USAnd other videos:https://www.youtube.com/watch?v=6-ZrdRjqdTkhttps://www.youtube.com/watch?v=LcCR-1eKX1whttps://www.youtube.com/watch?v=Qk9pkhL8xjcShare"


Question: "Amplify can't deploy, stuck while deploying"

"I have a static site hosted on amplify and a github repository linked with the amplify app.Everything worked fine until yesterday. I am not sure if it is the issue concerning the recent outage of AWS but when I push changes to my repo, amplify kicks in to build and deploy the pushed code. Normally it would take few minutes to Provision, Build, Deploy and verify builds but since yesterday amplify freezes in one of the steps and doesn't proceed any further.With some minor changes, I tried to deploy my site hence I pushed my changes to the linked github repository, it got stuck in the "deploy" process. I gave it some time and waited till today and the console is still the same. I pushed some other changes today now the build process doesn't move beyond "Provisioning" phase. (See attachment). It has been more than 18 hours since I've tried to deploy my first change but no luck.Is anyone facing similar problem lately?Edited by: avinashgurung on Dec 1, 2020 5:02 PMFollowComment"

Answer: "0I recently (24 Nov) experienced this issue on us-east-2. And any subsequent attempts to redeploy my website would also get stuck. I managed to fix the problem by manually cancelling all stuck deployments via the console interface and then redeploying again. Note that I'm deploying using the manual drag-and-drop method rather than via a repo.CommentSharejaredbanswered 3 years ago0Well I am fairly new to using aws amplify but when you mentioned you "canceled the deployment from console", I looked for a way to cancel the stuck deployment and redeployed the same version. Which seem to fix the issue for now, however still not sure what causes the issue.Thank you very much.Edited by: avinashgurung on Dec 3, 2020 7:12 PMCommentShareavinashgurunganswered 3 years ago0Having the same issue.But canceling the builds won't solve the problem.CommentSharealacretanswered 2 years ago0Yeah me too , have you found a solution ?CommentSharemsharif01answered 2 years ago"


Question: Issue concating policy variables with a string in an iot policy's resource block

"I am trying to create an iot policy for our devices, and I'm having an issue authorizing two clients to connect. Each one of our devices will establish two different connections, a "main" connection to publish data to a topic, and a separate connection for dealing with the device's shadows. Here is the relevant block from my policy:{    "Effect": "Allow",    "Action": [        "iot:Connect"    ],    "Resource": [        "arn:aws:iot:us-east-2:<account_id>:client/${iot:Connection.Thing.ThingName}",        "arn:aws:iot:us-east-2:<account_id>:client/${iot:Connection.Thing.ThingName}_shadow_client"    ]}The "main" connection uses the device's ThingName for the MQTT connection clientId, and I am having no issues with this client connecting. The trouble is with my second "shadow" client, where I am using ThingName + "_shadow_client" for the MQTT connection clientId. For some reason, the above policy does not work for this client, as I am getting the following log in CloudWatch when it tries to connect:{    "timestamp": "2022-02-07 19:08:58.979",    "logLevel": "ERROR",    "traceId": "<trace>",    "accountId": "<account_id>",    "status": "Failure",    "eventType": "Connect",    "protocol": "MQTT",    "clientId": "test_shadow_client",    "principalId": "<principle_id>",    "sourceIp": "<source_ip>",    "sourcePort": <source_port>,    "reason": "AUTHORIZATION_FAILURE",    "details": "Authorization Failure"}My device's ThingName is test, and my code is correctly setting the MQTT clientId to test_shadow_client (I am using the C++ V2 SDK btw). I have also tested manually setting the "shadow" client resource in the policy to "arn:aws:iot:us-east-2:<account_id>:client/test_shadow_client" and this works.Is there maybe an issue when trying to concat the policy variable ${iot:Connection.Thing.ThingName} with a string like I am doing when specifying a resource? If so, how might I achieve my goal of having two separate clients that use the ThingName in the clientIds? My ultimate goal is to use the device's serial number as the ThingName, so these two clientIds will have their values programmatically set per device with the convention I'm following in my policy.EDIT: It appears that iot:Connection.Thing.ThingName gets set to the clientId of the MQTT connection, which does not make sense to me as there is an iot:ClientId policy variable also available. However, this does explain why my policy is not working as expected. Can anyone confirm this?FollowComment"

Answer: "1Accepted Answerhttps://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.htmlThe thing name is obtained from the client ID in the MQTT Connect message sent when a thing connects to AWS IoT Core.And:When you're replacing thing names with thing policy variables, the value of clientId in the MQTT connect message or the TLS connection must exactly match the thing name.CommentShareEXPERTGreg_Banswered a year ago"


Question: About table creation

"Hlw everyone,Actually i want to create table using view but in one table i got the error ..."GENERIC_INTERNAL_ERROR: Value 197 exceeds MAX_BYTE. You may need to manually clean the data at location 's3://parasdb01/Unsaved/2022/10/12/tables/91b49c33-55d3-4f05-b89e-12f4e7ab5196' before retrying. Athena will not delete data in your account."I also check the documentation and follow all the steps but after that is give me the same error..FollowComment"

Answer: "1Please , find in this knowledge base document information and possible resolution for the error you are experiencing:GENERIC_INTERNAL_ERROR: Value exceeds MAX_BYTE: You might see this exception when the source data column has a numeric value exceeding the allowable size for the data type BYTE. The data type BYTE is equivalent to TINYINT. TINYINT is an 8-bit signed INTEGER in two’s complement format with a minimum value of -128 and a maximum value of 127.GENERIC_INTERNAL_ERROR: Value exceeds MAX_BYTETo resolve this error, look for the column with the data type tinyint. Then, change the data type of this column to smallint, int, or bigint. Or, you can resolve this error by creating a new table with the updated schema.You can run the SHOW CREATE TABLE command to generate the query that created the table. You can view the column data type for all columns from the output of this command. Look for the column with the data type tinyint, and change the data type of this column to smallint, bigint, or int.To update the schema of the table with Data Catalog, do the following:    Open the AWS Glue console.    In the navigation pane, choose Tables.    Select the table that you want to update.    Choose Action, and then choose View details.    Choose Edit schema.    Scroll to the column with data type tinyint, and then choose tinyinit.    For Column type, select smallint, bigint, or int from the dropdown list.    Choose Update.    On the Edit schema page, choose Save.hope this helpsCommentShareEXPERTFabrizio@AWSanswered 8 months ago"


Question: Regarding the startup order of dynamodb streams and lambdas.

"In a table configured with partition key and sort key, Insert multiple records with the same partition keyLambda function is configured to process DynamoDB streams.And set ParallelizationFactor to 1.At this time, is the lambda startup order always executed in series in the inserted order?For example, first of all prepare the following table.groupIdseqother attr<Partition Key><Sort Key>Next, add the following data in order.① groupId = 1, seq = 1② groupId = 1, seq = 2③ groupId = 1, seq = 3④ groupId = 1, seq = 4Then, result as below.groupId<PK>seq<SK>other attr11121314At this time, is the lambda startup order always executed in series in the added order?Is it possible to run in parallel?Will Lambda always start in series if it has the same partition key(but sort key different) as below?FollowComment"

Answer: "2Accepted AnswerThe other answers for this question seem to be slightly vague and do not allow you to fully understand the ordering of items in the stream. While some answers highlight key parts, they tend not to provide you with the big picture. Let me try to explain how streams order items:First of all let's understand what a DynamoDB Partition is:To write an item to the table, DynamoDB calculates the hash value of the partition key to determine which partition should contain the item. In that partition, several items could have the same partition key value. So DynamoDB stores the item among the others with the same partition key, in ascending order by sort key.Next the relationship between partitions and shards:Each partition on a DynamoDB maps 1:1 with a DynamoDB (active) Stream Shard. This means that items which share the same partition key will enter the same shard on the DynamoDB Stream (an important caveat coming later).Finally the relationship between shards and Lambda consumers:Each shard on your DynamoDB stream maps 1:1 with a Lambda container. This means that all items which enter a given shard will be processed by the same Lambda function, and they will maintain the same order in which they were written to the partition.In summary of the above 3 points:The relationship between partition:shard:lambda is 1:1:1. We now know that each item which is written to any given partition will enter a given shard in the order they were written and ultimately be consumed in Lambda maintaining the same ordering.Now the caveat:For the most part items which share the same partition key will share the same partition, this would mean that the ordering is maintained for an Item Collection (all items sharing the same partition key). However, it is not guaranteed that Item Collections will remain on the same partition, an Item Collection can be split across multiple partitions for many reasons:The throughput for that Item Collection exceeds the hard limit of 1000WCU or 3000RCU and Adaptive Capacity has split the collection to provide you more throughput.The Item Collection exceeded the 10GB storage size limit of a partition and the collection to provide you more storage.It is for this reason that DynamoDB Streams guarantees ordering only at the item level, the item being an item which shares both the same partition and sort key.DynamoDB Streams captures a time-ordered sequence of item-level modifications in any DynamoDB table and stores this information in a log for up to 24 hours. Applications can access this log and view the data items as they appeared before and after they were modified, in near-real time.A DynamoDB stream is an ordered flow of information about changes to items in a DynamoDB table. When you enable a stream on a table, DynamoDB captures information about every modification to data items in the table.Direct Answer:Next, add the following data in order.① groupId = 1, seq = 1② groupId = 1, seq = 2③ groupId = 1, seq = 3④ groupId = 1, seq = 4As these items share a different sort key, then the ordering is not guaranteed as mentioned above. While its not guaranteed, for the most part it will be in order but you should be aware of the aforementioned caveat and ensure you do not take a dependency on the items being in order.CommentShareEXPERTLeeroy Hannigananswered 7 months agotamura 7 months agoGreat answer!.This is just answer that I wanted.Share0DynamoDB is built from partitions. Each partition has its own Shard in the DDB stream. Messages in the shard keep the order in which they were performed on the DB. If you enable parallel processing on the stream, messages for specific primary key will always be processed by the same function, so they will not be processed in parallel.CommentShareEXPERTUrianswered 7 months agotamura 7 months agoThanks you, Uri.I updated the question.When registering multiple items in a table configured with partition key and sort key.If all items have the same partition key, will they be always processed not in parallel but in series?ShareLeeroy Hannigan EXPERT7 months ago@tamura no they will not be in order. See my answer.Share0DynamoDB stores data in partitions, which are based on either a partition key only or both a partition key and a sort key. When you enable a stream on a DynamoDB table, DynamoDB creates at least one shard per partition.When a Lambda function is configured to process DynamoDB streams, one instance of the Lambda function is invoked per shard.When you use DynamoDB to configure multiple Lambda functions with a stream to enable parallel processing of data, each function is concurrently invoked per shard.This is a good blog which provides more granular details that you can refer https://aws.amazon.com/blogs/database/how-to-perform-ordered-data-replication-between-applications-by-using-amazon-dynamodb-streams/CommentShareEXPERTAWS-User-Nitinanswered 7 months agoEXPERTIndranil Banerjee AWSreviewed 7 months agotamura 7 months agoThanks you, AWS-User-Nitin.I think the following are important.「DynamoDB creates at least one shard per partition.」May one partition key create multiple shards?Then, for example, in the following primary key configuration table.・groupId = partition key・seq = sort keyAlso,  Lambda function is configured to process DynamoDB streams and set the "ParallelizationFactor" to 1.Assume that the following data are registered in order.① groupId = 1, seq = 1② groupId = 1, seq = 2③ groupId = 1, seq = 3④ groupId = 1, seq = 4At this time, will the lambda always start in serial in the event order of 1 → 2 → 3 → 4? Or do they sometimes start in parallel?Share0HiBased on documentation a shard present a partition and the other of changes is warranyBut based on my knowledge,  the order of changes for one item is warantied and not order of multiple items ,Your solution to that is to ensure the order on your design so instead of relying on lambda behind streams use a fan out with for example sqs sns and use a validation,  so in your example the sk 4 must not be processed if 3 is not yet treatedAny way use that in your side instead of looking infrastructure ( dynamodb stream) to make business needsYour design can be something likeStreams > lambda > sqs > lambda , dynamodbIf every thing is OK you just check last sk treated in your secend dynamodb and you will treat the n +1If treating n+1 not possible as n is not treated yet send that message to a deffered sqs with delay in seconds , the differed sqs also trigger the same lambda but after some wait time this let you the item n get treated in a meantimeWish that helps ,CommentShareOmid Eidivandianswered 7 months ago"


Question: Updating AMI with latest DCV version results in Authentication error.

"After updating AMI with latest DCV Server, adding it to nimble studio, and then launching via nimble studio portal... I am getting an authentication error on NICE DCV and it will refuse to connect.Only thing that I can imagine would have cause this is when you install DCV you are met with a page that asks what the default session user is when you start the computer. I left this default to "administrator".More over, I ran these command in PowerShell to retain the registry keys (scroll to bottom of guide ): https://docs.aws.amazon.com/nimble-studio/latest/userguide/update-win-workstation-ami.htmlAny Advice?FollowComment"

Answer: "0Oh yall's syntax is wrong in the user guide. there needs to be a break at line 12 after /f:$autoConsoleSessionRegKey = "HKEY_USERS\S-1-5-18\Software\GSettings\com\nicesoftwarelink \dcv\session-management\automatic-console-session"$connectivityKey = "HKEY_USERS\S-1-5-18\Software\GSettings\com\nicesoftware\dcv\connectivity"$displayRegKey = "HKEY_USERS\S-1-5-18\Software\GSettings\com\nicesoftware\dcv\display"reg DELETE $autoConsoleSessionRegKey /v owner /freg DELETE $autoConsoleSessionRegKey /v storage-root /freg DELETE $displayRegKey /v target-fps /freg DELETE $displayRegKey /v quality /freg DELETE $displayRegKey /v frames-in-transit /freg DELETE $displayRegKey /v frame-queue-weights /freg DELETE $displayRegKey /v web-client-max-head-resolution /freg ADD $autoConsoleSessionRegKey /v owner /d "ec2-nimble" /freg ADD $autoConsoleSessionRegKey /v storage-root /d "C:\Users\ec2-nimble\Downloads" /freg ADD $displayRegKey /v target-fps /t REG_DWORD /d 0 /freg ADD $displayRegKey /v quality /d "(20, 100)" /freg ADD $displayRegKey /v frames-in-transit /d "(1, 10)" /freg ADD $displayRegKey /v frame-queue-weights /d "(5, 3, 1)" /freg ADD $displayRegKey /v web-client-max-head-resolution /d "(4096, 2160)" /fEdited by: thepostflow on Sep 14, 2021 7:38 PMEdited by: thepostflow on Sep 14, 2021 9:34 PMdCommentSharethepostflowanswered 2 years ago0Just check the syntax in the guide and that will solve your issue.CommentSharethepostflowanswered 2 years ago0We will take a look at our guide!  Thank you.corban-awsCommentSharecorban-awsanswered 2 years ago0Found the same issue and see the problem. Thank you again for pointing this out. Will pass this on to the documentation team.corban-awsCommentSharecorban-awsanswered 2 years ago"


Question: Conventions for Drawing Arrows in Architectural Diagrams

"When drawing architectural diagrams, are we supposed to draw arrows that show flow of information, or arrows that show what service calls what? Or does it follow whether it is GET or PUT? Does it matter, as long as we are consistent?For example, if putting an objects in an S3 bucket triggers a lambda function, and the lambda function then passes the object to an API, do the arrows go:S3 -> Lambda -> API, since that is flow of information.or is it:S3 <- Lambda -> APISince the Lambda passes the object to the API?FollowComment"

Answer: "0Accepted AnswerAs always, "it depends". But I would draw it S3 -> Lambda -> API because you're drawing the flow of information. If you wanted to be super clear, you would label the arrows S3 --Trigger--> Lambda --Calls--> API and then because Lambda is retrieving the object from S3 you would put another arrow there between Lambda and a second S3 "object".CommentShareEXPERTBrettski-AWSanswered 3 years ago0A good reference would be UML Sequence Diagrams. In a system, the arrow represents the flow of events or data.CommentSharewonderful worldanswered a year ago"


Question: AWS Glue load data from S3 to Redshift

"Hi,I have multiple batching data sources (in JSON format) in S3 and I want to load it into Redshift via AWS Glue.My use case is to parse and join those multiple data sources into a final table, then insert it into a table in Redshift.My question is:If I create a workflow in AWS Glue and make it runs once a day, can it continuously update(like insert new rows) to the table in Redshift?I knew that AWS Glue has a feature that could automatically detect data source schema changes, but what happened when it detects the changes? will it create a new table in Redshift? will I be able to get notification when schema changed?FollowComment"

Answer: "0Hello,Below are the inlined answers for the questions askedIf I create a workflow in AWS Glue and make it runs once a day, can it continuously update(like insert new rows) to the table in Redshift?---> Yes, the above can be achieved whenever s3 gets updated with the new objects,  the new rows in redshift table can be updated continuously by creating a lambda trigger as per the below document [1][1] https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/build-an-etl-service-pipeline-to-load-data-incrementally-from-amazon-s3-to-amazon-redshift-using-aws-glue.html#build-an-etl-service-pipeline-to-load-data-incrementally-from-amazon-s3-to-amazon-redshift-using-aws-glue-prerequisites-and-limitationsI knew that AWS Glue has a feature that could automatically detect data source schema changes, but what happened when it detects the changes? will it create a new table in Redshift? will I be able to get notification when schema changed?---> When Glue crawler is run over a data set it detects the change in the schema. it will create a new table in Redshift as per the new schema.---> There will be no notifications on when the schema is changed.CommentShareHarsha_Tanswered a year ago"


Question: Impact and examples 1.0.4.1.R2.1

I noticed 1.0.4.1.R2.1 was released recently with a vague description of fixes..."Disabled an optimization for Gremlin conditional insert patterns which can add or append to existing labels and properties"I'm trying to determine if our team has been impacted and whether we need to cleanup any bad data.Could example queries be provided that were affected?Are there ways to detect if Nodes/Edges have been affected by this bug?FollowComment

Answer: "0Accepted AnswerpwongSpins wrote:I noticed 1.0.4.1.R2.1 was released recently with a vague description of fixes..."Disabled an optimization for Gremlin conditional insert patterns which can add or append to existing labels and properties"I'm trying to determine if our team has been impacted and whether we need to cleanup any bad data.Could example queries be provided that were affected?Are there ways to detect if Nodes/Edges have been affected by this bug?pwongSpins wrote:I noticed 1.0.4.1.R2.1 was released recently with a vague description of fixes..."Disabled an optimization for Gremlin conditional insert patterns which can add or append to existing labels and properties"I'm trying to determine if our team has been impacted and whether we need to cleanup any bad data.Could example queries be provided that were affected?Are there ways to detect if Nodes/Edges have been affected by this bug?Hi pwongSpins,Under a specific set of conditions, in version 1.0.4.1.R1 of Neptune, Gremlin conditional insert patterns can add or append to existing labels and properties in the following ways:Add a new property and value to an existing vertex.Add a new property value to an existing property and existing vertex.Update the value of a property attached to an existing edge.The issue has been fixed in 1.0.4.1.R2.1 on 3/11/2021 and will be fixed in 10.4.1.R1.1 on 3/19/2021.  Existing clusters will be upgraded to these versions as a patch in the next maintenance window.To assess if your queries have been impacted, check if all of the following conditions are true:You run a conditional insert query with one of the following patterns:a. g.V(<ID>).fold().coalesce(unfold(), g.addV("L1").property(id,<ID>).property(<KEY>,<VALUE>))...b. g.E(<ID>).fold().coalesce(unfold(), V(<from>).addE(<label>).to(V(<to>)).property(id, <id>).property(<KEY>,<VALUE>))...c. g.E(<ID>).fold().coalesce(unfold(), g.addE(<label>).from(V<from>).to(V(<to>)).property(id, <id>).property(<KEY>,<VALUE>))...There already exists a vertex/edge in the database with the <ID> for such a query as described in 1. In such scenario, ideally the second condition inside coalesce should not do anything. Due to the bug, the second condition will end up attaching/updating the property(<KEY>,<VALUE>) to the existing vertex/edge.If the vertex/edge already exists (condition 2 is satisfied), it does not consist of a property having the exact key/value as described in second statement of the coalesce.You are not explicitly specifying cardinality for a vertex property such as property(Cardinality.single,<KEY>,<VALUE>))You can also run an assessment query like the following to return all vertices with multi-valued properties as a map:g.V().as("node").propertyMap().unfold().as("p").select(values).count(local).is(gt(1)).select("node","p")If all of the above conditions are met by one or more of your existing queries, or the assessment query returns results, you may need to perform an audit of your data.Some example queries to demonstrate the issue further:Let’s say you have the following data in your database.Vertex ID = “1", property {key=“name”, value=“pumba”}, label = “Animal”Vertex ID = “2", property {key=“name”, value=“simba”}, label = “animal”Edge ID = “3", property {key=“since”, value=1997}, label = “isFriendOf”Now run queries in a version of Neptune that had executed conditional insert patterns on version 1.0.4.1.R1:g.V("1").fold().coalesce(unfold(), g.addV("Animal").property(id,"1").property("name","pumba"))Database after query: (no impact)Vertex ID = “1", property {key=“name”, value=“pumba”}, label = “Animal”Vertex ID = “2", property {key=“name”, value=“simba”}, label = “animal”Edge ID = “3", property {key=“since”, value=1997}, label = “isFriendOf”g.V("1").fold().coalesce(unfold(), g.addV("Animal").property(id,"1").property("name","mufasa"))Database after query: (vertex property data impacted)Vertex ID = “1", property {key=“name”, value=[“pumba”,“mufasa”]}, label = “Animal”Vertex ID = “2”, property {key=“name”, value=“simba”}, label = “animal”Edge ID = “3”, property {key=“since”, value=1997}, label = “isFriendOf”g.V("1").fold().coalesce(unfold(), g.addV("Animal").property(id,"1").property("age",30))Database after query: (vertex property data impacted)Vertex ID = “1", property {key=“name”, value=[“pumba”,“mufasa”]},property {key=“age”, value=30}, label = “Animal”Vertex ID = “2", property {key=“name”, value=“simba”}, label = “animal”Edge ID = “3", property {key=“since”, value=1997}, label = “isFriendOf”g.E("3").fold().coalesce(unfold(), V("1").addE("isFriendOf").to(V("2")).property(id, "3").property("since",1997))Database after query: (no impact)Vertex ID = “1”, property {key=“name”, value=“pumba”}, label = “Animal”Vertex ID = “2”, property {key=“name”, value=“simba”}, label = “animal”Edge ID = “3”, property {key=“since”, value=1997}, label = “isFriendOf”g.E("3").fold().coalesce(unfold(), V("1").addE("isFriendOf").to(V("2")).property(id, "3").property("since",1998))Database after query: (edge property data impacted)Vertex ID = “1", property {key=“name”, value=“pumba”}, label = “Animal”Vertex ID = “2", property {key=“name”, value=“simba”}, label = “animal”Edge ID = “3", property {key=“since”, value=1998}, label = “isFriendOf”CommentSharejoywaanswered 2 years ago0joywa,Thank you for the detailed response! Although I'm not thrilled about bug like this, at least your example queries give me the tools to find and correct any issues in our databases.CommentSharepwongSpinsanswered 2 years ago"


Question: Enable Cognito-authenticated users to access S3 bucket

"I would like to enable Cognito-authenticated users to upload data to a common S3 bucket via multipart uploading; non-authenticated users should not be able to upload data. However, I'm not sure how to enable this because there don't seem to be docs related to this problem. Is there a way to do this?FollowComment"

Answer: 0Please see the following resource: Identity PoolCommentShareRajarshi_Danswered a year ago


Question: How to view a Redshift query

I looked at SVL_STATEMENTTEXT but in that view a query is broken up into chunks.FollowComment

Answer: "0Accepted AnswerSVL_STATEMENTTEXT is the right place to get full query text. As you rightly noticed, when a single statement contains more than 200 characters, additional rows are created for that statement and a sequence number is assigned for each part. Sequence 0 is the first row, 1 is the second, and so on.To get full query text from SVL_STATEMENTTEXT, you can use the below sample queryselect LISTAGG(CASE WHEN LEN(RTRIM(text)) = 0 THEN text ELSE RTRIM(text) END, '') within group (order by sequence) AS query_statement from SVL_STATEMENTTEXT where xid=<<your transaction's xid>>CommentShareAnusha_Canswered a month agoLynne F a month agoWonderful! Thank you for the quick response!Share"


Question: VPN Tunnel Established but cant ping to client gateway ip

"I have created 1 VPC in the Amazon. I have established 1 tunnel from my local network to client gateway.The tunnel 1 status is UP.I have allowed all the range ip for client and also they configured whit EC2 private IPStill i am neither able to ping from Amazon EC2 to client IPWhat might be issue?VPC ID: vpc-00f52dc82dd34bb8cVPN ID: vpn-086ca90af4b768c94VPG ID: vgw-0d740b67185fc32d0Customer Gateway Id: cgw-07416d45422d95b5aEdited by: leadgenios on Jun 4, 2021 5:21 PMEdited by: leadgenios on Jun 4, 2021 5:22 PMFollowComment"

Answer: "0Hi leadgeniosThanks for reaching out :)You could be having this issue because of wrong configuration in a security group or network ACL in your VPC that filters traffic to the instance to allow inbound and outbound ICMP traffic. This enables the instance to receive ping requests.Check for network ACLs in your VPC that prevent your VPN from establishing a connection:https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html#nacl-tasksVerify that the security group rules assigned to the EC2 instances in your VPC allow appropriate access. Be sure to allow inbound SSH if you are using a Linux instance, and RDP if you are using a windows instance.  Also be sure to allow ICMP access.See Amazon EC2 Security Groups for Linux Instances:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.htmlor Amazon EC2 Security Groups for Windows Instances:https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-security-groups.htmlAdditionally, verify that the route tables attached to your VPC are properly configured, for example make sure that your internet gateway has been added to your route table. See below link:https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.htmlI hope this helps!Edited by: naz97 on Jun 7, 2021 7:11 AMCommentSharenaz97answered 2 years ago0Hi, thanks for the replyUnfortunate i'm still unable to make ping to client's ip.The security group (sg-0eacf2f11b7a4bc1f) attached to VPC had HTTP, HTPPS, SSH, All ICMP (IPv4 and IPv6)  rules with a 0.0.0.0/0 source; for inbound and outbound rules.The internet gateway (igw-08a7d9b4750466e98) is attached to VPC.The route table (rtb-0df2575f528d0508a) had the next routes:128.9.0.0/16: client IP CIDR, target: (igw-08a7d9b4750466e98), propagated: no10.0.0.0/16: VPC IPv4 CIDR, target: local, propagated: no0.0.0.0/0, target: (igw-08a7d9b4750466e98), propagated: no128.9.0.0/16: client IP CIDR, target: (vgw-0d740b67185fc32d0), propagated: yesDefault ACL is associated with VPC subnet; indbound and outbound rules allow All ICMP (IPv4, IPv6) rules with 0.0.0.0/0 source.If I do a traceroute to client's IP, i get a trace response but can't reach to client's IPDoing ping i don't get response.What i'm missing?CommentShareleadgeniosanswered 2 years ago0Hi leadgeniosThanks for your response :)AWS VPC with a site to site VPN has a recommended block by default which blocks all traffic that isn't defined as allowed. ICMP requests like ping are not allowed over the VPC/VPN due to this. Try using network tools that will set a connection over an allowed port. If something else is not configured correctly for the VPC/VPN please reach out to AWS support for more help. Ping commands can also be blocked by a firewall or time out due to network latency or hardware issues.To display ICMP information, use command:netstat -ps ICMPA variety of ICMP message types are displayed along with how many of each type of message were received and sent. Most, if not all, will be Echo and Echo Reply messages.The serial console helps you troubleshoot boot issues, network configuration, and SSH configuration issues. The serial console connects to your instance without the need for a working network connection. You can access the serial console using the Amazon EC2 console or the AWS Command Line Interface (AWS CLI):https://aws.amazon.com/about-aws/whats-new/2021/03/introducing-ec2-serial-console/https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-serial-console.htmlAdditionally, you can have a look at the below user guide on troubleshooting packet loss on the VPN connection:https://aws.amazon.com/premiumsupport/knowledge-center/troubleshoot-vpn-packet-loss/To contact AWS Support, do the following:Sign in to your AWS account.Open the AWS Support console, and then choose Create case.Select your option for Create case, and then enter the required information in the Case details section.Select your preference for Contact options.If you select Web, you can read and respond to the case in Support Center.If you select Chat, you can chat online with a representative from AWS Support.If you select Phone, you're prompted for a callback number. You receive a call from AWS Support as soon as you create the case.Important: The options for contact vary based on the type of case and your Support plan.Choose Submit.I hope this helps!CommentSharenaz97answered 2 years ago"


Question: Why isn't Amazon Linux 2022 available with Gamelift?

"The "Comparing Amazon Linux 2 and Amazon Linux 2022" page at https://docs.aws.amazon.com/linux/al2022/ug/compare-al2-to-AL2022.html says:Amazon Linux 2022 optimizes boot time to reduce the time from instance launch to running the customer workload.As such, this would be great for GameLift usage as it takes quite a while to launch instances in my experience. However, when using the AWS CLI to upload a build, the output for the "--operating-system" parameter only allows AMAZON_LINUX, AMAZON_LINUX_2 (and windows). Why is this? When will Amazon Linux 2022 be available with GameLift?FollowComment"

Answer: "0I suspect this is because AL2022 hasn't been formally released yet (it's available as Release Candidate, but I think this only means AMIs and container images). I was surprised not to see it announced at re:Invent, but they're going to have branding problems if it doesn't come out in the next few weeks. ;)CommentShareEdanswered 6 months ago"


Question: Is it correct that the original domain doesn't use OAI on the cloud front?

"I connected s3 and cloudfront using oai.So, since I connected using oai, I couldn't access the s3 domain using the original domain.In my opinion, the distribution domain is accessed using oai and the original domain, and the original domain seems to be a rest api to access the s3 domain.I wonder if my thinking is correct.FollowComment"

Answer: "0Accepted AnswerThe bucket policy determines the access to your bucket. By setting it up for OAI access you're effectively denying any other web-based access to the bucket. You can (if you like) add an Allow statement but that kind of defeats the purpose of using OAI which is to restrict access to the bucket only to CloudFront.CommentShareEXPERTBrettski-AWSanswered a year agojoker a year agoI know the oai settings on s3.In cloudfront, the distribution domain uses oai and the origin domain,The original domain is only the rest api of s3, so I want to check if it is normal to not be able to connect if oai is set.ShareBrettski-AWS EXPERTa year agoBy default, if you have an "Allow" in your bucket policy for the OAI access and nothing else then there is an implicit deny in place. It will be completely normal for all other access to the bucket to be denied. More information in this blog post.Share"


Question: Support for t4g instances?

Looks like OpsWorks doesn't yet support t4g instances (introduced Sep 2020); is this on the road map?FollowComment

Answer: "1Hello Jan,Is there any chance that the updates will be released with some granularity, or will all the changes come out at once?  For example, could t4g instance support come out earlier than the updated Chef support? Also, is there any ETA on any of these updates?All the best.Edited by: mileslane on Sep 13, 2021 11:55 AMCommentSharemileslaneanswered 2 years ago0Hi Jan,any update on those big updates you were talking about in this post. We are few people waiting this for a long time now.Your previous messages made us waiting but this cannot continue like that. We need an update on when a release will happen.RegardsQuentinCommentShareQuentinD-Capsensanswered a year agorePost-user-soniaseguz 9 months agoI think i'll be setting up my own Chef server, seems like this product is going nowhere...Share0Hi ericjain, thank you for sharing your concern. Support for all Graviton instances and other new instance types, new OS and Chef versions is in our current timeline. if you want to have more updates regarding OpsWorks stacks, please feel free to contact me privately.CommentShareDorra Mlouhianswered a year agoejain a year agoGlad to hear that OpsWorks isn't quite dead just yet! Doesn't look like re:Post has a private message function?Share0Hi @ericjainyou are correct, currently Graviton instances are not supported in Stacks. We apologize for the long hiatus and lack of updates on the future of OpsWorks Stacks, and would like to confirm that the service is actively maintained and will evolve going forward. Support for all Graviton instances and other new instance types is on our 2021 roadmap, where we aim to resolve the most common feature requests for OpsWorks Stacks. We will update with more details over the coming months.Best, JanCommentShareJanThomas_AWSanswered 2 years ago0Any developments you can share? It has been five months since your post.Specifically, any projection on when t4g instances will be available for OpsWorks Stacks?Any news on when we can use a newer version of Chef?Thanks,- MilesEdited by: mileslane on May 31, 2021 7:07 PMCommentSharemileslaneanswered 2 years ago0Hi mileslane, both support for Graviton instances and newer Chef versions are on the roadmap and we're actively working on these. We can't promise a date but are working to deliver a big update for Stacks customers around the end of 2021. We will share more within the next couple of months!CommentShareJanThomas_AWSanswered 2 years ago0Perhaps 2023 will be the lucky year for t4g instance support in OpsWorks? 🙃CommentShareejainanswered 5 months ago"


Question: CloudFront - API Gateway as Reverse HTTP Proxy to CloudFront - ALB - EC2

"I'm trying to set up an API Gateway as a simple proxy, using the Proxy option. The back-end is a endpoint hosted by an Cloudfront as reverse proxy for ALB + application running on EC2.User -> Cloudfront -> API Gateway Proxy Integration -> CLoudFront -> ALB -> Internal APIs hosted by EC2s.Cloudfront and API gw proxy located is in AWS account A and CloudFront + ALB + EC2 is located in account B.When I use API gateway console to test method, request hits the targeted internal api without any problem.Test execution log:Execution log for request 849015fb-12c9-4619-bc96-363ecb6e9e94Fri Nov 18 17:33:08 UTC 2022 : Starting execution for request: 849015fb-12c9-4619-bc96-363ecb6e9e94Fri Nov 18 17:33:08 UTC 2022 : HTTP Method: POST, Resource Path: /api/v2/test/applyFri Nov 18 17:33:08 UTC 2022 : Method request path: {}Fri Nov 18 17:33:08 UTC 2022 : Method request query string: {}Fri Nov 18 17:33:08 UTC 2022 : Method request headers: {}Fri Nov 18 17:33:08 UTC 2022 : Method request body before transformations: Fri Nov 18 17:33:08 UTC 2022 : Endpoint request URI: https://example.com/ext/v2/test/applyFri Nov 18 17:33:08 UTC 2022 : Endpoint request headers: {x-amzn-apigateway-api-id=u041f78dig, User-Agent=AmazonAPIGateway_u041f78dig, X-Custom-Header=xxx}Fri Nov 18 17:33:08 UTC 2022 : Endpoint request body after transformations: Fri Nov 18 17:33:08 UTC 2022 : Sending request to https://example.com/ext/v2/test/applyFri Nov 18 17:33:08 UTC 2022 : Received response. Status: 400, Integration latency: 55 msFri Nov 18 17:33:08 UTC 2022 : Endpoint response headers: {Content-Length=0, Connection=keep-alive, Date=Fri, 18 Nov 2022 17:33:08 GMT, Server=nginx, X-Custom-Header=4100adeb, X-Cache=Error from cloudfront, Via=1.1 c022ca80d7b946eb138dfd2e55c98980.cloudfront.net (CloudFront), X-Amz-Cf-Pop=IAD12-P4, X-Amz-Cf-Id=xxx}Fri Nov 18 17:33:08 UTC 2022 : Endpoint response body before transformations: Fri Nov 18 17:33:08 UTC 2022 : Method response body after transformations: Fri Nov 18 17:33:08 UTC 2022 : Method response headers: {Content-Length=0, Connection=keep-alive, Date=Fri, 18 Nov 2022 17:33:08 GMT, Server=nginx, X-Custom-Header=4100adeb, X-Cache=Error from cloudfront, Via=1.1 c022ca80d7b946eb138dfd2e55c98980.cloudfront.net (CloudFront), X-Amz-Cf-Pop=IAD12-P4, X-Amz-Cf-Id=xxx}Fri Nov 18 17:33:08 UTC 2022 : Successfully completed executionFri Nov 18 17:33:08 UTC 2022 : Method completed with status: 400You can count 400 as success, because it returned from internal api running on EC2.When I'm trying to invoke cloudfront-account-a.com/api/v2/test/apply I'm getting 403 error from CF with the following headers:access-control-allow-origin: *access-control-expose-headers: *content-length: 915content-type: text/htmldate: Fri, 18 Nov 2022 17:11:43 GMTreferrer-policy: strict-origin-when-cross-originstrict-transport-security: max-age=31536000via: 1.1 a27022837959b6f70545c8d6d0de9d04.cloudfront.net (CloudFront), 1.1 f0f1092b2ad1f0e573a4fcbefe4fb620.cloudfront.net (CloudFront), 1.1 6bc1c280aeef9bbdeb102c7f4e4f773e.cloudfront.net (CloudFront)x-amz-apigw-id: xxxx-amz-cf-id: xxxx-amz-cf-pop: IAD12-P4x-amz-cf-pop: IAD79-C1x-amz-cf-pop: IAD89-C1x-amzn-remapped-connection: keep-alivex-amzn-remapped-content-length: 915x-amzn-remapped-date: Fri, 18 Nov 2022 17:11:43 GMTx-amzn-remapped-server: CloudFrontx-amzn-requestid: 4d928828-e650-492f-b165-0654c97acab5x-cache: Error from cloudfrontx-content-type-options: nosniffx-frame-options: SAMEORIGINx-xss-protection: 1; mode=blockWhat I'm doing wrong? Is it even possible to proxy request in the way I'm trying to do?FollowComment"

Answer: "0There could be multiple reasons why you are observing 403 error from the AWS Cloudfront, it is required to view the complete error message you are getting for the Curl test and also the Cloudfront and API gateway configuration in order to further understand the error.Please find the below document which explains on troubleshoot to HTTP 403 errors from API Gateway and 403 errors from CloudFront:https://aws.amazon.com/premiumsupport/knowledge-center/api-gateway-troubleshoot-403-forbidden/https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-troubleshoot-403-errors/Also third party document with similar error : https://stackoverflow.com/questions/49808921/aws-cloudfront-api-endpoint-responding-with-forbidden403Having shared the above, to answer your question and assist you in right direction, we require details that are non-public information. Please open a support case with AWS using the following linkhttps://console.aws.amazon.com/support/home#/case/createCommentShareSUPPORT ENGINEERrePost-User-6579332answered 7 months ago"


Question: "Users in parts of northern Italy blocked from website access, but no other worldwide locales are blocked"

"I am supporting a company which has a production EC2 instance in Asia-Pacific (Singapore) running a fairly simple web server. As of sometime Friday (European Central time) a company employee in the Milan area reported that the instance was unreachable. An attempt to connect times out. Company people in the US, Asia, and central Europe have no issues connecting to the web server. If the user in Milan switches to a TOR browser (therefore a different source IP somewhere in the world) he has no issues accessing our website.I gave our user a URL with the public IP address of our web server instead of the name in order to validate that this was not a DNS issue, and the result is the same. There is no connection being made at all between his system and our instance via public IP. A traceroute shows that the connection goes through AWS routers with public IP addresses and eventually just never connects.Our firewall ACLs for the instance in Singapore have no restrictions at all to destination port 443 from 0.0.0.0 (everywhere). There have been no changes made to our AWS configuration or the configuration of the web server on the instance at all for the last several months. It appears quite strongly that there is an internal network routing problem or blockage within AWS which is preventing our user in Milan from reaching our site in Singapore.We do not have a paid support account which would allow us to create a Tech Support ticket. Does anyone have any idea how to reach AWS about what appears to be a network infrastructure issue for them? Does anyone have any other ideas which I should pursue in order to identify what is causing this connection problem specific to the Milan area?FollowComment"

Answer: "0We'll need to figure out first whether this issue is specific to your user's source and destination or something else. Can you please have them open http://ec2-reachability.amazonaws.com/ and report any red flag they see in there?Also do you have some other exposed services in the same region your user could try?CommentShareGiorgio@AWSanswered a year agoRob Scott a year agoWe also have a non-production EC2 instance in the Indonesia region. My user cannot connect to that system, either.Running the EC2 reachability test: my user reports that he cannot reach Singapore or Jakarta regions.In case I didn’t mention it, my user has tried multiple browsers on a Macintosh, on Windows, and on a smartphone. All have failed.ShareRob Scott a year agoAdditional information: user in Milan reports additional info that points to the inability to connect specifically to his ISP, which happens to be the largest ISP providing services to a substantial portion of Italy. The problem seems specific to Telecom Italia (TIM) which provides both his wired connection and his wireless phone services in Milan. His wife has phone service from Vodaphone in Milan and had no problems connecting to our server.ShareRob Scott a year agoMy user sent me a screen shot of a traceroute from his system to our system public IP 54.169.6X.XX. After internal Telecom Italia RFC1989 private IP space, traffic emerges on  public IP space and from there on to AWS public address space. The public address trail is this:195.22.205.116 (TIM)195.22.196.170 (TIM)195.22.205.116 (OK, this is odd, going back to the same router)52.93.11.191  (AWS address space from here down)15.230.29.13952.93.11.10952.93.11.8952.93.10.227(and it's all * all the way down from here)Share"


Question: Online configuration changes for cluster availability included in 5.0.6?

"Hi,The AWS Elasticache notes for Redis engine 5.0.5 mention about the online configuration changes to maintain cluster availability in during failovers and cluster upgrades. Does a similar feature exist for the 5.0.6 Redis engine as well?FollowComment"

Answer: 0AWS Support confirmed that any cluster upwards of 5.0.5 should have this online configuration.CommentShareNSBanswered 3 years ago


Question: My load balancer's HTTPS only works sometimes

"Hi guys!My load balancer's HTTPS only works sometimes, when i try to connect using https in url sometimes go and sometimes not.When it doesn't work it shows on the page that the connection was refused.FollowComment"

Answer: "0It's possible you have:A load balancer with cross-zone load balancing switched off (for NLB & GLB it's off by default)Not all of your load balancer's AZs with a valid working target.So some requests would succeed and some fail.CommentShareEXPERTskinsmananswered 4 months agoYuri 4 months agoHow can I check this?Shareskinsman EXPERT4 months agoSettings in the Load Balancer console, CloudWatch metrics and Load Balancer logging.Share0Hello Yuri,An additional component to check is the healthcheck around your target groups/instances.  It could be possible that no healthy instances for your HTTPS target group could be found.You should be able to check the health status under "target groups" in the AWS console.Below is some additional documentation from AWS around these health checks.https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.htmlCommentShareAWS-User-0357409answered 4 months ago"


Question: no lambda concurrency in dynamoDB stream trigger lambda

"I have a dynamodb table for which I've configured a lambda to receive dynamodb stream triggers in order that I might accomplish the "fan-out" pattern shown below and described in this article here:https://aws.amazon.com/blogs/database/how-to-perform-ordered-data-replication-between-applications-by-using-amazon-dynamodb-streams/In my dynamodb table, there is only a partition key (no sort key), and the partition key is made up of unique guids so we have a maximum amount of sparseness in our partitions (recommended to prevent hot partitions).  When I update records in this table, though, I find that my trigger lambda is not being run concurrently even though I have set the concurrency = 5.  No matter what I set my batching configurations to, I always get a single lambda running with stream batch size = 1.  What's worse is if I trigger many records at once (which is my main desire), not only is this single-threaded behavior in place, but after a few minutes of running one by one, the entire stream just cancels and no more lambdas are triggered (leaving updated records without having any lambda processing).  Any thoughts on what might be going on and how I might fix this to accomplish the fan-out pattern (i.e. many concurrent lambdas)?  I have no requirement to maintain ordering of the shards, so maximum asynchronicity is the goal.  Thanks in advance for any insight you can provide!FollowComment"

Answer: "1Accepted AnswerConcurrency is achieved by 2 factors:The number of partitions in your DynamoDB tableThe parallelization factor of your Lambda functionI'm guessing your DynamoDB table has a single partition, which results in a single shard in the stream, and thus a single Lambda invocation. To increase concurrency you can do the following:Increase your WCU on your DynamoDB table to 40,000 WCU and when the table is active, reduce it to your working capacity needs. This will increase the partitions and ultimately increase the parallelization.Increase the Parallelization Factor to a value up to a max of 10. That is for every shard in the stream you can have 10X Lambdas invoked.CommentShareEXPERTLeeroy Hannigananswered a month agocanders1 a month agoThank you much, Leeroy - I think you are right that my assumption about having multiple partitions (due to sparse partition key) was incorrect.  I tried setting the Parallelization Factor to 10 and saw concurrency happening (which I could have sworn I tried before and it didn't work).  I wish there was an easy way to know in real time how many partitions my table has, especially since we are using on-demand capacity.  Thanks again for your answer!ShareLeeroy Hannigan EXPERTa month agoYou can understand how many partitions you have by reading your DynamoDB Stream shards. List the shards in your stream, loop over them and count the ones which are marked as Active, this will be the number of partitions you have in your table.Share0You can use the AWS SDK for Node.js or Python to handle the stream events and invoke other Lambda functions asynchronously. And have you check to make sure your function is not meeting any memory or time limits. And I'm sure that you're already using the step function.CommentShareSteven Bouldinanswered a month agoLeeroy Hannigan EXPERTa month agoWhat, this makes absolutely no sense?Share"


Question: DMS task stuck

"Hi,I have a problem with a DMS task connecting an Aurora instance (source) to a redshift instance (target).Apparently the task is stuck at 97% while migrating some big tables (10 million rows each approx).We recently migrated from MySql to Aurora, hence the need to rerun the full migration.The task is "Full load, ongoing replication".After 8 hours of migration going on, the task restarts with an error:019-07-30T10:57:35 [SOURCE_UNLOAD ]E: Connection error [1022506] (mysql_endpoint_imp.c:106)2019-07-30T10:57:35 [SOURCE_UNLOAD ]E: Endpoint is disconnected [1020414] (endpointshell.c:2766)2019-07-30T10:57:35 [SOURCE_UNLOAD ]E: Error executing source loop [1020414] (streamcomponent.c:1596)2019-07-30T10:57:35 [TASK_MANAGER ]E: Stream component failed at subtask 1, component st_1_J7ZYBQT4N6DCQRNGEDCD646RRA [1020414] (subtask.c:1350)2019-07-30T10:57:35 [SOURCE_UNLOAD ]E: Stream component 'st_1_J7ZYBQT4N6DCQRNGEDCD646RRA' terminated [1020414] (subtask.c:1513)2019-07-30T10:57:35 [TASK_MANAGER ]E: Task error notification received from subtask 1, thread 0 [1020414] (replicationtask.c:2379)2019-07-30T11:01:47 [SOURCE_UNLOAD ]E: Connection error [1022506] (mysql_endpoint_imp.c:106)2019-07-30T11:01:47 [SOURCE_UNLOAD ]E: Endpoint is disconnected [1020414] (endpointshell.c:2766)2019-07-30T11:01:47 [SOURCE_UNLOAD ]E: Error executing source loop [1020414] (streamcomponent.c:1596)2019-07-30T11:01:47 [TASK_MANAGER ]E: Stream component failed at subtask 2, component st_2_J7ZYBQT4N6DCQRNGEDCD646RRA [1020414] (subtask.c:1350)2019-07-30T11:01:47 [SOURCE_UNLOAD ]E: Stream component 'st_2_J7ZYBQT4N6DCQRNGEDCD646RRA' terminated [1020414] (subtask.c:1513)2019-07-30T11:16:02 [SOURCE_UNLOAD ]E: Connection error [1022506] (mysql_endpoint_imp.c:106)2019-07-30T11:16:02 [SOURCE_UNLOAD ]E: Endpoint is disconnected [1020414] (endpointshell.c:2766)2019-07-30T11:16:02 [SOURCE_UNLOAD ]E: Error executing source loop [1020414] (streamcomponent.c:1596)2019-07-30T11:16:02 [TASK_MANAGER ]E: Stream component failed at subtask 3, component st_3_J7ZYBQT4N6DCQRNGEDCD646RRA [1020414] (subtask.c:1350)2019-07-30T11:16:02 [SOURCE_UNLOAD ]E: Stream component 'st_3_J7ZYBQT4N6DCQRNGEDCD646RRA' terminated [1020414] (subtask.c:1513)2019-07-30T11:19:24 [SOURCE_UNLOAD ]E: Connection error [1022506] (mysql_endpoint_imp.c:106)2019-07-30T11:19:24 [SOURCE_UNLOAD ]E: Endpoint is disconnected [1020414] (endpointshell.c:2766)2019-07-30T11:19:24 [SOURCE_UNLOAD ]E: Error executing source loop [1020414] (streamcomponent.c:1596)2019-07-30T11:19:24 [TASK_MANAGER ]E: Stream component failed at subtask 4, component st_4_J7ZYBQT4N6DCQRNGEDCD646RRA [1020414] (subtask.c:1350)2019-07-30T11:19:24 [SOURCE_UNLOAD ]E: Stream component 'st_4_J7ZYBQT4N6DCQRNGEDCD646RRA' terminated [1020414] (subtask.c:1513)This has happened at least twice since we started the task.regards,MatteoFollowComment"

Answer: "0I solved it by setting some endpoint settings(!) on the redshift end of things:maxFileSize=1048576;fileTransferUploadStreams=64This prevented the timeout from happening again and permitted the completion of the process.regards,,MatteoCommentSharematfioranswered 4 years ago"


Question: Update physics more than once per frame?

"Hi, have a way to Update Physics more than once per one frame ? If i have some condition and if after update physics i need re update again physics, with different condition and after update run render frame. Any help will be nice :)Follow"

Answer: "0Accepted AnswerHi @REDACTEDUSERBy default, there isn't a way to update physics more than once per frame, but if you are comfortable with C++ there are some things that you can work with:First, here's the standard documentation regarding physics and threadshttps://docs.aws.amazon.com/lumberyard/latest/developerguide/physics-scripting-threads.htmlThere is a flag: sys_physics_CPU that determines whether physics uses the main thread or not. Setting this = to 0 will force it to use the main threadIf the sys_physics_CPU flag is not set to 0, then p_force_sync controls how the physics thread syncs with the physics thread. If p_force_sync is set to 1, the main thread will wait for physics. If 0, the main thread will move on without the physics thread. You may be able to make adjustments to this to achieve what you are looking for.If you really want to dive deep, take a look at CSystem::Update() and CPhysicsThreadTask::Run() to check out this interaction.What is your intended use case for this update? If it is for simply an object check or a raycast, there are probably some simpler methods involving straightforward checks instead of running an entire physics step for the whole simulation, but it really depends on what you want to accomplish!Let me know if this helps!SharerePost-User-3342048answered 5 years ago0Ah, interesting! Fetching some advice/assistance from the techs! Stay tuned :)SharerePost-User-5738838answered 5 years ago0Super, thanks you Chronos for answer. I trying synchronise my custom character over network. And i hope this way is help me to achieve the goal.SharerePost-User-0150549answered 5 years ago"


Question: AWS Transcribe Medical BadRequestException: Your stream is too big. Reduce the frame size and try your request again.

"Sending audio file through Amazon Kinesis Video Streams (KVS) stream to Amazon Transcribe Medical. I'm able to get media from KVS and send to Transcribe Medical and even get a few TranscriptEvents.But then the following error:2023-02-04T05:10:00.173Zd0ee90a1-a61f-44f9-826a-fd2c4977425bERRORError processing transcribe stream. SessionId:  e484b9b6-1657-45d0-bf3d-12c3737e6f65 {    "name": "BadRequestException",    "$fault": "client",    "$metadata": {},    "message": "Your stream is too big. Reduce the frame size and try your request again."}The file being sent through KVS is created with:    const audio = ffmpeg(uri)        .format('matroska')        // .outputOptions(['-ar 8000', '-acodec pcm_s16le' // Only works for Transcribe        .outputOptions(['-ar 16000', '-acodec pcm_s16le' // Transcribe Medical needs 16,000 Hz to 48,000 Hz        ])The only changes to my previously working code:Changed from StartStreamTranscriptionCommand to StartMedicalStreamTranscriptionCommandSet StartMedicalStreamTranscriptionCommandInput to:{    LanguageCode: 'en-US',    MediaEncoding: 'pcm',    AudioStream: audioStream(),    // changes for Transcribe Medical    MediaSampleRateHertz: 16000, //8000,    Specialty: 'CARDIOLOGY',    Type: 'CONVERSATION',  }What could be causing this?Using AWS SDK for JavaScript v3FollowComment"

Answer: "0Hi rain-mtucker,With the Transcribe JavaScript SDK,  if you see the error 'The chunk is too big', you can solve it by making the highWaterMark smaller. The example below where the highWaterMark is set is from the Transcribe JavaScript SDK documentation..const { PassThrough } = require("stream");const { createReadStream } = require("fs");const audioSource = createReadStream("path/to/speech.wav");const audioPayloadStream = new PassThrough({ highWaterMark: 1 * 1024 }); // Stream chunk less than 1 KBaudioSource.pipe(audioPayloadStream);const audioStream = async function* () {  for await (const payloadChunk of audioPayloadStream) {    yield { AudioEvent: { AudioChunk: payloadChunk } };  }};CommentSharechrislottanswered 4 months agorain-mtucker 4 months agoThe highWaterMark value was set to 128 and I reduced it to 64 and it still gives the error:2023-02-04T17:31:04.829Z77e692ab-1c41-46b9-99de-4e5fd12363aeERRORError processing transcribe stream. SessionId:  87997632-5d42-425e-b6ab-6cad9e9f0aff {    "name": "BadRequestException",    "$fault": "client",    "$metadata": {},    "message": "Your stream is too big. Reduce the frame size and try your request again."}The JavaScript demo client is putting the audio file on a Kinesis Video Streams stream and the backend is getting the audio and passing it to Transcribe streaming. I'm doing this to save the audio stream in a file in the backend. In the end, there will be various clients/systems with microphones that will send audio to KVS.Is there something with that portion that could be resulting in the error?I can see that all fragments from KVS are being read, the transcription stops after a few TranscriptEvents.I tried changing highWaterMark to 1024, but same error.Sharerain-mtucker 4 months agoHere is the Lambda code that reads audio fragments from KVS and sends them to a combined stream for Transcribe & audio file:  import Block from 'block-stream2';  const audioStream = new Block(2);  const combinedStream = new PassThrough();  const combinedStreamBlock = new Block(2);  combinedStream.pipe(combinedStreamBlock);  combinedStreamBlock.on('data', (chunk) => {    // send to transcribe    transcribePassthroughStream.write(chunk);    // save to tmp file    writeRecordingStream.write(chunk);  });  // audioStream comes from KVS  audioStream.pipe(combinedStream);Share"


Question: Can you use a signed URL with S3 VPC Endpoint?

"Would traffic to S3 using a signed URL from an EC2 instance in a private subnet need to go over an established NAT Gateway / IGW, or could it use the S3 VPC endpoint?FollowComment"

Answer: "1Accepted AnswerYes. Access to objects stored in S3 accessed via a Signed URL work fine without a NAT Gateway or IGW if you have a VPC Endpoint for S3 configured and in use the the associated Route Table for the subnet.Easy to verify by quickly building a VPC with Public & Private Subnets, bastion instance in Public Subnet, Isolated Instance in Private Subnet. Configure VPC Endpoint for S3 to be used by Private Subnets. Generate a signed URL for an object and try to use wget to retrieve it. Works fine.CommentShareEXPERTSteveS-AWSanswered 7 years ago"


Question: Exec linux command inside a container

"Hi team,I connected to my envoy container using this command :aws ecs execute-command --cluster cluster-name --task task-id --container container-name --interactive --command "/bin/sh"once inside the container I'm trying to execute this Linux command:  ps auxI have this error :sh: ps: command not foundthe version of the distribution inside the envoy container is "Linux version 4.14.276-211.499.amzn2.x86_64 (mockbuild@ip-xx-x-xx-225) (gcc version 7.3.1 20180712 (Red Hat 7.3.1-13) (GCC)) #1 SMP Wed Apr 27 21:08:48 UTC 2022I tried to install ps : yum install -y procpsI have this error :Loaded plugins: ovl, prioritiesCould not retrieve mirrorlist http://amazonlinux.default.amazonaws.com/2/core/latest/x86_64/mirror.list error was14: curl#56 - "Recv failure: Connection reset by peer" One of the configured repositories failed (Unknown), and yum doesn't have enough cached data to continue. At this point the only safe thing yum can do is fail. There are a few ways to work "fix" this:     1. Contact the upstream for the repository and get them to fix the problem.     2. Reconfigure the baseurl/etc. for the repository, to point to a working        upstream. This is most often useful if you are using a newer        distribution release than is supported by the repository (and the        packages for the previous distribution release still work).     3. Run the command with the repository temporarily disabled            yum --disablerepo=<repoid> ...     4. Disable the repository permanently, so yum won't use it by default. Yum        will then just ignore the repository until you permanently enable it        again or use --enablerepo for temporary usage:            yum-config-manager --disable <repoid>        or            subscription-manager repos --disable=<repoid>     5. Configure the failing repository to be skipped, if it is unavailable.        Note that yum will try to contact the repo. when it runs most commands,        so will have to try and fail each time (and thus. yum will be be much        slower). If it is a very temporary problem though, this is often a nice        compromise:            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=trueCannot find a valid baseurl for repo: amzn2-core/2/x86_64is there a way to run basic commands inside the envoy container like ps, map...?Thank you.FollowComment"

Answer: "0This fails because those tools are not installed in your container image. It is best practice to not install system tools that are not needed in container images to reduce the attack surface. It is also best practice to handle container images as immutable so you should avoid installing packages in a running container or making any other changes that will be lost whenever the container restarts.That being said, there are use cases when you need additional tools to debug. The best path would be to add the needed tools and package in your image at build time by modifying the Dockerfile (ideally use that only for development, not in production).Which base image did you use? There may be another envoy base image available with those system tools already installed.CommentShareogaumondanswered a year agoJess a year agothis the image : public.ecr.aws/appmesh/aws-appmesh-envoy:v1.21.1.0-prodShareogaumond a year agoOk, so you are using AppMesh as a sidecar with your container? Why exactly are you trying to exec some commands in the Envoy container? This image is explicitly built without unnecessary tools to keep it small and reduce the attack surface. As a matter of fact starting with version 1.22 they use Distroless so you don't even have a package manager. You could build your own image with the tools you need to troubleshoot, but should not use it for any production. More info: https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.htmlShare"


Question: Will be applied promotional credit for Elastic IP?

"Hello,Our company has applied all elastic ip (EIP). That is cheked at EC2 "Service Quotas" page (5 applied from 5 default quota value).Also, we have a credit, and by the terms and conditions (https://aws.amazon.com/awscredits/) the "promotional Credit will be applied only to the specific Services designated by your AWS contracting entity (collectively, “Eligible Services”)". The list of services (according to "Billing > Credit" page) that can be used with the associated credit include EC2 but in the list is not expressly written EIP as a service.So, will our company be charged outside from the credit for every new EIP above the default quota?Best Regards!FollowComment"

Answer: "1Accepted AnswerFirst of all, regarding credits, - yes, if you have promotional credits for EC2, these credits do cover any Elastic IPs for which you are charged, because EIPs are part of EC2 service: https://aws.amazon.com/ec2/pricing/on-demand/However, please note that you are NOT charged depending on your quotas. You are charged depending on the usage. Also, you will not be able to create any additional EIPs above the quota. For that you would have to increase your quota.With Elastic IPs - you are NOT charged for it if EIP is attached to a resource (e.g. EC2 instance, network interface). But if you don't use your EIPs, and it remains unattached (you can see the status in the console or using API) - this is when you will pay a fee for the Elastic IPs that you allocate to your account. You can check more info on the pricing page: https://aws.amazon.com/ec2/pricing/on-demand/You may be able to request the increase of your account quotas for particular service or feature, but this does not impact your billing. What does impact the billing is your actual usage. So, for example... let's say if you have a limit of 5 EIPs. And let's say you already created 5 EIPs. As long as all 5 EIPs are attached to a resource - you are not charged for them. If you request to increase that quota, let's say, to 10 EIPs, and then you create extra 5 EIPs and keep them unused (not attached to any resource) - then you will be charged a fee for each unattached EIP.CommentShareEXPERTNataliya_Ganswered 8 months agoEXPERTToni_Sreviewed 8 months agoToni_S EXPERT8 months agoJust to add to this great response. Do you need Elastic IPs for NAT Gateways or for more static public IP addressing of your services? Just wanted to check as you also get Public IP addresses on EC2 Instances automatically without need to reserv and allocate Elastic IP addresses.Share"


Question: Step Functions Choice Type coerces non-numeric values to 0 for Numeric*Path choices (e.g NumericGreaterThanEqualsPath)

"Here is a simple state machine to reproduce the bug:{  "StartAt": "First",  "States": {    "First": {      "Type": "Choice",      "Choices": [        {          "Variable": "$.key",          "NumericGreaterThanEqualsPath": "$.find",          "Next": "ChoiceMatched"        }      ],      "Default": "DefaultChoice"    },    "ChoiceMatched": {      "Type": "Pass",      "Result": "ChoiceMatched",      "End": true    },    "DefaultChoice": {      "Type": "Pass",      "Result": "DefaultChoice",      "End": true    }  }}Here are the test cases:// Results in "DefaultChoice" for non-numeric value of key - Expected behavior{    "key": "ABC",    "find": 0}// Results in "ChoiceMatched" when "key" is 0 and "find" is non-numeric - Incorrect behavior "ABC" was treated as numeric{    "key": 0,    "find": "ABC"}// Results in "ChoiceMatched" when "key" is 1 and "find" is non-numeric - Incorrect behavior was treated as numeric{    "key": 1,    "find": "ABC"}// Results in "DefaultChoice" when "key" is -1 and "find" is non-numeric - Incorrect behavior was treated as numeric{    "key": -1,    "find": "ABC"}The last three cases show that the "find" attribute's value ("ABC") was converted to numeric and precisely to a value of 0 when comparing against the "key" value of 0. This happens only when non-numeric is a Path variable and not the variable being compared (test case 1). Also, this coersion is only happening for numeric comparisons. Comparisons for other data types such as string etc. work as expected (there is another odd behavior with timestamps but I will ask a different question for that). The documentation for Choice step (https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-choice-state.html) clearly says "For each of these operators, the corresponding value must be of the appropriate type: string, number, Boolean, or timestamp. Step Functions doesn't attempt to match a numeric field to a string value." but this is clearly not the behavior. If this can't be fixed, at least the documentation must be updated to specify any conversion rules. Thanks.FollowComment"