ノートブックの作成と管理(API)

Gemini Notebook Enterprise は、ドキュメントから分析情報と要約を生成するための強力なツールです。このページでは、次のノートブック管理タスクをプログラムで実行できる API について説明します。

始める前に

ノートブックの操作を開始する前に、次の操作を行います。

ノートブックを作成する

新しいノートブックを作成するには、notebooks.create メソッドを使用します。

REST

curl -X POST \
  -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks" \
  -d '{
  "title": "NOTEBOOK_TITLE",
  }'

次のように置き換えます。

  • ENDPOINT_LOCATION: API リクエストのマルチリージョン。次のいずれかの値を指定します。
    • 米国のマルチリージョンの場合は us
    • EU のマルチリージョンの場合は eu
    • グローバル ロケーションの場合は global
    詳細については、データストアのマルチリージョンを指定するをご覧ください。
  • PROJECT_NUMBER: Google Cloud プロジェクトの数。
  • LOCATION: データストアの地理的位置(global など)。詳細については、ロケーションをご覧ください。
  • NOTEBOOK_TITLE: 作成するノートブックのタイトルとして使用される UTF-8 エンコード文字列。

リクエストが成功すると、次のような JSON が返されます。

{
"title": "NOTEBOOK_TITLE",
"notebookId": "NOTEBOOK_ID",
"emoji": "",
"metadata": {
  "userRole": "PROJECT_ROLE_OWNER",
  "isShared": false,
  "isShareable": true
},
"name": "NOTEBOOK_NAME"
}

次の点にご注意ください。

  • NOTEBOOK_ID: 作成されたノートブックを識別する一意の ID。共有や取得など、他のノートブック管理タスクにはノートブック ID が必要です。
  • NOTEBOOK_NAME: ノートブックの完全なリソース名。このフィールドのパターンは projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID です。

作成したノートブックにアクセスし、ブラウザで ID を取得する

作成したノートブックにアクセスしてブラウザで ID を取得するには、次の操作を行います。

  1. 次のいずれかの URL で利用できる Gemini Notebook Enterprise のホームページに移動します。

    1. Google ID を使用している場合は、次に移動します。

      https://notebook.cloud.google.com/LOCATION/?project=PROJECT_NUMBER
      
    2. サードパーティの ID を使用している場合は、次に移動します。

      https://notebook.cloud.google/LOCATION/?project=PROJECT_NUMBER
      
  2. 作成したノートブックを選択します。選択したノートブックの URL は次のパターンになります。

    1. Google ID を使用している場合:

      https://notebook.cloud.google.com/LOCATION/notebook/NOTEBOOK_ID?project=PROJECT_NUMBER
      
    2. サードパーティの ID を使用している場合:

      https://notebook.cloud.google/LOCATION/notebook/NOTEBOOK_ID?project=PROJECT_NUMBER
      
  3. URL とノートブック ID をメモします。これらは、共有などの他のノートブック管理タスクで役立ちます。

ノートブックを取得する

ノートブック ID を使用して特定のノートブックを取得するには、notebooks.get メソッドを使用します。

REST

curl -X GET \
  -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID"

次のように置き換えます。

  • ENDPOINT_LOCATION: API リクエストのマルチリージョン。次のいずれかの値を指定します。
    • 米国のマルチリージョンの場合は us
    • EU のマルチリージョンの場合は eu
    • グローバル ロケーションの場合は global
    詳細については、データストアのマルチリージョンを指定するをご覧ください。
  • PROJECT_NUMBER: Google Cloud プロジェクトの数。
  • LOCATION: データストアの地理的位置(global など)。詳細については、ロケーションをご覧ください。
  • NOTEBOOK_ID: ノートブックの作成時に受け取ったノートブックの固有識別子。

リクエストが成功すると、空のノートブックに対して次のような JSON レスポンスが返されます。ノートブックにソースを追加した後にこのメソッドを呼び出すと、取得したノートブックに追加されたすべてのソースの詳細が返されます。CMEK の詳細を構成している場合は、ノートブックの CMEK 関連情報も受け取ります。

{
"title": "NOTEBOOK_TITLE",
"notebookId": "NOTEBOOK_ID",
"emoji": "",
"metadata": {
  "userRole": "PROJECT_ROLE_OWNER",
  "isShared": false,
  "isShareable": true,
  "lastViewed": "LAST_VIEWED_TIME",
  "createTime": "LAST_CREATED_TIME"
},
"name": "NOTEBOOK_NAME"
}

最近閲覧したノートブックを一覧表示する

最近表示されたプロジェクト内のすべてのノートブックのリストを取得するには、notebooks.listRecentlyViewed メソッドを使用します。デフォルトでは、レスポンスには最新の 500 個のノートブックが一覧表示されます。pageSize クエリ パラメータを使用して、レスポンスをページ設定できます。

REST

curl -X GET \
  -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks:listRecentlyViewed"

次のように置き換えます。

  • ENDPOINT_LOCATION: API リクエストのマルチリージョン。次のいずれかの値を指定します。
    • 米国のマルチリージョンの場合は us
    • EU のマルチリージョンの場合は eu
    • グローバル ロケーションの場合は global
    詳細については、データストアのマルチリージョンを指定するをご覧ください。
  • PROJECT_NUMBER: Google Cloud プロジェクトの数。
  • LOCATION: データストアの地理的位置(global など)。詳細については、ロケーションをご覧ください。

