Crea una instancia de tienda en línea

Para configurar la entrega en línea, primero debes crear una instancia de tienda en línea para la entrega en línea de Bigtable o la entrega en línea optimizada. Para comprender las diferencias entre la entrega en línea de Bigtable y la entrega en línea optimizada, consulta Tipos de entrega en línea.

Ten en cuenta que no puedes cambiar el tipo de entrega en línea una vez que elijas la entrega en línea de Bigtable o la entrega en línea optimizada mientras creas tu tienda en línea. Sin embargo, puedes cambiar la configuración del extremo de entrega para una instancia de almacén en línea creado para la entrega en línea optimizada.

Después de crear el almacén en línea, puedes agregar vistas de atributos y asociarlas con fuentes de datos de atributos en BigQuery.

Para encriptar tu instancia de tienda en línea, especifica una clave de encriptación administrada por el cliente (CMEK) cuando crees la instancia. Solo la entrega en línea de Bigtable admite la encriptación con una CMEK. Para obtener más información sobre los beneficios de usar una CMEK y comprender si una CMEK es útil para tu tienda en línea, consulta Beneficios de las CMEK.

El uso de una CMEK puede implicar costos de uso adicionales, según el tipo de clave que se use. Para obtener más información sobre los precios, consulta los precios de Cloud Key Management Service.

Antes de comenzar

Autentícate en Vertex AI, a menos que ya lo hayas hecho.

Select the tab for how you plan to use the samples on this page:

Console

When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

Python

Para usar las muestras de Python de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.

  1. Install the Google Cloud CLI.
  2. To initialize the gcloud CLI, run the following command:

    gcloud init
  3. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

Para obtener más información, consulta Set up authentication for a local development environment.

REST

Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

    Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

Crea una tienda en línea para la entrega en línea de Bigtable

Cuando usas la entrega en línea de Bigtable, tienes la opción de encriptar la tienda en línea con un CMEK.

Crea una tienda en línea para la entrega en línea de Bigtable sin CMEK

Para crear una instancia de tienda en línea para la entrega en línea de Bigtable con el ajuste de escala automático, sin especificar un CMEK, usa la consola de Google Cloud o la API de REST.

Console

Usa las siguientes instrucciones para crear una tienda en línea para la entrega en línea de Bigtable con la consola de Google Cloud.

  1. En la sección Vertex AI de la consola de Google Cloud, ve a a la página de Feature Store.

    Ir a la página Feature Store

  2. Haz clic en Tienda en línea para ir a la sección Tienda en línea.

  3. Haz clic en Crear para abrir la página Crear tienda en línea.

  4. Especifica un nombre para la tienda en línea.

  5. Opcional: Para agregar etiquetas, haz clic en Agregar etiqueta y especifica el nombre y el valor de la etiqueta. Puedes agregar varias etiquetas a una tienda en línea.

  6. En el campo Elige una solución de almacenamiento para tu tienda en línea, haz clic en Bigtable.

  7. Modifica la Cantidad mínima de nodos, la Cantidad máxima de nodos y el Objetivo de uso de CPU según sea necesario.

  8. Haz clic en Crear.

Python

Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.


from google.cloud import aiplatform
from vertexai.resources.preview import feature_store


def create_bigtable_feature_online_store_sample(
    project: str,
    location: str,
    feature_online_store_id: str,
):
    aiplatform.init(project=project, location=location)
    fos = feature_store.FeatureOnlineStore.create_bigtable_store(
        feature_online_store_id
    )
    return fos

  • project: ID del proyecto
  • location: región en donde se encuentra la tienda en línea, como us-central1.
  • feature_online_store_id: es el nombre de la instancia FeatureOnlineStore nueva.

REST

Para crear un recurso FeatureOnlineStore, envía una solicitud POST mediante el método featureOnlineStores.create.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION_ID: Es la región en la que deseas crear la tienda en línea, como us-central1.
  • PROJECT_ID: ID del proyecto
  • FEATUREONLINESTORE_NAME: el nombre de la nueva instancia de tienda en línea.
  • BOOLEAN: Opcional: Para crear una tienda en línea que admita la administración de incorporaciones, ingresa true. El valor predeterminado es false.

Método HTTP y URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME

Cuerpo JSON de la solicitud:

{
  "bigtable": {
    "auto_scaling": {
      "min_node_count": 1,
      "max_node_count": 3,
      "cpu_utilization_target": 50
    }
  }
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME"

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureOnlineStoreOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T17:49:23.847496Z",
      "updateTime": "2023-09-18T17:49:23.847496Z"
    }
  }
}

Crea una tienda en línea que use una CMEK

Usa los siguientes pasos para crear una instancia de tienda en línea para la entrega en línea de Bigtable que esté encriptada con una CMEK.

