0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Azure Container Apps JobsのジョブをCLIから起動する際に環境変数を正しく設定する

Posted at

はじめに

Azureのドキュメントには、下記のような形でAzure Container Apps JobsのジョブをCLIから起動できることが説明されています。

az containerapp job start [--args]
                          [--command]
                          [--container-name]
                          [--cpu]
                          [--env-vars]
                          [--ids]
                          [--image]
                          [--memory]
                          [--name]
                          [--no-wait]
                          [--registry-identity]
                          [--resource-group]
                          [--subscription]
                          [--yaml]

実際に、下記のような形でジョブを実行することができます。

az containerapp job start -g $RG_NAME -n $JOB_NAME

また、ドキュメントには--env-varsパラメータについて下記のような記載があるため、このパラメータを指定することで実行時の環境変数を指定できるように見えます。

A list of environment variable(s) for the container. Space-separated values in 'key=value' format. Empty string to clear existing values. Prefix value with 'secretref:' to reference a secret.

しかし、実際には下記の内容を実行しても意図通りの挙動にはならず、環境変数の指定が無視されて実行されてしまいます。

az containerapp job start -g $RG_NAME -n $JOB_NAME --env-vars FOO=BAR

環境変数を正しく指定する方法

ドキュメントには一切の記載がありませんが、--env-varsパラメータは--imageパラメータを指定した場合にのみ有効になるという隠れた仕様があります。

つまり、正しく環境変数を指定するには下記のようにします。

az containerapp job start -g $RG_NAME -n $JOB_NAME --image $IMAGE_NAME --env-vars FOO=BAR

複数の環境変数を正しく指定する方法

ドキュメントにも「Space-separated values」と記載されている通り、空白で区切ることで複数の環境変数を指定することができます。ただし、ここでの空白区切りとは「複数の引数として指定する」という意味であり、「空白を含んだ単一の引数を指定する」という意味ではありません。

つまり、下記のような形は正しくありません。

正しくない例
az containerapp job start \
    -g $RG_NAME \
    -n $JOB_NAME \
    --image $IMAGE_NAME \
    --env-vars "FOO=BAR BAZ=QUX"

正しくは下記のようにします。

正しい例
az containerapp job start \
    -g $RG_NAME \
    -n $JOB_NAME \
    --image $IMAGE_NAME \
    --env-vars "FOO=BAR" "BAZ=QUX"
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?