Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upload From Url API is not implement yet? #2402

Open
trungmaihova opened this issue May 22, 2024 · 6 comments
Open

Upload From Url API is not implement yet? #2402

trungmaihova opened this issue May 22, 2024 · 6 comments
Assignees
Labels
blob-storage featureparity Tracking issues for catching up feature parity

Comments

@trungmaihova
Copy link

Which service(blob, file, queue, table) does this issue concern?

Blob

Which version of the Azurite was used?

latest

Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)

DockerHub

What problem was encountered?

I use the blockBlobClient.uploadFromUrl(urlSource) but it throw exception "Current API is not implement"

<Error>
  <Code>APINotImplemented</Code>
  <Message>Current API is not implemented yet. Please vote your wanted features to https://github.com/azure/azurite/issues
RequestId:f1a1d668-c1d5-4f07-aa59-681d88a3ef2a
Time:2024-05-22T02:48:04.724Z</Message>

So it mean the Azurite does not support this API, right?

@trungmaihova trungmaihova changed the title Upload From Url API Upload From Url API is not implement yet? May 22, 2024
@blueww blueww self-assigned this May 22, 2024
@blueww blueww added featureparity Tracking issues for catching up feature parity blob-storage labels May 22, 2024
@blueww
Copy link
Member

blueww commented May 22, 2024

@trungmaihova
Would you please share the Azurite debug log of the failed request?

Per this doc , it looks BlockBlobClient only has method syncUploadFromURL() method, but no uploadFromUrl() method.

Besides that, is the parameter urlSource point to an object not in Azurite? In this case, Azurite not support copy/create blobs from a source outside Azurite. See https://github.com/Azure/Azurite#:~:text=Copy%20Blob%20From%20URL%20(Only%20supports%20copy%20within%20same%20Azurite%20instance

@trungmaihova
Copy link
Author

trungmaihova commented May 22, 2024

hi @blueww ,

Currently, I use java sdk.
image

The below is the log

PS C:\Users\xxx> docker run -p 10000:10000 -p 10001:10001 -p 10002:10002 mcr.microsoft.com/azure-storage/azurite
Azurite Blob service is starting at http://0.0.0.0:10000
Azurite Blob service is successfully listening at http://0.0.0.0:10000
Azurite Queue service is starting at http://0.0.0.0:10001
Azurite Queue service is successfully listening at http://0.0.0.0:10001
Azurite Table service is starting at http://0.0.0.0:10002
Azurite Table service is successfully listening at http://0.0.0.0:10002
172.28.128.1 - - [22/May/2024:06:35:06 +0000] "PUT /devstoreaccount1/demo-container?restype=container HTTP/1.1" 201 -
172.28.128.1 - - [22/May/2024:06:35:06 +0000] "PUT /devstoreaccount1/demo-container?restype=container HTTP/1.1" 409 -
172.28.128.1 - - [22/May/2024:06:35:06 +0000] "PUT /devstoreaccount1/demo-container/filename HTTP/1.1" 500 -
172.28.128.1 - - [22/May/2024:06:35:10 +0000] "PUT /devstoreaccount1/demo-container/filename HTTP/1.1" 500 -
172.28.128.1 - - [22/May/2024:06:35:22 +0000] "PUT /devstoreaccount1/demo-container/filename HTTP/1.1" 500 -

Yes, I try to copy a file outside the Azure,
image

Full log:

Exception in thread "main" com.azure.storage.blob.models.BlobStorageException: Status code 500, "<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Error>
  <Code>APINotImplemented</Code>
  <Message>Current API is not implemented yet. Please vote your wanted features to https://github.com/azure/azurite/issues
