or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

athena-queries.mdcloudwatch-logging.mdecr-integration.mdecs-orchestration.mdemr-processing.mdindex.mdparameter-store.mdpipes-orchestration.mdrds-operations.mdredshift-integration.mds3-storage.mdsecrets-management.md

ecr-integration.mddocs/

0

# ECR Integration

1

2

Interact with Amazon ECR (Elastic Container Registry) for container image management in containerized Dagster workflows.

3

4

## Capabilities

5

6

### ECR Public Resource

7

8

```python { .api }

9

class ECRPublicResource(ResourceWithBoto3Configuration):

10

"""

11

Resource for interacting with Amazon ECR Public.

12

"""

13

14

def get_authorization_token(self) -> Dict:

15

"""

16

Get authorization token for ECR Public.

17

18

Returns:

19

Dict: Authorization token and metadata

20

"""

21

22

def get_login_password(self) -> str:

23

"""

24

Get Docker login password for ECR Public.

25

26

Returns:

27

str: Docker login password

28

"""

29

30

def ecr_public_resource(**kwargs) -> ECRPublicResource: ...

31

```

32

33

### Testing Utilities

34

35

```python { .api }

36

class FakeECRPublicResource(ConfigurableResource):

37

"""

38

Mock ECR Public resource for testing.

39

"""

40

41

def fake_ecr_public_resource(**kwargs): ...

42

```

43

44

## Usage Examples

45

46

```python

47

from dagster import op, job, Definitions

48

from dagster_aws.ecr import ECRPublicResource

49

50

@op(required_resource_keys={"ecr"})

51

def pull_container_image(context):

52

ecr = context.resources.ecr

53

54

# Get authorization for ECR Public

55

token = ecr.get_authorization_token()

56

password = ecr.get_login_password()

57

58

# Use for Docker operations

59

context.log.info(f"Retrieved ECR authorization token")

60

61

return token

62

63

@job(

64

resource_defs={

65

"ecr": ECRPublicResource(region_name="us-east-1")

66

}

67

)

68

def container_job():

69

pull_container_image()

70

71

defs = Definitions(jobs=[container_job])

72

```