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

rds-operations.mddocs/

0

# RDS Operations

1

2

Connect to and manage Amazon RDS instances for relational database operations within Dagster pipelines.

3

4

## Capabilities

5

6

### RDS Resource

7

8

```python { .api }

9

class RDSResource(ResourceWithBoto3Configuration):

10

"""

11

Resource for interacting with Amazon RDS.

12

"""

13

14

def get_connection(self, db_instance_identifier: str):

15

"""

16

Get connection to RDS database instance.

17

18

Parameters:

19

db_instance_identifier: RDS instance identifier

20

21

Returns:

22

Connection: Database connection object

23

"""

24

25

def describe_db_instances(self) -> List[Dict]:

26

"""

27

List available RDS instances.

28

29

Returns:

30

List[Dict]: RDS instance descriptions

31

"""

32

33

def create_db_snapshot(

34

self,

35

db_instance_identifier: str,

36

snapshot_identifier: str

37

) -> Dict:

38

"""

39

Create RDS database snapshot.

40

41

Parameters:

42

db_instance_identifier: Source RDS instance

43

snapshot_identifier: Snapshot name

44

45

Returns:

46

Dict: Snapshot creation response

47

"""

48

```

49

50

## Usage Examples

51

52

```python

53

from dagster import op, job, Definitions

54

from dagster_aws.rds import RDSResource

55

56

@op(required_resource_keys={"rds"})

57

def backup_database(context):

58

rds = context.resources.rds

59

60

# Create database snapshot

61

snapshot_id = f"backup-{context.run_id}"

62

63

response = rds.create_db_snapshot(

64

db_instance_identifier="my-prod-database",

65

snapshot_identifier=snapshot_id

66

)

67

68

context.log.info(f"Created snapshot: {snapshot_id}")

69

return response

70

71

@job(

72

resource_defs={

73

"rds": RDSResource(region_name="us-west-2")

74

}

75

)

76

def database_backup_job():

77

backup_database()

78

79

defs = Definitions(jobs=[database_backup_job])

80

```