docs: def set_table_acl(self, table_name, signed_identifiers=None, timeout=None):
          '''
          Sets stored access policies for the table that may be used with Shared 
          Access Signatures. 
          
          When you set permissions for a table, the existing permissions are replaced. 
          To update the table's permissions, call :func:`~get_table_acl` to fetch 
          all access policies associated with the table, modify the access policy 
          that you wish to change, and then call this function with the complete 
          set of data to perform the update.
  
          When you establish a stored access policy on a table, it may take up to 
          30 seconds to take effect. During this interval, a shared access signature 
          that is associated with the stored access policy will throw an 
          :class:`AzureHttpError` until the access policy becomes active.
  
          :param str table_name:
              The name of an existing table.
          :param signed_identifiers:
              A dictionary of access policies to associate with the table. The 
              dictionary may contain up to 5 elements. An empty dictionary 
              will clear the access policies set on the service. 
          :type signed_identifiers: dict(str, :class:`~azure.storage.common.models.AccessPolicy`)
          :param int timeout:
              The server timeout, expressed in seconds.
          '''
          _validate_not_none('table_name', table_name)
          _validate_access_policies(signed_identifiers)
          request = HTTPRequest()
          request.method = 'PUT'
          request.host_locations = self._get_host_locations()
          request.path = '/' + _to_str(table_name)
          request.query = {
              'comp': 'acl',
              'timeout': _int_to_str(timeout),
          }
          request.body = _get_request_body(
              _convert_signed_identifiers_to_xml(signed_identifiers))
  
          self._perform_request(request)