Provides a botocore.session.Session implementation for accessing EchoStream Tenant resources
Project description
echostream-botocore
Provides a botocore.session.Session
implementation for accessing EchoStream Tenant resources
This package provides two primary mechanisms to create a botocore.session.Session
object in your EchoStream Tenant; ApiSession
or AppSession
. These session objects will automatically refresh both your Cognito credentials and your botocore credentials (using the EchoStream AppSync API).
Note: Version >= 0.1.0 requires Python 3.12
Installation
pip install echostream-botocore
Common parameters
Parameter | ENV VAR | Description | Required |
---|---|---|---|
appsync_endpoint |
APPSYNC_ENDPOINT |
The EchoStream AppSync endpoint | If cognito not provided |
client_id |
CLIENT_ID |
The Cognito Client Id for the provided user_pool_id |
If cognito not provided |
cognito |
N/A | A pycognito.Cognito object |
If other parameters are not provided |
duration |
N/A | The length of time that the underlying credentials should be good for in seconds; shoudl be greater than 900 |
Defaults to 3600 |
password |
PASSWORD |
The password associated with username |
If cognito not provided |
tenant |
TENANT |
The name of the EchoStream Tenant | Yes |
user_pool_id |
USER_POOL_ID |
The Cognito User Pool Id | If cognito not provided |
username |
USER_NAME |
The username of the ApiUser |
If cognito not provided |
ApiSession
ApiSession
objects are used to gain a Tenant-level botocore.session.Session
in your Tenant using an EchoStream ApiUser
.
ApiSession
s may be created using a pycognito.Cognito
instance or via a combination of environment variables and parameters. The environment variables or parameters are interchangeable. All parameters/environment variables are required if a Cognito
object is not provided. If a Cognito
object is provided, then all parameters/environment varaiables are ignored and it is assumed that the Cognito
object references an ApiUser
.
Usage (assuming correct ENV setup)
from boto3 import Session
from echostream_botocore import ApiSession
session = Session(
botocore_session=ApiSession(),
region_name="us-east-1"
)
ddb_client = session.client("dynamodb")
...
AppSession
AppSession
objects are used to gain a App-level botocore.session.Session
in your Tenant using an EchoStream AppUser
.
AppSession
s may be created using a pycognito.Cognito
instance or via a combination of environment variables and parameters. The environment variables or parameters are interchangeable. All parameters/environment variables are required if a Cognito
object is not provided. If a Cognito
object is provided, then all parameters/environment varaiables are ignored and it is assumed that the Cognito
object references an AppUser
.
Additional Parameters
Parameter | ENV VAR | Description | Required |
---|---|---|---|
app |
APP |
The name of the EchoStream App | Yes |
Usage (assuming correct ENV setup)
from boto3 import Session
from echostream_botocore import AppSession
session = Session(
botocore_session=AppSession(),
region_name="us-east-1"
)
ddb_client = session.client("dynamodb")
...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file echostream_botocore-0.1.0.tar.gz
.
File metadata
- Download URL: echostream_botocore-0.1.0.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46b96cc940138d91d627ae18aa05ba4a1a6a8e55a9d132553f5fcc2294020b4e |
|
MD5 | 53ebf93cc3696f7448106acdd2d07130 |
|
BLAKE2b-256 | 24c4bcc8c43426badea6e70d800f8f94ad1a30660fcae45783a782d8fc9c215d |
File details
Details for the file echostream_botocore-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: echostream_botocore-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d3e43afa71a048e9d1d12612a3ba3e8111ebb808afad45c853c0851f47a636f |
|
MD5 | 7fd696531bc8772f4ea3d9f7a5f9cee5 |
|
BLAKE2b-256 | 1c65ea014cb84820764445a45af27c78bba9c4e6c014f465c28c24f02fa45736 |