The Cloud Retail service and the Retail API enables customers to build end-to-end personalized recommendation systems without requiring a high level of expertise in machine learning, recommendation system, or Google Cloud. In order to use the Retail API product recommendations and product search services you must create or import product catalog data and user event data related to that catalog.
In this lab, you will prepare an environment for the Retail Recommendations AI and Product Search services by uploading product catalog and user event data using a variety of techniques. You will explore some common data ingestion errors, and examine Retail catalog and event data using the Cloud Console and the Retail API.
This lab uses a subset of the Google Merchant Center dataset for the product catalog. Data exported directly from Google Merchant Center uses a schema that is not compatible with the Retail data ingestion API so the dataset used in the lab has been modified to conform to the Retail Schema.
Objectives
In this lab, you will learn how to complete the following tasks:
Enable the Retail API.
Import Product Catalog and User Event data from BigQuery and Cloud Storage.
Examine data import events and errors.
Examine Product Catalog and User Event Data.
Upload user event data using the Retail API.
Setup and requirements
Qwiklabs setup
For each lab, you get a new Google Cloud project and set of resources for a fixed time at no cost.
Sign in to Qwiklabs using an incognito window.
Note the lab's access time (for example, 1:15:00), and make sure you can finish within that time.
There is no pause feature. You can restart if needed, but you have to start at the beginning.
When ready, click Start lab.
Note your lab credentials (Username and Password). You will use them to sign in to the Google Cloud Console.
Click Open Google Console.
Click Use another account and copy/paste credentials for this lab into the prompts.
If you use other credentials, you'll receive errors or incur charges.
Accept the terms and skip the recovery resource page.
Start Cloud Shell
While in Google Cloud you can operate Google Cloud remotely from your own machine. This lab uses both the Google Cloud Console and the Cloud Shell, a command line environment running in Google Cloud.
From the Cloud Console, click Activate Cloud Shell.
Note: If you've never started Cloud Shell before, you are presented with an intermediate screen describing what it is. If that's the case, click Continue and you won't ever see it again.
Here's what that one-time screen looks like:
It should only take a few moments to provision and connect to Cloud Shell.
Cloud Shell provides you with terminal access to a virtual machine hosted in the cloud. The virtual machine includes all the development tools that you'll need. It offers a persistent 5GB home directory and runs in Google Cloud, greatly enhancing network performance and authentication. Much, if not all, of your work in this lab can be done through the Cloud Console and Cloud Shell using only a browser.
Once connected to Cloud Shell, you should see that you are already authenticated and that the project is already set to your project ID.
Run the following command in Cloud Shell to confirm that you are authenticated:
gcloud auth list
Output:
Credentialed Accounts
ACTIVE: *
ACCOUNT: {{{user_0.username| Lab User Name}}}
To set the active account, run:
gcloud config set account {{{user_0.username| Lab User Name}}}
Note: The gcloud command-line tool is the powerful and unified command-line tool in Google Cloud. It comes preinstalled in Cloud Shell. Among its features, gcloud offers tab completion in the shell. For more information, refer to the gcloud CLI overview guide.
Run the following command to confirm that you are using the correct project for this lab:
If the correct project is not listed, you can set it with this command:
gcloud config set project {{{project_0.project_id| Project ID}}}
Output:
Updated property [core/project].
Task 1. Enable the Retail API
Before you can begin using the Retail Recommendations AI or Retail Search APIs, you must enable the Retail
API.
On the Navigation menu (), click View All Products under the Artificial Intelligence section select Search for Retail.
Click Turn On API.
Click Continue and accept the data terms by clicking Accept.
Click Get Started.
Task 2. Import product catalog and user event data
In this task, you will import product catalog data from BigQuery and user event data from Cloud Storage.
Import Merchant Center products table schema data from BigQuery
The merchant_center.products table contains catalog data that has been exported from a test account on Google Merchant Center using the Google Merchant Center products table schema. This data set can be imported as catalog data using the older Recommendations AI Console or API. The Retail API, that replaces the Recommendations AI API, does not currently support importing data that uses the Merchant Center products table schema and all data imports must use the Retail Schema. You will still try to import this data using the Retail API in order to see how to inspect data import errors.
In the GCP Console, click Search for Retail > Data to open the Retail Data management page.
Make sure the Catalog tab is selected and click Import.
Configure the import parameters as follows to import the product catalog:
For Import type, select Product Catalog
For Source of data, select BigQuery
For Import Branch, select Branch 0
For Big Query table, click Browse.
Enter products in the search box and click Search.
Select the radio button for products - Dataset: merchant_center table.
You are unable to proceed as the source table does not have an id field.
There are many more issues with the data because of the schema.
Import Retail products schema data from BigQuery
In this task, import product data into the catalog from a BigQuery table that uses the Retail products schema.
In the GCP Console, on the Navigation menu (), click View All Products under the Artificial Intelligence section select Search for Retail > Data to open the Retail Data management page.
Make sure the Catalog tab is selected and click Import.
Configure the import parameters as follows to import the product catalog:
For Import type, select Product Catalog
For Import Branch, select Branch 0
For Source of data, select BigQuery
For Big Query table, click Browse.
Enter products in the search box and click Search.
Select the radio button for products - Dataset: retail table.
Click Select.
Note: If you click the table name you will open the Data Catalog page and will need to return to the Retail products import page.
Click Import.
You need to wait for a pop-up message to appear with a message similar to the following:
Successfully scheduled import operation import-products-6583047802807380211. It may take up to 5 minutes to see your new long running operation in the Integration Activity panel.
When the import task is scheduled you will also see the details of a gcloud scheduler command displayed that you can use to schedule a regular data import task.
Click Cancel to close the import page and return to the Retail Data page to check the status of your catalog data import task.
Click X to close the popup that appeared to tell you that the import operation was successfully scheduled.
In the Search for Retail navigation menu, click Data and then click Activity Status to monitor the progress of the import task.
The import task will take a minute or two for the status of the import task in the Product catalog import activity section to change to Succeeded. A total of 1268 items will have been imported.
Import user event data from Cloud Storage
In this task, import user event data from a BigQuery table.
In the GCP Console, on the Navigation menu (), click View All Products under the Artificial Intelligence section select Search for Retail > Data to open the Retail Data management page.
Make sure the Events tab is selected and click Import.
Configure the import parameters as follows to import the product catalog:
For Import type, select User Events
For Source of data, select Google Cloud Storage
For Google Cloud Storage location, click the Browse button.
Navigate to the storage bucket called and select the file recent_retail_events.json.
Click the Filename to make sure it is selected.
Click Select.
Click Import.
You need to wait for a pop-up message to appear with a message similar to the following:
Successfully scheduled import operation import-products-6583047802807380211. It may take up to 5 minutes to see your new long running operation in the Integration Activity panel
When the import task is scheduled you will also see the details of a gcloud scheduler command displayed that you can use to schedule a regular event import task.
Wait for the import task to be scheduled with the gcloud scheduler command displayed.
Click Cancel to close the import page and return to the Retail Data page to check the status of your event data import task.
Click X to close the popup that appeared to tell you that the import operation was successfully scheduled.
In the Search for Retail navigation menu, click Data and then click Activity Status to monitor the progress of the import task.
The import task will take a minute or two for the status of the import task in the User events import activity section to change to Succeeded. Approximately 32,000 items will have been imported and 5 items will have failed.
Task 3. Examine data import events and errors
In this task, you will examine the data import jobs and explore some of the errors logged by the import tasks when invalid data is encountered.
In the Search for Retail navigation menu, click Data and then click Activity Status to monitor the progress of the import task.
Click the User Events tab and then click the View full error logs in the Detail column to examine the errors.
This will open the /error folder in the Cloud Storage bucket where your source data was located.
Click the name of the file that corresponds to the event data file you imported. It will be about 1 kilobyte in size.
Click Download to download the file and then open it on your machine to examine the error details. You will see five events that failed to import due to a variety of issues with the data schema in those events.
Return to the Cloud Console and close the Cloud Storage tab.
Open the Retail Activity Status tab, and click Close to close the Activity Status pop-out.
Task 4. Examine Product Catalog and User Event Data
In this task, you will examine the product and event data that you have imported.
In the Search for Retail navigation menu, click Data and then make sure the Catalog tab is selected.
for Branch Name, leave the branch set to Branch 0 (Default).
The Catalog product list displays the 1268 product records that were uploaded to the catalog, of which 746 are in stock.
For Filter, enter GGOEGCBT136699.
This displays the product record for the Google Yellow YoYo. Note that the product is out of stock.
Click the Link icon to try to open the link. The page that is opened says that Sorry, This Page is Not Available.
Close the product tab that was opened to return to the Search for Retail Data page.
For Filter, enter GGOECAEB163612.
This displays the product record for the Google Black Cloud Tee. Note that this product is in stock.
Click the Link icon to open the link. The product page on the Google Merchandise store opens.
Close the product tab that was opened to return to the Search for Retail Data page.
Task 5. Upload user event data using the Retail API
You will now use curl and other command line utilities to make calls to the Retail Recommendations AI API to explore how to make requests, get recommendations and then filter and refine the results.
Create an IAM service account to authenticate requests
Create an environment variable to store the Project ID:
Allow the lab user account to use impersonation with the new service account
Creating a role binding on the service account for the lab user with the Service Account Token Creator role allows the lab user to use service account impersonation to safely generate limited duration authentication tokens for the service account. These tokens can then be used to interactively test access to APIs and services.
Create a role binding on the Retail API service account for your user account to permit impersonation:
export USER_ACCOUNT=$(gcloud config list --format 'value(core.account)')
gcloud iam service-accounts add-iam-policy-binding $SA_NAME@$PROJECT_ID.iam.gserviceaccount.com --member "user:$USER_ACCOUNT" --role roles/iam.serviceAccountTokenCreator
Generate a temporary access token for the Retail API:
This command may fail as it can take up to 10 minutes for the Service Account Token Creator role to propagate. Retry this command after 1 minute if it fails, and retry until it succeeds. You will also see a warning informing you that the command is using impersonation. This is expected.
Submit a user event to the Retail API
You will upload a sample user event to the Retail API by passing user event data in JSON format to the Retail API userEvents:write method.
Store sample user event JSON data in an environment variable:
This is the REST API URL for writing user event data to the Retail API. Note that the URL includes bash environment variable substitutions for the Project ID and the access token inline parameter called access_token. This token authenticates the request using the service account you generate previously using impersonation.
Upload a user event using the REST API using curl:
curl -H 'Content-Type: application/json' -X POST -d "${DATA}" $URL
You have used curl to call the userEvents:write method passing the event data as a JSON data payload in the POST request.
This will display the formatted data in the response if the upload was successful, including the associated product data such as the product url and image, as well as the event time stamp. Otherwise you will see an error. Most common errors will relate to either a malformed payload, URL, or invalid token.
Congratulations!
Congratulations, you've successfully imported Retail product catalog and user event data using a variety of techniques and explored some common data ingestion errors, and examined Retail catalog and event data using the Cloud Console and the Retail API.
End your lab
When you have completed your lab, click End Lab. Google Cloud Skills Boost removes the resources you’ve used and cleans the account for you.
You will be given an opportunity to rate the lab experience. Select the applicable number of stars, type a comment, and then click Submit.
The number of stars indicates the following:
1 star = Very dissatisfied
2 stars = Dissatisfied
3 stars = Neutral
4 stars = Satisfied
5 stars = Very satisfied
You can close the dialog box if you don't want to provide feedback.
For feedback, suggestions, or corrections, please use the Support tab.
Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
Os laboratórios têm um limite de tempo e não têm o recurso de pausa. Se você encerrar o laboratório, vai precisar recomeçar do início.
No canto superior esquerdo da tela, clique em Começar o laboratório
Usar a navegação anônima
Copie o nome de usuário e a senha fornecidos para o laboratório
Clique em Abrir console no modo anônimo
Fazer login no console
Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
Aceite os termos e pule a página de recursos de recuperação
Não clique em Terminar o laboratório a menos que você tenha concluído ou queira recomeçar, porque isso vai apagar seu trabalho e remover o projeto
Este conteúdo não está disponível no momento
Você vai receber uma notificação por e-mail quando ele estiver disponível
Ótimo!
Vamos entrar em contato por e-mail se ele ficar disponível
Um laboratório por vez
Confirme para encerrar todos os laboratórios atuais e iniciar este
Use a navegação anônima para executar o laboratório
Para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.
Product Discovery - Ingesting Retail Catalog and User Event Data
Duração:
Configuração: 1 minutos
·
Tempo de acesso: 90 minutos
·
Tempo para conclusão: 60 minutos