def parse_args()

in notebooks/postgresql2bq/PostgreSqlToBigQuery_parameterize_script.py [0:0]


    def parse_args(args: Optional[Sequence[str]] = None) -> Dict[str, Any]:
        parser = argparse.ArgumentParser()

        parser.add_argument(
            f'--{constants.POSTGRESQL_HOST_ARG}',
            dest=constants.POSTGRESQL_HOST,
            required=True,
            help='POSTGRESQL host or IP address'
        )

        parser.add_argument(
            f'--{constants.POSTGRESQL_PORT_ARG}',
            dest=constants.POSTGRESQL_PORT,
            default="3306",
            required=False,
            help='POSTGRESQL port (Default: 3306)'
        )

        parser.add_argument(
            f'--{constants.POSTGRESQL_USERNAME_ARG}',
            dest=constants.POSTGRESQL_USERNAME,
            required=True,
            help='POSTGRESQL username'
        )

        parser.add_argument(
            f'--{constants.POSTGRESQL_PASSWORD_ARG}',
            dest=constants.POSTGRESQL_PASSWORD,
            required=True,
            help='POSTGRESQL password'
        )

        parser.add_argument(
            f'--{constants.POSTGRESQL_DATABASE_ARG}',
            dest=constants.POSTGRESQL_DATABASE,
            required=True,
            help='POSTGRESQL database name'
        )

        parser.add_argument(
            f'--{constants.POSTGRESQL_TABLE_LIST_ARG}',
            dest=constants.POSTGRESQL_TABLE_LIST,
            required=False,
            default='',
            help='POSTGRESQL table list to migrate. '
            'Leave empty for migrating complete database else provide tables as \"table1,table2\"'
        )

        parser.add_argument(
            f'--{constants.POSTGRESQL_SCHEMA_LIST_ARG}',
            dest=constants.POSTGRESQL_SCHEMA_LIST,
            required=False,
            default='',
            help='POSTGRESQL schema list to migrate. '
            'Only Migrate tables associated with the provided schema list. Provide schema as \"schema1,schema2\" '
        )

       
        parser.add_argument(
            f'--{constants. BIGQUERY_DATASET_ARG}',
            dest=constants. BIGQUERY_DATASET,
            required=True,
            help=' BIGQUERY dataset name'
        )

        parser.add_argument(
            f'--{constants. BIGQUERY_MODE_ARG}',
            dest=constants. BIGQUERY_MODE,
            default='overwrite',
            required=True,
            help='output write mode (Default: overwrite)'
        )

        parser.add_argument(
            f'--{constants.MAX_PARALLELISM_ARG}',
            dest=constants.MAX_PARALLELISM,
            type=int,
            default=5,
            required=False,
            help='Maximum number of tables that will migrated parallelly (Default: 5)'
        )

        parser = get_common_args(parser)
        known_args: argparse.Namespace
        known_args, _ = parser.parse_known_args()
        return vars(known_args)