docs: def create_client(storage_account, timeout, proxy):
      # type: (blobxfer.operations.azure.StorageAccount,
      #        blobxfer.models.options.Timeout,
      #        blobxfer.models.options.HttpProxy) -> FileService
      """Create file client
      :param blobxfer.operations.azure.StorageAccount storage_account:
          storage account
      :param blobxfer.models.options.Timeout timeout: timeout
      :param blobxfer.models.options.HttpProxy proxy: proxy
      :rtype: FileService
      :return: file service client
      """
      if storage_account.is_sas:
          client = azure.storage.file.FileService(
              account_name=storage_account.name,
              sas_token=storage_account.key,
              endpoint_suffix=storage_account.endpoint,
              request_session=storage_account.session,
              socket_timeout=timeout.timeout)
      else:
          client = azure.storage.file.FileService(
              account_name=storage_account.name,
              account_key=storage_account.key,
              endpoint_suffix=storage_account.endpoint,
              request_session=storage_account.session,
              socket_timeout=timeout.timeout)
      # set proxy
      if proxy is not None:
          client.set_proxy(
              proxy.host, proxy.port, proxy.username, proxy.password)
      # set retry policy
      client.retry = blobxfer.retry.ExponentialRetryWithMaxWait(
          max_retries=timeout.max_retries).retry
      return client