Using Anypoint Studio to Configure Google BigQuery Connector 1.1 | MuleSoft Documentation
# Using Anypoint Studio to Configure Google BigQuery Connector 1.1
Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files.
To add and configure a connector in Studio:
  1. Create a Mule project.
  2. Add the connector to your Mule project.
  3. Configure a source for the connector’s flow.
  4. Add a connector operation to the flow.
  5. Configure a global element for the connector.
  6. Configure the other connector fields.


When you run the connector, you can view the app log to check for problems in real time, as described in View the App Log.
If you are new to configuring connectors in Studio, refer to Using Anypoint Studio to Configure a Connector. If, after reading this topic, you need additional information about the connector fields, see the Google BigQuery Connector Reference.
## Create a Mule Project
In Studio, create a new Mule project in which to add and configure the connector:
  1. In Studio, select **File > New > Mule Project**.
  2. Enter a name for your Mule project and click **Finish**.


## Add the Connector to Your Mule Project
Add Google BigQuery Connector to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s `pom.xml` file:
  1. In **Mule Palette** , click **(X) Search in Exchange**.
  2. In **Add Dependencies to Project** , type `google bigquery` in the search field.
  3. Click <Google BigQuery> in **Available modules**.
  4. Click **Add**.
  5. Click **Finish**.


Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace.
## Configure a Source
A source initiates a flow when a specified condition is met. You can configure one of these sources to use with Google BigQuery Connector:
  * On Table Row Returns all rows of a table based on a watermark
  * HTTP Listener Initiates a flow each time it receives a request on the configured host and port
  * Scheduler Initiates a flow when a time-based condition is met


For example, to configure an HTTP Listener source, follow these steps:
  1. In **Mule Palette** , select **HTTP > Listener**.
  2. Drag **Listener** to the Studio canvas.
  3. On the **Listener** configuration screen, optionally change the value of the **Display Name** field.
  4. Specify a value for the **Path** field.
  5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of the HTTP Listener source in the app.
  6. On the **General** tab, specify connection information for the connector.
  7. On the **TLS** tab, optionally specify the TLS information for the connector.
  8. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy.
  9. Click **Test Connection** to confirm that Mule can connect with the specified server.
  10. Click **OK**.


## Add a Connector Operation to the Flow
When you add a connector operation to your flow, you are specifying an action for that connector to perform.
To add an operation for Google BigQuery Connector, follow these steps:
  1. In **Mule Palette** , select **Google BigQuery** and then select the desired operation.
  2. Drag the operation onto the Studio canvas, next to the input source.


## Configure a Global Element for the Connector
When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target Google BigQuery system. Google BigQuery Connector supports JWT and OAuth2.
To configure the global element for Google BigQuery Connector, follow these steps:
  1. Select the operation in the Studio canvas.
  2. In the **General** configuration screen for the operation, click the **Add** icon to access the global element configuration fields.
  3. In the **General** tab, in **Connection** , select the authentication method to configure:
You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. For information about the benefits of using property placeholders and how to configure them, see Anypoint Connector Configuration.
  4. In the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy.
  5. Click **Test Connection** to confirm that Mule can connect with the specified server.
  6. Click **OK**.


Enter the following information in the **General** tab of the **Global Element Properties** screen to configure JWT authentication:
Field | User Action  
---|---  
Enter the configuration name.  
**Connection**  
**Private Key Id** |  Enter the private key ID for the Google connected app.  
**Private Key** |  Enter the private key for the Google connected app.  
Enter the password of the keystore.  
The following image shows an example of configuring JWT authentication:
The first item shows where to specify that the connector uses JWT authentication. The second item shows the **General** tab, which contains fields related to JWT authentication.
### OAuth2
Use OAuth 2.0 to delegate user authentication to the service hosting the user account. For more information, refer to Configuring OAuth 2.0 for Connectors or Configuring OAuth 2.0 for Connectors on CloudHub.
Enter the following information on the **General** tab of the global element configuration screen to configure OAuth2 authentication:
Field | User Action  
---|---  
Enter the configuration name.  
**Connection** |  Select `OAuth2`.  
**Consumer Key** |  Enter the OAuth consumer key, as registered with the service provider.  
**Consumer Secret** |  Enter the OAuth consumer secret, as registered with the service provider.  
**Listener Config** |  Enter the configuration for the HTTP listener that listens for requests on the access token callback endpoint.  
**Callback Path** |  Enter the path of the access token callback endpoint.  
**Authorize Path** |  Enter the path of the local HTTP endpoint that triggers the OAuth dance.  
The following image shows an example of configuring OAuth2 authentication:
The first item shows where to specify that the connector uses OAuth2 authentication. The second item shows the **General** tab, which contains fields related to OAuth2 authentication.
## Configure Additional Connector Fields
After you configure a global element for Google BigQuery Connector, configure the other required fields for the connector. The required fields vary depending on which connector operation you use.
## View the App Log
To check for problems, you can view the app log as follows:
  * If you’re running the app from Anypoint Platform, the app log output goes to the Anypoint Studio console window.
  * If you’re running the app using Mule from the command line, the app log output goes to your operating system console.


Unless the log file path is customized in the app’s log file (`log4j2.xml`), you can also access the app log in the default location `MULE_HOME/logs/<app-name>.log`. You can configure the location of the log path in the app log file `log4j2.xml`.
## See Also
  * Introduction to Anypoint Connectors
  * Using Anypoint Studio to Configure a Connector
  * Google BigQuery Connector Reference
  * MuleSoft Help Center