Azure/azure-rest-api-specs

[BUG] Key for blob etag in the Path List API Spec doesn't match with whats returned from the backend

RamneekGambhir opened this issue · 2 comments

API Spec link

https://github.com/Azure/azure-rest-api-specs/blob/main/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2023-05-03/DataLakeStorage.json

API Spec version

2023-05-03

Describe the bug

Unable to Read Blob ETag from SDK Path List functions.
In the spec, the key for etag is "eTag" but the backend returns "etag". Same issue in the previous spec versions as well.

Sample of json payload returned from the backend:

payload: {"paths":[{"contentLength":"0","creationTime":"133600651741685854","etag":"0x8DC732CDF49E85E","expiryTime":"0","group":"$superuser","isDirectory":"true","lastModified":"Mon, 13 May 2024 09:12:54 GMT","name":"abcd","owner":"$superuser","permissions":"rwxr-x---"}....... 

But the Spec has "eTag".

Would be great if this is fixed in the backend.

Expected behavior

Should be able to read ETag from Path List SDK.

Actual behavior

Unable to read ETag from Path List SDK.

Reproduction Steps

	fc := cl.NewFileSystemClient(ctrName)
	
	pager := fc.NewListPathsPager(true, nil)

	for pager.More() {
		resp, err := pager.NextPage(context.Background())
		if err != nil {
			t.Fatal(err)
		}
		for _, p := range resp.Paths {
			if p.ETag == nil {
				t.Fatal("etag is nil")
			}
		}
	}

Environment

github.com/Azure/azure-sdk-for-go/sdk/storage/azdatalake v1.1.2

This is not a service issue. Next step is to see if the Go Storage SDK can property parse "etag" with FileSystemClient.GetPaths() (or whatever this API is called in Go).