RequestId:5dc3f97f-2984-449d-a111-9389df1e92ca
Time:2024-05-22T06:40:49.921Z</Message>
</Error>"
	at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:732)
	at com.azure.core.implementation.MethodHandleReflectiveInvoker.invokeWithArguments(MethodHandleReflectiveInvoker.java:39)
	at com.azure.core.implementation.http.rest.ResponseExceptionConstructorCache.invoke(ResponseExceptionConstructorCache.java:53)
	at com.azure.core.implementation.http.rest.RestProxyBase.instantiateUnexpectedException(RestProxyBase.java:411)
	at com.azure.core.implementation.http.rest.AsyncRestProxy.lambda$ensureExpectedStatus$1(AsyncRestProxy.java:132)
	at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:113)
	at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2400)
	at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171)
	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2196)
	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2070)
	at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96)
	at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55)
	at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:157)
	at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)
	at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
	at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)
	at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79)
	at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1839)
	at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:249)
	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete(MonoIgnoreThen.java:292)
	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext(MonoIgnoreThen.java:187)
	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79)
	at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1839)
	at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:249)
	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete(MonoIgnoreThen.java:292)
	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext(MonoIgnoreThen.java:187)
	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79)
	at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1839)
	at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:249)
	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete(MonoIgnoreThen.java:292)
	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext(MonoIgnoreThen.java:187)
	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79)
	at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1839)
	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:151)
	at reactor.core.publisher.FluxDelaySubscription$DelaySubscriptionMainSubscriber.onNext(FluxDelaySubscription.java:189)
	at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)
	at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1839)
	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:151)
	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79)
	at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1839)
	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:151)
	at reactor.core.publisher.Operators$MonoInnerProducerBase.complete(Operators.java:2666)
	at reactor.core.publisher.MonoSingle$SingleSubscriber.onComplete(MonoSingle.java:180)
	at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onComplete(MonoFlatMapMany.java:260)
	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onComplete(FluxContextWrite.java:126)
	at reactor.core.publisher.MonoUsing$MonoUsingSubscriber.onNext(MonoUsing.java:232)
	at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122)
	at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74)
	at reactor.core.publisher.FluxHandle$HandleSubscriber.onNext(FluxHandle.java:126)
	at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onNext(FluxMap.java:224)
	at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onNext(FluxDoFinally.java:113)
	at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onNext(FluxHandleFuseable.java:191)
	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
	at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1839)
	at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onComplete(MonoCollectList.java:129)
	at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260)
	at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
	at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:415)
	at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:439)
	at reactor.netty.channel.ChannelOperations.terminate(ChannelOperations.java:493)
	at reactor.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:776)
	at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:114)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
	at com.azure.core.http.netty.implementation.AzureSdkHandler.channelRead(AzureSdkHandler.java:224)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
	at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
	at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:833)
	Suppressed: java.lang.Exception: #block terminated with an error
		at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:100)
		at reactor.core.publisher.Mono.block(Mono.java:1742)
		at com.azure.storage.common.implementation.StorageImplUtils.blockWithOptionalTimeout(StorageImplUtils.java:147)
		at com.azure.storage.blob.specialized.BlockBlobClient.uploadFromUrlWithResponse(BlockBlobClient.java:651)
		at com.azure.storage.blob.specialized.BlockBlobClient.uploadFromUrl(BlockBlobClient.java:596)
		at com.azure.storage.blob.specialized.BlockBlobClient.uploadFromUrl(BlockBlobClient.java:565)
		at com.axonivy.cloud.storage.azure.blob.connector.internal.AzureBlobStorageService.uploadFromUrl(AzureBlobStorageService.java:57)
		at com.axonivy.cloud.storage.azure.blob.connector.TestUpload.main(TestUpload.java:10)

@blueww
Copy link
Member

blueww commented May 22, 2024

@trungmaihova

For Azurite debug log, please run Azurite with "-d c:\azuritedebug.log" (the log file path can change to other local file path).
And share the debug log of failed request in the debug log file, then we can get more idea for this failure. (hide credential if any)

BTW, Azurite doesn't support copy/put blob from a source Uri outside of Azurite, so you can either:

  1. Copy / create blob from a Uri inside Azurite
  2. Or, if you want to copy an external blob to Azurite, first download it to local file, then upload the local file to Azurite.

@pierreinglebert
Copy link

@blueww

It seems it doesn't work if the url is from Azurite but is a SAS URL.

2024-07-10T15:26:29.547Z b521185a-7fc4-40f6-91c3-f8579822a54a info: HandlerMiddleware: DeserializedParameters={"options":{"metadata":{},"requestId":"76a9ef33-ab3e-4b39-8c70-fbdd3ec0535c","blobHTTPHeaders":{},"leaseAccessConditions":{},"cpkInfo":{},"cpkScopeInfo":{},"modifiedAccessConditions":{},"sourceModifiedAccessConditions":{}},"contentLength":0,"version":"2024-05-04","copySource":"http://127.0.0.1:10000/devstoreaccount1/interop-client-1-container/test.txt?sv=2024-05-04&st=2024-07-10T15%3A26%3A25Z&se=2024-07-10T15%3A27%3A52Z&sr=b&sp=racwd&sig=R7XYe%2FfCYPVHYRvL2e28XikvUOLmufy6%2FVAdJJGRkkE%3D","blobType":"BlockBlob"} 2024-07-10T15:26:29.548Z b521185a-7fc4-40f6-91c3-f8579822a54a error: ErrorMiddleware: Received a MiddlewareError, fill error information to HTTP response

Should I open a new issue or can we continue here as this ticket is not closed yet ?

@blueww
Copy link
Member

blueww commented Jul 11, 2024

@pierreinglebert

Feel free to open a new issue for this, as the original issue looks is for copy from outside of Azurite.

