Skip to content

Orphan Asset in Amazon DataZone - Unable to Unpublish or Manage After Successful DeleteAsset API Call

0

Hello AWS Community,

I've encountered a critical issue in Amazon DataZone where an asset has become an "orphan," making it impossible to manage. I'm looking for guidance on how to resolve this inconsistent state.

Problem Description

I am trying to programmatically manage the lifecycle of my data assets. The issue arose when I attempted to delete an asset using the AWS SDK (calling the DeleteAsset API).

Steps to Reproduce

  1. I identified an asset within my DataZone project that needed to be removed.
  2. I executed the DeleteAsset API call, providing the correct domainIdentifier, identifier (the asset ID).
  3. The API call completed successfully and returned a 200 OK response, indicating that the deletion was processed without errors.

The Issue

1) API Success, UI Inconsistency, Despite the successful API response, the asset still appears in the published catalog within the DataZone portal. It seems the deletion was acknowledged by the backend but did not correctly propagate to the published environment.

2) Failed Unpublish Attempt When I try to manually unpublish this "ghost" asset from the portal, the operation fails with a ResourceNotFoundException error. This is logical, as the core asset has technically been deleted, but it leaves the published representation in an unmanageable state.

Current State

The asset is now effectively an orphan. I cannot delete it (because it's technically already deleted) and I cannot unpublish it (because the system can't find the underlying resource to perform the action on). This orphan asset is now stuck in my published catalog, creating confusion and clutter.

My Question

How can I forcefully remove this orphan asset from my published Amazon DataZone catalog? Is there a specific procedure, a different API endpoint, or a cleanup process I can run to resolve this inconsistency?

Any help or insights from the community or AWS support would be greatly appreciated.

Thank you

asked a month ago62 views
2 Answers
4
Accepted Answer

Troubleshooting Tip: Listing vs. Asset ID

Before contacting AWS Support, you can try to target the Listing ID directly via the AWS CLI, as it might still exist even if the Asset ID is gone:

1. Search for the Listing: Use the search-listings command to see if the orphaned entry returns a specific listingId.

2. Try Manual Deletion: If you find a listingId, try to delete it directly using the delete-listing API call (instead of the asset-based unpublish command).

PS: If the CLI also returns a ResourceNotFoundException, the inconsistency is purely on the backend, and AWS Support can scrub the database for you.

EXPERT
answered a month ago
  • Manually API call to get and delete listing is working perfectly, Thank you!

0

Based on the standard Amazon DataZone asset management workflow, there appears to be a discrepancy between your expected behavior and the documented process for asset lifecycle management.

In Amazon DataZone, the proper sequence for removing an asset from the catalog involves two distinct steps:

  1. Unpublishing the asset: This removes the asset from the catalog and global search results, preventing new users from finding or subscribing to it. To unpublish, you need to navigate to the DataZone data portal, select your project, go to the Data tab, choose Published data, locate the asset, and select Unpublish.

  2. Deleting the asset: After unpublishing, you can then delete the asset. Additionally, before deletion, all existing subscriptions to the asset must be revoked.

The issue you're experiencing suggests that the DeleteAsset API call may have removed the underlying asset record without properly handling the published catalog entry. This creates the orphaned state you've described.

For this specific situation where the asset appears in the published catalog but the underlying resource no longer exists, I recommend:

  1. Contact AWS Support: This appears to be an edge case involving data inconsistency between the asset inventory and the published catalog. AWS Support can access backend tools to clean up orphaned catalog entries that cannot be managed through standard UI or API operations.

  2. Provide detailed information: When contacting support, include the domain identifier, asset identifier, project details, and the exact sequence of API calls made, along with timestamps and response codes.

This type of inconsistent state typically requires administrative intervention at the service level to properly reconcile the catalog and inventory databases.
Sources
Unpublish an asset from the Amazon DataZone catalog - Amazon DataZone
Delete an Amazon DataZone asset - Amazon DataZone

answered a month ago
EXPERT
reviewed a month ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.