Comments (2)
Wow, this was a fun bug.
It appears that boto will write your messages to SQS two different ways depending on which api you use (connection vs queue methods). One will write the messages unmodified, but the other will write them to SQS base-64 encoded.
I can't find any reference to SQS SendMessage accepting base-64 encoded bodies. Regardless of how the message is input though, SQS returns the 'smart' value.
>>> q = conn.create_queue('testqueue')
>>> q.write(q.new_message('Zm9vIGJhciBiYXo='))
<boto.sqs.message.Message instance at 0x10added88>
>>> message = q.read(1)
>>> message.get_body()
'foo bar baz'
I suppose the correct solution is to add a base64 detector to the moto send_message view.
from moto.
My previous remarks on sqs autodecoding were incorrect(the queue I was using for testing got messed up).
The bug was caused by my misunderstanding of where base64 encoding/decoding occurs. I believe this led to some of the initial confusion.
from moto.
Related Issues (20)
- S3: Implement EventBridge Notification
- S3: Let's add `upload_file` method HOT 2
- describe_jobs does not include startedAt HOT 5
- Cloudfront - CustomHeaders in origin missing HOT 1
- What am I missing with this Lambda Test? HOT 6
- DelaySeconds for individual messages not working. HOT 1
- cognito-idp admin_get_user Username argument can be sub HOT 1
- CloudWatch PutMetricData body compression in botocore 1.34.40+ HOT 2
- Request AWS::EMR::Cluster resource to be added to cloudformation HOT 13
- SNS: additional message filtering operators (`$or`, case insensitive matching, suffix matching) HOT 1
- FIFO queue not raising an error when submitting a message to it using DelaySeconds HOT 2
- Global Secondary Index scan returns items not matching the index HOT 1
- EC2: security group rule bad behaviours HOT 2
- Cloudfront: update_distribution issue HOT 2
- from moto import mock_s3 ModuleNotFoundError: No module named 'moto' HOT 3
- secretsmanager update_secret_version_stage does not remove AWSPREVIOUS correctly HOT 1
- Any plans for support for TimestreamQuery ? HOT 3
- S3: put_bucket_logging fails when the target prefix appears in the bucket policy HOT 1
- Please add support for the ResilienceHub API HOT 5
- test_describe_vpc_endpoint_services_bad_args is racy HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from moto.