Heim > Fragen und Antworten > Hauptteil
Ich komme hierher, um meine Frage zu stellen, weil ich wirklich nicht weiß, was ich tun soll, und weil ich im Internet nicht die richtigen Informationen finden kann. Ich suche nach Service-Bindungsparametern für die Kommunikation mit der BigQuery API (GCP). Dazu habe ich die Parameter aus „parameters.yml“ übergeben und die Parameter in „services.yml“ gebunden. Wenn ich die Seite neu lade, erhalte ich die Fehlermeldung: „Datei /home/docker/symfony/src/xxx/DependencyInjection/../Resources/config/services.yml“ enthält kein gültiges YAML: Doppelpunkt kann nicht ohne Anführungszeichen verwendet werden der zugeordnete Wert aus Zeile 84 unten (in der Nähe von „$bucketName:%google_bucket_name%“).
Wissen Sie, was die Ursache des Problems ist?
Bitte suchen Sie im Anhang nach den relevanten Teilen der Dateien „services.yml“ und „parameters.yml“
-services.yml
AdminBundle\Services\CustomerChangeSetService: public: true autowire: true autoconfigure: true bind: $googleProjectId: "%google_project_id%" $googlePath: "%kernel.root_dir%/../%google_token_path%" $googleQuery: "%google_bigquery_dataset%" $googleConfig: "%config_bigQuery_prod%" $tableName: "%google_bigquery_table_customerchangeset%" $bucketName: "%google_bucket_name%" AdminBundle\Services\APILogsService: public: true autowire: true autoconfigure: true bind: $googleProjectId: "%google_project_id%" $googlePath: "%kernel.root_dir%/../%google_token_path%" $googleQuery: "%google_bigquery_dataset%" $googleConfig: "%config_bigQuery_prod%" $tableName: "%google_bigquery_table_apilogs%" $bucketName: "%google_bucket_name%" AdminBundle\Services\ImportLicenceCodeService: public: true autowire: true autoconfigure: true bind: $googleProjectId: "%google_project_id%" $googlePath: "%kernel.root_dir%/../%google_token_path%" $googleQuery: "%google_bigquery_dataset%" $googleConfig: "%config_bigQuery_prod%" $tableName: "%google_bigquery_table_importlicencecode%" $bucketName: "%google_bucket_name%"
-parameters.yml
google_token_path: ./google_token.json google_project_id: "xxx" google_bigquery_dataset: "xxx" google_bigquery_table_accessmember: "xxx" google_bigquery_table_customerchangeset: "xxx" google_bigquery_table_apilogs: "xxx" google_bigquery_table_importlicencecode: "xxx" google_bucket_name: "xxx"
PS: Der Code scheint ein Problem mit den Parametern von ImportLicenceCodeService zu haben
Vielen Dank im Voraus für eure Hilfe ;)
P粉8951872662024-03-30 00:35:04
正如@bossman 已经指出的那样,答案是意图。
我只是想补充一点,你可以去掉很多不需要的重复内容。当你这样写时:
services: _defaults: autowire: true autoconfigure: true bind: $googleProjectId: "%google_project_id%" $googlePath: "%kernel.root_dir%/../%google_token_path%" $googleQuery: "%google_bigquery_dataset%" $googleConfig: "%config_bigQuery_prod%" $bucketName: "%google_bucket_name%" AdminBundle\Services\CustomerChangeSetService: public: true bind: $tableName: "%google_bigquery_table_customerchangeset%" AdminBundle\Services\APILogsService: public: true bind: $tableName: "%google_bigquery_table_apilogs%" AdminBundle\Services\ImportLicenceCodeService: public: true bind: $tableName: "%google_bigquery_table_importlicencecode%"