yutapuu
@yutapuu

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

pythonでazureを利用する際のエラーについて

解決したいこと

azureで物体検出AIを作成し、その結果をpythonを使ってフォルダに保存しようと思いコードを書きました。エラーの内容と解決方法がわかる方いらっしゃいましたら教えてください。

発生している問題・エラー

PermissionError                           Traceback (most recent call last)
<ipython-input-2-bf908332b6bc> in <module>
     10 predictor = CustomVisionPredictionClient("エンドポイントURL",prediction_credentials)
     11 
---> 12 results = predictor.classify_image("プロジェクトID", "Iteration2",open("C:\\azure", "rb").read())

PermissionError: [Errno 13] Permission denied: 'C:\\azure'

該当するソースコード

from azure.cognitiveservices.vision.customvision.prediction import CustomVisionPredictionClient
from msrest.authentication import ApiKeyCredentials

prediction_credentials = ApiKeyCredentials(in_headers={"Prediction-key": "APIキー"})

predictor = CustomVisionPredictionClient("エンドポイントURL",prediction_credentials)

results = predictor.classify_image("プロジェクトID", "Iteration2",open("C:\\azure", "rb").read())
0

1Answer

エラー文に「permission denied」とありますが
ここの記事が参考になるかと思います。
https://www.haya-programming.com/entry/2019/03/04/132520
open("C:\azure", "rb")でファイルが指定できていないか
許可のないファイルを開こうとしているみたいです。

permission deniedがわからない場合は、まずはパーミッションという
単語の意味を調べて自分なりに理解すると良いかと思います。

あと今回はあまり関係ないですが、上記コード書くにあたって
参考にしたページとかあれば質問に答えやすいと思います。

0Like

Comments

  1. @yutapuu

    Questioner

    参考にしたサイトは "https://note.com/bryant_bs/n/nd480d4d099fb" なのですが、この通り打っても上記のエラーが出ます。C:\\azureがディレクトリであってフォルダではないといわれていることは理解したのですが調べても解決方法が出てきません。なにか知っていることがあれば教えていただけないでしょうか。
  2. 参考にしたサイトありがとうございます。C:\\azureはフォルダってことであってますかね。
    open()の引数には、フォルダ(ディレクトリ)ではなくファイルを指定してあげれば、エラーはなくなると思います。指定するファイルは、参考にしたページからそのままコピペしますが「予測に使用する画像ファイル」を指定します。
    例) C:\\azure\\sample.jpg

    あと今気づいたんですが、APIキーとエンドポイントURLは載せないようにしたほうが良いです。誰でも実行できてしまい、知らない人の手によってめちゃくちゃ課金される可能性があります。
  3. @yutapuu

    Questioner

    URLとキー編集して隠しておきました。ありがとうございます。

Your answer might help someone💌