Skip to content

docs: storage tasks - #2975

Open
TC-MO wants to merge 17 commits into
masterfrom
docs/storage-tasks
Open

TC-MO wants to merge 17 commits into
masterfrom
docs/storage-tasks

Conversation

@TC-MO

@TC-MO TC-MO commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Sharing and cross-run usage were documented three times over, once per storage type, and had drifted apart; this consolidates them into two shared pages (Share storage, Use storage from another run) that the type pages now link to. Along the way it corrects the storage rate limits against apify-core.

TC-MO added 10 commits September 4, 2026 22:54
The sharing procedure and the between-runs procedure were each written
out four times, on the storage overview and all three type pages, with
only the noun changed.
The overview's exception list omitted the request queue lock tier and
the 40/s batch tier, so it understated the real limits.
The API reference link pointed at key-value stores, the #sharing anchor
had no matching heading, and the description promised sharing content.
Record CRUD is a 200/s tier per openapi.yaml, not the 60/s default.
Nesting it under sharing implied a subset relationship that isn't there:
granting a person access and addressing your own storage from code are
unrelated mechanisms that only shared the word "share".
Request queue limits were lowered in apify-core#29428 (Jul 2026) to
avoid DynamoDB partition throttling and the docs were never updated.
Also documents the key-value store keys and records list tiers.
Drops a fabricated redoc anchor and corrects the key-value store records
endpoint, which downloads a ZIP archive rather than listing records.
Restores the concurrent write-order caveat to the storage overview.
The three per-type sections differed only in one method name and one
client accessor, so the extraction had relocated duplication rather than
removing it. One example per surface plus a lookup table covers all three.
The API client section led with the SDK's "open" flow; the replacement
describes the client accessor, and the username/name form it documents
is what both clients' to_safe_id conversions accept.
@TC-MO TC-MO self-assigned this Sep 14, 2026
@TC-MO TC-MO added documentation Improvements or additions to documentation. t-docs Issues owned by technical writing team. labels Sep 14, 2026
@TC-MO TC-MO changed the title Docs/storage tasks docs: storage tasks Sep 14, 2026
@apify-service-account

apify-service-account commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

✅ Preview for this PR (commit c08ce4ce) is ready at https://pr-2975.preview.docs.apify.com (see action run).

… anchors

Pre-signed URLs cover only selected dataset and key-value store
endpoints, so the request queue stub dropped the claim. Headings keep
master's #share id; the between-runs fragments decay deliberately -
Docusaurus offsets only heading anchors, so span targets hide under
the navbar.
One designed SVG, dead links stripped, SVGO) covers what
datasets-app.png and find-store-id.png showed. overview-api.png was
referenced nowhere.
@TC-MO
TC-MO marked this pull request as ready for review September 15, 2026 16:30
Restatements only, checked by an independent fidelity review; the one
factual change is Python SDK 3.8 -> 3.10, per its pyproject. Also drops
the hub's dangling share paragraph and its stale concurrency note.
Fix broken example URLs and leftover filler.

@janbuchar janbuchar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes to the OpenAPI spec are fine.

@szaganek szaganek left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a few suggestions 🥲 I think we should add a note on using contractions to the style guide.

Comment thread sources/platform/storage/dataset/index.md Outdated
In [Apify Console](https://console.apify.com), you can view your datasets in the [Storage](https://console.apify.com/storage) section under the [Datasets](https://console.apify.com/storage?tab=datasets) tab.

![Datasets in app](../images/datasets-app.png)
![Datasets in Apify Console](../images/storage-types.svg)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the output, there's some weird space under the screenshot. Can you check if you maybe exported some extra layers?

1. Click **Export** to download the data in your preferred format.

Utilize the **Actions** menu to modify the dataset's name, which also affects its [retention period](/storage#data-retention), and to adjust [access rights](/account/collaboration). The **API** button allows you to explore and test the dataset's [API endpoints](/api/v2/storage-datasets).
Use the **Actions** menu to rename the dataset (which affects its [retention period](/storage#data-retention)) and to adjust [access rights](/account/collaboration). Select **API** to view and test the dataset's [API endpoints](/api/v2/storage-datasets).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a good practice to start with the goal. Let's switch:
To rename the dataset...
To view and test...

Utilize the **Actions** menu to modify the dataset's name, which also affects its [retention period](/storage#data-retention), and to adjust [access rights](/account/collaboration). The **API** button allows you to explore and test the dataset's [API endpoints](/api/v2/storage-datasets).
Use the **Actions** menu to rename the dataset (which affects its [retention period](/storage#data-retention)) and to adjust [access rights](/account/collaboration). Select **API** to view and test the dataset's [API endpoints](/api/v2/storage-datasets).

![Datasets detail view](../images/datasets-detail.png)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this screenshot necessary?

Comment thread sources/platform/storage/dataset/index.md Outdated

Share storages by link using their ID or name. Whether the link works for others depends on your account or resource-level general access setting; learn how link-based access works in [General resource access](/account/collaboration/general-resource-access).

For one-off sharing of individual records or items when access is restricted, generate time-limited pre-signed URLs. These are available for selected dataset and key-value store endpoints only. See [Sharing restricted resources with pre-signed URLs](/account/collaboration/general-resource-access#pre-signed-urls).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's turn one-off sharing into simple English.

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

If you have the storage's _name_ or _ID_, you can access it from any [Actor](../actors/index.mdx) or [task](../actors/running/tasks.md) run. Use the same methods and endpoints you'd use for the current run's storages.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds like it's missing a link to these methods, the topic that explains it, or just a plain list.

Comment thread sources/platform/storage/use-from-another-run.md Outdated
Comment thread sources/platform/storage/use-from-another-run.md Outdated
Only the method name changes with the storage type:

| Storage type | [JavaScript SDK](/sdk/js) | [Python SDK](/sdk/python) |
| --------------- | -------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How the heck did this table pass the checks, mine always fail if there's as much as a single extra character :D

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

beats me ¯_(ツ)/¯ the markdownlint works in mysterious ways I guess ¯_(ツ)

Co-authored-by: Edyta <142720610+szaganek@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation. t-docs Issues owned by technical writing team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants