Set Up an Apache Iceberg File Federation Connection
Create an Apache Iceberg File Federation Data Stream
MuleSoft Anypoint Connector for Salesforce Data 360
Set up the Apache Iceberg File Federation connection to start the flow of data into Data 360.
| User Permissions Needed | |
|---|---|
| To create a connection: | System Admin profile or Data Cloud Architect permission set |
Requirements
| REST Catalog Endpoint | Description |
|---|---|
/v1/config(Required) | Get all configuration metadata. When you save a connection, Data 360 will attempt to make a request to /v1/config, and a 200 response must be received in order for the connection to be saved. See REST Config Spec. |
/v1/{prefix}/namespaces (Required) | List all namespaces in the catalog. See Namespaces Spec. Even if you do not support nested namespaces, ensure that a request to /v1/{prefix}/namespaces?parent={some_namespace} returns an empty list per the SupportsNamespaces API. |
/v1/{prefix}/namespaces/{namespaces} (Required) | Get metadata about the specified namespace. See Namespace Metadata Spec. |
/v1/{prefix}/namespaces/{namespaces}/tables (Required) | List all tables in the namespace. See Tables List Spec. |
/v1/{prefix}/namespaces/{namespace}/tables/{table}(Required) | Get metadata about the specified table. See Table Metadata Spec. |
/v1/oauth/tokens (Optional) | When the access token you provide to Data 360 expires, Data 360 will exchange the expired access token for a new one by making a token-exchange request to /v1/oauth/tokens. The request must contain the required fields defined in RFC 8693. This endpoint is deprecated but still supported by some catalog implementations. See Token Exchange Spec. If unsupported, you must manually or programmatically update the connection to use a new access token. |
Set Up the Connection
In Data Cloud, click Setup, and select Data Cloud Setup.
Under External Integrations, select Other Connectors.
Click New.
On the Source tab, select Apache Iceberg File Federation and click Next.
Enter a connection name, connection API name.
Under Authentication Option, select one of these authentication options.
Access Token: Data 360 authenticates directly with the REST catalog using an access token you provide.
Identity Provider Based: Data 360 exchanges a Salesforce-issued OIDC token for an access token at an authorization server you specify.
Copy the value of External ID and register Salesforce as an identity provider with your authorization server using these claim values.
| Claim | Value |
|---|---|
| Issuer | https://{ORG_DOMAIN_URL}/services/connectors |
| Audience | https://{ORG_DOMAIN_URL} |
| Subject | The External ID value copied above |
In the OAuth Server URI field, enter the URI of the authorization server.
In Custom Properties, enter any custom OAuth properties that Data 360 should include in token exchange requests.
For both options, if your data store’s REST catalog supports storage credential vending, select CATALOG_PROVIDED from the Storage Type dropdown. If not, select S3 if the data is stored in AWS S3 and AZURE if the data is stored in either Azure Blob Storage or ADLS Gen2.
If you did not select CATALOG_PROVIDED, Data 360 requires additional information about your storage bucket or container.
| Storage Type | Authentication Details |
|---|---|
| AWS S3 | Bucket Name: Provide the name of the storage bucket. See General purpose bucket naming rules - Amazon Simple Storage Service. |
| Access Key ID: Provide the access key ID for the IAM user that Data 360 will use to access the storage bucket. See Manage access keys for IAM users. | |
| Secret Access Key: Provide the secret access key for the IAM user that Data 360 will use to access the storage bucket. See Manage access keys for IAM users. | |
| Azure Blob Storage or Azure Data Lake Gen2 | Storage Account Name: Provide the name of the storage account. See Storage account overview – Azure Storage | Microsoft Learn. |
| SAS Token: Provide the shared access signature token that Data 360 will use to access the relevant storage container within the storage account. See Create shared access signature (SAS) tokens – Azure AI services | Microsoft Learn. |
In the Connection Details section, enter the publicly-accessible HTTPS URL of the Apache Iceberg REST catalog. To make a request to an endpoint, append the endpoint to the URL. For example, a typical REST catalog’s URL is https://myicebergdatalakehouse:443/iceberg.
If your REST catalog’s implementation of the /v1/config REST endpoint accepts a value for the optional warehouse parameter and you want Data Cloud to read warehouse-specific configuration metadata, specify a value for the warehouse field.
To review your configuration, click Test Connection.
Click Save.
After the connector details are accepted, the connection is created and listed under Connectors. You can now create data streams.
Keep these behaviors in mind when you set up an Apache Iceberg File Federation connection.
Storage Considerations
1Valid Metadata JSON File Path
2
3 abfss://<container>@<account>.dfs.core.windows.net/<table>/metadata/<metadata-file>.metadata.json
4
5 Invalid Metadata JSON File Path
6
7 wasbs://<container>@<account>.blob.core.windows.net/<table>/metadata/<metadata-file>.metadata.jsonOther Considerations
identifier-field-ids construct and ensure that your query engines (writers) respect the configuration.