Azure-sdk-for-java: ShareFileClient๋Š” ํŒŒ์ผ ์ด๋ฆ„์— ์›€๋ผ์šฐํŠธ ๋ฌธ์ž๊ฐ€ ํฌํ•จ ๋œ ๊ฒฝ์šฐ ์†์„ฑ์„ ๊ฒ€์ƒ‰ ํ•  ๋•Œ 404๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2020๋…„ 04์›” 23์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Azure/azure-sdk-for-java

ํŒŒ์ผ ์ด๋ฆ„์— umalt ๋ฌธ์ž (์˜ˆ : รผ)๊ฐ€ ํฌํ•จ ๋œ ๊ฒฝ์šฐ ShareFileClient๋Š” ์†์„ฑ์„ ๊ฒ€์ƒ‰ ํ•  ๋•Œ 404 ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ ์Šค ๋‹ˆํŽซ


ShareFileClient fileShareClient = ShareFileClientBuilder()
                .endpoint(String.format("https://%s.file.core.windows.net", storageProperties.getAccount()))
                .credential(new StorageSharedKeyCredential(storageProperties.getAccount(), storageProperties.getKey()))
                .shareName(storageProperties.getShare())
                .resourcePath("share/prรผffung.txt")
                .buildFileClient();

System.out.println(fileClient.getProperties().getContentLength())

Maven ์ข…์†์„ฑ :

        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-storage-file-share</artifactId>
            <version>12.4.0</version>
        </dependency>

