DEV Community

guoliwu
guoliwu

Posted on

How to Manage Jina Resources with Namespace

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.

Jina AI Cloud:https://cloud.jina.ai/

That’s a lot of stuff to manage! We’re introducing user namespaces to make things easier for all our users.

Namespace

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.

Schema

Moving forwards, names for DocumentArrays and Hub Executors will follow the new schema, namespace/resource:

Image description

💡Note that Executors now use jinaai:// as the prefix (not jinahub://) and no longer need secrets (as you already logged in).

Access scope

For both DocumentArray and Executor, the user enjoys the following accessibility:

Does 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.

Managing your resources under the namespace

Manage DocumentArrays

  1. Create a Jina AI account at cloud.jina.ai.

  1. Upgrade docarray to >=0.19.1 version with pip install -U docarray.

  2. 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')
Enter fullscreen mode Exit fullscreen mode
  1. Manage your pushed DocumentArrays on Jina AI Cloud in the "Storage" tab:

Untitled

Manage Executors

Upgrade jina to the latest version with pip install -U jina.

1.Create a Jina AI account at cloud.jina.ai.
2.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:
    ...
Enter fullscreen mode Exit fullscreen mode

3.Or push your own Executor to Executor Hub (from the CLI):

jina auth login
jina hub push MyExecutor
Enter fullscreen mode Exit fullscreen mode

4.Manage your Executors on Executor Hub on the "Executors" tab:

Top comments (0)