我执行了OCI示例程序ObjectStorageGetBucketExample.java,并能够创建存储桶并添加文件。但是,当我运行ObjectStorageAsyncExample.java和ObjectStorageSyncExample.java列出存储桶时。我收到以下错误:
[线程“主”中的异常com.oracle.bmc.model.BmcException:(404,NamespaceNotFound,false)您没有执行权限该请求,或找不到所请求的资源。
我会写,但不会读。我只想知道我需要哪种授权?
这里是完整的错误:
线程“主”中的异常com.oracle.bmc.model.BmcException:(404,NamespaceNotFound,false)您没有执行此请求的权限,或者找不到请求的资源在com.oracle.bmc.http.internal.ResponseHelper.throwIfNotSuccessful(ResponseHelper.java:138)在com.oracle.bmc.http.internal.ResponseConversionFunctionFactory $ ValidatingParseResponseFunction.apply(ResponseConversionFunctionFactory.java:88)在com.oracle.bmc.http.internal.ResponseConversionFunctionFactory $ ValidatingParseResponseFunction.apply(ResponseConversionFunctionFactory.java:84)在com.oracle.bmc.objectstorage.internal.http.ListBucketsConverter $ 1.apply(ListBucketsConverter.java:112)在com.oracle.bmc.objectstorage.internal.http.ListBucketsConverter $ 1.apply(ListBucketsConverter.java:94)在com.oracle.bmc.objectstorage.ObjectStorageClient.lambda $ null $ 52(ObjectStorageClient.java:1222)在com.oracle.bmc.retrier.BmcGenericRetrier.doFunctionCall(BmcGenericRetrier.java:88)在com.oracle.bmc.retrier.BmcGenericRetrier.lambda $ execute $ 0(BmcGenericRetrier.java:59)在com.oracle.bmc.waiter.GenericWaiter.execute(GenericWaiter.java:55)在com.oracle.bmc.retrier.BmcGenericRetrier.execute(BmcGenericRetrier.java:50)在com.oracle.bmc.objectstorage.ObjectStorageClient.lambda $ listBuckets $ 53(ObjectStorageClient.java:1218)在com.oracle.bmc.retrier.BmcGenericRetrier.doFunctionCall(BmcGenericRetrier.java:88)在com.oracle.bmc.retrier.BmcGenericRetrier.lambda $ execute $ 0(BmcGenericRetrier.java:59)在com.oracle.bmc.waiter.GenericWaiter.execute(GenericWaiter.java:55)在com.oracle.bmc.retrier.BmcGenericRetrier.execute(BmcGenericRetrier.java:50)在com.oracle.bmc.objectstorage.ObjectStorageClient.listBuckets(ObjectStorageClient.java:1212)在ObjectStorageSyncExample.main(ObjectStorageSyncExample.java:47)
似乎正在尝试列出存储桶。 ListBuckets操作需要BUCKET_INSPECT权限。
https://docs.cloud.oracle.com/en-us/iaas/Content/Identity/Reference/objectstoragepolicyreference.htm
通过IAM策略授予权限。 BUCKET_INSPECT可以显式授予,但也包含在inspect buckets
和inspect object-family
中。
希望这会有所帮助!