์˜ˆ์™ธ ๋˜๋Š” ์Šคํƒ ์ถ”์ 
~ stacktracecom.azure.core.exception.HttpResponseException : ์ƒํƒœ ์ฝ”๋“œ 404, (๋นˆ ๋ณธ๋ฌธ)java.base / jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0 (Native Method) ~ [na : na]์—์„œjava.base / jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62) ~ [na : na]java.base / jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) ~ [na : na]java.base / java.lang.reflect.Constructor.newInstance (Constructor.java:490) ~ [na : na]์—์„œcom.azure.core.http.rest.RestProxy.instantiateUnexpectedException (RestProxy.java:357) ~ [azure-core-1.2.0.jar! / : na]com.azure.core.http.rest.RestProxy.lambda $ ensureExpectedStatus $ 4 (RestProxy.java:411) ~ [azure-core-1.2.0.jar! / : na]at reactor.core.publisher.MonoDefer.subscribe (MonoDefer.java:44) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]at reactor.core.publisher.Mono.subscribe (Mono.java:4105) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]Reactor.core.publisher.FluxSwitchIfEmpty $ SwitchIfEmptySubscriber.onComplete (FluxSwitchIfEmpty.java:75) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œReactor.core.publisher.MonoFlatMap $ FlatMapMain.onComplete (MonoFlatMap.java:174) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œReactor.core.publisher.Operators $ MonoSubscriber.onComplete (Operators.java:1679) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œReactor.core.publisher.MonoCacheTime $ CoordinatorSubscriber.signalCached (MonoCacheTime.java:326) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œReactor.core.publisher.MonoCacheTime $ CoordinatorSubscriber.onComplete (MonoCacheTime.java:351) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œReactor.core.publisher.MonoFlatMap $ FlatMapMain.onNext (MonoFlatMap.java:141) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œReactor.core.publisher.FluxMapFuseable $ MapFuseableSubscriber.onNext (FluxMapFuseable.java:121) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]Reactor.core.publisher.FluxMapFuseable $ MapFuseableSubscriber.onNext (FluxMapFuseable.java:121) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]at reactor.core.publisher.Operators $ MonoSubscriber.complete (Operators.java:1637) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]Reactor.core.publisher.MonoCollect $ CollectSubscriber.onComplete (MonoCollect.java:160) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œReactor.core.publisher.FluxMapFuseable $ MapFuseableSubscriber.onComplete (FluxMapFuseable.java:144) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]Reactor.core.publisher.FluxReplay $ UnboundedReplayBuffer.replayNormal (FluxReplay.java:551) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œReactor.core.publisher.FluxReplay $ UnboundedReplayBuffer.replay (FluxReplay.java:654) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œReactor.core.publisher.FluxReplay.subscribeOrReturn (FluxReplay.java:1096) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œat reactor.core.publisher.FluxReplay.subscribe (FluxReplay.java:1064) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]Reactor.core.publisher.FluxAutoConnectFuseable.subscribe (FluxAutoConnectFuseable.java:60) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œReactor.core.publisher.InternalMonoOperator.subscribe (InternalMonoOperator.java:55) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œat reactor.core.publisher.MonoDefer.subscribe (MonoDefer.java:52) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]at reactor.core.publisher.MonoCacheTime.subscribeOrReturn (MonoCacheTime.java:132) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]at reactor.core.publisher.InternalMonoOperator.subscribe (InternalMonoOperator.java:48) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]Reactor.core.publisher.MonoFlatMap $ FlatMapMain.onNext (MonoFlatMap.java:150) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]Reactor.core.publisher.FluxMapFuseable $ MapFuseableSubscriber.onNext (FluxMapFuseable.java:121) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]Reactor.core.publisher.FluxMapFuseable $ MapFuseableSubscriber.onNext (FluxMapFuseable.java:121) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]at reactor.core.publisher.Operators $ MonoSubscriber.complete (Operators.java:1637) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]Reactor.core.publisher.MonoCollect $ CollectSubscriber.onComplete (MonoCollect.java:160) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œReactor.core.publisher.FluxMapFuseable $ MapFuseableSubscriber.onComplete (FluxMapFuseable.java:144) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]Reactor.core.publisher.FluxReplay $ UnboundedReplayBuffer.replayNormal (FluxReplay.java:551) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œReactor.core.publisher.FluxReplay $ UnboundedReplayBuffer.replay (FluxReplay.java:654) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œReactor.core.publisher.FluxReplay $ ReplaySubscriber.onComplete (FluxReplay.java:1218) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œReactor.core.publisher.FluxMap $ MapSubscriber.onComplete (FluxMap.java:136) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œReactor.core.publisher.FluxDoFinally $ DoFinallySubscriber.onComplete (FluxDoFinally.java:138) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]Reactor.core.publisher.FluxMap $ MapSubscriber.onComplete (FluxMap.java:136) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]์—์„œat reactor.netty.channel.FluxReceive.terminateReceiver (FluxReceive.java:419) ~ [reactor-netty-0.9.4.RELEASE.jar! / : 0.9.4.RELEASE]at reactor.netty.channel.FluxReceive.drainReceiver (FluxReceive.java:209) ~ [reactor-netty-0.9.4.RELEASE.jar! / : 0.9.4.RELEASE]at reactor.netty.channel.FluxReceive.onInboundComplete (FluxReceive.java:367) ~ [reactor-netty-0.9.4.RELEASE.jar! / : 0.9.4.RELEASE]at reactor.netty.channel.ChannelOperations.onInboundComplete (ChannelOperations.java:363) ~ [reactor-netty-0.9.4.RELEASE.jar! / : 0.9.4.RELEASE]at reactor.netty.channel.ChannelOperations.terminate (ChannelOperations.java:412) ~ [reactor-netty-0.9.4.RELEASE.jar! / : 0.9.4.RELEASE]Reactor.netty.http.client.HttpClientOperations.onInboundNext (HttpClientOperations.java:572) ~ [reactor-netty-0.9.4.RELEASE.jar! / : 0.9.4.RELEASE]at reactor.netty.channel.ChannelOperationsHandler.channelRead (ChannelOperationsHandler.java:90) ~ [reactor-netty-0.9.4.RELEASE.jar! / : 0.9.4.RELEASE]io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:377) ~ [netty-transport-4.1.45.Final.jar! / : 4.1.45.Final]io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:363) ~ [netty-transport-4.1.45.Final.jar! / : 4.1.45.Final]io.netty.channel.AbstractChannelHandlerContext.fireChannelRead (AbstractChannelHandlerContext.java:355) ~ [netty-transport-4.1.45.Final.jar! / : 4.1.45.Final]io.netty.channel.CombinedChannelDuplexHandler $ DelegatingChannelHandlerContext.fireChannelRead (CombinedChannelDuplexHandler.java:436) ~ [netty-transport-4.1.45.Final.jar! / : 4.1.45.Final]at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead (ByteToMessageDecoder.java:321) ~ [netty-codec-4.1.45.Final.jar! / : 4.1.45.Final]io.netty.handler.codec.ByteToMessageDecoder.channelRead (ByteToMessageDecoder.java:295) ~ [netty-codec-4.1.45.Final.jar! / : 4.1.45.Final]io.netty.channel.CombinedChannelDuplexHandler.channelRead (CombinedChannelDuplexHandler.java:251) ~ [netty-transport-4.1.45.Final.jar! / : 4.1.45.Final]io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:377) ~ [netty-transport-4.1.45.Final.jar! / : 4.1.45.Final]io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:363) ~ [netty-transport-4.1.45.Final.jar! / : 4.1.45.Final]io.netty.channel.AbstractChannelHandlerContext.fireChannelRead (AbstractChannelHandlerContext.java:355) ~ [netty-transport-4.1.45.Final.jar! / : 4.1.45.Final]at io.netty.handler.ssl.SslHandler.unwrap (SslHandler.java:1470) ~ [netty-handler-4.1.45.Final.jar! / : 4.1.45.Final]at io.netty.handler.ssl.SslHandler.decodeNonJdkCompatible (SslHandler.java:1231) ~ [netty-handler-4.1.45.Final.jar! / : 4.1.45.Final]at io.netty.handler.ssl.SslHandler.decode (SslHandler.java:1268) ~ [netty-handler-4.1.45.Final.jar! / : 4.1.45.Final]at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection (ByteToMessageDecoder.java:498) ~ [netty-codec-4.1.45.Final.jar! / : 4.1.45.Final]at io.netty.handler.codec.ByteToMessageDecoder.callDecode (ByteToMessageDecoder.java:437) ~ [netty-codec-4.1.45.Final.jar! / : 4.1.45.Final]at io.netty.handler.codec.ByteToMessageDecoder.channelRead (ByteToMessageDecoder.java:276) ~ [netty-codec-4.1.45.Final.jar! / : 4.1.45.Final]io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:377) ~ [netty-transport-4.1.45.Final.jar! / : 4.1.45.Final]์—์„œio.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:363) ~ [netty-transport-4.1.45.Final.jar! / : 4.1.45.Final]io.netty.channel.AbstractChannelHandlerContext.fireChannelRead (AbstractChannelHandlerContext.java:355) ~ [netty-transport-4.1.45.Final.jar! / : 4.1.45.Final]io.netty.channel.DefaultChannelPipeline $ HeadContext.channelRead (DefaultChannelPipeline.java:1410) ~ [netty-transport-4.1.45.Final.jar! / : 4.1.45.Final]io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:377) ~ [netty-transport-4.1.45.Final.jar! / : 4.1.45.Final]io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:363) ~ [netty-transport-4.1.45.Final.jar! / : 4.1.45.Final]io.netty.channel.DefaultChannelPipeline.fireChannelRead (DefaultChannelPipeline.java:919) ~ [netty-transport-4.1.45.Final.jar! / : 4.1.45.Final]์—์„œio.netty.channel.epoll.AbstractEpollStreamChannel $ EpollStreamUnsafe.epollInReady (AbstractEpollStreamChannel.java:792) ~ [netty-transport-native-epoll-4.1.45.Final-linux-x86_64.jar! / : 4.1.45.Final ]io.netty.channel.epoll.EpollEventLoop.processReady (EpollEventLoop.java:475) ~ [netty-transport-native-epoll-4.1.45.Final-linux-x86_64.jar! / : 4.1.45.Final]io.netty.channel.epoll.EpollEventLoop.run (EpollEventLoop.java:378) ~ [netty-transport-native-epoll-4.1.45.Final-linux-x86_64.jar! / : 4.1.45.Final]io.netty.util.concurrent.SingleThreadEventExecutor $ 4.run (SingleThreadEventExecutor.java:989) ~ [netty-common-4.1.45.Final.jar! / : 4.1.45.Final]io.netty.util.internal.ThreadExecutorMap $ 2.run (ThreadExecutorMap.java:74) ~ [netty-common-4.1.45.Final.jar! / : 4.1.45.Final]io.netty.util.concurrent.FastThreadLocalRunnable.run (FastThreadLocalRunnable.java:30) ~ [netty-common-4.1.45.Final.jar! / : 4.1.45.Final]java.base / java.lang.Thread.run (Thread.java:834) ~ [na : na]์–ต์ œ๋จ : java.lang.Exception : #block์ด ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒ ๋จat reactor.core.publisher.BlockingSingleSubscriber.blockingGet (BlockingSingleSubscriber.java:99) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]Reactor.core.publisher.Mono.block (Mono.java:1663) ~ [reactor-core-3.3.2.RELEASE.jar! / : 3.3.2.RELEASE]com.azure.storage.common.implementation.StorageImplUtils.blockWithOptionalTimeout (StorageImplUtils.java:99) ~ [azure-storage-common-12.4.0.jar! / : na]์—์„œcom.azure.storage.file.share.ShareFileClient.getPropertiesWithResponse (ShareFileClient.java:658) ~ [azure-storage-file-share-12.2.0.jar! / : na]์—์„œcom.azure.storage.file.share.ShareFileClient.getPropertiesWithResponse (ShareFileClient.java:630) ~ [azure-storage-file-share-12.2.0.jar! / : na]์—์„œcom.azure.storage.file.share.ShareFileClient.getProperties (ShareFileClient.java:606) ~ [azure-storage-file-share-12.2.0.jar! / : na]com.isb.bppm.whs.broker.storage.AzureStorageManager.mapToFileDescriptor (AzureStorageManager.java:126) ~ [classes! / : 3.0.44]com.isb.bppm.whs.broker.storage.AzureStorageManager.lambda $ listNonLockedFiles $ 1 (AzureStorageManager.java:41) ~ [classes! / : 3.0.44]java.base / java.util.stream.ReferencePipeline $ 3 $ 1.accept (ReferencePipeline.java:195) ~ [na : na]์—์„œjava.base / java.util.stream.ReferencePipeline $ 2 $ 1.accept (ReferencePipeline.java:177) ~ [na : na]์—์„œjava.base / java.util.Iterator.forEachRemaining (Iterator.java:133) ~ [na : na]์—์„œjava.base / java.util.Spliterators $ IteratorSpliterator.forEachRemaining (Spliterators.java:1801) ~ [na : na]์—์„œjava.base / java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:484) ~ [na : na]์—์„œjava.base / java.util.stream.AbstractPipeline.wrapAndCopyInto (AbstractPipeline.java:474) ~ [na : na]์—์„œjava.base / java.util.stream.ReduceOps $ ReduceOp.evaluateSequential (ReduceOps.java:913) ~ [na : na]์—์„œjava.base / java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:234) ~ [na : na]์—์„œjava.base / java.util.stream.ReferencePipeline.collect (ReferencePipeline.java:578) ~ [na : na]com.isb.bppm.whs.broker.storage.AzureStorageManager.listNonLockedFiles (AzureStorageManager.java:42) ~ [classes! / : 3.0.44]com.isb.bppm.whs.broker.FtpFileCheckerJob.execute (FtpFileCheckerJob.java:81) ~ [classes! / : 3.0.44]com.isb.bppm.whs.broker.scheduling.SchedulerGeneralJob.execute (SchedulerGeneralJob.java:45) ~ [classes! / : 3.0.44]java.base / java.util.stream.ForEachOps $ ForEachOp $ OfRef.accept (ForEachOps.java:183) ~ [na : na]์—์„œjava.base / java.util.ArrayList $ ArrayListSpliterator.forEachRemaining (ArrayList.java:1654) ~ [na : na]์—์„œjava.base / java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:484) ~ [na : na]์—์„œjava.base / java.util.stream.ForEachOps $ ForEachTask.compute (ForEachOps.java:290) ~ [na : na]์—์„œjava.base / java.util.concurrent.CountedCompleter.exec (CountedCompleter.java:746) ~ [na : na]์—์„œjava.base / java.util.concurrent.ForkJoinTask.doExec (ForkJoinTask.java:290) ~ [na : na]์—์„œjava.base / java.util.concurrent.ForkJoinTask.doInvoke (ForkJoinTask.java:408) ~ [na : na]์—์„œjava.base / java.util.concurrent.ForkJoinTask.invoke (ForkJoinTask.java:736) ~ [na : na]์—์„œjava.base / java.util.stream.ForEachOps $ ForEachOp.evaluateParallel (ForEachOps.java:159) ~ [na : na]์—์„œjava.base / java.util.stream.ForEachOps $ ForEachOp $ OfRef.evaluateParallel (ForEachOps.java:173) ~ [na : na]์—์„œjava.base / java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:233) ~ [na : na]์—์„œjava.base / java.util.stream.ReferencePipeline.forEach (ReferencePipeline.java:497) ~ [na : na]์—์„œjava.base / java.util.stream.ReferencePipeline $ Head.forEach (ReferencePipeline.java:661) ~ [na : na]์—์„œcom.isb.bppm.whs.broker.scheduling.SchedulerExecutor.performAction (SchedulerExecutor.java:29) ~ [classes! / : 3.0.44]com.isb.bppm.whs.broker.scheduling.SchedulerExecutor.monitor (SchedulerExecutor.java:23) ~ [classes! / : 3.0.44]jdk.internal.reflect.GeneratedMethodAccessor107.invoke (Unknown Source) ~ [na : na]์—์„œjava.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) ~ [na : na]java.base / java.lang.reflect.Method.invoke (Method.java:566) ~ [na : na]์—์„œorg.springframework.scheduling.support.ScheduledMethodRunnable.run (ScheduledMethodRunnable.java:84) ~ [spring-context-5.2.3.RELEASE.jar! / : 5.2.3.RELEASE]org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run (DelegatingErrorHandlingRunnable.java:54) ~ [spring-context-5.2.3.RELEASE.jar! / : 5.2.3.RELEASE]java.base / java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:515) ~ [na : na]์—์„œjava.base / java.util.concurrent.FutureTask.runAndReset (FutureTask.java:305) ~ [na : na]์—์„œjava.base / java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run (ScheduledThreadPoolExecutor.java:305) ~ [na : na]์—์„œjava.base / java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128) ~ [na : na]์—์„œjava.base / java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:628) ~ [na : na]์—์„œ... 1 ๊ฐœ์˜ ๊ณตํ†ต ํ”„๋ ˆ์ž„ ์ƒ๋žต~

