For a google analytics 4 source connector with custom properties of:
{"name": "foo", "dimensions":["audienceId","signedInWithUserId","transactionId", "customEvent:ecomm_transaction_id_hashed","customEvent:transaction_id"],"metrics":["active1DayUsers"]}
the following error is obtained
2022-11-14 11:37:35 INFO i.a.w.p.DockerProcessFactory(create):163 - Preparing command: docker run --rm --init -i -w /data/<<id_hash>>/0 --log-driver none --name source-google-analytics-data-api-discover-<<id_hash>>-0-bbmxj --network host -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -e DEPLOYMENT_MODE=OSS -e USE_STREAM_CAPABLE_STATE=true -e WORKER_ENVIRONMENT=DOCKER -e AIRBYTE_ROLE= -e WORKER_CONNECTOR_IMAGE=airbyte/source-google-analytics-data-api:0.0.3 -e WORKER_JOB_ATTEMPT=0 -e AIRBYTE_VERSION=0.40.10 -e WORKER_JOB_ID=<<id_hash>> airbyte/source-google-analytics-data-api:0.0.3 discover --config source_config.json
2022-11-14 11:37:36 ERROR i.a.w.i.DefaultAirbyteStreamFactory(internalLog):99 - string indices must be integers
Traceback (most recent call last):
File "/airbyte/integration_code/main.py", line 13, in <module>
launch(source, sys.argv[1:])
File "/usr/local/lib/python3.9/site-packages/airbyte_cdk/entrypoint.py", line 123, in launch
for message in source_entrypoint.run(parsed_args):
File "/usr/local/lib/python3.9/site-packages/airbyte_cdk/entrypoint.py", line 108, in run
catalog = self.source.discover(self.logger, config)
File "/usr/local/lib/python3.9/site-packages/airbyte_cdk/sources/abstract_source.py", line 73, in discover
streams = [stream.as_airbyte_stream() for stream in self.streams(config=config)]
File "/airbyte/integration_code/source_google_analytics_data_api/source.py", line 370, in streams
return [
File "/airbyte/integration_code/source_google_analytics_data_api/source.py", line 371, in <listcomp>
type(report["name"], (GoogleAnalyticsDataApiGenericStream,), {})(
TypeError: string indices must be integers
2022-11-14 11:37:36 INFO i.a.w.t.TemporalAttemptExecution(get):134 - Stopping cancellation check scheduling
when specifying the custom reports.
Desired outcome: Get reports on per transactionId/hashed level (i.e. the raw data back of individual tranactions/events) from GA via Airbyte.