選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

Step Functions 如何剖析輸入CSV檔案

焦點模式
Step Functions 如何剖析輸入CSV檔案 - AWS Step Functions

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

管理狀態和轉換資料

Step Functions 最近新增了變數,並JSONata管理狀態和轉換資料。

了解如何使用變數傳遞資料,以及使用 轉換資料JSONata

Step Functions 根據下列規則剖析CSV檔案:

  • 逗號 (,) 是分隔欄位的分隔符號。

  • Newlines 是分隔記錄的分隔符號。

  • 欄位視為字串。對於資料類型轉換,請使用 中的States.StringToJson內部 函數ItemSelector (地圖)

  • 不需要雙引號 (" ") 來括住字串。不過,以雙引號括住的字串可包含逗號和新行,而不做為記錄分隔符號。

  • 您可以重複雙引號來保留雙引號。

  • 如果資料列中的欄位數目小於標頭中的欄位數目,Step Functions 會提供缺少值的空白字串

  • 如果資料列中的欄位數目超過標頭中的欄位數目,Step Functions 會略過其他欄位。

範例
剖析輸入CSV檔案

假設您已提供名為 CSV的檔案myCSVInput.csv,其中包含一列做為輸入。然後,您已將此檔案存放在名為 的 Amazon S3 儲存貯體中amzn-s3-demo-bucket。CSV 檔案如下所示。

abc,123,"This string contains commas, a double quotation marks (""), and a newline ( )",{""MyKey"":""MyValue""},"[1,2,3]"

下列狀態機器會讀取此CSV檔案,並使用 ItemSelector (地圖)來轉換部分欄位的資料類型。

{ "StartAt": "Map", "States": { "Map": { "Type": "Map", "ItemProcessor": { "ProcessorConfig": { "Mode": "DISTRIBUTED", "ExecutionType": "STANDARD" }, "StartAt": "Pass", "States": { "Pass": { "Type": "Pass", "End": true } } }, "End": true, "Label": "Map", "MaxConcurrency": 1000, "ItemReader": { "Resource": "arn:aws:states:::s3:getObject", "ReaderConfig": { "InputType": "CSV", "CSVHeaderLocation": "GIVEN", "CSVHeaders": [ "MyLetters", "MyNumbers", "MyString", "MyObject", "MyArray" ] }, "Parameters": { "Bucket": "amzn-s3-demo-bucket", "Key": "myCSVInput.csv" } }, "ItemSelector": { "MyLetters.$": "$$.Map.Item.Value.MyLetters", "MyNumbers.$": "States.StringToJson($$.Map.Item.Value.MyNumbers)", "MyString.$": "$$.Map.Item.Value.MyString", "MyObject.$": "States.StringToJson($$.Map.Item.Value.MyObject)", "MyArray.$": "States.StringToJson($$.Map.Item.Value.MyArray)" } } } }

當您執行此狀態機器時,會產生下列輸出。

[ { "MyNumbers": 123, "MyObject": { "MyKey": "MyValue" }, "MyString": "This string contains commas, a double quote (\"), and a newline (\n)", "MyLetters": "abc", "MyArray": [ 1, 2, 3 ] } ]

下一個主題:

整合 服務

上一個主題:

ResultWriter
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。