リクエストが成功すると、次のような JSON レスポンスが返されます。レスポンスには、ユーザーが最近アクセスした最大 500 個のノートブックが含まれます。

{
  "notebooks": [
    {
      "title": "NOTEBOOK_TITLE_1",
      "notebookId": "NOTEBOOK_ID_1",
      "emoji": "",
      "metadata": {
        "userRole": "PROJECT_ROLE_OWNER",
        "isShared": false,
        "isShareable": true,
        "lastViewed": "LAST_VIEWED_TIME",
        "createTime": "LAST_CREATED_TIME"
      },
      "name": "NOTEBOOK_NAME_1"
    },
    {
      "title": "NOTEBOOK_TITLE_2",
      "notebookId": "NOTEBOOK_ID_2",
      "emoji": "",
      "metadata": {
        "userRole": "PROJECT_ROLE_OWNER",
        "isShared": false,
        "isShareable": true,
        "lastViewed": "LAST_VIEWED_TIME",
        "createTime": "LAST_CREATED_TIME"
      },
      "name": "NOTEBOOK_NAME_2"
    }
  ]
}

ノートブックを削除する

ノートブックを削除するには、 notebooks.batchDelete メソッドを使用します。

REST

curl -X POST \
  -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks:batchDelete" \
  -d '{
    "names": [
      "NOTEBOOK_NAME"
    ]
  }'

次のように置き換えます。

  • ENDPOINT_LOCATION: API リクエストのマルチリージョン。次のいずれかの値を指定します。
    • 米国のマルチリージョンの場合は us
    • EU のマルチリージョンの場合は eu
    • グローバル ロケーションの場合は global
    詳細については、データストアのマルチリージョンを指定するをご覧ください。
  • PROJECT_NUMBER: Google Cloud プロジェクトの数。
  • LOCATION: データストアの地理的位置(global など)。詳細については、ロケーションをご覧ください。
  • NOTEBOOK_NAME: 削除するノートブックの完全なリソース名。このフィールドのパターンは projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID です。

    リクエストが成功すると、空の JSON オブジェクトが返されます。ノートブックが存在しない場合も空の JSON オブジェクトが返されるため、ノートブック名を正しく指定してください。

ノートブックを共有する

新しいノートブックを共有するには、 notebooks.share メソッドを使用します。

ノートブックを共有するユーザーには、 Cloud Gemini Notebook User ロールが付与されている必要があります。

REST

  1. Google Cloud プロジェクトで、ノートブックを共有するユーザーに Cloud Gemini Notebook User Identity and Access Management(IAM)ロールを割り当てます。

  2. 次のメソッドを呼び出します。

    curl -X POST \
      -H "Authorization:Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID:share" \
      -d '{
        "accountAndRoles": [
         {
            "email":"USER_EMAIL_1",
            "role":"USER_ROLE_1",
         },
         {
            "email":"USER_EMAIL_2",
            "role":"USER_ROLE_2",
         },
        ]
      }'
    

    次のように置き換えます。

    • ENDPOINT_LOCATION: API リクエストのマルチリージョン。次のいずれかの値を指定します。
      • 米国のマルチリージョンの場合は us
      • EU のマルチリージョンの場合は eu
      • グローバル ロケーションの場合は global
      詳細については、データストアのマルチリージョンを指定するをご覧ください。
    • PROJECT_NUMBER: Google Cloud プロジェクトの数。
    • LOCATION: データストアの地理的位置(global など)。詳細については、ロケーションをご覧ください。
    • NOTEBOOK_ID: 共有するノートブックを識別する一意の ID。共有や取得など、他のノートブック管理タスクにはノートブック ID が必要です。
    • USER_EMAIL: ノートブックを共有するユーザーのメールアドレス。
    • USER_ROLE: ユーザーに割り当てるロール。これは次のいずれかになります。

      • PROJECT_ROLE_OWNER: ユーザーがプロジェクトを所有しています。
      • PROJECT_ROLE_WRITER: ユーザーがプロジェクトに対する閲覧者権限を持っています。
      • PROJECT_ROLE_READER: ユーザーがプロジェクトに対する読み取り権限を持っています。
      • PROJECT_ROLE_NOT_SHARED: ユーザーにプロジェクトへのアクセス権がありません。

    リクエストが成功すると、空の JSON オブジェクトが返されます。

ブラウザを使用してユーザーを確認する

ノートブックを正しいユーザーと共有し、正しいロールを割り当てたかどうかを確認するには、次の操作を行います。

  1. ブラウザでノートブックを開きます。ノートブックの URL パターンは次のとおりです。

    1. Google ID を使用している場合:

      https://notebook.cloud.google.com/LOCATION/notebook/NOTEBOOK_ID?project=PROJECT_NUMBER
      
    2. サードパーティの ID を使用している場合:

      https://notebook.cloud.google/LOCATION/notebook/NOTEBOOK_ID?project=PROJECT_NUMBER
      
  2. [共有] をクリックします。

  3. [People with access] に表示されているユーザーと、割り当てられているロールを確認します。

次のステップ