Over the past year, we’ve been rapidly expanding Jina AI Cloud, starting with our Executor Hub, and now encompassing DocumentArray storage, hosted Flows and cloud apps.
That’s a lot of stuff to manage! We’re introducing user namespaces to make things easier for all our users.
tagNamespace
Previously, if Alice and Bob both wanted to push a DocumentArray called fashion-mnist
, whoever pushed first would get the name. That means Bob might have to go with fashion-mnist2
or similar. With more people using Jina AI Cloud, naming conflicts could become commonplace.
With user namespaces, both Alice and Bob can have their own fashion_mnist
DocumentArrays (or Executors with the same name) with no fear of naming conflicts.
The new namespace apply to two important resources inside Jina AI ecosystem: DocumentArray and Executor.
tagSchema
Moving forwards, names for DocumentArrays and Hub Executors will follow the new schema, namespace/resource
:
Old | New | |
---|---|---|
DocumentArray Push/Pull | fashion_mnist |
alice/fashion_mnist |
Executors Push/Pull | jinahub://MyExecutor:<secret> |
jinaai://alice/MyExecutor |
Containerized Executors Push/Pull | jinahub+docker://MyExecutor:<secret> |
jinaai+docker://alice/MyExecutor |
jinaai://
as the prefix (not jinahub://
) and no longer need secrets (as you already logged in).tagAccess scope
For both DocumentArray and Executor, the user enjoys the following accessibility:
Action | Own namespace (alice/* ) |
Other's namespace bob/* |
---|---|---|
Push | Yes | No |
Pull | Yes | Yes (if Bob pushed it as public ) |
tagDoes this break anything?
- There are no breaking changes for existing Executors on Executor Hub.
- You can still pull old DocumentArrays by their original name, but you can’t update them. Newly-pushed DocumentArrays must follow the
username/da-name
scheme.
tagManaging your resources under the namespace
tagManage DocumentArrays
- Create a Jina AI account at cloud.jina.ai.
2. Upgrade docarray
to >=0.19.1
version with pip install -U docarray
.
3. Log in via docarray.login()
and start pushing and pulling DocumentArrays:
from docarray import DocumentArray
docarray.login() # log in as 'alice'
docs = DocumentArray.pull('alice/fashion_mnist')
docs.push('alice/fashion_mnist_updated')
4. Manage your pushed DocumentArrays on Jina AI Cloud in the "Storage" tab:
tagManage Executors
Upgrade jina
to the latest version with pip install -U jina
.
- Create a Jina AI account at cloud.jina.ai.
- Use an existing Executor in your Flow (in Python):
from jina import Flow
flow = Flow().add(uses='jinaai+docker://alice/MyExecutor') # note jinaai
with flow:
...
4. Or push your own Executor to Executor Hub (from the CLI):
jina auth login
jina hub push MyExecutor
5. Manage your Executors on Executor Hub on the "Executors" tab: