I’m trying to upload a file but I get the following error “Amazon S3 Storage Exception: The AWS Access Key ID you provided does not exist in our records” and I have configured for files to be stored in internal storage. this is response
{
“uploaded”: [],
“errors”: [
{
“code”: “errorAmazonS3Storage”,
“message”: “AmazonS3 Storage exception: The AWS Access Key Id you provided does not exist in our records.”,
“description”: “Operation Failed. Exception of type ‘Amazon.Runtime.Internal.HttpErrorResponseException’ was thrown.”,
“innerError”: {
“requestId”: null,
“date”: “2025-09-05T03:55:29.0934558+00:00”
}
}
]
}
What’s happening?
The error “Amazon S3 Storage Exception: The AWS Access Key ID you provided does not exist in our records” is thrown by the Aspose Cloud SDK when it tries to connect to an Amazon S3 bucket.
If you intended to use Aspose internal storage, the SDK is picking up S3 credentials from somewhere (environment variables, appsettings.json
, web.config
, etc.) and therefore attempts an S3 upload.
Below are the steps to make sure the Aspose SDK uses internal storage only and to eliminate the unwanted S3 connection.
1. Verify your storage configuration
.NET (C#) Example
// 1. Load your Aspose Cloud credentials (Client ID / Client Secret)
Aspose.Storage.Client.StorageClient storageClient = new Aspose.Storage.Client.StorageClient(
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET");
// 2. Ensure you **do NOT** set any S3 related properties
// (e.g. storageClient.Configuration.S3Region, S3AccessKey, S3SecretKey)
// – remove them from the configuration file if present.
// 3. Use internal storage (default)
var uploadResponse = storageClient.PutCreate(
path: "myFolder/MyFile.docx",
file: File.ReadAllBytes(@"C:\Temp\MyFile.docx"));
Java Example
// Initialize Aspose Cloud client
ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
// Do NOT set S3 credentials here
// apiClient.setS3AccessKey(...);
// apiClient.setS3SecretKey(...);
// Upload to internal storage
FilesApi filesApi = new FilesApi(apiClient);
File file = new File("C:/Temp/MyFile.docx");
UploadResponse response = filesApi.uploadFile("myFolder/MyFile.docx", file);
Node.js Example
const { StorageApi } = require("@asposecloud/storage");
// Initialize client (internal storage by default)
const storageApi = new StorageApi({
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET"
// Do NOT provide s3AccessKey / s3SecretKey here
});
// Upload file
await storageApi.uploadFile("myFolder/MyFile.docx", fs.createReadStream("MyFile.docx"));
Key point: Do not set
s3AccessKey
,s3SecretKey
,s3Region
, or any other S3‑related property in the client configuration.
2. Remove any stray AWS credentials
The SDK automatically picks up AWS credentials from the following sources (in this order):
Source | How to clear it |
---|---|
Environment variables (AWS_ACCESS_KEY_ID , AWS_SECRET_ACCESS_KEY , AWS_SESSION_TOKEN ) |
unset AWS_ACCESS_KEY_ID (Linux/macOS) or delete from System → Advanced → Environment Variables (Windows) |
appsettings.json / web.config / pom.xml / package.json (any config file you might have added) |
Delete the keys S3AccessKey , S3SecretKey , S3Region |
User profile ~/.aws/credentials |
Remove the profile section or delete the file if not needed |
After cleaning these sources, restart your application so the new configuration is loaded.
3. Confirm that internal storage is active
You can explicitly request internal storage via the SDK – most Aspose Cloud SDKs expose a “Default” storage name that resolves to internal storage.
// .NET – explicit internal storage name
var uploadResponse = storageClient.PutCreate(
path: "myFolder/MyFile.docx",
file: File.ReadAllBytes(@"C:\Temp\MyFile.docx"),
storage: "Default"); // <-- forces internal storage
Similarly for Java/Node:
filesApi.uploadFile("myFolder/MyFile.docx", file, "Default");
await storageApi.uploadFile("myFolder/MyFile.docx", fs.createReadStream("MyFile.docx"), { storage: "Default" });
4. Check your Aspose Cloud dashboard (optional)
If you have previously added an S3 storage configuration in the Aspose Cloud console, it might be referenced automatically.
- Log in to the Aspose Cloud Dashboard.
- Navigate to Storage → External Storages.
- Verify that no S3 storage is set as the default storage.
- If one exists, either delete it or change the default storage to Aspose Internal.
Documentation: Aspose Cloud Storage Overview
More details on configuring internal vs. external storage: Using Aspose Cloud Internal Storage
5. Test again
Run the upload code after you have:
- Removed all S3 credentials.
- Ensured the SDK is initialized without any S3 parameters.
- (Optionally) forced the storage name to
"Default"
.
You should now see a successful response similar to:
{
"status": "OK",
"uploaded": ["myFolder/MyFile.docx"]
}
6. If the problem persists – what to provide
If you still receive the S3 error, please share the following details so we can dig deeper:
Item | Why it helps |
---|---|
Exact SDK language & version (e.g., Aspose.Words Cloud SDK for .NET 20.12) | Determines API signatures and configuration handling |
Code snippet that creates the client and performs the upload | Allows us to spot hidden S3 settings |
Configuration file (redacted for secrets) – appsettings.json , pom.xml , etc. |
Shows where credentials might be loaded |
Any custom storage name you pass to the upload method | Confirms the storage target being used |
Screenshot or export of the Aspose Cloud Dashboard → Storage page | Verifies the default storage setting |
Feel free to paste the redacted code or config in a code block (```
), and we’ll get it resolved quickly.
Quick checklist
- [ ] Remove AWS credentials from environment variables / config files.
- [ ] Ensure you do not set
S3AccessKey
/S3SecretKey
in the Aspose client. - [ ] Force storage name to
"Default"
(internal storage). - [ ] Verify the Aspose Cloud Dashboard default storage is set to Internal.
- [ ] Re‑run the upload – you should no longer see the S3 exception.
If you need any clarification or run into a new error, just reply with the requested details and we’ll continue troubleshooting. Happy coding!
I’m not using the SDK, I’m using the API and I’ve already checked the settings in the panel and everything is fine.
It should be said that before noon it was working and I had even uploaded several files, but suddenly it stopped working.
I’m trying to upload a file but I get the following error “Amazon S3 Storage Exception: The AWS Access Key ID you provided does not exist in our records” and I have configured for files to be stored in internal storage
It appears you’re utilizing Aspose Cloud services and attempting to upload files using Amazon S3 storage but encountering an issue. I’m transferring your thread to the appropriate forum where you’ll receive detailed assistance.