(permissions: string)
| 37 | )}`; |
| 38 | |
| 39 | export const generateSasToken = (permissions: string) => { |
| 40 | const sasOptions = { |
| 41 | services: AccountSASServices.parse("b").toString(), // blobs |
| 42 | resourceTypes: AccountSASResourceTypes.parse("sco").toString(), // service, container, object |
| 43 | permissions: AccountSASPermissions.parse(permissions), // write permissions |
| 44 | protocol: SASProtocol.Https, |
| 45 | startsOn: new Date(), |
| 46 | expiresOn: new Date(new Date().valueOf() + 10 * 60 * 1000), // 10 minutes |
| 47 | }; |
| 48 | const sasToken = generateAccountSASQueryParameters(sasOptions, sharedKeyCredential).toString(); |
| 49 | |
| 50 | // remove leading "?" |
| 51 | return sasToken.startsWith("?") ? sasToken.substring(1) : sasToken; |
| 52 | }; |
| 53 | |
| 54 | export const uploadJsonl = async (stream: Readable) => { |
| 55 | const blobName = `${inverseDatePrefix()}-${uuidv4()}-training.jsonl`; |
no outgoing calls
no test coverage detected