"Colon cannot be used in unquoted mapped values" error in services.yml
P粉448130258
P粉448130258 2024-03-29 10:32:35
0
1
382

I come here to ask my question because I really don't know what to do and I can't find the right information on the internet. I'm looking for service binding parameters for communicating with the BigQuery API (GCP). To do this, I passed the parameters from "parameters.yml" and bound the parameters in "services.yml". When I reload the page, I get the error: "File /home/docker/symfony/src/xxx/DependencyInjection/../Resources/config/services.yml" does not contain valid YAML: colon cannot be used without quotes Use the mapped value from line 84 below (near "$bucketName:%google_bucket_name%").

Do you know what the source of the problem is?

Please find the relevant parts of the "services.yml" and "parameters.yml" files in the attachment

-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: The code seems to have a problem with the parameters of ImportLicenceCodeService

Thanks in advance for your help;)

P粉448130258
P粉448130258

reply all(1)
P粉895187266

As @bossman already pointed out, the answer is intention.

I just wanted to add that you can get rid of a lot of unnecessary duplicate content. When you write like this:

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%"
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template