Azure.Core Storage customer-reported question

๋ชจ๋“  4 ๋Œ“๊ธ€

curl์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ์†์„ฑ์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

curl --location --request GET 'https://<account>.file.core.windows.net/share001/prรผffung.txt?sv=<sas>'

์ธ์ฝ”๋”ฉ ๋œ ํŒŒ์ผ ์ด๋ฆ„ pr % C3 % BCffung.txt๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
ํด๋ผ์ด์–ธํŠธ ์ธ์ฝ”๋”ฉ ๊ฒฝ๋กœ๊ฐ€ ์ ์ ˆํ•˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

@valmol. ๋‚˜๋Š” ์ด๊ฒƒ์„ ์žฌํ˜„ ํ•  ์ˆ˜์žˆ๋‹ค. ์‹ ๊ณ  ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. sdk๊ฐ€ ์ด๋ฆ„์„ pr % fcffung.txt๋กœ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. Google์˜ UrlEncoder ๊ธฐ๋Šฅ (์˜ˆ : Google์—์„œ "URL ์ธ์ฝ”๋”"๋งŒ ๊ฒ€์ƒ‰)์„ ์‚ฌ์šฉํ•˜์—ฌ์ด ๊ฐ’์„ ๋””์ฝ”๋”ฉํ•˜๋ฉด ์›๋ž˜ ํŒŒ์ผ ์ด๋ฆ„์ด ์ œ๊ณต๋˜์ง€๋งŒ ๋‹ค์‹œ ์ธ์ฝ”๋”ฉํ•˜๋ฉด ๊ณต์œ  ํ•œ ๋‚ด์šฉ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ํฅ๋ฏธ ๋กญ๊ตฐ์š”.

