Azure / Azure/Azurite

Azurite doesn't support use SAS with RowKeyStart and RowKeyEnd property on Storage Table

Open
#726 2 comments 0 reactions 0 assignees View on GitHub
stale
Dominant language
TypeScript
Stars
2.3k
Forks
393
Avg merge
1d 20h
Merged PRs (30d)
36

Description

**Error Description:**
Azurite doesn't support use SAS with `RowKeyStart` and `RowKeyEnd` property on Storage Table.
For example, in the following demo. The number of query result is 1 in Azure because the `srk(RowKeyStart)` and `erk(RowKeyEnd)` is 01, but In Azurite, the number of query result is 2.

**To Reproduce:**
```
import { TableClient, TableEntity } from "@azure/data-tables"
import { assert } from "chai";

async function main() {
const entitys: TableEntity[] = [
{
partitionKey: "somPartition",
rowKey: "01"
},
{
partitionKey: "somPartition",
rowKey: "02"
}
];

const client = TableClient.fromConnectionString("", "");
await client.create();
const client2 = TableClient.fromConnectionString("DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;TableEndpoint=https://127.0.0.1:10002/devstoreaccount1;SharedAccessSignature=tn=testtablemxa9m9x0&spk=somPartition&epk=somPartition&srk=01&erk=01&sv=2019-02-02&se=2040-01-01T01%3A01%3A00Z&sp=raud&sig=NqWwzp5gk1JfE2cpkIVHgoi4EHnfGL4LEyxhkz8n%2BYM%3D", "");
for (var entity of entitys) {
await client.createEntity(entity);
}
const listResults = client2.listEntities();
let i = 0
for await (const product of listResults) {
i++;
}
assert.equal(i, 1);
await client.delete();
}

main();
```

**Error Track:**
In Azurite, it doesn't have the filter with RowKeyStart and RowKeyEnd. The process code is shown as following:
[https://github.com/Azure/Azurite/blob/table/src/table/persistence/LokiTableMetadataStore.ts#L436](https://github.com/Azure/Azurite/blob/table/src/table/persistence/LokiTableMetadataStore.ts#L436)
![image](https://user-images.githubusercontent.com/20970631/112083482-18beb600-8bc2-11eb-8bff-568c37684a8c.png)

**Expected Behavior:**
In Azurite, it can support use SAS with RowKeyStart and RowKeyEnd property on Storage Table.

@jongio for notification.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.