And please share the full Azurite debug for the failed request.

@gaul
Copy link

gaul commented Nov 11, 2024

I believe that I have the same problem when testing S3Proxy with Azurite:

2024-11-10T19:02:05.201Z 35faca23-01bc-4eab-9210-255912be46a1 info: BlobStorageContextMiddleware: RequestMethod=PUT RequestURL=http://127.0.0.1/devstoreaccount1/s3proxy-l2ff4ked90vcvwb3yxor6-185/bar321foo RequestHeaders:{"host":"127.0.0.1:10000","date":"Sun, 10 Nov 2024 19:02:05 GMT","authorization":"SharedKey devstoreaccount1:VejpxM+Aozv8A04JSlMqBailjr3wg6Pc+GAb8HxNnr4=","x-ms-version":"2024-11-04","x-ms-copy-source":"http://127.0.0.1:10000/devstoreaccount1/s3proxy-l2ff4ked90vcvwb3yxor6-185/foo123bar?sv=2024-11-04&st=2024-11-10T19%3A02%3A05Z&se=2024-11-11T19%3A02%3A05Z&sr=b&sp=r&sig=DpbtEhcuS1WoqhkeHhd1TI%2F6rD%2BdnMwFtSplwOjB%2FZM%3D","x-ms-client-request-id":"45306d47-1af7-4112-be9c-fc242aad2be1","x-ms-blob-type":"BlockBlob","accept":"application/xml","user-agent":"azsdk-java-azure-storage-blob/12.28.0 (23.0.1; Linux; 6.11.6-300.ipu6.fc41.x86_64)","content-length":"0"} ClientIP=127.0.0.1 Protocol=http HTTPVersion=1.1
2024-11-10T19:02:05.201Z 35faca23-01bc-4eab-9210-255912be46a1 info: BlobStorageContextMiddleware: Account=devstoreaccount1 Container=s3proxy-l2ff4ked90vcvwb3yxor6-185 Blob=bar321foo
2024-11-10T19:02:05.201Z 35faca23-01bc-4eab-9210-255912be46a1 verbose: DispatchMiddleware: Dispatching request...
2024-11-10T19:02:05.202Z 35faca23-01bc-4eab-9210-255912be46a1 info: DispatchMiddleware: Operation=BlockBlob_PutBlobFromUrl
2024-11-10T19:02:05.202Z 35faca23-01bc-4eab-9210-255912be46a1 verbose: AuthenticationMiddlewareFactory:createAuthenticationMiddleware() Validating authentications.
2024-11-10T19:02:05.202Z 35faca23-01bc-4eab-9210-255912be46a1 info: PublicAccessAuthenticator:validate() Start validation against public access.
2024-11-10T19:02:05.202Z 35faca23-01bc-4eab-9210-255912be46a1 debug: PublicAccessAuthenticator:validate() Getting account properties...
2024-11-10T19:02:05.202Z 35faca23-01bc-4eab-9210-255912be46a1 debug: PublicAccessAuthenticator:validate() Retrieved account name from context: devstoreaccount1, container: s3proxy-l2ff4ked90vcvwb3yxor6-185, blob: bar321foo
2024-11-10T19:02:05.202Z 35faca23-01bc-4eab-9210-255912be46a1 debug: PublicAccessAuthenticator:validate() Skip public access authentication. Cannot get public access type for container s3proxy-l2ff4ked90vcvwb3yxor6-185
2024-11-10T19:02:05.202Z 35faca23-01bc-4eab-9210-255912be46a1 info: BlobSharedKeyAuthenticator:validate() Start validation against account shared key authentication.
2024-11-10T19:02:05.202Z 35faca23-01bc-4eab-9210-255912be46a1 info: BlobSharedKeyAuthenticator:validate() [STRING TO SIGN]:"PUT\n\n\n\n\n\nSun, 10 Nov 2024 19:02:05 GMT\n\n\n\n\n\nx-ms-blob-type:BlockBlob\nx-ms-client-request-id:45306d47-1af7-4112-be9c-fc242aad2be1\nx-ms-copy-source:http://127.0.0.1:10000/devstoreaccount1/s3proxy-l2ff4ked90vcvwb3yxor6-185/foo123bar?sv=2024-11-04&st=2024-11-10T19%3A02%3A05Z&se=2024-11-11T19%3A02%3A05Z&sr=b&sp=r&sig=DpbtEhcuS1WoqhkeHhd1TI%2F6rD%2BdnMwFtSplwOjB%2FZM%3D\nx-ms-version:2024-11-04\n/devstoreaccount1/devstoreaccount1/s3proxy-l2ff4ked90vcvwb3yxor6-185/bar321foo"
2024-11-10T19:02:05.202Z 35faca23-01bc-4eab-9210-255912be46a1 info: BlobSharedKeyAuthenticator:validate() Calculated authentication header based on key1: SharedKey devstoreaccount1:VejpxM+Aozv8A04JSlMqBailjr3wg6Pc+GAb8HxNnr4=
2024-11-10T19:02:05.202Z 35faca23-01bc-4eab-9210-255912be46a1 info: BlobSharedKeyAuthenticator:validate() Signature 1 matched.
2024-11-10T19:02:05.202Z 35faca23-01bc-4eab-9210-255912be46a1 verbose: DeserializerMiddleware: Start deserializing...
2024-11-10T19:02:05.203Z 35faca23-01bc-4eab-9210-255912be46a1 info: HandlerMiddleware: DeserializedParameters={"options":{"metadata":{},"requestId":"45306d47-1af7-4112-be9c-fc242aad2be1","blobHTTPHeaders":{},"leaseAccessConditions":{},"cpkInfo":{},"cpkScopeInfo":{},"modifiedAccessConditions":{},"sourceModifiedAccessConditions":{}},"contentLength":0,"version":"2024-11-04","copySource":"http://127.0.0.1:10000/devstoreaccount1/s3proxy-l2ff4ked90vcvwb3yxor6-185/foo123bar?sv=2024-11-04&st=2024-11-10T19%3A02%3A05Z&se=2024-11-11T19%3A02%3A05Z&sr=b&sp=r&sig=DpbtEhcuS1WoqhkeHhd1TI%2F6rD%2BdnMwFtSplwOjB%2FZM%3D","blobType":"BlockBlob"}
2024-11-10T19:02:05.203Z 35faca23-01bc-4eab-9210-255912be46a1 error: ErrorMiddleware: Received a MiddlewareError, fill error information to HTTP response
2024-11-10T19:02:05.203Z 35faca23-01bc-4eab-9210-255912be46a1 error: ErrorMiddleware: ErrorName=StorageError ErrorMessage=Current API is not implemented yet. Please vote your wanted features to https://github.com/azure/azurite/issues  ErrorHTTPStatusCode=500 ErrorHTTPStatusMessage=Current API is not implemented yet. Please vote your wanted features to https://github.com/azure/azurite/issues ErrorHTTPHeaders={"x-ms-error-code":"APINotImplemented","x-ms-request-id":"35faca23-01bc-4eab-9210-255912be46a1"} ErrorHTTPBody="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Error>\n  <Code>APINotImplemented</Code>\n  <Message>Current API is not implemented yet. Please vote your wanted features to https://github.com/azure/azurite/issues\nRequestId:35faca23-01bc-4eab-9210-255912be46a1\nTime:2024-11-10T19:02:05.203Z</Message>\n</Error>" ErrorStack="StorageError: Current API is not implemented yet. Please vote your wanted features to https://github.com/azure/azurite/issues\n    at BlockBlobHandler.putBlobFromUrl (/home/gaul/work/Azurite/dist/src/blob/handlers/BlockBlobHandler.js:119:15)\n    at /home/gaul/work/Azurite/dist/src/blob/generated/middleware/HandlerMiddlewareFactory.js:58:18\n    at /home/gaul/work/Azurite/dist/src/blob/generated/ExpressMiddlewareFactory.js:78:63\n    at Layer.handle [as handle_request] (/home/gaul/work/Azurite/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/gaul/work/Azurite/node_modules/express/lib/router/index.js:328:13)\n    at /home/gaul/work/Azurite/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/gaul/work/Azurite/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/gaul/work/Azurite/node_modules/express/lib/router/index.js:280:10)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
2024-11-10T19:02:05.203Z 35faca23-01bc-4eab-9210-255912be46a1 error: ErrorMiddleware: Set HTTP code: 500
2024-11-10T19:02:05.203Z 35faca23-01bc-4eab-9210-255912be46a1 error: ErrorMiddleware: Set HTTP status message: Current API is not implemented yet. Please vote your wanted features to https://github.com/azure/azurite/issues
2024-11-10T19:02:05.204Z 35faca23-01bc-4eab-9210-255912be46a1 error: ErrorMiddleware: Set HTTP Header: x-ms-error-code=APINotImplemented
2024-11-10T19:02:05.204Z 35faca23-01bc-4eab-9210-255912be46a1 error: ErrorMiddleware: Set HTTP Header: x-ms-request-id=35faca23-01bc-4eab-9210-255912be46a1
2024-11-10T19:02:05.204Z 35faca23-01bc-4eab-9210-255912be46a1 error: ErrorMiddleware: Set content type: application/xml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blob-storage featureparity Tracking issues for catching up feature parity
Projects
None yet
Development

No branches or pull requests

4 participants