El uso de una encriptación de CMEK puede implicar costos de uso adicionales, según el tipo de clave que se use. Para obtener más información sobre los precios, consulta los precios de Cloud Key Management Service.

  1. Usa Cloud Key Management Service para configurar una clave de encriptación administrada por el cliente.

  2. Para crear un recurso FeatureOnlineStore, envía la siguiente solicitud POST con el método featureOnlineStores.create y especifica la CMEK.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • LOCATION_ID: Es la región en la que deseas crear la tienda en línea, como us-central1.
    • PROJECT_ID: ID del proyecto
    • FEATUREONLINESTORE_NAME: el nombre de la nueva instancia de tienda en línea.
    • BOOLEAN: Opcional: Para crear una tienda en línea que admita la administración de incorporaciones, ingresa true. El valor predeterminado es false.
    • KEY_NAME: Es el nombre de la clave de encriptación que deseas usar para este almacén de metadatos.

    Método HTTP y URL:

    POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME

    Cuerpo JSON de la solicitud:

    {
      "bigtable": {
        "auto_scaling": {
          "min_node_count": 1,
          "max_node_count": 3,
          "cpu_utilization_target": 50
        }
      },
      "encryption_spec": {
        "kms_key_name": "KEY_NAME"
      }
    }
    

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME"

    PowerShell

    Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureOnlineStoreOperationMetadata",
        "genericMetadata": {
          "createTime": "2023-09-18T17:49:23.847496Z",
          "updateTime": "2023-09-18T17:49:23.847496Z"
        }
      }
    }
    

Crea una tienda en línea para la entrega en línea optimizada

Cuando usas la entrega en línea optimizada, puedes configurar la tienda en línea para entregar funciones desde un extremo público o desde un extremo dedicado de Private Service Connect. Usa un extremo de Private Service Connect si deseas entregar funciones dentro de una red de VPC con latencias más bajas las de que un extremo público.

Crea una tienda en línea para la entrega en línea optimizada con un extremo público

Usa el siguiente ejemplo a fin de crear un almacén en línea para la entrega en línea optimizada con un extremo público.

Console

Usa las siguientes instrucciones para crear un almacén en línea para la entrega en línea optimizada con la consola de Google Cloud.

  1. En la sección Vertex AI de la consola de Google Cloud, ve a a la página de Feature Store.

    Ir a la página Feature Store

  2. Haz clic en Tienda en línea para ir a la sección Tienda en línea.

  3. Haz clic en Crear para abrir la página Crear tienda en línea.

  4. Especifica un nombre para la tienda en línea.

  5. Opcional: Para agregar etiquetas, haz clic en Agregar etiqueta y especifica el nombre y el valor de la etiqueta. Puedes agregar varias etiquetas a una tienda en línea.

  6. En el campo Elige una solución de almacenamiento para tu tienda en línea, haz clic en Optimizada.

  7. Haz clic en Crear.

Python

Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.


from google.cloud import aiplatform
from vertexai.resources.preview import feature_store


def create_optimized_public_feature_online_store_sample(
    project: str,
    location: str,
    feature_online_store_id: str,
):
    aiplatform.init(project=project, location=location)
    fos = feature_store.FeatureOnlineStore.create_optimized_store(
        feature_online_store_id
    )
    return fos

  • project: ID del proyecto
  • location: Es la región en la que deseas crear la instancia FeatureOnlineStore, como us-central1.
  • feature_online_store_id: es el nombre de la instancia FeatureOnlineStore nueva.

REST

Para crear una instancia de tienda en línea, envía una solicitud POST con el método featureOnlineStores.create.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION_ID: Es la región en la que deseas crear la instancia FeatureOnlineStore, como us-central1.
  • PROJECT_ID: ID del proyecto
  • FEATUREONLINESTORE_NAME: es el nombre de la instancia FeatureOnlineStore nueva.

Método HTTP y URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME

Cuerpo JSON de la solicitud:

{
  "optimized": {}
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME"

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureOnlineStoreOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T17:49:23.847496Z",
      "updateTime": "2023-09-18T17:49:23.847496Z"
    }
  }
}

Crea un almacén en línea para la entrega en línea optimizada con un extremo de Private Service Connect

Usa la siguiente muestra a fin de crear un almacén en línea para la entrega en línea optimizada con Private Service Connect.

Python

Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.


from typing import List

from google.cloud import aiplatform
from vertexai.resources.preview import feature_store


def create_optimized_private_feature_online_store_sample(
    project: str,
    location: str,
    feature_online_store_id: str,
    project_allowlist: List[str],
):
    aiplatform.init(project=project, location=location)
    fos = feature_store.FeatureOnlineStore.create_optimized_store(
        name=feature_online_store_id,
        enable_private_service_connect=True,
        project_allowlist=project_allowlist,
    )
    return fos

  • project: ID del proyecto
  • location: Es la región en la que deseas crear la instancia FeatureOnlineStore, como us-central1.
  • feature_online_store_id: es el nombre de la instancia FeatureOnlineStore nueva.
  • project_allowlist: Es la lista de nombres de proyectos que se incluirán en la lista de entidades permitidas para Private Service Connect (PSC).

REST

Para crear una instancia de tienda en línea, envía una solicitud POST con el método featureOnlineStores.create.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION_ID: Es la región en la que deseas crear la instancia FeatureOnlineStore, como us-central1.
  • PROJECT_ID: ID del proyecto
  • FEATUREONLINESTORE_NAME: es el nombre de la instancia FeatureOnlineStore nueva.
  • PROJECT_NAMES: Es la lista de nombres de proyectos que se incluirán en la lista de entidades permitidas para Private Service Connect (PSC).

Método HTTP y URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME

Cuerpo JSON de la solicitud:

{
  "optimized": {},
  "dedicated_serving_endpoint": {
    "private_service_connect_config": {
      "enable_private_service_connect": true,
      "project_allowlist": ["PROJECT_NAMES"]
    }
  }
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME"

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureOnlineStoreOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T17:49:23.847496Z",
      "updateTime": "2023-09-18T17:49:23.847496Z"
    }
  }
}

¿Qué sigue?