Package for AWS-specific Dagster framework solid and resource components.
—
Interact with Amazon ECR (Elastic Container Registry) for container image management in containerized Dagster workflows.
class ECRPublicResource(ResourceWithBoto3Configuration):
"""
Resource for interacting with Amazon ECR Public.
"""
def get_authorization_token(self) -> Dict:
"""
Get authorization token for ECR Public.
Returns:
Dict: Authorization token and metadata
"""
def get_login_password(self) -> str:
"""
Get Docker login password for ECR Public.
Returns:
str: Docker login password
"""
def ecr_public_resource(**kwargs) -> ECRPublicResource: ...class FakeECRPublicResource(ConfigurableResource):
"""
Mock ECR Public resource for testing.
"""
def fake_ecr_public_resource(**kwargs): ...from dagster import op, job, Definitions
from dagster_aws.ecr import ECRPublicResource
@op(required_resource_keys={"ecr"})
def pull_container_image(context):
ecr = context.resources.ecr
# Get authorization for ECR Public
token = ecr.get_authorization_token()
password = ecr.get_login_password()
# Use for Docker operations
context.log.info(f"Retrieved ECR authorization token")
return token
@job(
resource_defs={
"ecr": ECRPublicResource(region_name="us-east-1")
}
)
def container_job():
pull_container_image()
defs = Definitions(jobs=[container_job])Install with Tessl CLI
npx tessl i tessl/pypi-dagster-aws