@alzimmermsft ํŒŒ์ผ ๊ณต์œ ๋ฅผ ์œ„ํ•ด ์ธ์ฝ”๋”ฉ์„ ์ฝ”์–ด์— ๋‚จ๊ฒจ๋‘๊ณ  ๊ฒฐ๊ตญ ์ฝ”์–ด์˜ PercentEscaper๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ์ข€ ๋ด์ฃผ ์‹œ๊ฒ ์–ด์š”?

์ด๋Š” ์ธ์ฝ”๋”ฉ์‹œ ์ผ๋ณธ์–ด ๋ฌธ์ž๊ฐ€ ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š๋Š”์ด ๋ฌธ์ œ (https://github.com/Azure/azure-sdk-for-java/issues/10216)์™€ ๊ด€๋ จ์ด์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด PR (https://github.com/Azure/azure-sdk-for-java/pull/10273)์€ UTF-8 ๋ฌธ์ž ์ธ์ฝ”๋”ฉ ๋น„์œจ์„ ๋” ์ž˜ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ œ์ถœ๋˜์—ˆ์œผ๋ฏ€๋กœ ์—ฌ๊ธฐ์— ํ‘œ์‹œ๋œ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์–ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์–ธ๊ธ‰ ๋œ PR์ด์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ์‹ค์ œ๋กœ # 10273์— ์˜ํ•ด ์ˆ˜์ •๋˜์—ˆ์Œ์„ ํ™•์ธํ•˜์—ฌ ์ˆ˜๋™ ์ธ์ฝ”๋”ฉ์—†์ด prรผffung.txt ์ด๋ฆ„์˜ ํŒŒ์ผ์„ ์„ฑ๊ณต์ ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