azureblob: fix permission error on SAS URL limited to container
Before this change, for some operations, eg rcat or copyto (of a file) rclone would attempt to create the container when using a SAS URL limited to a container. After this change we assume the container does not need creating when using a container SAS URL. See: https://forum.rclone.org/t/rclone-rcat-azure-blob-container-sas-token-403-error/16286
This commit is contained in:
parent
e91b509578
commit
d342f9f942
1 changed files with 4 additions and 0 deletions
|
@ -866,6 +866,10 @@ func (f *Fs) Mkdir(ctx context.Context, dir string) error {
|
|||
// makeContainer creates the container if it doesn't exist
|
||||
func (f *Fs) makeContainer(ctx context.Context, container string) error {
|
||||
return f.cache.Create(container, func() error {
|
||||
// If this is a SAS URL limited to a container then assume it is already created
|
||||
if f.isLimited {
|
||||
return nil
|
||||
}
|
||||
// now try to create the container
|
||||
return f.pacer.Call(func() (bool, error) {
|
||||
_, err := f.cntURL(container).Create(ctx, azblob.Metadata{}, azblob.PublicAccessNone)
|
||||
|
|
Loading…
Reference in a new issue