%global _empty_manifest_terminate_build 0 Name: python-sqs-extended-client Version: 0.0.10 Release: 1 Summary: AWS SQS extended client functionality from amazon-sqs-java-extended-client-lib License: Apache 2.0 URL: https://github.com/QuiNovas/sqs-extended-client Source0: https://mirrors.nju.edu.cn/pypi/web/packages/28/c0/60f0ccd54db82edfee28077dd1439d1438cd8b1a139b2b87fb862b8a8869/sqs-extended-client-0.0.10.tar.gz BuildArch: noarch Requires: python3-botoinator %description # sqs-extended-client ### Implements the functionality of [amazon-sqs-java-extended-client-lib](https://github.com/awslabs/amazon-sqs-java-extended-client-lib) in Python ## Installation ``` pip install sqs-extended-client ``` ## Overview sqs-extended-client allows for sending large messages through SQS via S3. This is the same mechanism that the Amazon library [amazon-sqs-java-extended-client-lib](https://github.com/awslabs/amazon-sqs-java-extended-client-lib) provides. This library is interoperable with that library. To do this, this library automatically extends the normal boto3 SQS client and Queue resource classes upon import using the [botoinator](https://github.com/QuiNovas/botoinator) library. This allows for further extension or decoration if desired. ## Additional attributes available on `boto3` SQS `client` and `Queue` objects * large_payload_support -- the S3 bucket name that will store large messages. * message_size_threshold -- the threshold for storing the message in the large messages bucket. Cannot be less than `0` or greater than `262144`. Defaults to `262144`. * always_through_s3 -- if `True`, then all messages will be serialized to S3. Defaults to `False` * s3 -- the boto3 S3 `resource` object to use to store objects to S3. Use this if you want to control the S3 resource (for example, custom S3 config or credentials). Defaults to `boto3.resource("s3")` on first use if not previously set. ## Usage #### Note: > The s3 bucket must already exist prior to usage, and be accessible by whatever credentials you have available ### Enabling support for large payloads (>256Kb) ```python import boto3 import sqs_extended_client # Low level client sqs = boto3.client('sqs') sqs.large_payload_support = 'my-bucket-name' # boto resource resource = boto3.resource('sqs') queue = resource.Queue('queue-url') # Or queue = resource.create_queue(QueueName='queue-name') queue.large_payload_support = 'my-bucket-name' ``` ### Enabling support for large payloads (>64K) ```python import boto3 import sqs_extended_client # Low level client sqs = boto3.client('sqs') sqs.large_payload_support = 'my-bucket-name' sqs.message_size_threshold = 65536 # boto resource resource = boto3.resource('sqs') queue = resource.Queue('queue-url') # Or queue = resource.create_queue(QueueName='queue-name') queue.large_payload_support = 'my-bucket-name' queue.message_size_threshold = 65536 ``` ### Enabling support for large payloads for all messages ```python import boto3 import sqs_extended_client # Low level client sqs = boto3.client('sqs') sqs.large_payload_support = 'my-bucket-name' sqs.always_through_s3 = True # boto resource resource = boto3.resource('sqs') queue = resource.Queue('queue-url') # Or queue = resource.create_queue(QueueName='queue-name') queue.large_payload_support = 'my-bucket-name' queue.always_through_s3 = True ``` ### Setting a custom S3 resource ```python import boto3 from botocore.config import Config import sqs_extended_client # Low level client sqs = boto3.client('sqs') sqs.large_payload_support = 'my-bucket-name' sqs.s3 = boto3.resource( 's3', config=Config( signature_version='s3v4', s3={ "use_accelerate_endpoint": True } ) ) # boto resource resource = boto3.resource('sqs') queue = resource.Queue('queue-url') # Or queue = resource.create_queue(QueueName='queue-name') queue.large_payload_support = 'my-bucket-name' queue.s3 = boto3.resource( 's3', config=Config( signature_version='s3v4', s3={ "use_accelerate_endpoint": True } ) ) ``` %package -n python3-sqs-extended-client Summary: AWS SQS extended client functionality from amazon-sqs-java-extended-client-lib Provides: python-sqs-extended-client BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-sqs-extended-client # sqs-extended-client ### Implements the functionality of [amazon-sqs-java-extended-client-lib](https://github.com/awslabs/amazon-sqs-java-extended-client-lib) in Python ## Installation ``` pip install sqs-extended-client ``` ## Overview sqs-extended-client allows for sending large messages through SQS via S3. This is the same mechanism that the Amazon library [amazon-sqs-java-extended-client-lib](https://github.com/awslabs/amazon-sqs-java-extended-client-lib) provides. This library is interoperable with that library. To do this, this library automatically extends the normal boto3 SQS client and Queue resource classes upon import using the [botoinator](https://github.com/QuiNovas/botoinator) library. This allows for further extension or decoration if desired. ## Additional attributes available on `boto3` SQS `client` and `Queue` objects * large_payload_support -- the S3 bucket name that will store large messages. * message_size_threshold -- the threshold for storing the message in the large messages bucket. Cannot be less than `0` or greater than `262144`. Defaults to `262144`. * always_through_s3 -- if `True`, then all messages will be serialized to S3. Defaults to `False` * s3 -- the boto3 S3 `resource` object to use to store objects to S3. Use this if you want to control the S3 resource (for example, custom S3 config or credentials). Defaults to `boto3.resource("s3")` on first use if not previously set. ## Usage #### Note: > The s3 bucket must already exist prior to usage, and be accessible by whatever credentials you have available ### Enabling support for large payloads (>256Kb) ```python import boto3 import sqs_extended_client # Low level client sqs = boto3.client('sqs') sqs.large_payload_support = 'my-bucket-name' # boto resource resource = boto3.resource('sqs') queue = resource.Queue('queue-url') # Or queue = resource.create_queue(QueueName='queue-name') queue.large_payload_support = 'my-bucket-name' ``` ### Enabling support for large payloads (>64K) ```python import boto3 import sqs_extended_client # Low level client sqs = boto3.client('sqs') sqs.large_payload_support = 'my-bucket-name' sqs.message_size_threshold = 65536 # boto resource resource = boto3.resource('sqs') queue = resource.Queue('queue-url') # Or queue = resource.create_queue(QueueName='queue-name') queue.large_payload_support = 'my-bucket-name' queue.message_size_threshold = 65536 ``` ### Enabling support for large payloads for all messages ```python import boto3 import sqs_extended_client # Low level client sqs = boto3.client('sqs') sqs.large_payload_support = 'my-bucket-name' sqs.always_through_s3 = True # boto resource resource = boto3.resource('sqs') queue = resource.Queue('queue-url') # Or queue = resource.create_queue(QueueName='queue-name') queue.large_payload_support = 'my-bucket-name' queue.always_through_s3 = True ``` ### Setting a custom S3 resource ```python import boto3 from botocore.config import Config import sqs_extended_client # Low level client sqs = boto3.client('sqs') sqs.large_payload_support = 'my-bucket-name' sqs.s3 = boto3.resource( 's3', config=Config( signature_version='s3v4', s3={ "use_accelerate_endpoint": True } ) ) # boto resource resource = boto3.resource('sqs') queue = resource.Queue('queue-url') # Or queue = resource.create_queue(QueueName='queue-name') queue.large_payload_support = 'my-bucket-name' queue.s3 = boto3.resource( 's3', config=Config( signature_version='s3v4', s3={ "use_accelerate_endpoint": True } ) ) ``` %package help Summary: Development documents and examples for sqs-extended-client Provides: python3-sqs-extended-client-doc %description help # sqs-extended-client ### Implements the functionality of [amazon-sqs-java-extended-client-lib](https://github.com/awslabs/amazon-sqs-java-extended-client-lib) in Python ## Installation ``` pip install sqs-extended-client ``` ## Overview sqs-extended-client allows for sending large messages through SQS via S3. This is the same mechanism that the Amazon library [amazon-sqs-java-extended-client-lib](https://github.com/awslabs/amazon-sqs-java-extended-client-lib) provides. This library is interoperable with that library. To do this, this library automatically extends the normal boto3 SQS client and Queue resource classes upon import using the [botoinator](https://github.com/QuiNovas/botoinator) library. This allows for further extension or decoration if desired. ## Additional attributes available on `boto3` SQS `client` and `Queue` objects * large_payload_support -- the S3 bucket name that will store large messages. * message_size_threshold -- the threshold for storing the message in the large messages bucket. Cannot be less than `0` or greater than `262144`. Defaults to `262144`. * always_through_s3 -- if `True`, then all messages will be serialized to S3. Defaults to `False` * s3 -- the boto3 S3 `resource` object to use to store objects to S3. Use this if you want to control the S3 resource (for example, custom S3 config or credentials). Defaults to `boto3.resource("s3")` on first use if not previously set. ## Usage #### Note: > The s3 bucket must already exist prior to usage, and be accessible by whatever credentials you have available ### Enabling support for large payloads (>256Kb) ```python import boto3 import sqs_extended_client # Low level client sqs = boto3.client('sqs') sqs.large_payload_support = 'my-bucket-name' # boto resource resource = boto3.resource('sqs') queue = resource.Queue('queue-url') # Or queue = resource.create_queue(QueueName='queue-name') queue.large_payload_support = 'my-bucket-name' ``` ### Enabling support for large payloads (>64K) ```python import boto3 import sqs_extended_client # Low level client sqs = boto3.client('sqs') sqs.large_payload_support = 'my-bucket-name' sqs.message_size_threshold = 65536 # boto resource resource = boto3.resource('sqs') queue = resource.Queue('queue-url') # Or queue = resource.create_queue(QueueName='queue-name') queue.large_payload_support = 'my-bucket-name' queue.message_size_threshold = 65536 ``` ### Enabling support for large payloads for all messages ```python import boto3 import sqs_extended_client # Low level client sqs = boto3.client('sqs') sqs.large_payload_support = 'my-bucket-name' sqs.always_through_s3 = True # boto resource resource = boto3.resource('sqs') queue = resource.Queue('queue-url') # Or queue = resource.create_queue(QueueName='queue-name') queue.large_payload_support = 'my-bucket-name' queue.always_through_s3 = True ``` ### Setting a custom S3 resource ```python import boto3 from botocore.config import Config import sqs_extended_client # Low level client sqs = boto3.client('sqs') sqs.large_payload_support = 'my-bucket-name' sqs.s3 = boto3.resource( 's3', config=Config( signature_version='s3v4', s3={ "use_accelerate_endpoint": True } ) ) # boto resource resource = boto3.resource('sqs') queue = resource.Queue('queue-url') # Or queue = resource.create_queue(QueueName='queue-name') queue.large_payload_support = 'my-bucket-name' queue.s3 = boto3.resource( 's3', config=Config( signature_version='s3v4', s3={ "use_accelerate_endpoint": True } ) ) ``` %prep %autosetup -n sqs-extended-client-0.0.10 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-sqs-extended-client -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.0.10-1 - Package Spec generated