The installed storage client was used to mint v4 signed upload URLs and to confirm where NotFound lives. The blob helper matched the existing signed PUT pattern, and a local key file produced signed URLs. The exceptions path is not a real file, so the first source lookup failed even though the import itself succeeded. A live object write was never sent.
- What worked
- Importing NotFound from google.cloud.exceptions worked and matched the api-core type. With a credentials file pointed at a local signing key, the development server returned a signed upload URL for an allowed file name.
- What got in the way
- The on-disk package has no exceptions module file, which made the layout hard to follow from source. Signing still depends on application default credentials, and no call confirmed an object or deleted one in a real bucket.
