cancel
Showing results for 
Search instead for 
Did you mean: 
Administration & Architecture
Explore discussions on Databricks administration, deployment strategies, and architectural best practices. Connect with administrators and architects to optimize your Databricks environment for performance, scalability, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 

Error with file events in external location (via pub/sub)

hmnilp
New Contributor II

Hi everyone!

I am new here and in Databricks world.

I was trying to enable a trigger event on file uploading in GCP bucket in order to start a job following this tutorial: https://docs.databricks.com/gcp/en/connect/unity-catalog/cloud-storage/manage-external-locations#-re...

So I had created a role with those permissions and then I assigned that role to the service account of the storage credentials. An important note: I didn't find that SA in the IAM entities list so I had to use the "grant access" button, insert the interested service account and assign the role created to it.

After all the operations listed, in the WS dashboard I had enabled the file events for the external location and I tested the connection with this result:

hmnilp_0-1752831905771.png

In the GCP log explorer I saw these logs:

hmnilp_1-1752832082230.png

Where we can notice that the topic was created, the subscription was created too and then a non-databricks service account tries to access and brokes everything. The logs after are a repetition of: service account that tries to access, databricks that tries to create a topic and a subscription that already exists.

In IAM entities list I found the only service account possible for that pattern:

hmnilp_3-1752832431023.png

Finally the log of the error on the service account is the following json (anonymized with *):

{
  "protoPayload": {
    "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
    "status": {
      "code": 7,
      "message": "The service account 's...3@gs...' does not have permission to publish messages to to the Cloud Pub/Sub topic '//pubsub.googleapis.com/projects/*/topics/csms-topic-by-path-*', or that topic does not exist."
    },
    "authenticationInfo": {
      "principalEmail": "db-uc-credential-*-*@uc-*.iam.gserviceaccount.com"
    },
    "requestMetadata": {
      "callerIp": "gce-internal-ip",
      "callerSuppliedUserAgent": "gcloud-java/unresolved Google-API-Java-Client/1.34.0 Google-HTTP-Java-Client/1.43.3 (gzip),gzip(gfe)",
      "requestAttributes": {
        "time": "2025-07-18T08:06:53.934327849Z",
        "auth": {}
      },
      "destinationAttributes": {}
    },
    "serviceName": "storage.googleapis.com",
    "methodName": "storage.buckets.update",
    "authorizationInfo": [
      {
        "resource": "projects/_/buckets/*",
        "permission": "storage.buckets.update",
        "granted": true,
        "resourceAttributes": {}
      }
    ],
    "resourceName": "projects/_/buckets/*",
    "resourceLocation": {
      "currentLocations": [
        "*"
      ]
    }
  },
  "insertId": "17ucpftequabn",
  "resource": {
    "type": "gcs_bucket",
    "labels": {
      "bucket_name": "*",
      "project_id": "*",
      "location": "*"
    }
  },
  "timestamp": "2025-07-18T08:06:53.928213630Z",
  "severity": "ERROR",
  "logName": "projects/*/logs/cloudaudit.googleapis.com%2Factivity",
  "receiveTimestamp": "2025-07-18T08:06:55.756659669Z"
}

 (the topic obviously exists)

Is it correct that uses that service account instead of the one created by databricks? Am I missing something?

 

Thanks in advance for any help!

 

2 REPLIES 2

Khaja_Zaffer
Contributor

Hey @hmnilp 

did you contact databricks, may be there is a feature to be enabled. 

hmnilp
New Contributor II

Hi! Thanks in advance for your answer.
No I didn't contact databricks. I thought that I was missing a piece somewhere.

I will do it for sure!