def METHOD_NAME(self, streams: List[str] = None) -> Catalog:
    client = self.build_client()
    container_client = client.get_container_client(self.container_name)
    streams = []
    for b in container_client.list_blobs(self.prefix):
        """
        All files under the prefix path will be synced
        """
        if int(b.get('size', 0)) == 0:
            continue
        name = b['name']
        parts = name.split('/')
        stream_id = '_'.join(parts[:-1])
        df = self.__build_df(name)
        properties = {}
        for col in df.columns:
            df_filtered = df[df[col].notnull()][[col]]
            for k, v in infer_dtypes(df_filtered).items():
                if 'mixed' == v:
                    counter = Counter(map(type, df_filtered[col].values))
                    dtype, count = sorted(
                        [(k, v) for k, v in dict(counter).items()],
                        key=lambda t: t[1],
                        reverse=True,
                    )[0]
                    if dtype is list:
                        col_type = COLUMN_TYPE_ARRAY
                    elif dtype is dict:
                        col_type = COLUMN_TYPE_OBJECT
                    else:
                        col_type = COLUMN_TYPE_STRING
                else:
                    col_type = convert_data_type(v)
                properties[k] = dict(
                    type=[
                        'null',
                        col_type,
                    ],
                )
        schema = Schema.from_dict(dict(
            properties=properties,
            type='object',
        ))
        metadata = get_standard_metadata(
            key_properties=[],
            replication_method=REPLICATION_METHOD_FULL_TABLE,
            schema=schema.to_dict(),
            stream_id=stream_id,
        )
        catalog_entry = CatalogEntry(
            key_properties=[],
            metadata=metadata,
            replication_method=REPLICATION_METHOD_FULL_TABLE,
            schema=schema,
            stream=stream_id,
            tap_stream_id=stream_id,
            unique_conflict_method=UNIQUE_CONFLICT_METHOD_UPDATE,
        )
        streams.append(catalog_entry)
        break
    return Catalog(streams)