Skip to main content

yc-aws-wrapper.

Project description

yc-aws-wrapper

About:

A little sugar for working with Yandex cloud services. May also be compatible with other AWS clones.
The wrapper is written for your own needs and primarily for working with Yandex Cloud, ready for criticism and suggestions.

To run tests, in addition to the necessary environment variables, you need S3_BUCKET the location of your test bucket

ENV:

  • REQUIRED

    AWS_REGION: region
    AWS_ACCESS_KEY_ID: key id
    AWS_SECRET_ACCESS_KEY: secret from key id

  • SITUATIONAL:

    [SERVICE]_ENDPOINT_URL: endpoint for the service, example for yandex sqs: SQS_ENDPOINT_URL=https://message-queue.api.cloud.yandex.net

  • ADDITIONAL:
    • SQS:

      SQS_TUBE_[Method_Name]: Contains the name of the queue to be accessed via a method.
      Example: SQS_TUBE_FOO=sqs-aws-wrapper | sqs.foo.send(*args, **kwargs)

    • S3:

      S3_BUCKET_[Method_Name]: Contains the name of the bucket to be accessed via a method.
      Example: S3_BUCKET_FOO=bucket-aws-wrapper | s3.foo.send(*args, **kwargs)

    • SESV2:

      SESV2_MAILBOX_[Method_Name]: Contains the name of the mailbox to be accessed via a method.
      Example: SESV2_MAILBOX_FOO=mail@aws-wrapper.net | sesv2.foo.send(*args, **kwargs)

    • Kinesis:

      KINESIS_FOLDER:
      KINESIS_DATABASE:
      KINESIS_STREAM_NAME:

Example:

Let's send a message to three queues, one of which is not declared in the environment variables, as a result we will get dictionaries symbolizing a successful result for "foo" and "bar", as well as none, indicating that nothing was sent, example code_1
You can also send a message to all queues using a loop, but first you need to force load all environment variables, example code_2 envs:

AWS_REGION=ru.central1
AWS_ACCESS_KEY_ID=<KEY_ID>
AWS_SECRET_ACCESS_KEY=<SECRET_KEY>
SQS_ENDPOINT_URL=https://message-queue.api.cloud.yandex.net
SQS_TUBE_FOO=foo-aws-wrapper SQS_TUBE_BAR=bar-aws-wrapper

code_1:

import from yc_aws_wrapper.s3 import SQS

sqs = SQS()
response = sqs.foo.send("Hellow World")
type(response) is dict
response = sqs.bar.send("Hellow World")
type(response) is dict
response = sqs.baz.send("Hellow World")
type(response) is None

code_2:

import from yc_aws_wrapper.s3 import SQS

sqs = SQS()
sqs.load_all_clients()
for el in sqs:
el.send("Hellow World")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yc_aws_wrapper-0.0.6.tar.gz (23.2 kB view details)

Uploaded Source

Built Distribution

yc_aws_wrapper-0.0.6-py3-none-any.whl (34.9 kB view details)

Uploaded Python 3

File details

Details for the file yc_aws_wrapper-0.0.6.tar.gz.

File metadata

  • Download URL: yc_aws_wrapper-0.0.6.tar.gz
  • Upload date:
  • Size: 23.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for yc_aws_wrapper-0.0.6.tar.gz
Algorithm Hash digest
SHA256 8d4a1ba4e9b97dfe400d86b8391bfe9fecaa2a9124863a4b0d0ec8cc03bfca2d
MD5 99fe1a9918e210a83d6ecf30411e4849
BLAKE2b-256 7e638977c6f4973368ca18a813fc6a1a11dc912b53bf6295f12d34ff14a92af6

See more details on using hashes here.

File details

Details for the file yc_aws_wrapper-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for yc_aws_wrapper-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 05ab5fb3a6c25f6e553dca487d20fbdb8e2a743272831b8b81bdee6d433069ba
MD5 06290188d321e1a0aa6b41c229780aa9
BLAKE2b-256 5006b8dab204d6f266dba3a2feffe5f06e318530d72d720b7fd096a5b96c819b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page