About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
Last updated: Dec 05, 2024
To access your data in Box, create a connection asset for it.
The Box platform is a cloud content management and file sharing service.
Prerequisites
Create a custom app in Box
Before you create a connection to Box, you create a custom app in the Box Developer Console. You can create an app for application-level access that users can use to share files, or you can create an app for enterprise-wide access to all user accounts. With enterprise-wide access, users do not need to share files and folders with the application.
- Go to the Box Developer Console, and follow the wizard to create a Custom App. For the Authentication Method,
select
.OAuth 2.0 with JWT (Server Authentication)
- Make the following selections in the Configuration page. Otherwise, keep the default settings.
- Select one of two choices for App Access Level:
- Keep the default App Access Only selection to allow access where users share files.
- Select App + Enterprise Access to create an app with enterprise-wide access to all user accounts.
- Keep the default App Access Only selection to allow access where users share files.
- Under Add and Manage Public Keys, click Generate a Public/Private Keypair. This selection requires that two-factor authentication is enabled on the Box account, but you can disable it afterward. The
generated key pair produces a config (
) file for you to download. You will need the information in this file to create the connection in your project.*_config.json
- Select one of two choices for App Access Level:
- If you selected an App + Enterprise Access, under Advanced Features, select both of these check boxes:
- Make API calls using the as-user header
- Generate user access tokens
- Submit the app client ID to the Box enterprise administrator for authorization: Go to your application in the Box Developer Console and select the General link from the left sidebar in your application. Scroll down to the App Authorization section.
Decrypting a private key
To decrypt a private key using its associated password, Run the following command. This process uses the
command to generate an unencrypted version of the private key.openssl pkcs8
openssl pkcs8 -in private_key.pem -passin file:pass.txt -out private_key_unencrypted.pem
The parameters used are:
- private_key.pem
- The encrypted private key that was generated and provided to you by Box.
- pass.txt
- This file contains the password associated with the private key that was generated and provided to you by Box.
- private_key_unencrypted.pem
- This is the output file that will contain the unencrypted private key after running the command.
Choose the method for creating a connection based on where you are in the platform
- In a project
- Click Assets > New asset > Connect to a data source. See Adding a connection to a project.
- In a catalog
- Click Add to catalog > Connection. See Adding a connection asset to a catalog.
- In a deployment space
- Click Import assets > Data access > Connection. See Adding data assets to a deployment space.
- In the Platform assets catalog
- Click New connection. See Adding platform connections.
Create the Box connection
Enter the values from the downloaded config file for these settings:
- Client ID
- Client Secret
- Enterprise ID
- Private Key (Replace each
with a newline)\n
- Private Key Password (The
value in the config file)passphrase
- Public Key (The
value in the config file)publicKeyID
Enterprise-wide app
If you configured an enterprise-wide access app, enter the username of the Box user account in the Username field.
Application-level app
Users must explicitly share their files with the app's email address in order for the app to access the files.
-
Make a REST call to the connection to find out the app email address. For example:
PUT https://api.dataplatform.cloud.ibm.com/v2/connections/{connection_id}/actions/get_user_info?project_id={project_id}
Request body:
{}
Returns:
{ "login_name": "AutomationUser_123467_aBcDEFg12h@boxdevedition.com" }
-
Share the files and folders in Box that you want accessible from watsonx.ai Studio with the login name that was returned by the REST call.
Next step: Add data assets from the connection
Where you can use this connection
You can use the Box connection in the following workspaces and tools:
Projects
- Data Refinery (watsonx.ai Studio or IBM Knowledge Catalog)
- DataStage (DataStage service). See Connecting to a data source in DataStage.
- Metadata enrichment (IBM Knowledge Catalog)
- Metadata import (IBM Knowledge Catalog)
Catalogs
-
Platform assets catalog
-
Other catalogs (IBM Knowledge Catalog)
Limitation
If you have thousands of files in a Box folder, the connection might not be able to retrieve the files before a time-out. Jobs or profiling that use the Box files might not work.
Workaround: Reorganize the file hierarchy in Box so that there are fewer files in the same folder.
Supported file types
The Box connection supports these file types: Avro, CSV, Delimited text, Excel, JSON, ORC, Parquet, SAS, SAV, SHP, and XML.
Learn more
Parent topic: Supported connections
Was the topic helpful?
0/1000