Example #1
0
        public async Task <ObjectUrl> GetWritableUrlAsync(ObjectUrlRequest urlRequest)
        {
            ValidateRequest(urlRequest);

            return(await this.urlProvider.GetObjectUrlAsync(new AzureObjectUrlRequest
            {
                AccessMode = ObjectAccessMode.WriteOnly,
                BlobName = GetBlobName(urlRequest),
                ContainerName = storageOptions.ContainerName,
                ExpirationPeriod = GetExpirationPeriod(urlRequest),
                TenantId = urlRequest.ExecutionMetadata.Executor.TenantId
            }));
        }
Example #2
0
        private void ValidateRequest(ObjectUrlRequest urlRequest)
        {
            if (urlRequest == null)
            {
                throw new ArgumentNullException(nameof(urlRequest));
            }

            if (urlRequest.ExecutionMetadata == null)
            {
                throw new ArgumentException($"{nameof(urlRequest.ExecutionMetadata)} is required.", nameof(urlRequest));
            }

            if (string.IsNullOrEmpty(urlRequest.ObjectName))
            {
                throw new ArgumentException($"{nameof(urlRequest.ObjectName)} is required.", nameof(urlRequest));
            }
        }
Example #3
0
 private TimeSpan GetExpirationPeriod(ObjectUrlRequest urlRequest) =>
 (urlRequest.UrlExpirationPeriod ?? urlOptions.DefaultUrlExpirationPeriod);
Example #4
0
 private string GetBlobName(ObjectUrlRequest urlRequest) =>
 $"{urlRequest.ExecutionMetadata.ExecutionId}/input/{urlRequest.ObjectName}";