teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

7

誤記

2020/07/14 02:45

投稿

kuma35963
kuma35963

スコア6

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- AWS lambda 上のpython 3.8を使用し、条件分岐でpythonを強制停止する場合
1
+ AWS lambda 上のpythonを使用し、条件分岐でpythonを強制停止する場合
2
2
  条件で、下記のようにsys.exit()で処理を実行した場合、ログに「Runtime.ExitError」が出てしまうので、
3
3
  sys.exit()以外で停止する構文、方法があればご教示頂きたいです。
4
4
 

6

誤記修正

2020/07/14 02:45

投稿

kuma35963
kuma35963

スコア6

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- AWS lambda 上のpython 3.8を使用し、条件分岐でpythonを強制停止する場合の構文が知りたいです。
1
+ AWS lambda 上のpython 3.8を使用し、条件分岐でpythonを強制停止する場合
2
2
  条件で、下記のようにsys.exit()で処理を実行した場合、ログに「Runtime.ExitError」が出てしまうので、
3
3
  sys.exit()以外で停止する構文、方法があればご教示頂きたいです。
4
4
 

5

誤記修正

2020/07/13 10:24

投稿

kuma35963
kuma35963

スコア6

title CHANGED
File without changes
body CHANGED
@@ -12,8 +12,8 @@
12
12
  print(output_name)
13
13
 
14
14
  def profile_name(a):
15
- if a == "kokugo":
15
+ if a == "eigo":
16
- print("no eigo")
16
+ print("eigo")
17
17
  sys.exit(0)
18
18
  return {'state': "fin"}
19
19
 

4

誤記修正

2020/07/13 10:23

投稿

kuma35963
kuma35963

スコア6

title CHANGED
File without changes
body CHANGED
@@ -22,6 +22,7 @@
22
22
  なお、sys.exit()で終了した場合のログは以下の通りです。
23
23
  ```ここに言語を入力
24
24
  {
25
+ "errorType": ""Runtime.ExitError" 
25
- "errorMessage": "RequestId: 3333333-6666-4444-3333-99999999999 Process exited before completing request"
26
+ "errorMessage": "RequestId: 3333333-6666-4444-3333-99999999999 Error: Runtime exited without providing a reason"
26
27
  }
27
28
  ```

3

知りたいことを明確に修正

2020/07/13 10:22

投稿

kuma35963
kuma35963

スコア6

title CHANGED
@@ -1,1 +1,1 @@
1
- python(AWS lambda)条件でプロセスを途中終了した場合に[実行結果:成功]で終了する方法りた
1
+ python(AWS lambda)条件分岐でプロセスを途中終了する場合のexit()以外の処理方法を教えてほしい
body CHANGED
@@ -1,44 +1,27 @@
1
- AWS lambda 上のpython 3.8を使用し、以下のサンプルような関数JSONの値パースする処理を検討してす。
1
+ AWS lambda 上のpython 3.8を使用し、条件分岐python強制停止する場合の構文が知りたす。
2
- 質問の内容としては、**条件ってlambdaを途中終了した場合も[実行結果:成功]終了する方法**をご教示頂きたいです。
2
+ 条件で、下記のうにsys.exit()処理を実行した場合、ログに「Runtime.ExitError」が出てしまうの
3
+ sys.exit()以外で停止する構文、方法があればご教示頂きたいです。
3
4
 
4
5
  ```ここに言語を入力
5
6
  import boto3
6
- import json
7
- import jmespath
8
7
  import sys
9
8
 
10
9
  def lambda_handler(event, context):
11
- info = { "profile": [] } ★
10
+ a = eigo
12
- name = jmespath.search('profile[].name[]', json)
13
-
14
- output_name = profile_name(name)
11
+ output_name = check_name(a)
15
-
16
12
  print(output_name)
17
13
 
18
- def profile_name(name):
14
+ def profile_name(a):
19
- if name == []:
15
+ if a == "kokugo":
20
- print("No value")
16
+ print("no eigo")
21
17
  sys.exit(0)
22
- return {'state': "fin"}
18
+ return {'state': "fin"}
23
19
 
24
- name = arn.rsplit('-', 1)
25
- return name
26
-
27
20
  ```
28
21
 
29
- 処理としては定期的(CloudWatchEvent)にinfoの変数(★マークがある行、上記サンプルはinfoのJSONの値が空だった場合を想定)に
30
- JSONを外部から取得・埋め込み、以降の処理で
31
- **①JSON内にプロフィール情報があればパースて出力**
22
+ なお、sys.exit()で終了た場合のログは以下の通りです。
32
- **②JSON内にプロフィール情報がなければ、終了**
33
- という内容にしたいと考えておりますが、「JSON内にプロフィール情報がなければ、終了」で現行の関数を実行した場合ログに、
34
23
  ```ここに言語を入力
35
24
  {
36
25
  "errorMessage": "RequestId: 3333333-6666-4444-3333-99999999999 Process exited before completing request"
37
26
  }
38
- ```
27
+ ```
39
- と出力され「実行結果: 失敗」として処理されてしまい、処理結果としてプロフィール情報がないこともありえるため、
40
- [実行結果:成功]の正常終了として完了したいと考えてます。
41
-
42
- Web・書籍などで調べた結果、sys.exit(0)でプロセスを終了した場合「プロセスを終了するだけで、例外は遮断されません。」とことで、
43
- 他の方法で、プロセスを終了する方法がないかを調べている最中ではありますが、現行経験が浅くまだ答えに行きついていない状況のため、
44
- お手数おかけいたしますが、上記の条件でlambda処理を[実行結果:成功]で完了できる方法をご存知であれば、お知恵をお借りしたくお願い申し上げます。

2

タイトルの誤記

2020/07/13 10:20

投稿

kuma35963
kuma35963

スコア6

title CHANGED
@@ -1,1 +1,1 @@
1
- python(AWS lambda)で条件でプロセスを途中終了した場合に[実行結果:成功]で終了する方法につ
1
+ python(AWS lambda)で条件でプロセスを途中終了した場合に[実行結果:成功]で終了する方法がしりた
body CHANGED
File without changes

1

カテゴリーの誤記

2020/07/12 07:18

投稿

kuma35963
kuma35963

スコア6

title CHANGED
File without changes
body CHANGED
File without changes