There are various ways to access a table of a storage account. If the storage account key is used, the request for the REST call must be generated in a complicated manner. The script getaztablerows.sh on Github shows the calculation:

#!/bin/sh

#call: ./getaztablerows.sh "storageaccountname" "tablename" <STORAGE_ACCOUN_KEY>

STORAGE_ACCOUNT=$1
TABLE_NAME=$2
STORAGE_KEY=$3

DATE_ISO=$(TZ=GMT date "+%a, %d %h %Y %H:%M:%S %Z")

URL_RESOURCE="/$STORAGE_ACCOUNT/$TABLE_NAME()"
STRING2SIGN="GET\n\n\n$DATE_ISO\n$URL_RESOURCE"
DECODED_KEY="$(echo -n $STORAGE_KEY | base64 -d -w0 | xxd -p -c256)"
SIGN=$(printf "$STRING2SIGN" | openssl dgst -sha256 -mac HMAC -macopt "hexkey:$DECODED_KEY" -binary |  base64 -w0)

curl -X GET \
  -H "x-ms-version:2023-01-03" \
  -H "x-ms-date:$DATE_ISO" \
  -H "Authorization: SharedKey $STORAGE_ACCOUNT:$SIGN" \
  "https://$STORAGE_ACCOUNT.table.core.windows.net/$TABLE_NAME()"

The script requires 3 parameters, the storage account itself, the table to be read and the storage account key. The first two parameters determine the call URL (line 20) and are also combined with the HTTP verb (GET) to form a string (line 12), which is then signed in line 14 and used for authentication in line 19.

The script can be called directly in the Bash/Azure Shell with curl and called with bash -s. The three required parameters are specified behind bash -s. Additionally the output of the XML code could be pretty printed with xmllint (available in the Azure Cloud Shell):

curl -s https://raw.githubusercontent.com/tzuehlke/scripts/master/sh/getaztablerows.sh | bash -s tzuehlkestrg table1 4KOGcyFEPTazfe9MFuqpdKhTJugsw+5hce60B28UvXeQ16Ap7ORwePhQLnjp0CrCZ4zWqfQY/HS3+AStgQ1GcQ== | xmllint --format -
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml" xml:base="https://tzuehlkestrg.table.core.windows.net/">
  <id>https://tzuehlkestrg.table.core.windows.net/table1</id>
  <title type="text">table1</title>
  <updated>2023-11-04T20:30:19Z</updated>
  <link rel="self" title="table1" href="table1"/>
  <entry m:etag="W/&quot;datetime'2023-11-04T20%3A26%3A27.1904416Z'&quot;">
    <id>https://tzuehlkestrg.table.core.windows.net/table1(PartitionKey='pk1',RowKey='')</id>
    <category term="tzuehlkestrg.table1" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/>
    <link rel="edit" title="table1" href="table1(PartitionKey='pk1',RowKey='')"/>
    <title/>
    <updated>2023-11-04T20:30:19Z</updated>
    <author>
      <name/>
    </author>
    <content type="application/xml">
      <m:properties>
        <d:PartitionKey>pk1</d:PartitionKey>
        <d:RowKey/>
        <d:Timestamp m:type="Edm.DateTime">2023-11-04T20:26:27.1904416Z</d:Timestamp>
        <d:col1>entry 1 1</d:col1>
        <d:col2>entry 1 2</d:col2>
      </m:properties>
    </content>
  </entry>
  <entry m:etag="W/&quot;datetime'2023-11-04T20%3A27%3A33.1475784Z'&quot;">
    <id>https://tzuehlkestrg.table.core.windows.net/table1(PartitionKey='pk2',RowKey='')</id>
    <category term="tzuehlkestrg.table1" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/>
    <link rel="edit" title="table1" href="table1(PartitionKey='pk2',RowKey='')"/>
    <title/>
    <updated>2023-11-04T20:30:19Z</updated>
    <author>
      <name/>
    </author>
    <content type="application/xml">
      <m:properties>
        <d:PartitionKey>pk2</d:PartitionKey>
        <d:RowKey/>
        <d:Timestamp m:type="Edm.DateTime">2023-11-04T20:27:33.1475784Z</d:Timestamp>
        <d:col1>entry 2 1</d:col1>
        <d:col2>entry 2 2</d:col2>
      </m:properties>
    </content>
  </entry>
</feed>

⚠️It is not recommended to use the storage account key for access, but rather a SAS token or AAD authentication.