시간 기반 이벤트 수집을 위해 Azure Event Hub를 사용하고 있습니다. Azure Stream Analytics (ASA)를 연결했습니다.Azure Stream Analytics 입력이 시간대 정보가 포함 된 문자열을 손상시킵니다.
이렇게하면 ASA 수준에서 시간대 정보가 손실됩니다. "event_timestamp": ISO 8601 예와 호환 타임 스탬프 문자열을 포함하는 JSON 형식으로 내가 보낸 데이터 : 내가 확인 무엇
는 다음과 "2016-09-02T19 : 51 : 38.657 + 02 : 00 "
이 도구를 작성한 사람 덕택에 ServiceBus Explorer를 통해이 문자열이 Event Hub에 그대로 도착했는지 확인했습니다.
Stream Analytics에서 이벤트 허브를 입력으로 추가했습니다. Azure 포털에서 SAMPLE DATA 옵션을 사용하면 "event_timestamp": "2016-09-02T17 : 51 : 38.6570000"
의 이유는 무엇입니까?
ISO 8601에 따르면 타임 스탬프에 타임 존을 지정하지 않으면 타임 스탬프가 localtime으로 변환됩니다. Azure 리소스가 실행되는 시간대를 의미합니까? 이 경우 지리적 복제를 어떻게 사용할 수 있습니까?
즉, 데이터를 소비하고 대시 보드에 표시 한 후에는 항상 스트림 분석이 실행되는 서버 시간과 관련이 있음을 의미합니다.
JSON 페이로드에 시간대 정보를 별도로 추가하고 나중에 다시 구성해야합니까?
결론적으로 ASA는 실제로 데이터 스트림에서 정보를 제거/제거합니다. SELECT * INTO [myoutput] FROM [myinput]
이렇게하면 내 데이터의 내용 (*)이 변경됩니다. 시간대 정보와 함께 datetime으로 나타나는 모든 문자열이 변환됩니다.
내 생각에 이것은 매우 원하지 않는 동작입니다.
나는이 포럼에서 다른 사람들의 의견에 매우 흥미가 있습니다.
동의합니다. 그러나 시간대 정보가 손실된다는 사실은 어떨까요? (정보가 저하됨) – maartenk
UTC 관련 정보가 시간 표현과 함께 제공되지 않으면 시간은 현지 시간으로 간주됩니다. 출처 : wikipedia https://en.wikipedia.org/wiki/ISO_8601. 이것은 ASA가 UTC가되는 시간을 표현하기 위해 21 : 51 : 38.6570000Z을 읽어야 함을 의미합니다. – maartenk
여러분의 의견을 공유해 주셔서 감사합니다. – maartenk