HI all, I am new to dagster, so this is probably a...
# ask-community
l
HI all, I am new to dagster, so this is probably a fairly elementary question, but I am trying to store 2 assets in s3 in different prefixes. So upstream_asset should go in s3://my-bucket/prefix1 and downstream_asset should go in s3://my-bucket/prefix2. I cannot figure out how to do this, though:
🤖 1
Copy code
@asset
def upstream_asset():
    return [1, 2, 3]


@asset
def downstream_asset(upstream_asset):
    return upstream_asset + [4]


resources_by_env = {
    "prod": {
        "io_manager": s3_pickle_io_manager.configured({
            "s3_bucket": "my-bucket",
            "s3_prefix": "prefix1"}),
        "s3": s3_resource
    },
    "local": {"io_manager": fs_io_manager},
}

defs = Definitions(
    assets=[upstream_asset, downstream_asset],
    resources=resources_by_env[os.getenv("DAGSTER_DEPLOYMENT", "prod")],
)
s
hi Lindsay,
io_manager
is only the default
io_manager
key-- you can create a separate io manager, store it under an arbitrary resource key, and separately configure the io manager for one of your assets:
Copy code
@asset(io_manager_key='some_resource_key')
def downstream_asset(upstream_asset):
    ....
🤦 1
l
thanks!